From 1bf353c15035e65fc0b2cbbd6e7df66ed369a323 Mon Sep 17 00:00:00 2001 From: dbroqua Date: Sat, 23 Sep 2023 20:54:44 +0200 Subject: [PATCH] Initial commit --- .babelrc | 12 + .env.example | 6 + .eslintrc.js | 26 + .gitignore | 2 + .husky/pre-commit | 4 + docker-compose.yml | 40 + package-lock.json | 7915 +++++++++++++++++++++++++++++++++ package.json | 68 + public/css/main.css | 1 + public/css/main.css.map | 1 + public/favicon.png | Bin 0 -> 1837 bytes public/img/logo.png | Bin 0 -> 12970 bytes public/js/main.js | 97 + sass/box.scss | 26 + sass/button.scss | 63 + sass/colors.scss | 103 + sass/error.scss | 6 + sass/fonts.scss | 16 + sass/forms.scss | 147 + sass/global.scss | 88 + sass/index.scss | 34 + sass/list.scss | 32 + sass/messages.scss | 9 + sass/mixin.scss | 4 + sass/modal.scss | 125 + sass/navbar.scss | 321 ++ sass/pagination.scss | 69 + sass/toast.scss | 95 + src/app.js | 125 + src/bin/www.js | 52 + src/config/index.js | 8 + src/helpers/index.js | 14 + src/libs/Render.js | 24 + src/libs/error.js | 23 + src/libs/format.js | 39 + src/libs/passport.js | 58 + src/middleware/Auth.js | 39 + src/middleware/Pages.js | 60 + src/middleware/Uploads.js | 175 + src/models/Users.js | 58 + src/routes/auth.js | 75 + src/routes/index.js | 44 + views/error.ejs | 10 + views/index.ejs | 12 + views/pages/connexion.ejs | 29 + views/pages/gallery.ejs | 89 + views/pages/inscription.ejs | 54 + views/pages/upload.ejs | 31 + views/partials/file-links.ejs | 39 + views/partials/footer.ejs | 1 + views/partials/head.ejs | 10 + views/partials/header.ejs | 70 + 52 files changed, 10449 insertions(+) create mode 100644 .babelrc create mode 100644 .env.example create mode 100644 .eslintrc.js create mode 100755 .husky/pre-commit create mode 100644 docker-compose.yml create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/css/main.css create mode 100644 public/css/main.css.map create mode 100644 public/favicon.png create mode 100644 public/img/logo.png create mode 100644 public/js/main.js create mode 100644 sass/box.scss create mode 100644 sass/button.scss create mode 100644 sass/colors.scss create mode 100644 sass/error.scss create mode 100644 sass/fonts.scss create mode 100644 sass/forms.scss create mode 100644 sass/global.scss create mode 100644 sass/index.scss create mode 100644 sass/list.scss create mode 100644 sass/messages.scss create mode 100644 sass/mixin.scss create mode 100644 sass/modal.scss create mode 100644 sass/navbar.scss create mode 100644 sass/pagination.scss create mode 100644 sass/toast.scss create mode 100644 src/app.js create mode 100644 src/bin/www.js create mode 100644 src/config/index.js create mode 100644 src/helpers/index.js create mode 100644 src/libs/Render.js create mode 100644 src/libs/error.js create mode 100644 src/libs/format.js create mode 100644 src/libs/passport.js create mode 100644 src/middleware/Auth.js create mode 100644 src/middleware/Pages.js create mode 100644 src/middleware/Uploads.js create mode 100644 src/models/Users.js create mode 100644 src/routes/auth.js create mode 100644 src/routes/index.js create mode 100644 views/error.ejs create mode 100644 views/index.ejs create mode 100644 views/pages/connexion.ejs create mode 100644 views/pages/gallery.ejs create mode 100644 views/pages/inscription.ejs create mode 100644 views/pages/upload.ejs create mode 100644 views/partials/file-links.ejs create mode 100644 views/partials/footer.ejs create mode 100644 views/partials/head.ejs create mode 100644 views/partials/header.ejs diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..aea7cd7 --- /dev/null +++ b/.babelrc @@ -0,0 +1,12 @@ +{ + "presets": [ + [ + "@babel/preset-env", + { + "targets": { + "esmodules": true + } + } + ] + ] +} \ No newline at end of file diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..181d69b --- /dev/null +++ b/.env.example @@ -0,0 +1,6 @@ +NODE_ENV=development +PORT=3000 +MONGODB_URI=mongodb://images-upload-db/upload +TRUST_PROXY=loopback +PAGINATION=16 +SECRET=waemaeMe5ahc6ce1chaeKohKa6Io8Eik \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..eddfa34 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,26 @@ +module.exports = { + env: { + browser: true, + es2021: true + }, + extends: 'google', + overrides: [ + { + env: { + node: true + }, + files: [ + '.eslintrc.{js,cjs}' + ], + parserOptions: { + sourceType: 'script' + } + } + ], + parserOptions: { + ecmaVersion: 'latest', + sourceType: 'module' + }, + rules: { + } +} diff --git a/.gitignore b/.gitignore index ceaea36..e067c4f 100644 --- a/.gitignore +++ b/.gitignore @@ -130,3 +130,5 @@ dist .yarn/install-state.gz .pnp.* +.DS_Store +uploads diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 0000000..75fac8e --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +npm run lint diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..9373655 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,40 @@ +version: "2.4" + +services: + images-upload-www: + container_name: images-upload-www + image: "node:18" + restart: always + user: "node" + working_dir: /home/node/app + command: > + bash -c " + npm install && + npm run watch" + volumes: + - ./:/home/node/app + - /home/node/node_modules + ports: + - 2666:3000 + depends_on: + - images-upload-db + environment: + NODE_ENV: ${NODE_ENV} + PORT: ${PORT} + MONGODB_URI: ${MONGODB_URI} + SECRET: ${SECRET} + TRUST_PROXY: ${TRUST_PROXY} + PAGINATION: ${PAGINATION} + DEBUG: "*" + networks: + - images-upload + images-upload-db: + container_name: images-upload-db + image: mongo:latest + restart: always + networks: + - images-upload + +networks: + images-upload: + driver: bridge diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..2f6b2da --- /dev/null +++ b/package-lock.json @@ -0,0 +1,7915 @@ +{ + "name": "simple-images-upload", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "simple-images-upload", + "version": "1.0.0", + "license": "CC-BY-NC-SA-4.0", + "dependencies": { + "connect-ensure-login": "^0.1.1", + "connect-flash": "^0.1.1", + "connect-mongo": "^5.0.0", + "cookie-parser": "^1.4.6", + "debug": "^4.3.4", + "ejs": "^3.1.9", + "express": "^4.18.2", + "express-session": "^1.17.3", + "knacss": "^8.0.4", + "mongoose": "^7.5.2", + "mongoose-unique-validator": "^4.0.0", + "multer": "^1.4.5-lts.1", + "passport": "^0.6.0", + "passport-http": "^0.3.0", + "passport-local": "^1.0.0", + "rand-token": "^1.0.1", + "sharp": "^0.32.6" + }, + "devDependencies": { + "@babel/cli": "^7.22.15", + "@babel/preset-env": "^7.22.20", + "eslint": "^8.50.0", + "eslint-config-google": "^0.14.0", + "husky": "^8.0.3", + "nodemon": "^3.0.1", + "npm-run-all": "^4.1.5", + "sass": "^1.68.0" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/cli": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.22.15.tgz", + "integrity": "sha512-prtg5f6zCERIaECeTZzd2fMtVjlfjhUcO+fBLQ6DXXdq5FljN+excVitJ2nogsusdf31LeqkjAfXZ7Xq+HmN8g==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", + "commander": "^4.0.1", + "convert-source-map": "^1.1.0", + "fs-readdir-recursive": "^1.1.0", + "glob": "^7.2.0", + "make-dir": "^2.1.0", + "slash": "^2.0.0" + }, + "bin": { + "babel": "bin/babel.js", + "babel-external-helpers": "bin/babel-external-helpers.js" + }, + "engines": { + "node": ">=6.9.0" + }, + "optionalDependencies": { + "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3", + "chokidar": "^3.4.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.20.tgz", + "integrity": "sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.20.tgz", + "integrity": "sha512-Y6jd1ahLubuYweD/zJH+vvOY141v4f9igNQAQ+MBgq9JlHS2iTsZKn1aMsb3vGccZsXI16VzTBw52Xx0DWmtnA==", + "dev": true, + "peer": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.22.15", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.22.20", + "@babel/helpers": "^7.22.15", + "@babel/parser": "^7.22.16", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.22.20", + "@babel/types": "^7.22.19", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "peer": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.15.tgz", + "integrity": "sha512-Zu9oWARBqeVOW0dZOjXc3JObrzuqothQ3y/n1kUtrjCoCPLkXUwMvOo/F/TCfoHMbWIFlWwpZtkZVb9ga4U2pA==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/types": "^7.22.15", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.15", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz", + "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", + "integrity": "sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.15.tgz", + "integrity": "sha512-qLNsZbgrNh0fDQBCPocSL8guki1hcPvltGDv/NxvUoABwFq7GkKSu1nRXeJkVZc+wJvne2E0RKQz+2SQrz6eAA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.20.tgz", + "integrity": "sha512-dLT7JVWIUUxKOs1UnJUBR3S70YK+pKX6AbJgB2vMIvEkZkrfJDbYDJesnPshtKV4LhDOR3Oc5YULeDizRek+5A==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.15.tgz", + "integrity": "sha512-7pAjK0aSdxOwR+CcYAqgWOGy5dcfvzsTIfFTb2odQqW47MDfv14UaJDY6eng8ylM2EaeKXdxaSWESbkmaQHTmw==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.22.16", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.16.tgz", + "integrity": "sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.15.tgz", + "integrity": "sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.15.tgz", + "integrity": "sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", + "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", + "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", + "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.15.tgz", + "integrity": "sha512-jBm1Es25Y+tVoTi5rfd5t1KLmL8ogLKpXszboWOTTtGFGz2RKnQe2yn7HbZ+kb/B8N0FVSGQo874NSlOU1T4+w==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", + "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", + "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.15.tgz", + "integrity": "sha512-G1czpdJBZCtngoK1sJgloLiOHUnkb/bLZwqVZD8kXmq0ZnVfTTWUcs9OWtp0mBtYJ+4LQY1fllqBkOIPhXmFmw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", + "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.11.tgz", + "integrity": "sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.11", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.15.tgz", + "integrity": "sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", + "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.15.tgz", + "integrity": "sha512-HzG8sFl1ZVGTme74Nw+X01XsUTqERVQ6/RLHo3XjGRzm7XD6QTtfS3NJotVgCGy8BzkDqRjRBD8dAyJn5TuvSQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", + "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", + "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.11.tgz", + "integrity": "sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", + "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.11.tgz", + "integrity": "sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.15.tgz", + "integrity": "sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", + "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.11.tgz", + "integrity": "sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", + "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.11.tgz", + "integrity": "sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", + "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", + "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.15.tgz", + "integrity": "sha512-jWL4eh90w0HQOTKP2MoXXUpVxilxsB2Vl4ji69rSjS3EcZ/v4sBmn+A3NpepuJzBhOaEBbR7udonlHHn5DWidg==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.11.tgz", + "integrity": "sha512-rIqHmHoMEOhI3VkVf5jQ15l539KrwhzqcBO6wdCNWPWc/JWt9ILNYNUssbRpeq0qWns8svuw8LnMNCvWBIJ8wA==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.9", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", + "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", + "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.11.tgz", + "integrity": "sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.11.tgz", + "integrity": "sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.15.tgz", + "integrity": "sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", + "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.11.tgz", + "integrity": "sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.15.tgz", + "integrity": "sha512-ngQ2tBhq5vvSJw2Q2Z9i7ealNkpDMU0rGWnHPKqRZO0tzZ5tlaoz4hDvhXioOoaE0X2vfNss1djwg0DXlfu30A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.15.tgz", + "integrity": "sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", + "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.22.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.11.tgz", + "integrity": "sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.11", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", + "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.10.tgz", + "integrity": "sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", + "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", + "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", + "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", + "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", + "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", + "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.10.tgz", + "integrity": "sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", + "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", + "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", + "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.20.tgz", + "integrity": "sha512-11MY04gGC4kSzlPHRfvVkNAZhUxOvm7DCJ37hPDnUENwe06npjIRAfInEMTGSb4LZK5ZgDFkv5hw0lGebHeTyg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.20", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.15", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.15", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.22.5", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.22.5", + "@babel/plugin-transform-async-generator-functions": "^7.22.15", + "@babel/plugin-transform-async-to-generator": "^7.22.5", + "@babel/plugin-transform-block-scoped-functions": "^7.22.5", + "@babel/plugin-transform-block-scoping": "^7.22.15", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.11", + "@babel/plugin-transform-classes": "^7.22.15", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.15", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.11", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.11", + "@babel/plugin-transform-for-of": "^7.22.15", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.11", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.11", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.15", + "@babel/plugin-transform-modules-systemjs": "^7.22.11", + "@babel/plugin-transform-modules-umd": "^7.22.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.22.5", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.11", + "@babel/plugin-transform-numeric-separator": "^7.22.11", + "@babel/plugin-transform-object-rest-spread": "^7.22.15", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.11", + "@babel/plugin-transform-optional-chaining": "^7.22.15", + "@babel/plugin-transform-parameters": "^7.22.15", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.11", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.10", + "@babel/plugin-transform-reserved-words": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/plugin-transform-spread": "^7.22.5", + "@babel/plugin-transform-sticky-regex": "^7.22.5", + "@babel/plugin-transform-template-literals": "^7.22.5", + "@babel/plugin-transform-typeof-symbol": "^7.22.5", + "@babel/plugin-transform-unicode-escapes": "^7.22.10", + "@babel/plugin-transform-unicode-property-regex": "^7.22.5", + "@babel/plugin-transform-unicode-regex": "^7.22.5", + "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "@babel/types": "^7.22.19", + "babel-plugin-polyfill-corejs2": "^0.4.5", + "babel-plugin-polyfill-corejs3": "^0.8.3", + "babel-plugin-polyfill-regenerator": "^0.5.2", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "node_modules/@babel/runtime": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.15.tgz", + "integrity": "sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.20.tgz", + "integrity": "sha512-eU260mPZbU7mZ0N+X10pxXhQFMGTeLb9eFS0mxehS8HZp9o1uSnFeWQuG1UPrlxgA7QoUzFhOnilHDp0AXCyHw==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.22.15", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.22.16", + "@babel/types": "^7.22.19", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.22.19", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.19.tgz", + "integrity": "sha512-P7LAw/LbojPzkgp5oznjE6tQEIWbp4PkkfrZDINTro9zgBRtI324/EYsiSI7lhPbpIQ+DCeR2NNmMWANGGfZsg==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.19", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.1.tgz", + "integrity": "sha512-PWiOzLIUAjN/w5K17PoF4n6sKBw0gqLHPhywmYHP4t1VFQQVYeb1yWsJwnMVEMl3tUHME7X/SJPZLmtG7XBDxQ==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.22.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.22.0.tgz", + "integrity": "sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@eslint/eslintrc/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@eslint/eslintrc/node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz", + "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", + "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@mongodb-js/saslprep": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.0.tgz", + "integrity": "sha512-Xfijy7HvfzzqiOAhAepF4SGN5e9leLkMvg/OPOF97XemjfVCYN/oWa75wnkc6mltMSTwY+XlbhWgUOJmkFspSw==", + "optional": true, + "dependencies": { + "sparse-bitfield": "^3.0.3" + } + }, + "node_modules/@nicolo-ribaudo/chokidar-2": { + "version": "2.1.8-no-fsevents.3", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", + "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", + "dev": true, + "optional": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@types/node": { + "version": "20.6.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.3.tgz", + "integrity": "sha512-HksnYH4Ljr4VQgEy2lTStbCKv/P590tmPe5HqOnv9Gprffgv5WXAY+Y5Gqniu0GGqeTCUdBnzC3QSrzPkBkAMA==" + }, + "node_modules/@types/q": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.6.tgz", + "integrity": "sha512-IKjZ8RjTSwD4/YG+2gtj7BPFRB/lNbWKTiSj3M7U/TD2B7HfYCxvp2Zz6xA2WIY7pAuL1QOUPw8gQRbUrrq4fQ==" + }, + "node_modules/@types/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog==" + }, + "node_modules/@types/whatwg-url": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.2.tgz", + "integrity": "sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==", + "dependencies": { + "@types/node": "*", + "@types/webidl-conversions": "*" + } + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==" + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/append-field": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/array.prototype.reduce": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.6.tgz", + "integrity": "sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-array-method-boxes-properly": "^1.0.0", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==" + }, + "node_modules/autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", + "dependencies": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + }, + "node_modules/autoprefixer/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/b4a": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", + "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==" + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", + "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.2", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.4.tgz", + "integrity": "sha512-9l//BZZsPR+5XjyJMPtZSK4jv0BsTO1zDac2GC6ygx9WLGlcsnRd1Co0B2zT5fF5Ic6BZy+9m3HNZ3QcOeDKfg==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.2", + "core-js-compat": "^3.32.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", + "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + }, + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.11", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.11.tgz", + "integrity": "sha512-xn1UXOKUz7DjdGlg9RrUr0GGiWzI97UQJnugHtH0OLDfJB7jMgoIkYvRIEO1l9EeEERVqeqLYOcFBW9ldjypbQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001538", + "electron-to-chromium": "^1.4.526", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bson": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/bson/-/bson-5.5.0.tgz", + "integrity": "sha512-B+QB4YmDx9RStKv8LLSl/aVIEV3nYJc3cJNNTK2Cd1TL+7P+cNpw9mAPeCgc5K+j01Dv6sxUzcITXDx7ZU3F0w==", + "engines": { + "node": ">=14.20.1" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==", + "dependencies": { + "callsites": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==", + "dependencies": { + "caller-callsite": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001538", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001538.tgz", + "integrity": "sha512-HWJnhnID+0YMtGlzcp3T9drmBJUVDchPJ08tpUGFLs9CYlwWPH2uLgpHn8fND5pCgXVtnGS3H4QR9XLMHVNkHw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "node_modules/coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dependencies": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/color/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "engines": [ + "node >= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/connect-ensure-login": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/connect-ensure-login/-/connect-ensure-login-0.1.1.tgz", + "integrity": "sha512-u0LGY/YXgkqdD4uVz8Gkri0adby5SBPYIFQvIa4FjBIaZUN0yuZPVHsjAA2bUiprGyjh8NlqxPUcIzzfTiXhQQ==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/connect-flash": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/connect-flash/-/connect-flash-0.1.1.tgz", + "integrity": "sha512-2rcfELQt/ZMP+SM/pG8PyhJRaLKp+6Hk2IUBNkEit09X+vwn3QsAL3ZbYtxUn7NVPzbMTSLRDhqe0B/eh30RYA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/connect-mongo": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/connect-mongo/-/connect-mongo-5.0.0.tgz", + "integrity": "sha512-s93jiP6GkRApn5duComx6RLwtP23YrulPxShz+8peX7svd6Q+MS8nKLhKCCazbP92C13eTVaIOxgeLt0ezIiCg==", + "dependencies": { + "debug": "^4.3.1", + "kruptein": "^3.0.0" + }, + "engines": { + "node": ">=12.9.0" + }, + "peerDependencies": { + "express-session": "^1.17.1", + "mongodb": "^5.1.0" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true + }, + "node_modules/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-parser": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.6.tgz", + "integrity": "sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA==", + "dependencies": { + "cookie": "0.4.1", + "cookie-signature": "1.0.6" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/core-js-compat": { + "version": "3.32.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.2.tgz", + "integrity": "sha512-+GjlguTDINOijtVRUxrQOv3kfu9rl+qPNdX2LTbJ/ZyVTuxK+ksVSAGX1nHstu4hrv1En/uPTtWgq2gI5wt4AQ==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dependencies": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/cross-spawn/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q==", + "engines": { + "node": "*" + } + }, + "node_modules/css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "dependencies": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + }, + "engines": { + "node": ">4" + } + }, + "node_modules/css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "node_modules/css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==" + }, + "node_modules/css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dependencies": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.11.tgz", + "integrity": "sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==", + "dependencies": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.8", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-preset-default": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz", + "integrity": "sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==", + "dependencies": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.3", + "postcss-unique-selectors": "^4.0.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha512-6RIcwmV3/cBMG8Aj5gucQRsJb4vv4I4rn6YjPbVWd5+Pn/fuG+YseGvXGk00XLkoZkaj31QOD7vMUpNPC4FIuw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha512-JPMZ1TSMRUPVIqEalIBNoBtAYbi8okvcFns4O0YIhcdGebeYZK7dMyHJiQ6GqNBA9kE0Hym4Aqym5rPdsV/4Cw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/define-data-property": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.0.tgz", + "integrity": "sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==", + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", + "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dependencies": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + } + }, + "node_modules/dom-serializer/node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" + }, + "node_modules/domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dependencies": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.528", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.528.tgz", + "integrity": "sha512-UdREXMXzLkREF4jA8t89FQjA8WHI6ssP38PMY4/4KhXFQbtImnghh4GkCgrtiZwLKUKVD2iTVXvDVQjfomEQuA==" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.2.tgz", + "integrity": "sha512-YoxfFcDmhjOgWPWsV13+2RNjq1F6UQnfs+8TftwNqtzlmFzEXvlUwdrNrYeaizfjQzRMxkZ6ElWMOJIFKdVqwA==", + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.1", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.12", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-array-method-boxes-properly": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "dependencies": { + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz", + "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "8.50.0", + "@humanwhocodes/config-array": "^0.11.11", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-google": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/eslint-config-google/-/eslint-config-google-0.14.0.tgz", + "integrity": "sha512-WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "eslint": ">=5.16.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.22.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.22.0.tgz", + "integrity": "sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint/node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express-session": { + "version": "1.17.3", + "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.17.3.tgz", + "integrity": "sha512-4+otWXlShYlG1Ma+2Jnn+xgKUZTMJ5QD3YvfilX3AcocOAbIkVylSWEklzALe/+Pu4qV6TYBj5GwOBFfdKqLBw==", + "dependencies": { + "cookie": "0.4.2", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-headers": "~1.0.2", + "parseurl": "~1.3.3", + "safe-buffer": "5.2.1", + "uid-safe": "~2.1.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/express-session/node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express-session/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express-session/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/express/node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz", + "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==", + "dev": true, + "dependencies": { + "flatted": "^3.2.7", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "node_modules/fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/gulp-rename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-2.0.0.tgz", + "integrity": "sha512-97Vba4KBzbYmR5VBs9mWmK+HwIf5mj+/zioxfZhOKeXtx5ZjBk57KFlePf5nxq9QsTtFl0ejnHE3zTC9MHXqyQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha512-M5ezZw4LzXbBKMruP+BNANf0k+19hDQMgpzBIYnya//Al+fjNct9Wf3b1WedLqdEs2hKBvxq/jh+DsHJLj0F9A==" + }, + "node_modules/hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha512-7Wn5GMLuHBjZCb2bTmnDOycho0p/7UVaAeqXZGbHrBCl6Yd/xDhQJAXe6Ga9AXJH2I5zY1dEdYw2u1UptnSBJA==" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/husky": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", + "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", + "dev": true, + "bin": { + "husky": "lib/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", + "dev": true + }, + "node_modules/immutable": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", + "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==", + "dev": true + }, + "node_modules/import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==", + "dependencies": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==" + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha512-vOx7VprsKyllwjSkLV79NIhpyLfr3jAp7VaTCMXOJHu4m0Ew1CZ2fcjASwmV1jI3BWuWHB013M48eyeldk9gYg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha512-H1U8Vz0cfXNujrJzEcvvwMDW9Ra+biSYA3ThdQvAnMLJkEHQXn6bWzLkxHtVYJ+Sdbx0b6finn3jZiaVe7MAHA==", + "dependencies": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "node_modules/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==" + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dependencies": { + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jake/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jake/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/jake/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jake/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "peer": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "peer": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/kareem": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.5.1.tgz", + "integrity": "sha512-7jFxRVm+jD+rkq3kY0iZDJfsO2/t4BBPeEb2qKn2lR/9KhuksYk5hxzfRYWMPV8P/x2d0kHD306YyWLzjjH+uA==", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/keyv": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", + "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/knacss": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/knacss/-/knacss-8.0.4.tgz", + "integrity": "sha512-J1XPRkzJyJtkeaLytUtxOZE/rR0ajA8/2BTsPeq2dALVUw8NrsYKoZlsrd5vrAvpijZ4X0hd8Oe15dLiZShRAA==", + "dependencies": { + "autoprefixer": "^9.7.1", + "cssnano": "^4.1.10", + "gulp-rename": "^2.0.0", + "postcss-combine-media-query": "^1.0.1" + } + }, + "node_modules/kruptein": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/kruptein/-/kruptein-3.0.6.tgz", + "integrity": "sha512-EQJjTwAJfQkC4NfdQdo3HXM2a9pmBm8oidzH270cYu1MbgXPNPMJuldN7OPX+qdhPO5rw4X3/iKz0BFBfkXGKA==", + "dependencies": { + "asn1.js": "^5.4.1" + }, + "engines": { + "node": ">8" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/lodash.foreach": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", + "integrity": "sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==" + }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memory-pager": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", + "optional": true + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, + "node_modules/mongodb": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.9.0.tgz", + "integrity": "sha512-g+GCMHN1CoRUA+wb1Agv0TI4YTSiWr42B5ulkiAfLLHitGK1R+PkSAf3Lr5rPZwi/3F04LiaZEW0Kxro9Fi2TA==", + "peer": true, + "dependencies": { + "bson": "^5.5.0", + "mongodb-connection-string-url": "^2.6.0", + "socks": "^2.7.1" + }, + "engines": { + "node": ">=14.20.1" + }, + "optionalDependencies": { + "@mongodb-js/saslprep": "^1.1.0" + }, + "peerDependencies": { + "@aws-sdk/credential-providers": "^3.188.0", + "@mongodb-js/zstd": "^1.0.0", + "kerberos": "^1.0.0 || ^2.0.0", + "mongodb-client-encryption": ">=2.3.0 <3", + "snappy": "^7.2.2" + }, + "peerDependenciesMeta": { + "@aws-sdk/credential-providers": { + "optional": true + }, + "@mongodb-js/zstd": { + "optional": true + }, + "kerberos": { + "optional": true + }, + "mongodb-client-encryption": { + "optional": true + }, + "snappy": { + "optional": true + } + } + }, + "node_modules/mongodb-connection-string-url": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz", + "integrity": "sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ==", + "dependencies": { + "@types/whatwg-url": "^8.2.1", + "whatwg-url": "^11.0.0" + } + }, + "node_modules/mongoose": { + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-7.5.2.tgz", + "integrity": "sha512-yEkmI1jfiog7QUvMWz3eB/XoA3/5DrVvSz+z3V5hnq8VtZIHC7ujEV0RKzRXwr8QNMOs+OTB7+aK7R/N/V3yXA==", + "dependencies": { + "bson": "^5.4.0", + "kareem": "2.5.1", + "mongodb": "5.8.1", + "mpath": "0.9.0", + "mquery": "5.0.0", + "ms": "2.1.3", + "sift": "16.0.1" + }, + "engines": { + "node": ">=14.20.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mongoose" + } + }, + "node_modules/mongoose-unique-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mongoose-unique-validator/-/mongoose-unique-validator-4.0.0.tgz", + "integrity": "sha512-lOvL7wOZ8wM2Kggk6zPZuglmld7hmzf6TdNk/h9EidTH9iZNLl3Y2ZgRPjYd/so1AODLawehY56roa6HjX6jew==", + "dependencies": { + "lodash.foreach": "^4.1.0", + "lodash.get": "^4.0.2", + "lodash.merge": "^4.6.2" + }, + "peerDependencies": { + "mongoose": "^7.0.0" + } + }, + "node_modules/mongoose/node_modules/mongodb": { + "version": "5.8.1", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-5.8.1.tgz", + "integrity": "sha512-wKyh4kZvm6NrCPH8AxyzXm3JBoEf4Xulo0aUWh3hCgwgYJxyQ1KLST86ZZaSWdj6/kxYUA3+YZuyADCE61CMSg==", + "dependencies": { + "bson": "^5.4.0", + "mongodb-connection-string-url": "^2.6.0", + "socks": "^2.7.1" + }, + "engines": { + "node": ">=14.20.1" + }, + "optionalDependencies": { + "@mongodb-js/saslprep": "^1.1.0" + }, + "peerDependencies": { + "@aws-sdk/credential-providers": "^3.188.0", + "@mongodb-js/zstd": "^1.0.0", + "kerberos": "^1.0.0 || ^2.0.0", + "mongodb-client-encryption": ">=2.3.0 <3", + "snappy": "^7.2.2" + }, + "peerDependenciesMeta": { + "@aws-sdk/credential-providers": { + "optional": true + }, + "@mongodb-js/zstd": { + "optional": true + }, + "kerberos": { + "optional": true + }, + "mongodb-client-encryption": { + "optional": true + }, + "snappy": { + "optional": true + } + } + }, + "node_modules/mongoose/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/mpath": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz", + "integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mquery": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/mquery/-/mquery-5.0.0.tgz", + "integrity": "sha512-iQMncpmEK8R8ncT8HJGsGc9Dsp8xcgYMVSbs5jgnm1lFHTZqMJTUWTDx1LBO8+mK3tPNZWFLBghQEIOULSTHZg==", + "dependencies": { + "debug": "4.x" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/multer": { + "version": "1.4.5-lts.1", + "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.5-lts.1.tgz", + "integrity": "sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ==", + "dependencies": { + "append-field": "^1.0.0", + "busboy": "^1.0.0", + "concat-stream": "^1.5.2", + "mkdirp": "^0.5.4", + "object-assign": "^4.1.1", + "type-is": "^1.6.4", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/node-abi": { + "version": "3.47.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.47.0.tgz", + "integrity": "sha512-2s6B2CWZM//kPgwnuI0KrYwNjfdByE25zvAaEpq9IH4zcNsarH8Ihu/UuX6XMPEogDAxkuUFeZn60pXNHAqn3A==", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==" + }, + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + }, + "node_modules/nodemon": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.0.1.tgz", + "integrity": "sha512-g9AZ7HmkhQkqXkRc20w+ZfQ73cHLbE8hnPbtaFbFtCumZsjyMhKk9LajQ07U5Ux28lvFjZ5X7HvWR1xzU8jHVw==", + "dev": true, + "dependencies": { + "chokidar": "^3.5.2", + "debug": "^3.2.7", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", + "semver": "^7.5.3", + "simple-update-notifier": "^2.0.0", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "bin": { + "nodemon": "bin/nodemon.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nodemon" + } + }, + "node_modules/nodemon/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm-run-all": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "memorystream": "^0.3.1", + "minimatch": "^3.0.4", + "pidtree": "^0.3.0", + "read-pkg": "^3.0.0", + "shell-quote": "^1.6.1", + "string.prototype.padend": "^3.0.0" + }, + "bin": { + "npm-run-all": "bin/npm-run-all/index.js", + "run-p": "bin/run-p/index.js", + "run-s": "bin/run-s/index.js" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dependencies": { + "boolbase": "~1.0.0" + } + }, + "node_modules/num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.7.tgz", + "integrity": "sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==", + "dependencies": { + "array.prototype.reduce": "^1.0.6", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "safe-array-concat": "^1.0.0" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module/node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/passport": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/passport/-/passport-0.6.0.tgz", + "integrity": "sha512-0fe+p3ZnrWRW74fe8+SvCyf4a3Pb2/h7gFkQ8yTJpAO50gDzlfjZUZTO1k5Eg9kUct22OxHLqDZoKUWRHOh9ug==", + "dependencies": { + "passport-strategy": "1.x.x", + "pause": "0.0.1", + "utils-merge": "^1.0.1" + }, + "engines": { + "node": ">= 0.4.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/jaredhanson" + } + }, + "node_modules/passport-http": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/passport-http/-/passport-http-0.3.0.tgz", + "integrity": "sha512-OwK9DkqGVlJfO8oD0Bz1VDIo+ijD3c1ZbGGozIZw+joIP0U60pXY7goB+8wiDWtNqHpkTaQiJ9Ux1jE3Ykmpuw==", + "dependencies": { + "passport-strategy": "1.x.x" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/passport-local": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/passport-local/-/passport-local-1.0.0.tgz", + "integrity": "sha512-9wCE6qKznvf9mQYYbgJ3sVOHmCWoUNMVFoZzNoznmISbhnNNPhN9xfY3sLmScHMetEJeoY7CXwfhCe7argfQow==", + "dependencies": { + "passport-strategy": "1.x.x" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/passport-strategy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz", + "integrity": "sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pause": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", + "integrity": "sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg==" + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", + "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", + "dev": true, + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-calc": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", + "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", + "dependencies": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + } + }, + "node_modules/postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "dependencies": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-colormin/node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "node_modules/postcss-colormin/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-combine-media-query": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/postcss-combine-media-query/-/postcss-combine-media-query-1.0.1.tgz", + "integrity": "sha512-DFSXuYy3ltDkC2esIF0ORoS9DCjlyfWhtoQkG9brZMuJY1ABOER95sm3dvccR6IEgSrYX4RgqiHD4Lq3JGrxyw==", + "dependencies": { + "postcss": "^7.0.21" + } + }, + "node_modules/postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", + "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-convert-values/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "dependencies": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-merge-longhand/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-merge-rules/node_modules/postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-font-values/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-gradients/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", + "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", + "dependencies": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-params/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", + "dependencies": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-minify-selectors/node_modules/postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "dependencies": { + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "dependencies": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-display-values/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-positions/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-repeat-style/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "dependencies": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-string/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "dependencies": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-timing-functions/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "dependencies": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-unicode/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "dependencies": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-url/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-normalize-whitespace/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "dependencies": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-ordered-values/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "dependencies": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-reduce-transforms/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz", + "integrity": "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==", + "dependencies": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-svgo/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "dependencies": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/postcss/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/prebuild-install": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", + "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/prebuild-install/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prebuild-install/node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/prebuild-install/node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/queue-tick": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz", + "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==" + }, + "node_modules/rand-token": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rand-token/-/rand-token-1.0.1.tgz", + "integrity": "sha512-Zri5SfJmEzBJ3IexFdigvPSCamslJ7UjLkUn0tlgH7COJvaUr5V7FyUYgKifEMTw7gFO8ZLcWjcU+kq8akipzg==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/random-bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", + "integrity": "sha512-iv7LhNVO047HzYR3InF6pUcUsPQiHTM1Qal51DcGSuZFBil1aBBWG5eHPNek7bvILMaYJ/8RU1e8w1AMdHmLQQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", + "dev": true, + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "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" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/resolve": { + "version": "1.22.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", + "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha512-gDK5mkALDFER2YLqH6imYvK6g02gpNGM4ILDZ472EwWfXZnC2ZEpoB2ECXTyOVUKuk/bPJZMzwQPBYICzP+D3w==" + }, + "node_modules/rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha512-zgn5OjNQXLUTdq8m17KdaicF6w89TZs8ZU8y0AYENIU6wG8GG6LLm0yLSiPY8DmaYmHdgRW8rnApjoT0fQRfMg==" + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sass": { + "version": "1.68.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.68.0.tgz", + "integrity": "sha512-Lmj9lM/fef0nQswm1J2HJcEsBUba4wgNx2fea6yJHODREoMFnwRpZydBnX/RjyXw2REIwdkbqE4hrTo4qfDBUA==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/sharp": { + "version": "0.32.6", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", + "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==", + "hasInstallScript": true, + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.2", + "node-addon-api": "^6.1.0", + "prebuild-install": "^7.1.1", + "semver": "^7.5.4", + "simple-get": "^4.0.1", + "tar-fs": "^3.0.4", + "tunnel-agent": "^0.6.0" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sift": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/sift/-/sift-16.0.1.tgz", + "integrity": "sha512-Wv6BjQ5zbhW7VFefWusVP33T/EM0vYikCaQ2qR8yULbsilAT8/wQaXvuQ3ptGLpoKx+lihJE3y2UTgKDyyNHZQ==" + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, + "node_modules/simple-update-notifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", + "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", + "dependencies": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sparse-bitfield": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", + "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", + "optional": true, + "dependencies": { + "memory-pager": "^1.0.2" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.15", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.15.tgz", + "integrity": "sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ==", + "dev": true + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/streamx": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.1.tgz", + "integrity": "sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==", + "dependencies": { + "fast-fifo": "^1.1.0", + "queue-tick": "^1.0.1" + } + }, + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/string.prototype.padend": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.5.tgz", + "integrity": "sha512-DOB27b/2UTTD+4myKUFh+/fXWcu/UDyASIXfg+7VzoCNNGOfWvoyU/x5pvVHr++ztyt/oSYI1BcWBBG/hmlNjA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", + "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", + "dependencies": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/stylehacks/node_modules/postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dependencies": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", + "dependencies": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/tar-fs": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz", + "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==", + "dependencies": { + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + } + }, + "node_modules/tar-stream": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz", + "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==", + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "dev": true, + "dependencies": { + "nopt": "~1.0.10" + }, + "bin": { + "nodetouch": "bin/nodetouch.js" + } + }, + "node_modules/tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + }, + "node_modules/uid-safe": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", + "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", + "dependencies": { + "random-bytes": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", + "dev": true + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==" + }, + "node_modules/uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha512-mZdDpf3vBV5Efh29kMw5tXoup/buMgxLzOt/XKFKcVmi+15ManNQWr6HfZ2aiZTYlYixbdNJ0KFmIZIv52tHSQ==" + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==" + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "dependencies": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", + "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..0a86c5c --- /dev/null +++ b/package.json @@ -0,0 +1,68 @@ +{ + "name": "simple-images-upload", + "version": "1.0.0", + "description": "Simple application to store and share image with bbcode integration", + "main": "src/bin/www", + "scripts": { + "run:all": "npm-run-all build sass start", + "build": "npx babel ./src --out-dir dist --copy-files", + "sass": "npx sass sass/index.scss public/css/main.css -s compressed --color", + "watch": "npx nodemon -e js,scss", + "start": "node ./dist/bin/www", + "lint": "npx eslint ./src --ext .js", + "lint:fix": "npx eslint --fix ./src --ext .js", + "prepare": "husky install" + }, + "repository": { + "type": "git", + "url": "git@git.darkou.fr:dbroqua/simple-images-upload.git" + }, + "author": { + "name": "Damien Broqua", + "email": "contact@darkou.fr", + "url": "https://www.darkou.fr" + }, + "license": "CC-BY-NC-SA-4.0", + "nodemonConfig": { + "exec": "npm run run:all", + "watch": [ + "src/*", + "sass/*", + "javascripts/*" + ], + "ignore": [ + "**/__tests__/**", + "*.test.js", + "*.spec.js" + ] + }, + "devDependencies": { + "@babel/cli": "^7.22.15", + "@babel/preset-env": "^7.22.20", + "eslint": "^8.50.0", + "eslint-config-google": "^0.14.0", + "husky": "^8.0.3", + "nodemon": "^3.0.1", + "npm-run-all": "^4.1.5", + "sass": "^1.68.0" + }, + "dependencies": { + "connect-ensure-login": "^0.1.1", + "connect-flash": "^0.1.1", + "connect-mongo": "^5.0.0", + "cookie-parser": "^1.4.6", + "debug": "^4.3.4", + "ejs": "^3.1.9", + "express": "^4.18.2", + "express-session": "^1.17.3", + "knacss": "^8.0.4", + "mongoose": "^7.5.2", + "mongoose-unique-validator": "^4.0.0", + "multer": "^1.4.5-lts.1", + "passport": "^0.6.0", + "passport-http": "^0.3.0", + "passport-local": "^1.0.0", + "rand-token": "^1.0.1", + "sharp": "^0.32.6" + } +} diff --git a/public/css/main.css b/public/css/main.css new file mode 100644 index 0000000..0fc891a --- /dev/null +++ b/public/css/main.css @@ -0,0 +1 @@ +*,*::before,*::after{box-sizing:border-box;min-width:0;min-height:0}html{font-size:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:100%;overflow-wrap:break-word}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:1rem;line-height:1.5;background-color:#fff;color:#212529}h1,.h1-like,h2,.h2-like,h3,.h3-like,h4,.h4-like,h5,.h5-like,h6,.h6-like{color:#212529}a{color:#454d5d;text-decoration:underline}a:focus,a:hover,a:active{color:#212529;text-decoration:underline}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}h1,.h1-like,h2,.h2-like{margin-top:0;margin-bottom:1rem}p,address,ol,ul,dl,blockquote,pre,h3,.h3-like,h4,.h4-like,h5,.h5-like,h6,.h6-like,dt,dd{margin-top:0;margin-bottom:.5rem}ol ol,ol ul,ul ol,ul ul,li ul,li ol,nav ul,nav ol,li p,li .p-like{margin-top:0;margin-bottom:0}ul,ol{padding-left:1rem}nav ul,nav ol{list-style:none;padding:0}audio,canvas,iframe,img,svg,video{vertical-align:middle}img,table,td,blockquote,pre,code,input,textarea,select,video,svg,iframe{max-width:100%}iframe,img,input,select,textarea{height:auto}img{border-style:none}iframe{border-style:none}svg:not([fill]){fill:currentColor}svg:not(:root){overflow:hidden}table{border-collapse:collapse}hr{box-sizing:content-box;height:0;overflow:visible;border:0;border-top:1px solid;margin:1rem 0;clear:both;color:inherit}table{width:100%;max-width:100%;table-layout:fixed;border-collapse:collapse;vertical-align:top;margin-bottom:1rem}.visually-hidden,.sr-only{position:absolute !important;border:0 !important;height:1px !important;width:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important}@media(prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important}}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled=true],[disabled]{cursor:not-allowed}[aria-hidden=false][hidden]{display:initial}[aria-hidden=false][hidden]:not(:focus){clip:rect(0, 0, 0, 0);position:absolute}a,area,button,input,label,select,summary,textarea,[tabindex]{-ms-touch-action:manipulation;touch-action:manipulation}button,input,select,textarea{margin:0;background-color:rgba(0,0,0,0);color:inherit;font-family:inherit;font-size:inherit;line-height:inherit;letter-spacing:inherit;vertical-align:middle}button,input:not([type=radio]):not([type=checkbox]),select,textarea{border:0}pre,code,kbd,samp{font-family:monospace,monospace;font-size:1em}pre{tab-size:2;white-space:pre-wrap;line-height:normal;overflow:auto;-ms-overflow-style:scrollbar}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}form,fieldset{border:none}fieldset{margin:0;padding:1rem}legend{display:table;max-width:100%;padding:0 .125rem;border:0;color:inherit;white-space:normal}label{display:inline-block;cursor:pointer}textarea{overflow:auto;vertical-align:top;resize:vertical;white-space:pre-wrap}progress{display:inline-block;width:100%;vertical-align:baseline}output{display:inline-block}summary{display:list-item}template{display:none}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}@media print{*{background:rgba(0,0,0,0) !important;box-shadow:none !important;text-shadow:none !important}body{width:auto;margin:auto;font-family:serif;font-size:12pt}p,.p-like,h1,.h1-like,h2,.h2-like,h3,.h3-like,h4,.h4-like,h5,.h5-like,h6,.h6-like,blockquote,label,ul,ol{color:#000;margin:auto}.print{display:block}.no-print{display:none}p,.p-like,blockquote{orphans:3;widows:3}blockquote,ul,ol{page-break-inside:avoid}h1,.h1-like,h2,.h2-like,h3,.h3-like,caption{page-break-after:avoid}a{color:#000}a[href^="javascript:"]::after,a[href^="#"]::after{content:""}}.layout-maxed{display:grid}@media(min-width: 576px){.layout-maxed{grid-template-columns:minmax(0.5rem, 1fr) minmax(auto, 576px) minmax(0.5rem, 1fr)}}@media(min-width: 992px){.layout-maxed{grid-template-columns:minmax(0.5rem, 1fr) minmax(auto, 992px) minmax(0.5rem, 1fr)}}@media(min-width: 1330px){.layout-maxed{grid-template-columns:minmax(0.5rem, 1fr) minmax(auto, 1330px) minmax(0.5rem, 1fr)}}.layout-maxed>*{grid-column:2}.layout-hero{grid-column:1/-1;display:grid;grid-template-columns:inherit}.layout-hero>*{grid-column:2}.layout-hero-img{grid-column:1/-1;justify-self:center;max-width:100%}.hidden{display:none}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.flex{display:flex}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-no-wrap{flex-wrap:nowrap}.flex-shrink{flex-shrink:1}.flex-no-shrink{flex-shrink:0}.flex-grow{flex-grow:1}.flex-no-grow{flex-grow:0}.float-left{float:left}.float-right{float:right}.float-none{float:none}.text-bold{font-weight:bold}.text-italic{font-style:italic}.text-uppercase{text-transform:uppercase}.text-lowercase{text-transform:lowercase}.text-smaller{font-size:smaller}.text-bigger{font-size:bigger}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-wrap{overflow-wrap:break-word}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.justify-items-start{justify-items:start}.justify-items-end{justify-items:end}.justify-items-center{justify-items:center}.align-start{align-content:start}.align-end{align-content:end}.align-center{align-content:center}.align-between{align-content:space-between}.align-around{align-content:space-around}.align-evenly{align-content:space-evenly}.align-items-start{align-items:flex-start}.align-items-end{align-items:flex-end}.align-items-center{align-items:center}.place-center{place-content:center}.justify-self-auto{justify-self:auto}.justify-self-start{justify-self:start}.justify-self-end{justify-self:end}.justify-self-center{justify-self:center}.justify-self-stretch{justify-self:stretch}.align-self-auto{align-self:auto}.align-self-start{align-self:flex-start}.align-self-end{align-self:flex-end}.align-self-center{align-self:center}.align-self-stretch{align-self:stretch}.align-top{vertical-align:top}.align-bottom{vertical-align:bottom}.align-middle{vertical-align:middle}.item-first{order:-100}.item-last{order:100}@media(min-width: 576px){.sm\:hidden{display:none}}@media(min-width: 992px){.md\:hidden{display:none}}@media(min-width: 1330px){.lg\:hidden{display:none}}@media(min-width: 576px){.sm\:block{display:block}}@media(min-width: 992px){.md\:block{display:block}}@media(min-width: 1330px){.lg\:block{display:block}}@media(min-width: 576px){.sm\:inline{display:inline}}@media(min-width: 992px){.md\:inline{display:inline}}@media(min-width: 1330px){.lg\:inline{display:inline}}@media(min-width: 576px){.sm\:inline-block{display:inline-block}}@media(min-width: 992px){.md\:inline-block{display:inline-block}}@media(min-width: 1330px){.lg\:inline-block{display:inline-block}}@media(min-width: 576px){.sm\:flex{display:flex}}@media(min-width: 992px){.md\:flex{display:flex}}@media(min-width: 1330px){.lg\:flex{display:flex}}@media(min-width: 576px){.sm\:flex-row{flex-direction:row}}@media(min-width: 992px){.md\:flex-row{flex-direction:row}}@media(min-width: 1330px){.lg\:flex-row{flex-direction:row}}@media(min-width: 576px){.sm\:flex-col{flex-direction:column}}@media(min-width: 992px){.md\:flex-col{flex-direction:column}}@media(min-width: 1330px){.lg\:flex-col{flex-direction:column}}@media(min-width: 576px){.sm\:flex-wrap{flex-wrap:wrap}}@media(min-width: 992px){.md\:flex-wrap{flex-wrap:wrap}}@media(min-width: 1330px){.lg\:flex-wrap{flex-wrap:wrap}}@media(min-width: 576px){.sm\:flex-no-wrap{flex-wrap:nowrap}}@media(min-width: 992px){.md\:flex-no-wrap{flex-wrap:nowrap}}@media(min-width: 1330px){.lg\:flex-no-wrap{flex-wrap:nowrap}}@media(min-width: 576px){.sm\:flex-shrink{flex-shrink:1}}@media(min-width: 992px){.md\:flex-shrink{flex-shrink:1}}@media(min-width: 1330px){.lg\:flex-shrink{flex-shrink:1}}@media(min-width: 576px){.sm\:flex-no-shrink{flex-shrink:0}}@media(min-width: 992px){.md\:flex-no-shrink{flex-shrink:0}}@media(min-width: 1330px){.lg\:flex-no-shrink{flex-shrink:0}}@media(min-width: 576px){.sm\:flex-grow{flex-grow:1}}@media(min-width: 992px){.md\:flex-grow{flex-grow:1}}@media(min-width: 1330px){.lg\:flex-grow{flex-grow:1}}@media(min-width: 576px){.sm\:flex-no-grow{flex-grow:0}}@media(min-width: 992px){.md\:flex-no-grow{flex-grow:0}}@media(min-width: 1330px){.lg\:flex-no-grow{flex-grow:0}}@media(min-width: 576px){.sm\:float-left{float:left}}@media(min-width: 992px){.md\:float-left{float:left}}@media(min-width: 1330px){.lg\:float-left{float:left}}@media(min-width: 576px){.sm\:float-right{float:right}}@media(min-width: 992px){.md\:float-right{float:right}}@media(min-width: 1330px){.lg\:float-right{float:right}}@media(min-width: 576px){.sm\:float-none{float:none}}@media(min-width: 992px){.md\:float-none{float:none}}@media(min-width: 1330px){.lg\:float-none{float:none}}@media(min-width: 576px){.sm\:text-bold{font-weight:bold}}@media(min-width: 992px){.md\:text-bold{font-weight:bold}}@media(min-width: 1330px){.lg\:text-bold{font-weight:bold}}@media(min-width: 576px){.sm\:text-italic{font-style:italic}}@media(min-width: 992px){.md\:text-italic{font-style:italic}}@media(min-width: 1330px){.lg\:text-italic{font-style:italic}}@media(min-width: 576px){.sm\:text-uppercase{text-transform:uppercase}}@media(min-width: 992px){.md\:text-uppercase{text-transform:uppercase}}@media(min-width: 1330px){.lg\:text-uppercase{text-transform:uppercase}}@media(min-width: 576px){.sm\:text-lowercase{text-transform:lowercase}}@media(min-width: 992px){.md\:text-lowercase{text-transform:lowercase}}@media(min-width: 1330px){.lg\:text-lowercase{text-transform:lowercase}}@media(min-width: 576px){.sm\:text-smaller{font-size:smaller}}@media(min-width: 992px){.md\:text-smaller{font-size:smaller}}@media(min-width: 1330px){.lg\:text-smaller{font-size:smaller}}@media(min-width: 576px){.sm\:text-bigger{font-size:bigger}}@media(min-width: 992px){.md\:text-bigger{font-size:bigger}}@media(min-width: 1330px){.lg\:text-bigger{font-size:bigger}}@media(min-width: 576px){.sm\:text-left{text-align:left}}@media(min-width: 992px){.md\:text-left{text-align:left}}@media(min-width: 1330px){.lg\:text-left{text-align:left}}@media(min-width: 576px){.sm\:text-center{text-align:center}}@media(min-width: 992px){.md\:text-center{text-align:center}}@media(min-width: 1330px){.lg\:text-center{text-align:center}}@media(min-width: 576px){.sm\:text-right{text-align:right}}@media(min-width: 992px){.md\:text-right{text-align:right}}@media(min-width: 1330px){.lg\:text-right{text-align:right}}@media(min-width: 576px){.sm\:text-justify{text-align:justify}}@media(min-width: 992px){.md\:text-justify{text-align:justify}}@media(min-width: 1330px){.lg\:text-justify{text-align:justify}}@media(min-width: 576px){.sm\:text-wrap{overflow-wrap:break-word}}@media(min-width: 992px){.md\:text-wrap{overflow-wrap:break-word}}@media(min-width: 1330px){.lg\:text-wrap{overflow-wrap:break-word}}@media(min-width: 576px){.sm\:justify-start{justify-content:flex-start}}@media(min-width: 992px){.md\:justify-start{justify-content:flex-start}}@media(min-width: 1330px){.lg\:justify-start{justify-content:flex-start}}@media(min-width: 576px){.sm\:justify-end{justify-content:flex-end}}@media(min-width: 992px){.md\:justify-end{justify-content:flex-end}}@media(min-width: 1330px){.lg\:justify-end{justify-content:flex-end}}@media(min-width: 576px){.sm\:justify-center{justify-content:center}}@media(min-width: 992px){.md\:justify-center{justify-content:center}}@media(min-width: 1330px){.lg\:justify-center{justify-content:center}}@media(min-width: 576px){.sm\:justify-between{justify-content:space-between}}@media(min-width: 992px){.md\:justify-between{justify-content:space-between}}@media(min-width: 1330px){.lg\:justify-between{justify-content:space-between}}@media(min-width: 576px){.sm\:justify-around{justify-content:space-around}}@media(min-width: 992px){.md\:justify-around{justify-content:space-around}}@media(min-width: 1330px){.lg\:justify-around{justify-content:space-around}}@media(min-width: 576px){.sm\:justify-evenly{justify-content:space-evenly}}@media(min-width: 992px){.md\:justify-evenly{justify-content:space-evenly}}@media(min-width: 1330px){.lg\:justify-evenly{justify-content:space-evenly}}@media(min-width: 576px){.sm\:justify-items-start{justify-items:start}}@media(min-width: 992px){.md\:justify-items-start{justify-items:start}}@media(min-width: 1330px){.lg\:justify-items-start{justify-items:start}}@media(min-width: 576px){.sm\:justify-items-end{justify-items:end}}@media(min-width: 992px){.md\:justify-items-end{justify-items:end}}@media(min-width: 1330px){.lg\:justify-items-end{justify-items:end}}@media(min-width: 576px){.sm\:justify-items-center{justify-items:center}}@media(min-width: 992px){.md\:justify-items-center{justify-items:center}}@media(min-width: 1330px){.lg\:justify-items-center{justify-items:center}}@media(min-width: 576px){.sm\:align-start{align-content:start}}@media(min-width: 992px){.md\:align-start{align-content:start}}@media(min-width: 1330px){.lg\:align-start{align-content:start}}@media(min-width: 576px){.sm\:align-end{align-content:end}}@media(min-width: 992px){.md\:align-end{align-content:end}}@media(min-width: 1330px){.lg\:align-end{align-content:end}}@media(min-width: 576px){.sm\:align-center{align-content:center}}@media(min-width: 992px){.md\:align-center{align-content:center}}@media(min-width: 1330px){.lg\:align-center{align-content:center}}@media(min-width: 576px){.sm\:align-between{align-content:space-between}}@media(min-width: 992px){.md\:align-between{align-content:space-between}}@media(min-width: 1330px){.lg\:align-between{align-content:space-between}}@media(min-width: 576px){.sm\:align-around{align-content:space-around}}@media(min-width: 992px){.md\:align-around{align-content:space-around}}@media(min-width: 1330px){.lg\:align-around{align-content:space-around}}@media(min-width: 576px){.sm\:align-evenly{align-content:space-evenly}}@media(min-width: 992px){.md\:align-evenly{align-content:space-evenly}}@media(min-width: 1330px){.lg\:align-evenly{align-content:space-evenly}}@media(min-width: 576px){.sm\:align-items-start{align-items:flex-start}}@media(min-width: 992px){.md\:align-items-start{align-items:flex-start}}@media(min-width: 1330px){.lg\:align-items-start{align-items:flex-start}}@media(min-width: 576px){.sm\:align-items-end{align-items:flex-end}}@media(min-width: 992px){.md\:align-items-end{align-items:flex-end}}@media(min-width: 1330px){.lg\:align-items-end{align-items:flex-end}}@media(min-width: 576px){.sm\:align-items-center{align-items:center}}@media(min-width: 992px){.md\:align-items-center{align-items:center}}@media(min-width: 1330px){.lg\:align-items-center{align-items:center}}@media(min-width: 576px){.sm\:place-center{place-content:center}}@media(min-width: 992px){.md\:place-center{place-content:center}}@media(min-width: 1330px){.lg\:place-center{place-content:center}}@media(min-width: 576px){.sm\:justify-self-auto{justify-self:auto}}@media(min-width: 992px){.md\:justify-self-auto{justify-self:auto}}@media(min-width: 1330px){.lg\:justify-self-auto{justify-self:auto}}@media(min-width: 576px){.sm\:justify-self-start{justify-self:start}}@media(min-width: 992px){.md\:justify-self-start{justify-self:start}}@media(min-width: 1330px){.lg\:justify-self-start{justify-self:start}}@media(min-width: 576px){.sm\:justify-self-end{justify-self:end}}@media(min-width: 992px){.md\:justify-self-end{justify-self:end}}@media(min-width: 1330px){.lg\:justify-self-end{justify-self:end}}@media(min-width: 576px){.sm\:justify-self-center{justify-self:center}}@media(min-width: 992px){.md\:justify-self-center{justify-self:center}}@media(min-width: 1330px){.lg\:justify-self-center{justify-self:center}}@media(min-width: 576px){.sm\:justify-self-stretch{justify-self:stretch}}@media(min-width: 992px){.md\:justify-self-stretch{justify-self:stretch}}@media(min-width: 1330px){.lg\:justify-self-stretch{justify-self:stretch}}@media(min-width: 576px){.sm\:align-self-auto{align-self:auto}}@media(min-width: 992px){.md\:align-self-auto{align-self:auto}}@media(min-width: 1330px){.lg\:align-self-auto{align-self:auto}}@media(min-width: 576px){.sm\:align-self-start{align-self:flex-start}}@media(min-width: 992px){.md\:align-self-start{align-self:flex-start}}@media(min-width: 1330px){.lg\:align-self-start{align-self:flex-start}}@media(min-width: 576px){.sm\:align-self-end{align-self:flex-end}}@media(min-width: 992px){.md\:align-self-end{align-self:flex-end}}@media(min-width: 1330px){.lg\:align-self-end{align-self:flex-end}}@media(min-width: 576px){.sm\:align-self-center{align-self:center}}@media(min-width: 992px){.md\:align-self-center{align-self:center}}@media(min-width: 1330px){.lg\:align-self-center{align-self:center}}@media(min-width: 576px){.sm\:align-self-stretch{align-self:stretch}}@media(min-width: 992px){.md\:align-self-stretch{align-self:stretch}}@media(min-width: 1330px){.lg\:align-self-stretch{align-self:stretch}}@media(min-width: 576px){.sm\:align-top{vertical-align:top}}@media(min-width: 992px){.md\:align-top{vertical-align:top}}@media(min-width: 1330px){.lg\:align-top{vertical-align:top}}@media(min-width: 576px){.sm\:align-bottom{vertical-align:bottom}}@media(min-width: 992px){.md\:align-bottom{vertical-align:bottom}}@media(min-width: 1330px){.lg\:align-bottom{vertical-align:bottom}}@media(min-width: 576px){.sm\:align-middle{vertical-align:middle}}@media(min-width: 992px){.md\:align-middle{vertical-align:middle}}@media(min-width: 1330px){.lg\:align-middle{vertical-align:middle}}@media(min-width: 576px){.sm\:item-first{order:-100}}@media(min-width: 992px){.md\:item-first{order:-100}}@media(min-width: 1330px){.lg\:item-first{order:-100}}@media(min-width: 576px){.sm\:item-last{order:100}}@media(min-width: 992px){.md\:item-last{order:100}}@media(min-width: 1330px){.lg\:item-last{order:100}}.is-unstyled{list-style:none;padding-left:0}.is-disabled,[disabled]{opacity:.6;cursor:not-allowed !important;filter:grayscale(1)}.text-normal{font-weight:normal;font-style:normal;text-transform:none}@media(min-width: 576px){.sm\:visually-hidden{position:absolute !important;border:0 !important;height:1px !important;width:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important}.sm\:is-unstyled{list-style:none;padding-left:0}.sm\:is-disabled{opacity:.6;cursor:not-allowed !important;filter:grayscale(1)}.sm\:text-normal{font-weight:normal;font-style:normal;text-transform:none}}@media(min-width: 992px){.md\:visually-hidden{position:absolute !important;border:0 !important;height:1px !important;width:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important}.md\:is-unstyled{list-style:none;padding-left:0}.md\:is-disabled{opacity:.6;cursor:not-allowed !important;filter:grayscale(1)}.md\:text-normal{font-weight:normal;font-style:normal;text-transform:none}}@media(min-width: 1330px){.lg\:visually-hidden{position:absolute !important;border:0 !important;height:1px !important;width:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important}.lg\:is-unstyled{list-style:none;padding-left:0}.lg\:is-disabled{opacity:.6;cursor:not-allowed !important;filter:grayscale(1)}.lg\:text-normal{font-weight:normal;font-style:normal;text-transform:none}}.text-10{font-size:.625rem}.text-11{font-size:.6875rem}.text-12{font-size:.75rem}.text-14{font-size:.875rem}.text-16{font-size:1rem}.text-18{font-size:1.125rem}.text-20{font-size:1.25rem}.text-24{font-size:1.5rem}.text-30{font-size:1.875rem}.text-36{font-size:2.25rem}.text-base{font-size:1rem}.text-inherit{font-size:"inherit"}@media(min-width: 576px){.sm\:text-10{font-size:.625rem}}@media(min-width: 992px){.md\:text-10{font-size:.625rem}}@media(min-width: 1330px){.lg\:text-10{font-size:.625rem}}@media(min-width: 576px){.sm\:text-11{font-size:.6875rem}}@media(min-width: 992px){.md\:text-11{font-size:.6875rem}}@media(min-width: 1330px){.lg\:text-11{font-size:.6875rem}}@media(min-width: 576px){.sm\:text-12{font-size:.75rem}}@media(min-width: 992px){.md\:text-12{font-size:.75rem}}@media(min-width: 1330px){.lg\:text-12{font-size:.75rem}}@media(min-width: 576px){.sm\:text-14{font-size:.875rem}}@media(min-width: 992px){.md\:text-14{font-size:.875rem}}@media(min-width: 1330px){.lg\:text-14{font-size:.875rem}}@media(min-width: 576px){.sm\:text-16{font-size:1rem}}@media(min-width: 992px){.md\:text-16{font-size:1rem}}@media(min-width: 1330px){.lg\:text-16{font-size:1rem}}@media(min-width: 576px){.sm\:text-18{font-size:1.125rem}}@media(min-width: 992px){.md\:text-18{font-size:1.125rem}}@media(min-width: 1330px){.lg\:text-18{font-size:1.125rem}}@media(min-width: 576px){.sm\:text-20{font-size:1.25rem}}@media(min-width: 992px){.md\:text-20{font-size:1.25rem}}@media(min-width: 1330px){.lg\:text-20{font-size:1.25rem}}@media(min-width: 576px){.sm\:text-24{font-size:1.5rem}}@media(min-width: 992px){.md\:text-24{font-size:1.5rem}}@media(min-width: 1330px){.lg\:text-24{font-size:1.5rem}}@media(min-width: 576px){.sm\:text-30{font-size:1.875rem}}@media(min-width: 992px){.md\:text-30{font-size:1.875rem}}@media(min-width: 1330px){.lg\:text-30{font-size:1.875rem}}@media(min-width: 576px){.sm\:text-36{font-size:2.25rem}}@media(min-width: 992px){.md\:text-36{font-size:2.25rem}}@media(min-width: 1330px){.lg\:text-36{font-size:2.25rem}}@media(min-width: 576px){.sm\:text-base{font-size:1rem}}@media(min-width: 992px){.md\:text-base{font-size:1rem}}@media(min-width: 1330px){.lg\:text-base{font-size:1rem}}@media(min-width: 576px){.sm\:text-inherit{font-size:"inherit"}}@media(min-width: 992px){.md\:text-inherit{font-size:"inherit"}}@media(min-width: 1330px){.lg\:text-inherit{font-size:"inherit"}}.p-0{padding:0}.pt-0{padding-top:0}.pr-0{padding-right:0}.pb-0{padding-bottom:0}.pl-0{padding-left:0}.px-0{padding-left:0;padding-right:0}.py-0{padding-top:0;padding-bottom:0}.m-0{margin:0}.mt-0{margin-top:0}.mr-0{margin-right:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.mx-0{margin-left:0;margin-right:0}.my-0{margin-top:0;margin-bottom:0}@media(min-width: 576px){.sm\:p-0{padding:0}.sm\:pt-0{padding-top:0}.sm\:pr-0{padding-right:0}.sm\:pb-0{padding-bottom:0}.sm\:pl-0{padding-left:0}.sm\:px-0{padding-left:0;padding-right:0}.sm\:py-0{padding-top:0;padding-bottom:0}.sm\:m-0{margin:0}.sm\:mt-0{margin-top:0}.sm\:mr-0{margin-right:0}.sm\:mb-0{margin-bottom:0}.sm\:ml-0{margin-left:0}.sm\:mx-0{margin-left:0;margin-right:0}.sm\:my-0{margin-top:0;margin-bottom:0}}@media(min-width: 992px){.md\:p-0{padding:0}.md\:pt-0{padding-top:0}.md\:pr-0{padding-right:0}.md\:pb-0{padding-bottom:0}.md\:pl-0{padding-left:0}.md\:px-0{padding-left:0;padding-right:0}.md\:py-0{padding-top:0;padding-bottom:0}.md\:m-0{margin:0}.md\:mt-0{margin-top:0}.md\:mr-0{margin-right:0}.md\:mb-0{margin-bottom:0}.md\:ml-0{margin-left:0}.md\:mx-0{margin-left:0;margin-right:0}.md\:my-0{margin-top:0;margin-bottom:0}}@media(min-width: 1330px){.lg\:p-0{padding:0}.lg\:pt-0{padding-top:0}.lg\:pr-0{padding-right:0}.lg\:pb-0{padding-bottom:0}.lg\:pl-0{padding-left:0}.lg\:px-0{padding-left:0;padding-right:0}.lg\:py-0{padding-top:0;padding-bottom:0}.lg\:m-0{margin:0}.lg\:mt-0{margin-top:0}.lg\:mr-0{margin-right:0}.lg\:mb-0{margin-bottom:0}.lg\:ml-0{margin-left:0}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:my-0{margin-top:0;margin-bottom:0}}.p-2{padding:.125rem}.pt-2{padding-top:.125rem}.pr-2{padding-right:.125rem}.pb-2{padding-bottom:.125rem}.pl-2{padding-left:.125rem}.px-2{padding-left:.125rem;padding-right:.125rem}.py-2{padding-top:.125rem;padding-bottom:.125rem}.m-2{margin:.125rem}.mt-2{margin-top:.125rem}.mr-2{margin-right:.125rem}.mb-2{margin-bottom:.125rem}.ml-2{margin-left:.125rem}.mx-2{margin-left:.125rem;margin-right:.125rem}.my-2{margin-top:.125rem;margin-bottom:.125rem}@media(min-width: 576px){.sm\:p-2{padding:.125rem}.sm\:pt-2{padding-top:.125rem}.sm\:pr-2{padding-right:.125rem}.sm\:pb-2{padding-bottom:.125rem}.sm\:pl-2{padding-left:.125rem}.sm\:px-2{padding-left:.125rem;padding-right:.125rem}.sm\:py-2{padding-top:.125rem;padding-bottom:.125rem}.sm\:m-2{margin:.125rem}.sm\:mt-2{margin-top:.125rem}.sm\:mr-2{margin-right:.125rem}.sm\:mb-2{margin-bottom:.125rem}.sm\:ml-2{margin-left:.125rem}.sm\:mx-2{margin-left:.125rem;margin-right:.125rem}.sm\:my-2{margin-top:.125rem;margin-bottom:.125rem}}@media(min-width: 992px){.md\:p-2{padding:.125rem}.md\:pt-2{padding-top:.125rem}.md\:pr-2{padding-right:.125rem}.md\:pb-2{padding-bottom:.125rem}.md\:pl-2{padding-left:.125rem}.md\:px-2{padding-left:.125rem;padding-right:.125rem}.md\:py-2{padding-top:.125rem;padding-bottom:.125rem}.md\:m-2{margin:.125rem}.md\:mt-2{margin-top:.125rem}.md\:mr-2{margin-right:.125rem}.md\:mb-2{margin-bottom:.125rem}.md\:ml-2{margin-left:.125rem}.md\:mx-2{margin-left:.125rem;margin-right:.125rem}.md\:my-2{margin-top:.125rem;margin-bottom:.125rem}}@media(min-width: 1330px){.lg\:p-2{padding:.125rem}.lg\:pt-2{padding-top:.125rem}.lg\:pr-2{padding-right:.125rem}.lg\:pb-2{padding-bottom:.125rem}.lg\:pl-2{padding-left:.125rem}.lg\:px-2{padding-left:.125rem;padding-right:.125rem}.lg\:py-2{padding-top:.125rem;padding-bottom:.125rem}.lg\:m-2{margin:.125rem}.lg\:mt-2{margin-top:.125rem}.lg\:mr-2{margin-right:.125rem}.lg\:mb-2{margin-bottom:.125rem}.lg\:ml-2{margin-left:.125rem}.lg\:mx-2{margin-left:.125rem;margin-right:.125rem}.lg\:my-2{margin-top:.125rem;margin-bottom:.125rem}}.p-5{padding:.313rem}.pt-5{padding-top:.313rem}.pr-5{padding-right:.313rem}.pb-5{padding-bottom:.313rem}.pl-5{padding-left:.313rem}.px-5{padding-left:.313rem;padding-right:.313rem}.py-5{padding-top:.313rem;padding-bottom:.313rem}.m-5{margin:.313rem}.mt-5{margin-top:.313rem}.mr-5{margin-right:.313rem}.mb-5{margin-bottom:.313rem}.ml-5{margin-left:.313rem}.mx-5{margin-left:.313rem;margin-right:.313rem}.my-5{margin-top:.313rem;margin-bottom:.313rem}@media(min-width: 576px){.sm\:p-5{padding:.313rem}.sm\:pt-5{padding-top:.313rem}.sm\:pr-5{padding-right:.313rem}.sm\:pb-5{padding-bottom:.313rem}.sm\:pl-5{padding-left:.313rem}.sm\:px-5{padding-left:.313rem;padding-right:.313rem}.sm\:py-5{padding-top:.313rem;padding-bottom:.313rem}.sm\:m-5{margin:.313rem}.sm\:mt-5{margin-top:.313rem}.sm\:mr-5{margin-right:.313rem}.sm\:mb-5{margin-bottom:.313rem}.sm\:ml-5{margin-left:.313rem}.sm\:mx-5{margin-left:.313rem;margin-right:.313rem}.sm\:my-5{margin-top:.313rem;margin-bottom:.313rem}}@media(min-width: 992px){.md\:p-5{padding:.313rem}.md\:pt-5{padding-top:.313rem}.md\:pr-5{padding-right:.313rem}.md\:pb-5{padding-bottom:.313rem}.md\:pl-5{padding-left:.313rem}.md\:px-5{padding-left:.313rem;padding-right:.313rem}.md\:py-5{padding-top:.313rem;padding-bottom:.313rem}.md\:m-5{margin:.313rem}.md\:mt-5{margin-top:.313rem}.md\:mr-5{margin-right:.313rem}.md\:mb-5{margin-bottom:.313rem}.md\:ml-5{margin-left:.313rem}.md\:mx-5{margin-left:.313rem;margin-right:.313rem}.md\:my-5{margin-top:.313rem;margin-bottom:.313rem}}@media(min-width: 1330px){.lg\:p-5{padding:.313rem}.lg\:pt-5{padding-top:.313rem}.lg\:pr-5{padding-right:.313rem}.lg\:pb-5{padding-bottom:.313rem}.lg\:pl-5{padding-left:.313rem}.lg\:px-5{padding-left:.313rem;padding-right:.313rem}.lg\:py-5{padding-top:.313rem;padding-bottom:.313rem}.lg\:m-5{margin:.313rem}.lg\:mt-5{margin-top:.313rem}.lg\:mr-5{margin-right:.313rem}.lg\:mb-5{margin-bottom:.313rem}.lg\:ml-5{margin-left:.313rem}.lg\:mx-5{margin-left:.313rem;margin-right:.313rem}.lg\:my-5{margin-top:.313rem;margin-bottom:.313rem}}.p-8{padding:.5rem}.pt-8{padding-top:.5rem}.pr-8{padding-right:.5rem}.pb-8{padding-bottom:.5rem}.pl-8{padding-left:.5rem}.px-8{padding-left:.5rem;padding-right:.5rem}.py-8{padding-top:.5rem;padding-bottom:.5rem}.m-8{margin:.5rem}.mt-8{margin-top:.5rem}.mr-8{margin-right:.5rem}.mb-8{margin-bottom:.5rem}.ml-8{margin-left:.5rem}.mx-8{margin-left:.5rem;margin-right:.5rem}.my-8{margin-top:.5rem;margin-bottom:.5rem}@media(min-width: 576px){.sm\:p-8{padding:.5rem}.sm\:pt-8{padding-top:.5rem}.sm\:pr-8{padding-right:.5rem}.sm\:pb-8{padding-bottom:.5rem}.sm\:pl-8{padding-left:.5rem}.sm\:px-8{padding-left:.5rem;padding-right:.5rem}.sm\:py-8{padding-top:.5rem;padding-bottom:.5rem}.sm\:m-8{margin:.5rem}.sm\:mt-8{margin-top:.5rem}.sm\:mr-8{margin-right:.5rem}.sm\:mb-8{margin-bottom:.5rem}.sm\:ml-8{margin-left:.5rem}.sm\:mx-8{margin-left:.5rem;margin-right:.5rem}.sm\:my-8{margin-top:.5rem;margin-bottom:.5rem}}@media(min-width: 992px){.md\:p-8{padding:.5rem}.md\:pt-8{padding-top:.5rem}.md\:pr-8{padding-right:.5rem}.md\:pb-8{padding-bottom:.5rem}.md\:pl-8{padding-left:.5rem}.md\:px-8{padding-left:.5rem;padding-right:.5rem}.md\:py-8{padding-top:.5rem;padding-bottom:.5rem}.md\:m-8{margin:.5rem}.md\:mt-8{margin-top:.5rem}.md\:mr-8{margin-right:.5rem}.md\:mb-8{margin-bottom:.5rem}.md\:ml-8{margin-left:.5rem}.md\:mx-8{margin-left:.5rem;margin-right:.5rem}.md\:my-8{margin-top:.5rem;margin-bottom:.5rem}}@media(min-width: 1330px){.lg\:p-8{padding:.5rem}.lg\:pt-8{padding-top:.5rem}.lg\:pr-8{padding-right:.5rem}.lg\:pb-8{padding-bottom:.5rem}.lg\:pl-8{padding-left:.5rem}.lg\:px-8{padding-left:.5rem;padding-right:.5rem}.lg\:py-8{padding-top:.5rem;padding-bottom:.5rem}.lg\:m-8{margin:.5rem}.lg\:mt-8{margin-top:.5rem}.lg\:mr-8{margin-right:.5rem}.lg\:mb-8{margin-bottom:.5rem}.lg\:ml-8{margin-left:.5rem}.lg\:mx-8{margin-left:.5rem;margin-right:.5rem}.lg\:my-8{margin-top:.5rem;margin-bottom:.5rem}}.p-10{padding:.625rem}.pt-10{padding-top:.625rem}.pr-10{padding-right:.625rem}.pb-10{padding-bottom:.625rem}.pl-10{padding-left:.625rem}.px-10{padding-left:.625rem;padding-right:.625rem}.py-10{padding-top:.625rem;padding-bottom:.625rem}.m-10{margin:.625rem}.mt-10{margin-top:.625rem}.mr-10{margin-right:.625rem}.mb-10{margin-bottom:.625rem}.ml-10{margin-left:.625rem}.mx-10{margin-left:.625rem;margin-right:.625rem}.my-10{margin-top:.625rem;margin-bottom:.625rem}@media(min-width: 576px){.sm\:p-10{padding:.625rem}.sm\:pt-10{padding-top:.625rem}.sm\:pr-10{padding-right:.625rem}.sm\:pb-10{padding-bottom:.625rem}.sm\:pl-10{padding-left:.625rem}.sm\:px-10{padding-left:.625rem;padding-right:.625rem}.sm\:py-10{padding-top:.625rem;padding-bottom:.625rem}.sm\:m-10{margin:.625rem}.sm\:mt-10{margin-top:.625rem}.sm\:mr-10{margin-right:.625rem}.sm\:mb-10{margin-bottom:.625rem}.sm\:ml-10{margin-left:.625rem}.sm\:mx-10{margin-left:.625rem;margin-right:.625rem}.sm\:my-10{margin-top:.625rem;margin-bottom:.625rem}}@media(min-width: 992px){.md\:p-10{padding:.625rem}.md\:pt-10{padding-top:.625rem}.md\:pr-10{padding-right:.625rem}.md\:pb-10{padding-bottom:.625rem}.md\:pl-10{padding-left:.625rem}.md\:px-10{padding-left:.625rem;padding-right:.625rem}.md\:py-10{padding-top:.625rem;padding-bottom:.625rem}.md\:m-10{margin:.625rem}.md\:mt-10{margin-top:.625rem}.md\:mr-10{margin-right:.625rem}.md\:mb-10{margin-bottom:.625rem}.md\:ml-10{margin-left:.625rem}.md\:mx-10{margin-left:.625rem;margin-right:.625rem}.md\:my-10{margin-top:.625rem;margin-bottom:.625rem}}@media(min-width: 1330px){.lg\:p-10{padding:.625rem}.lg\:pt-10{padding-top:.625rem}.lg\:pr-10{padding-right:.625rem}.lg\:pb-10{padding-bottom:.625rem}.lg\:pl-10{padding-left:.625rem}.lg\:px-10{padding-left:.625rem;padding-right:.625rem}.lg\:py-10{padding-top:.625rem;padding-bottom:.625rem}.lg\:m-10{margin:.625rem}.lg\:mt-10{margin-top:.625rem}.lg\:mr-10{margin-right:.625rem}.lg\:mb-10{margin-bottom:.625rem}.lg\:ml-10{margin-left:.625rem}.lg\:mx-10{margin-left:.625rem;margin-right:.625rem}.lg\:my-10{margin-top:.625rem;margin-bottom:.625rem}}.p-16{padding:1rem}.pt-16{padding-top:1rem}.pr-16{padding-right:1rem}.pb-16{padding-bottom:1rem}.pl-16{padding-left:1rem}.px-16{padding-left:1rem;padding-right:1rem}.py-16{padding-top:1rem;padding-bottom:1rem}.m-16{margin:1rem}.mt-16{margin-top:1rem}.mr-16{margin-right:1rem}.mb-16{margin-bottom:1rem}.ml-16{margin-left:1rem}.mx-16{margin-left:1rem;margin-right:1rem}.my-16{margin-top:1rem;margin-bottom:1rem}@media(min-width: 576px){.sm\:p-16{padding:1rem}.sm\:pt-16{padding-top:1rem}.sm\:pr-16{padding-right:1rem}.sm\:pb-16{padding-bottom:1rem}.sm\:pl-16{padding-left:1rem}.sm\:px-16{padding-left:1rem;padding-right:1rem}.sm\:py-16{padding-top:1rem;padding-bottom:1rem}.sm\:m-16{margin:1rem}.sm\:mt-16{margin-top:1rem}.sm\:mr-16{margin-right:1rem}.sm\:mb-16{margin-bottom:1rem}.sm\:ml-16{margin-left:1rem}.sm\:mx-16{margin-left:1rem;margin-right:1rem}.sm\:my-16{margin-top:1rem;margin-bottom:1rem}}@media(min-width: 992px){.md\:p-16{padding:1rem}.md\:pt-16{padding-top:1rem}.md\:pr-16{padding-right:1rem}.md\:pb-16{padding-bottom:1rem}.md\:pl-16{padding-left:1rem}.md\:px-16{padding-left:1rem;padding-right:1rem}.md\:py-16{padding-top:1rem;padding-bottom:1rem}.md\:m-16{margin:1rem}.md\:mt-16{margin-top:1rem}.md\:mr-16{margin-right:1rem}.md\:mb-16{margin-bottom:1rem}.md\:ml-16{margin-left:1rem}.md\:mx-16{margin-left:1rem;margin-right:1rem}.md\:my-16{margin-top:1rem;margin-bottom:1rem}}@media(min-width: 1330px){.lg\:p-16{padding:1rem}.lg\:pt-16{padding-top:1rem}.lg\:pr-16{padding-right:1rem}.lg\:pb-16{padding-bottom:1rem}.lg\:pl-16{padding-left:1rem}.lg\:px-16{padding-left:1rem;padding-right:1rem}.lg\:py-16{padding-top:1rem;padding-bottom:1rem}.lg\:m-16{margin:1rem}.lg\:mt-16{margin-top:1rem}.lg\:mr-16{margin-right:1rem}.lg\:mb-16{margin-bottom:1rem}.lg\:ml-16{margin-left:1rem}.lg\:mx-16{margin-left:1rem;margin-right:1rem}.lg\:my-16{margin-top:1rem;margin-bottom:1rem}}.p-20{padding:1.25rem}.pt-20{padding-top:1.25rem}.pr-20{padding-right:1.25rem}.pb-20{padding-bottom:1.25rem}.pl-20{padding-left:1.25rem}.px-20{padding-left:1.25rem;padding-right:1.25rem}.py-20{padding-top:1.25rem;padding-bottom:1.25rem}.m-20{margin:1.25rem}.mt-20{margin-top:1.25rem}.mr-20{margin-right:1.25rem}.mb-20{margin-bottom:1.25rem}.ml-20{margin-left:1.25rem}.mx-20{margin-left:1.25rem;margin-right:1.25rem}.my-20{margin-top:1.25rem;margin-bottom:1.25rem}@media(min-width: 576px){.sm\:p-20{padding:1.25rem}.sm\:pt-20{padding-top:1.25rem}.sm\:pr-20{padding-right:1.25rem}.sm\:pb-20{padding-bottom:1.25rem}.sm\:pl-20{padding-left:1.25rem}.sm\:px-20{padding-left:1.25rem;padding-right:1.25rem}.sm\:py-20{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:m-20{margin:1.25rem}.sm\:mt-20{margin-top:1.25rem}.sm\:mr-20{margin-right:1.25rem}.sm\:mb-20{margin-bottom:1.25rem}.sm\:ml-20{margin-left:1.25rem}.sm\:mx-20{margin-left:1.25rem;margin-right:1.25rem}.sm\:my-20{margin-top:1.25rem;margin-bottom:1.25rem}}@media(min-width: 992px){.md\:p-20{padding:1.25rem}.md\:pt-20{padding-top:1.25rem}.md\:pr-20{padding-right:1.25rem}.md\:pb-20{padding-bottom:1.25rem}.md\:pl-20{padding-left:1.25rem}.md\:px-20{padding-left:1.25rem;padding-right:1.25rem}.md\:py-20{padding-top:1.25rem;padding-bottom:1.25rem}.md\:m-20{margin:1.25rem}.md\:mt-20{margin-top:1.25rem}.md\:mr-20{margin-right:1.25rem}.md\:mb-20{margin-bottom:1.25rem}.md\:ml-20{margin-left:1.25rem}.md\:mx-20{margin-left:1.25rem;margin-right:1.25rem}.md\:my-20{margin-top:1.25rem;margin-bottom:1.25rem}}@media(min-width: 1330px){.lg\:p-20{padding:1.25rem}.lg\:pt-20{padding-top:1.25rem}.lg\:pr-20{padding-right:1.25rem}.lg\:pb-20{padding-bottom:1.25rem}.lg\:pl-20{padding-left:1.25rem}.lg\:px-20{padding-left:1.25rem;padding-right:1.25rem}.lg\:py-20{padding-top:1.25rem;padding-bottom:1.25rem}.lg\:m-20{margin:1.25rem}.lg\:mt-20{margin-top:1.25rem}.lg\:mr-20{margin-right:1.25rem}.lg\:mb-20{margin-bottom:1.25rem}.lg\:ml-20{margin-left:1.25rem}.lg\:mx-20{margin-left:1.25rem;margin-right:1.25rem}.lg\:my-20{margin-top:1.25rem;margin-bottom:1.25rem}}.p-24{padding:1.5rem}.pt-24{padding-top:1.5rem}.pr-24{padding-right:1.5rem}.pb-24{padding-bottom:1.5rem}.pl-24{padding-left:1.5rem}.px-24{padding-left:1.5rem;padding-right:1.5rem}.py-24{padding-top:1.5rem;padding-bottom:1.5rem}.m-24{margin:1.5rem}.mt-24{margin-top:1.5rem}.mr-24{margin-right:1.5rem}.mb-24{margin-bottom:1.5rem}.ml-24{margin-left:1.5rem}.mx-24{margin-left:1.5rem;margin-right:1.5rem}.my-24{margin-top:1.5rem;margin-bottom:1.5rem}@media(min-width: 576px){.sm\:p-24{padding:1.5rem}.sm\:pt-24{padding-top:1.5rem}.sm\:pr-24{padding-right:1.5rem}.sm\:pb-24{padding-bottom:1.5rem}.sm\:pl-24{padding-left:1.5rem}.sm\:px-24{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-24{padding-top:1.5rem;padding-bottom:1.5rem}.sm\:m-24{margin:1.5rem}.sm\:mt-24{margin-top:1.5rem}.sm\:mr-24{margin-right:1.5rem}.sm\:mb-24{margin-bottom:1.5rem}.sm\:ml-24{margin-left:1.5rem}.sm\:mx-24{margin-left:1.5rem;margin-right:1.5rem}.sm\:my-24{margin-top:1.5rem;margin-bottom:1.5rem}}@media(min-width: 992px){.md\:p-24{padding:1.5rem}.md\:pt-24{padding-top:1.5rem}.md\:pr-24{padding-right:1.5rem}.md\:pb-24{padding-bottom:1.5rem}.md\:pl-24{padding-left:1.5rem}.md\:px-24{padding-left:1.5rem;padding-right:1.5rem}.md\:py-24{padding-top:1.5rem;padding-bottom:1.5rem}.md\:m-24{margin:1.5rem}.md\:mt-24{margin-top:1.5rem}.md\:mr-24{margin-right:1.5rem}.md\:mb-24{margin-bottom:1.5rem}.md\:ml-24{margin-left:1.5rem}.md\:mx-24{margin-left:1.5rem;margin-right:1.5rem}.md\:my-24{margin-top:1.5rem;margin-bottom:1.5rem}}@media(min-width: 1330px){.lg\:p-24{padding:1.5rem}.lg\:pt-24{padding-top:1.5rem}.lg\:pr-24{padding-right:1.5rem}.lg\:pb-24{padding-bottom:1.5rem}.lg\:pl-24{padding-left:1.5rem}.lg\:px-24{padding-left:1.5rem;padding-right:1.5rem}.lg\:py-24{padding-top:1.5rem;padding-bottom:1.5rem}.lg\:m-24{margin:1.5rem}.lg\:mt-24{margin-top:1.5rem}.lg\:mr-24{margin-right:1.5rem}.lg\:mb-24{margin-bottom:1.5rem}.lg\:ml-24{margin-left:1.5rem}.lg\:mx-24{margin-left:1.5rem;margin-right:1.5rem}.lg\:my-24{margin-top:1.5rem;margin-bottom:1.5rem}}.p-36{padding:2.25rem}.pt-36{padding-top:2.25rem}.pr-36{padding-right:2.25rem}.pb-36{padding-bottom:2.25rem}.pl-36{padding-left:2.25rem}.px-36{padding-left:2.25rem;padding-right:2.25rem}.py-36{padding-top:2.25rem;padding-bottom:2.25rem}.m-36{margin:2.25rem}.mt-36{margin-top:2.25rem}.mr-36{margin-right:2.25rem}.mb-36{margin-bottom:2.25rem}.ml-36{margin-left:2.25rem}.mx-36{margin-left:2.25rem;margin-right:2.25rem}.my-36{margin-top:2.25rem;margin-bottom:2.25rem}@media(min-width: 576px){.sm\:p-36{padding:2.25rem}.sm\:pt-36{padding-top:2.25rem}.sm\:pr-36{padding-right:2.25rem}.sm\:pb-36{padding-bottom:2.25rem}.sm\:pl-36{padding-left:2.25rem}.sm\:px-36{padding-left:2.25rem;padding-right:2.25rem}.sm\:py-36{padding-top:2.25rem;padding-bottom:2.25rem}.sm\:m-36{margin:2.25rem}.sm\:mt-36{margin-top:2.25rem}.sm\:mr-36{margin-right:2.25rem}.sm\:mb-36{margin-bottom:2.25rem}.sm\:ml-36{margin-left:2.25rem}.sm\:mx-36{margin-left:2.25rem;margin-right:2.25rem}.sm\:my-36{margin-top:2.25rem;margin-bottom:2.25rem}}@media(min-width: 992px){.md\:p-36{padding:2.25rem}.md\:pt-36{padding-top:2.25rem}.md\:pr-36{padding-right:2.25rem}.md\:pb-36{padding-bottom:2.25rem}.md\:pl-36{padding-left:2.25rem}.md\:px-36{padding-left:2.25rem;padding-right:2.25rem}.md\:py-36{padding-top:2.25rem;padding-bottom:2.25rem}.md\:m-36{margin:2.25rem}.md\:mt-36{margin-top:2.25rem}.md\:mr-36{margin-right:2.25rem}.md\:mb-36{margin-bottom:2.25rem}.md\:ml-36{margin-left:2.25rem}.md\:mx-36{margin-left:2.25rem;margin-right:2.25rem}.md\:my-36{margin-top:2.25rem;margin-bottom:2.25rem}}@media(min-width: 1330px){.lg\:p-36{padding:2.25rem}.lg\:pt-36{padding-top:2.25rem}.lg\:pr-36{padding-right:2.25rem}.lg\:pb-36{padding-bottom:2.25rem}.lg\:pl-36{padding-left:2.25rem}.lg\:px-36{padding-left:2.25rem;padding-right:2.25rem}.lg\:py-36{padding-top:2.25rem;padding-bottom:2.25rem}.lg\:m-36{margin:2.25rem}.lg\:mt-36{margin-top:2.25rem}.lg\:mr-36{margin-right:2.25rem}.lg\:mb-36{margin-bottom:2.25rem}.lg\:ml-36{margin-left:2.25rem}.lg\:mx-36{margin-left:2.25rem;margin-right:2.25rem}.lg\:my-36{margin-top:2.25rem;margin-bottom:2.25rem}}.p-auto{padding:auto}.pt-auto{padding-top:auto}.pr-auto{padding-right:auto}.pb-auto{padding-bottom:auto}.pl-auto{padding-left:auto}.px-auto{padding-left:auto;padding-right:auto}.py-auto{padding-top:auto;padding-bottom:auto}.m-auto{margin:auto}.mt-auto{margin-top:auto}.mr-auto{margin-right:auto}.mb-auto{margin-bottom:auto}.ml-auto{margin-left:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}@media(min-width: 576px){.sm\:p-auto{padding:auto}.sm\:pt-auto{padding-top:auto}.sm\:pr-auto{padding-right:auto}.sm\:pb-auto{padding-bottom:auto}.sm\:pl-auto{padding-left:auto}.sm\:px-auto{padding-left:auto;padding-right:auto}.sm\:py-auto{padding-top:auto;padding-bottom:auto}.sm\:m-auto{margin:auto}.sm\:mt-auto{margin-top:auto}.sm\:mr-auto{margin-right:auto}.sm\:mb-auto{margin-bottom:auto}.sm\:ml-auto{margin-left:auto}.sm\:mx-auto{margin-left:auto;margin-right:auto}.sm\:my-auto{margin-top:auto;margin-bottom:auto}}@media(min-width: 992px){.md\:p-auto{padding:auto}.md\:pt-auto{padding-top:auto}.md\:pr-auto{padding-right:auto}.md\:pb-auto{padding-bottom:auto}.md\:pl-auto{padding-left:auto}.md\:px-auto{padding-left:auto;padding-right:auto}.md\:py-auto{padding-top:auto;padding-bottom:auto}.md\:m-auto{margin:auto}.md\:mt-auto{margin-top:auto}.md\:mr-auto{margin-right:auto}.md\:mb-auto{margin-bottom:auto}.md\:ml-auto{margin-left:auto}.md\:mx-auto{margin-left:auto;margin-right:auto}.md\:my-auto{margin-top:auto;margin-bottom:auto}}@media(min-width: 1330px){.lg\:p-auto{padding:auto}.lg\:pt-auto{padding-top:auto}.lg\:pr-auto{padding-right:auto}.lg\:pb-auto{padding-bottom:auto}.lg\:pl-auto{padding-left:auto}.lg\:px-auto{padding-left:auto;padding-right:auto}.lg\:py-auto{padding-top:auto;padding-bottom:auto}.lg\:m-auto{margin:auto}.lg\:mt-auto{margin-top:auto}.lg\:mr-auto{margin-right:auto}.lg\:mb-auto{margin-bottom:auto}.lg\:ml-auto{margin-left:auto}.lg\:mx-auto{margin-left:auto;margin-right:auto}.lg\:my-auto{margin-top:auto;margin-bottom:auto}}.grid{display:grid}@media(min-width: 576px){.sm\:grid{display:grid}}@media(min-width: 992px){.md\:grid{display:grid}}@media(min-width: 1330px){.lg\:grid{display:grid}}.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr))}.grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr))}@media(min-width: 576px){.sm\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.sm\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr))}}@media(min-width: 992px){.md\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr))}}@media(min-width: 1330px){.lg\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr))}}.gap-0{gap:0}.gap-x-0{column-gap:0}.gap-y-0{row-gap:0}.gap-5{gap:.313rem}.gap-x-5{column-gap:.313rem}.gap-y-5{row-gap:.313rem}.gap-10{gap:.625rem}.gap-x-10{column-gap:.625rem}.gap-y-10{row-gap:.625rem}.gap-16{gap:1rem}.gap-x-16{column-gap:1rem}.gap-y-16{row-gap:1rem}.gap-20{gap:1.25rem}.gap-x-20{column-gap:1.25rem}.gap-y-20{row-gap:1.25rem}.gap-36{gap:2.25rem}.gap-x-36{column-gap:2.25rem}.gap-y-36{row-gap:2.25rem}@media(min-width: 576px){.sm\:gap-0{gap:0}.sm\:gap-x-0{column-gap:0}.sm\:gap-y-0{row-gap:0}.sm\:gap-5{gap:.313rem}.sm\:gap-x-5{column-gap:.313rem}.sm\:gap-y-5{row-gap:.313rem}.sm\:gap-10{gap:.625rem}.sm\:gap-x-10{column-gap:.625rem}.sm\:gap-y-10{row-gap:.625rem}.sm\:gap-16{gap:1rem}.sm\:gap-x-16{column-gap:1rem}.sm\:gap-y-16{row-gap:1rem}.sm\:gap-20{gap:1.25rem}.sm\:gap-x-20{column-gap:1.25rem}.sm\:gap-y-20{row-gap:1.25rem}.sm\:gap-36{gap:2.25rem}.sm\:gap-x-36{column-gap:2.25rem}.sm\:gap-y-36{row-gap:2.25rem}}@media(min-width: 992px){.md\:gap-0{gap:0}.md\:gap-x-0{column-gap:0}.md\:gap-y-0{row-gap:0}.md\:gap-5{gap:.313rem}.md\:gap-x-5{column-gap:.313rem}.md\:gap-y-5{row-gap:.313rem}.md\:gap-10{gap:.625rem}.md\:gap-x-10{column-gap:.625rem}.md\:gap-y-10{row-gap:.625rem}.md\:gap-16{gap:1rem}.md\:gap-x-16{column-gap:1rem}.md\:gap-y-16{row-gap:1rem}.md\:gap-20{gap:1.25rem}.md\:gap-x-20{column-gap:1.25rem}.md\:gap-y-20{row-gap:1.25rem}.md\:gap-36{gap:2.25rem}.md\:gap-x-36{column-gap:2.25rem}.md\:gap-y-36{row-gap:2.25rem}}@media(min-width: 1330px){.lg\:gap-0{gap:0}.lg\:gap-x-0{column-gap:0}.lg\:gap-y-0{row-gap:0}.lg\:gap-5{gap:.313rem}.lg\:gap-x-5{column-gap:.313rem}.lg\:gap-y-5{row-gap:.313rem}.lg\:gap-10{gap:.625rem}.lg\:gap-x-10{column-gap:.625rem}.lg\:gap-y-10{row-gap:.625rem}.lg\:gap-16{gap:1rem}.lg\:gap-x-16{column-gap:1rem}.lg\:gap-y-16{row-gap:1rem}.lg\:gap-20{gap:1.25rem}.lg\:gap-x-20{column-gap:1.25rem}.lg\:gap-y-20{row-gap:1.25rem}.lg\:gap-36{gap:2.25rem}.lg\:gap-x-36{column-gap:2.25rem}.lg\:gap-y-36{row-gap:2.25rem}}.col-start-1{grid-column-start:1}.col-end-1{grid-column-end:1}.col-span-1{grid-column:span 1/span 1}.col-span-full{grid-column:1/-1}.row-start-1{grid-row-start:1}.row-end-1{grid-row-end:1}.row-span-1{grid-row:span 1/span 1}.col-start-2{grid-column-start:2}.col-end-2{grid-column-end:2}.col-span-2{grid-column:span 2/span 2}.col-span-full{grid-column:1/-1}.row-start-2{grid-row-start:2}.row-end-2{grid-row-end:2}.row-span-2{grid-row:span 2/span 2}.col-start-3{grid-column-start:3}.col-end-3{grid-column-end:3}.col-span-3{grid-column:span 3/span 3}.col-span-full{grid-column:1/-1}.row-start-3{grid-row-start:3}.row-end-3{grid-row-end:3}.row-span-3{grid-row:span 3/span 3}.col-start-4{grid-column-start:4}.col-end-4{grid-column-end:4}.col-span-4{grid-column:span 4/span 4}.col-span-full{grid-column:1/-1}.row-start-4{grid-row-start:4}.row-end-4{grid-row-end:4}.row-span-4{grid-row:span 4/span 4}.col-start-5{grid-column-start:5}.col-end-5{grid-column-end:5}.col-span-5{grid-column:span 5/span 5}.col-span-full{grid-column:1/-1}.row-start-5{grid-row-start:5}.row-end-5{grid-row-end:5}.row-span-5{grid-row:span 5/span 5}.col-start-6{grid-column-start:6}.col-end-6{grid-column-end:6}.col-span-6{grid-column:span 6/span 6}.col-span-full{grid-column:1/-1}.row-start-6{grid-row-start:6}.row-end-6{grid-row-end:6}.row-span-6{grid-row:span 6/span 6}@media(min-width: 576px){.sm\:col-start-1{grid-column-start:1}.sm\:col-end-1{grid-column-end:1}.sm\:col-span-1{grid-column:span 1/span 1}.sm\:col-span-full{grid-column:1/-1}.sm\:row-start-1{grid-row-start:1}.sm\:row-end-1{grid-row-end:1}.sm\:row-span-1{grid-row:span 1/span 1}.sm\:col-start-2{grid-column-start:2}.sm\:col-end-2{grid-column-end:2}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-span-full{grid-column:1/-1}.sm\:row-start-2{grid-row-start:2}.sm\:row-end-2{grid-row-end:2}.sm\:row-span-2{grid-row:span 2/span 2}.sm\:col-start-3{grid-column-start:3}.sm\:col-end-3{grid-column-end:3}.sm\:col-span-3{grid-column:span 3/span 3}.sm\:col-span-full{grid-column:1/-1}.sm\:row-start-3{grid-row-start:3}.sm\:row-end-3{grid-row-end:3}.sm\:row-span-3{grid-row:span 3/span 3}.sm\:col-start-4{grid-column-start:4}.sm\:col-end-4{grid-column-end:4}.sm\:col-span-4{grid-column:span 4/span 4}.sm\:col-span-full{grid-column:1/-1}.sm\:row-start-4{grid-row-start:4}.sm\:row-end-4{grid-row-end:4}.sm\:row-span-4{grid-row:span 4/span 4}.sm\:col-start-5{grid-column-start:5}.sm\:col-end-5{grid-column-end:5}.sm\:col-span-5{grid-column:span 5/span 5}.sm\:col-span-full{grid-column:1/-1}.sm\:row-start-5{grid-row-start:5}.sm\:row-end-5{grid-row-end:5}.sm\:row-span-5{grid-row:span 5/span 5}.sm\:col-start-6{grid-column-start:6}.sm\:col-end-6{grid-column-end:6}.sm\:col-span-6{grid-column:span 6/span 6}.sm\:col-span-full{grid-column:1/-1}.sm\:row-start-6{grid-row-start:6}.sm\:row-end-6{grid-row-end:6}.sm\:row-span-6{grid-row:span 6/span 6}}@media(min-width: 992px){.md\:col-start-1{grid-column-start:1}.md\:col-end-1{grid-column-end:1}.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-full{grid-column:1/-1}.md\:row-start-1{grid-row-start:1}.md\:row-end-1{grid-row-end:1}.md\:row-span-1{grid-row:span 1/span 1}.md\:col-start-2{grid-column-start:2}.md\:col-end-2{grid-column-end:2}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-full{grid-column:1/-1}.md\:row-start-2{grid-row-start:2}.md\:row-end-2{grid-row-end:2}.md\:row-span-2{grid-row:span 2/span 2}.md\:col-start-3{grid-column-start:3}.md\:col-end-3{grid-column-end:3}.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-full{grid-column:1/-1}.md\:row-start-3{grid-row-start:3}.md\:row-end-3{grid-row-end:3}.md\:row-span-3{grid-row:span 3/span 3}.md\:col-start-4{grid-column-start:4}.md\:col-end-4{grid-column-end:4}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-full{grid-column:1/-1}.md\:row-start-4{grid-row-start:4}.md\:row-end-4{grid-row-end:4}.md\:row-span-4{grid-row:span 4/span 4}.md\:col-start-5{grid-column-start:5}.md\:col-end-5{grid-column-end:5}.md\:col-span-5{grid-column:span 5/span 5}.md\:col-span-full{grid-column:1/-1}.md\:row-start-5{grid-row-start:5}.md\:row-end-5{grid-row-end:5}.md\:row-span-5{grid-row:span 5/span 5}.md\:col-start-6{grid-column-start:6}.md\:col-end-6{grid-column-end:6}.md\:col-span-6{grid-column:span 6/span 6}.md\:col-span-full{grid-column:1/-1}.md\:row-start-6{grid-row-start:6}.md\:row-end-6{grid-row-end:6}.md\:row-span-6{grid-row:span 6/span 6}}@media(min-width: 1330px){.lg\:col-start-1{grid-column-start:1}.lg\:col-end-1{grid-column-end:1}.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-full{grid-column:1/-1}.lg\:row-start-1{grid-row-start:1}.lg\:row-end-1{grid-row-end:1}.lg\:row-span-1{grid-row:span 1/span 1}.lg\:col-start-2{grid-column-start:2}.lg\:col-end-2{grid-column-end:2}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-full{grid-column:1/-1}.lg\:row-start-2{grid-row-start:2}.lg\:row-end-2{grid-row-end:2}.lg\:row-span-2{grid-row:span 2/span 2}.lg\:col-start-3{grid-column-start:3}.lg\:col-end-3{grid-column-end:3}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-full{grid-column:1/-1}.lg\:row-start-3{grid-row-start:3}.lg\:row-end-3{grid-row-end:3}.lg\:row-span-3{grid-row:span 3/span 3}.lg\:col-start-4{grid-column-start:4}.lg\:col-end-4{grid-column-end:4}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-full{grid-column:1/-1}.lg\:row-start-4{grid-row-start:4}.lg\:row-end-4{grid-row-end:4}.lg\:row-span-4{grid-row:span 4/span 4}.lg\:col-start-5{grid-column-start:5}.lg\:col-end-5{grid-column-end:5}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-full{grid-column:1/-1}.lg\:row-start-5{grid-row-start:5}.lg\:row-end-5{grid-row-end:5}.lg\:row-span-5{grid-row:span 5/span 5}.lg\:col-start-6{grid-column-start:6}.lg\:col-end-6{grid-column-end:6}.lg\:col-span-6{grid-column:span 6/span 6}.lg\:col-span-full{grid-column:1/-1}.lg\:row-start-6{grid-row-start:6}.lg\:row-end-6{grid-row-end:6}.lg\:row-span-6{grid-row:span 6/span 6}}/*! Generated by Font Squirrel (https://www.fontsquirrel.com) on February 23, 2022 */@font-face{font-family:"lucioleregular";src:url(data:application/font-woff2;charset=utf-8;base64,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) format("woff2");font-weight:normal;font-style:normal}@font-face{font-family:"fira_codelight";src:url(data:application/font-woff2;charset=utf-8;base64,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) format("woff2");font-weight:normal;font-style:normal}:root{--default-color: #ffffff;--bg-color: #f2f2f2;--bg-alternate-color: #ebebeb;--font-color: #4C566A;--footer-color: #F8F9FB;--link-color: #3b4252;--input-font-color: #4C566A;--input-color: #ffffff;--input-active-color: #e5e9f0;--navbar-color: #f2f2f2;--box-bg-color: #F8F9FB;--box-shadow-color: rgba(216, 222, 233, 0.35);--border-color: #d8dee9;--button-link-text-color: #2C364A;--loader-img: url("/img/loading-light.gif");--nord0: #2e3440;--nord1: #3b4252;--nord2: #434c5e;--nord3: #4C566A;--nord4: #d8dee9;--nord5: #e5e9f0;--nord6: #eceff4;--nord7: #8fbcbb;--nord8: #88c0d0;--nord9: #81a1c1;--nord10: #5e81ac;--nord11: #d08770;--nord12: #bf616a;--nord13: #ebcb8b;--nord14: #a3be8c;--nord15: #b48ead}[data-theme=dark]{--default-color: #4C566A;--bg-color: #323946;--bg-alternate-color: #5d6982;--font-color: #eceff4;--footer-color: #3b4252;--link-color: #d8dee9;--input-font-color: #eceff4;--input-color: #2e3440;--input-active-color: #4C566A;--navbar-color: #2e3440;--box-bg-color: #3b4252;--box-shadow-color: rgba(216, 222, 233, 0.2);--border-color: #3b4252;--button-link-text-color: #ffffff;--loader-img: url("/img/loading-dark.gif")}html{min-height:100vh;scroll-behavior:smooth}html body{background-color:var(--bg-color);display:flex;flex-direction:column;padding-top:3.5rem;font-family:"lucioleregular";min-height:100vh;color:var(--font-color);transition:background-color 200ms ease-in 0s,border-color 200ms ease-in 0s,box-shadow 200ms ease-in 0s,color 200ms ease-in 0s}html body footer.footer{margin-top:auto;padding:2rem .7rem 1.5rem;background-color:var(--footer-color);transition:background-color 200ms ease-in 0s,border-color 200ms ease-in 0s,box-shadow 200ms ease-in 0s,color 200ms ease-in 0s}html body a{color:var(--link-color);cursor:pointer;transition:background-color 200ms ease-in 0s,border-color 200ms ease-in 0s,box-shadow 200ms ease-in 0s,color 200ms ease-in 0s}html body a:hover{color:var(--font-color)}html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{color:var(--font-color)}html body h1{margin-top:2rem}html body pre{font-family:"fira_codelight";margin:.75rem 0;padding:.75rem;border-left:2px solid #5e81ac;background:var(--box-bg-color);color:var(--font-color)}html body .image-preview{display:flex;flex-direction:row;justify-content:center;align-items:center}@media(max-width: 575px){.layout-maxed{padding:0 .7rem}}.is-hidden{display:none}.ml-4{margin-left:1rem}.sm-hidden{display:none}@media(min-width: 576px){.sm-hidden{display:initial}}.is-danger{color:#bf616a}.navbar{min-height:3.25rem;background-color:var(--navbar-color);box-shadow:rgba(216,222,233,.15) 0px 5px 10px 0px;color:rgba(0,0,0,.7);position:fixed;z-index:30;top:0;right:0;left:0;transition:background-color 200ms ease-in 0s,border-color 200ms ease-in 0s,box-shadow 200ms ease-in 0s,color 200ms ease-in 0s}@media(min-width: 992px){.navbar{min-height:3.25rem;align-items:stretch;display:flex}}.navbar .navbar-brand{align-items:stretch;display:flex;min-height:3.25rem}.navbar .navbar-brand .navbar-item{align-items:center;display:flex}.navbar .navbar-brand .navbar-item img{max-height:32px}.navbar .navbar-brand .navbar-item span{word-break:break-word;color:var(--font-color);font-size:2rem;line-height:1.125;margin-left:.5rem !important;transition:background-color 200ms ease-in 0s,border-color 200ms ease-in 0s,box-shadow 200ms ease-in 0s,color 200ms ease-in 0s}.navbar .navbar-burger{padding:0;margin:0;font-size:1em;appearance:none;background:none;border:none;cursor:pointer;display:block;height:3.25rem;position:relative;width:3.25rem;margin-left:auto;color:var(--font-color)}@media(min-width: 992px){.navbar .navbar-burger{display:none}}.navbar .navbar-burger span{background-color:currentColor;display:block;height:1px;left:calc(50% - 8px);position:absolute;transform-origin:center;transition-duration:86ms;transition-property:background-color,opacity,transform;transition-timing-function:ease-out;width:16px}.navbar .navbar-burger span:nth-child(1){top:calc(50% - 6px)}.navbar .navbar-burger span:nth-child(2){top:calc(50% - 1px)}.navbar .navbar-burger span:nth-child(3){top:calc(50% + 4px)}.navbar .navbar-burger.is-active span:nth-child(1){transform:translateY(5px) rotate(45deg)}.navbar .navbar-burger.is-active span:nth-child(2){opacity:0}.navbar .navbar-burger.is-active span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}.navbar .navbar-item{line-height:1.5;padding:.5rem .75rem;position:relative;flex-grow:0;flex-shrink:0;color:var(--font-color);display:block;transition:background-color 200ms ease-in 0s,border-color 200ms ease-in 0s,box-shadow 200ms ease-in 0s,color 200ms ease-in 0s}.navbar .navbar-item.has-dropdown{padding:0}@media(min-width: 992px){.navbar .navbar-item.has-dropdown{display:flex;align-items:stretch;color:rgba(0,0,0,.7)}.navbar .navbar-item.has-dropdown .navbar-dropdown{background-color:var(--default-color);border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top:2px solid var(--default-hl-color);box-shadow:0 8px 8px rgba(10,10,10,.1);display:none;font-size:.875rem;left:0;min-width:100%;position:absolute;top:100%;z-index:20}.navbar .navbar-item.has-dropdown:hover{background-color:var(--default-color)}.navbar .navbar-item.has-dropdown:hover .navbar-link{background-color:var(--default-hl-color);color:rgba(0,0,0,.7)}.navbar .navbar-item.has-dropdown:hover .navbar-dropdown{display:block}}@media(min-width: 992px){.navbar .navbar-item{align-items:center;display:flex}}.navbar .navbar-link{color:var(--font-color);display:block;line-height:1.5;padding:.5rem .75rem;position:relative;cursor:pointer;padding-right:2.5em;transition:background-color 200ms ease-in 0s,border-color 200ms ease-in 0s,box-shadow 200ms ease-in 0s,color 200ms ease-in 0s}@media(min-width: 992px){.navbar .navbar-link{display:flex;align-items:center}}.navbar .navbar-link .icon{align-items:center;display:inline-flex;justify-content:center;height:1.5rem;width:1.5rem}.navbar .navbar-link::after{border:3px solid rgba(0,0,0,0);border-radius:2px;border-right:0;border-top:0;content:" ";display:block;height:.625em;pointer-events:none;position:absolute;top:50%;transform:rotate(-45deg);transform-origin:center;width:.625em;border-color:var(--secondary-color);margin-top:-0.375em;right:1.125em}@media(min-width: 992px){.navbar .navbar-link::after{border-color:rgba(0,0,0,.7)}}.navbar .navbar-menu{display:none;background-color:var(--default-color);box-shadow:0 8px 16px rgba(10,10,10,.1);padding:.5rem 0;transition:background-color 200ms ease-in 0s,border-color 200ms ease-in 0s,box-shadow 200ms ease-in 0s,color 200ms ease-in 0s}@media(max-width: 991px){.navbar .navbar-menu{max-height:calc(100vh - 3.25rem);overflow:auto}}@media(min-width: 992px){.navbar .navbar-menu{flex-grow:1;flex-shrink:0;align-items:stretch;display:flex;background-color:initial;box-shadow:none;padding:0}}.navbar .navbar-menu.is-active{display:block}@media(min-width: 992px){.navbar .navbar-menu .navbar-start{justify-content:flex-start;margin-right:auto;align-items:stretch;display:flex}.navbar .navbar-menu .navbar-start .navbar-item{color:rgba(0,0,0,.7);align-items:center;display:flex}.navbar .navbar-menu .navbar-end{justify-content:flex-end;margin-left:auto;align-items:stretch;display:flex}}.navbar .navbar-dropdown{font-size:.875rem;padding-bottom:.5rem;padding-top:.5rem}.navbar .navbar-dropdown hr{background-color:var(--font-color);border:none;height:2px;margin:.5rem 0}.navbar .navbar-dropdown .navbar-item{cursor:pointer;padding-left:1.5rem;padding-right:1.5rem}@media(min-width: 992px){.navbar .navbar-dropdown{background-color:var(--default-color);border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top:2px solid var(--default-hl-color);box-shadow:0 8px 8px rgba(10,10,10,.1);display:none;font-size:.875rem;left:0;min-width:100%;position:absolute;top:100%;z-index:20}.navbar .navbar-dropdown .navbar-item{white-space:nowrap;padding:.375rem 1rem;padding-right:3rem}}.navbar img{height:auto;max-width:100%}.navbar a{text-decoration:none}.navbar .buttons{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}.navbar .buttons .button{margin-right:.75rem}.navbar .buttons:last-child{margin-bottom:-0.5rem}[data-theme=dark] .navbar{box-shadow:none}.field{padding-top:.6rem;display:flex;flex-direction:column}.field.inline{flex-direction:row}.field.has-addons{display:flex;justify-content:flex-start;flex-direction:row}.field.has-addons .button{margin-bottom:0;border-top-left-radius:0;border-bottom-left-radius:0}.field.has-addons input{border-top-right-radius:0;border-bottom-right-radius:0}.field input,.field textarea,.field select{border-radius:4px;max-width:100%;width:100%;background-color:var(--input-color);border:1px solid var(--input-active-color) !important;color:var(--input-font-color);transition:background-color 200ms ease-in 0s,border-color 200ms ease-in 0s,box-shadow 200ms ease-in 0s,color 200ms ease-in 0s}.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{outline:unset}.field input[type=radio]{border-radius:50%;appearance:none;width:1.2rem;height:1.2rem;vertical-align:text-bottom;outline:0;box-shadow:inset 0 0 0 1px var(--input-active-color);background-color:#fff;transition:background-size .15s;cursor:pointer}.field input[type=radio]:checked{box-shadow:inset 0 0 0 4px var(--input-active-color)}.field input[type=radio]+label,.field label+input[type=radio]{margin-left:12px}.field select{appearance:none;background-image:url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20standalone%3D%22no%22%3F%3E%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20style%3D%22isolation%3Aisolate%22%20viewBox%3D%220%200%2020%2020%22%20width%3D%2220%22%20height%3D%2220%22%3E%3Cpath%20d%3D%22%20M%209.96%2011.966%20L%203.523%205.589%20C%202.464%204.627%200.495%206.842%201.505%207.771%20L%201.505%207.771%20L%208.494%2014.763%20C%209.138%2015.35%2010.655%2015.369%2011.29%2014.763%20L%2011.29%2014.763%20L%2018.49%207.771%20C%2019.557%206.752%2017.364%204.68%2016.262%205.725%20L%2016.262%205.725%20L%209.96%2011.966%20Z%20%22%20fill%3D%22inherit%22/%3E%3C/svg%3E");background-position:right .8rem center;background-repeat:no-repeat;background-size:1.2rem;padding-right:2.4rem}.theme-switch-wrapper{display:flex;align-items:center}.theme-switch-wrapper em{margin-left:10px;font-size:1rem}.theme-switch{display:inline-block;height:34px;position:relative;width:60px}.theme-switch input{display:none}.slider{background-color:#ccc;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s;transition:background-color 200ms ease-in 0s,border-color 200ms ease-in 0s,box-shadow 200ms ease-in 0s,color 200ms ease-in 0s}.slider:before{background-color:#fff;bottom:4px;content:"";height:26px;left:4px;position:absolute;transition:.4s;width:26px;padding:0;font-family:"icon";font-style:normal;font-weight:normal;display:inline-block;text-decoration:inherit;text-align:center;font-variant:normal;text-transform:none}input:checked+.slider{background-color:#88c0d0;transition:background-color 200ms ease-in 0s,border-color 200ms ease-in 0s,box-shadow 200ms ease-in 0s,color 200ms ease-in 0s}input:checked+.slider:before{transform:translateX(26px);content:"";background-color:var(--input-active-color);transition:background-color 200ms ease-in 0s,border-color 200ms ease-in 0s,box-shadow 200ms ease-in 0s,color 200ms ease-in 0s}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.button{cursor:pointer;justify-content:center;padding-bottom:calc(.5em - 1px);padding-left:1em;padding-right:1em;padding-top:calc(.5em - 1px);text-align:center;white-space:nowrap;border:1px solid rgba(0,0,0,0);margin-bottom:.5rem;background-color:#81a1c1;border-radius:.375rem;color:#2c364a;transition:background-color 200ms ease-in 0s,border-color 200ms ease-in 0s,box-shadow 200ms ease-in 0s,color 200ms ease-in 0s}.button:hover{background-color:#5f88b0}.button.is-danger{background-color:#d08770;color:#01103c}.button.is-danger:hover{background-color:#c3674a}.button.is-primary{background-color:#88c0d0}.button.is-primary:hover{background-color:#63adc2}.button.is-warning{background-color:#ebcb8b}.button.is-warning:hover{background-color:#e4b860}.button.is-success{background-color:#a3be8c}.button.is-success:hover{background-color:#89ac6b}.button.is-link{background-color:rgba(0,0,0,0);border-color:#81a1c1;color:var(--button-link-text-color)}.button.is-link:hover{border-color:#5f88b0}.modal{bottom:0;left:0;right:0;top:0;align-items:center;display:none;flex-direction:column;justify-content:center;overflow:hidden;position:fixed;z-index:40}.modal.is-visible{display:flex}.modal .modal-background{background-color:rgba(10,10,10,.86);bottom:0;left:0;position:absolute;right:0;top:0}.modal button.close{user-select:none;background-color:rgba(10,10,10,.2);border:none;border-radius:9999px;cursor:pointer;pointer-events:auto;display:inline-block;flex-grow:0;flex-shrink:0;font-size:0;height:20px;max-height:20px;max-width:20px;min-height:20px;min-width:20px;outline:none;position:relative;width:20px}.modal button.close::before,.modal button.close::after{background-color:var(--default-color);content:"";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}.modal button.close::before{height:2px;width:50%}.modal button.close::after{height:50%;width:2px}.modal .modal-card{position:relative;width:300px;margin:0 auto;display:flex;flex-direction:column;max-height:calc(100vh - 40px);overflow:hidden}@media(min-width: 576px){.modal .modal-card{width:560px}}@media(min-width: 992px){.modal .modal-card{width:980px}}@media(min-width: 1330px){.modal .modal-card{width:1200}}.modal .modal-card header,.modal .modal-card footer{align-items:center;background-color:var(--navbar-color);display:flex;flex-shrink:0;justify-content:flex-start;padding:.75rem;position:relative;transition:background-color 200ms ease-in 0s,border-color 200ms ease-in 0s,box-shadow 200ms ease-in 0s,color 200ms ease-in 0s}.modal .modal-card header{border-bottom:1px solid var(--border-color);border-top-left-radius:6px;border-top-right-radius:6px;justify-content:space-between;font-size:1.5rem;transition:background-color 200ms ease-in 0s,border-color 200ms ease-in 0s,box-shadow 200ms ease-in 0s,color 200ms ease-in 0s}.modal .modal-card section{background-color:var(--default-color);flex-grow:1;flex-shrink:1;overflow:auto;padding:20px;transition:background-color 200ms ease-in 0s,border-color 200ms ease-in 0s,box-shadow 200ms ease-in 0s,color 200ms ease-in 0s}.modal .modal-card footer{border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top:1px solid var(--border-color)}.modal .modal-card footer .button:not(:last-child){margin-right:.5em}#toastr{visibility:hidden;min-width:250px;max-width:360px;position:fixed;z-index:66;right:30px;top:30px;font-size:17px;padding:1.25rem 2.5rem 1.25rem 1.5rem;border-radius:6px}#toastr.error{background-color:#d08770;color:#01103c}#toastr.success{background-color:#a3be8c;color:#2c364a}#toastr.show{visibility:visible;animation:toastrFadein .5s,toastrFadeout .5s 2.5s}#toastr button{width:20px;font-size:0;height:20px;max-height:20px;max-width:20px;min-height:20px;min-width:20px;outline:0;border:none;border-radius:9999px;cursor:pointer;pointer-events:auto;display:inline-block;user-select:none;right:.5rem;position:absolute;top:.5rem;background-color:rgba(10,10,10,.2)}#toastr button:hover{background-color:rgba(10,10,10,.3)}#toastr button::before,#toastr button::after{background-color:var(--default-color);content:"";display:block;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) rotate(45deg);transform-origin:center center}#toastr button::before{height:2px;width:50%}#toastr button::after{height:50%;width:2px}@keyframes toastrFadein{from{top:0;opacity:0}to{top:30px;opacity:1}}@keyframes toastrFadeout{from{top:30px;opacity:1}to{top:0;opacity:0}}.pagination{font-size:1rem;align-items:center;display:flex;text-align:center;justify-content:space-between;margin:.75rem 0}.pagination .pagination-list{align-items:center;display:flex;text-align:center;flex-wrap:wrap;flex-grow:1;flex-shrink:1;justify-content:flex-end}@media(max-width: 575px){.pagination .pagination-list{justify-content:center}}.pagination .pagination-list .pagination-link{align-items:center;border:1px solid rgba(0,0,0,0);border-radius:.375em;box-shadow:none;display:inline-flex;font-size:1rem;height:2.5em;justify-content:flex-start;line-height:1.5;padding:calc(.5em - 1px) calc(.75em - 1px);position:relative;vertical-align:top;text-decoration:none;user-select:none;text-align:center;font-size:1em;justify-content:center;margin:.25rem;border-color:#4c566a;color:var(--font-color);min-width:2.5em;white-space:nowrap;transition:background-color 200ms ease-in 0s,border-color 200ms ease-in 0s,box-shadow 200ms ease-in 0s,color 200ms ease-in 0s}.pagination .pagination-list .pagination-link:hover{border-color:#7397ba;color:#7397ba}.pagination .pagination-list .pagination-link.is-disabled{background-color:var(--default-hl-color);border-color:var(--default-hl-color);box-shadow:none;color:var(--disabled-color);opacity:.5}.pagination .pagination-list .pagination-link.is-current{background-color:#88c0d0;border-color:#88c0d0;color:#2c364a}.box{background-color:var(--box-bg-color);border-radius:6px;box-shadow:var(--box-shadow-color) 0px 3px 6px 0px;color:var(--font-color);display:block;padding:1.25rem;width:calc(100% - 2rem);margin:auto;transition:background-color 200ms ease-in 0s,border-color 200ms ease-in 0s,box-shadow 200ms ease-in 0s,color 200ms ease-in 0s}@media(min-width: 576px){.box{width:65%}}@media(min-width: 992px){.box{width:35%}}.box h1{margin-top:0}.box button{margin-top:2rem}.list{margin:2rem 0}.list .item{padding:.5rem .75rem;border:2px solid var(--border-color);background-color:var(--bg-alternate-color);display:flex;flex-direction:row;justify-content:center;align-items:center;transition:background-color 200ms ease-in 0s,border-color 200ms ease-in 0s,box-shadow 200ms ease-in 0s,color 200ms ease-in 0s}.list .item:nth-child(2n){background-color:var(--default-color)}.list .item.link{cursor:pointer}.list .item img{border:2px solid var(--font-color)}.list.hover .item:hover{background-color:var(--border-color)}main.error{min-height:calc(100vh - 3.25rem - 100px);padding-top:4rem}.message{margin:8px 0;padding:0;font-size:.8rem}.message.error{color:#a9444e}/*# sourceMappingURL=main.css.map */ diff --git a/public/css/main.css.map b/public/css/main.css.map new file mode 100644 index 0000000..ed3b1bc --- /dev/null +++ b/public/css/main.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../../node_modules/knacss/sass/base/_reset-base.scss","../../node_modules/knacss/sass/abstracts/_variables-sass.scss","../../node_modules/knacss/sass/base/_reset-accessibility.scss","../../node_modules/knacss/sass/base/_reset-forms.scss","../../node_modules/knacss/sass/base/_reset-print.scss","../../node_modules/knacss/sass/base/_layout.scss","../../node_modules/knacss/sass/utils/_utils-global.scss","../../node_modules/knacss/sass/utils/_utils-font-sizes.scss","../../node_modules/knacss/sass/utils/_utils-spacers.scss","../../node_modules/knacss/sass/utils/grillade.scss","../../sass/fonts.scss","../../sass/colors.scss","../../sass/global.scss","../../sass/mixin.scss","../../node_modules/knacss/sass/abstracts/_mixins-sass.scss","../../sass/navbar.scss","../../sass/forms.scss","../../sass/button.scss","../../sass/modal.scss","../../sass/toast.scss","../../sass/pagination.scss","../../sass/box.scss","../../sass/list.scss","../../sass/error.scss","../../sass/messages.scss"],"names":[],"mappings":"CASA,qBAGE,sBACA,YACA,aASF,KACE,UCyEe,KDxEf,0CACA,8BACA,yBAGF,KACE,SACA,YC2CiB,sHD1CjB,UCiEe,KDhEf,YC6CiB,ID5CjB,iBC6EM,KD5EN,MCkFa,QD3Ef,wEAYE,MC+Da,QDxDf,EACE,MCsDa,QDrDb,gBCqFgB,UDlFlB,yBAGE,MCgDa,QD/Cb,gBC+EsB,UDvExB,YACE,mBACA,0BACA,iCAOF,wBAIE,aACA,cC5Cc,KD+ChB,wFAiBE,aACA,cCnEa,MD0Ef,kEAUE,aACA,gBAOF,MAEE,aC5Fc,KD+FhB,cAEE,gBACA,UAOF,kCAME,sBAGF,wEAYE,eAGF,iCAKE,YAGF,IACE,kBAOF,OACE,kBAOF,gBACE,kBAOF,eACE,gBAOF,MACE,yBAOF,GACE,uBACA,SACA,iBACA,SACA,qBACA,cACA,WACA,cAOF,MACE,WACA,eACA,mBACA,yBACA,mBACA,cCtMc,KC9ChB,0BAEE,6BACA,oBACA,sBACA,qBACA,qBACA,2BACA,iCAOF,uCACE,EACE,0BACA,4BAQJ,iBACE,gBAOF,gBACE,eAQF,gCAEE,mBAQF,4BACE,gBAGF,wCACE,sBACA,kBCvDF,6DASE,8BACA,0BAQF,6BAIE,SACA,+BACA,cACA,oBACA,kBACA,oBACA,uBACA,sBAOF,oEAIE,SAQF,kBAIE,gCACA,cAGF,IACE,WACA,qBACA,mBACA,cACA,6BAOF,aAEE,iBAOF,cAEE,oBAOF,gDAIE,0BAGF,cAEE,YAGF,SACE,SACA,QF1Dc,KE6DhB,OACE,cACA,eACA,kBACA,SACA,cACA,mBAGF,MACE,qBACA,eAGF,SACE,cACA,mBACA,gBACA,qBAGF,SACE,qBACA,WACA,wBAGF,OACE,qBAGF,QACE,kBAGF,SACE,aAYF,cACE,6BACA,oBAOF,wDAEE,YAOF,4BACE,cACA,YAOF,4BACE,wBAQF,6BACE,0BACA,aAOF,mBACE,kBACA,UAOF,gBACE,8BAOF,iBACE,gBC1NF,aACE,EACE,oCACA,2BACA,4BAGF,KACE,WACA,YACA,kBACA,eAGF,yGAkBE,WACA,YAGF,OACE,cAGF,UACE,aAIF,qBAGE,UACA,SAIF,iBAGE,wBAWF,4CAOE,uBAGF,EACE,WASF,kDAEE,YCxFJ,cACE,aAIE,yBALJ,cAMM,sBACE,6DAFJ,yBALJ,cAMM,sBACE,6DAFJ,0BALJ,cAMM,sBACE,8DAQR,gBACE,cAIF,aACE,iBACA,aACA,8BAGF,eACE,cAIF,iBACE,iBACA,oBACA,eClCA,QACE,aADF,OACE,cADF,QACE,eADF,cACE,qBADF,MACE,aADF,UACE,mBADF,UACE,sBADF,WACE,eADF,cACE,iBADF,aACE,cADF,gBACE,cADF,WACE,YADF,cACE,YADF,YACE,WADF,aACE,YADF,YACE,WADF,WACE,iBADF,aACE,kBADF,gBACE,yBADF,gBACE,yBADF,cACE,kBADF,aACE,iBADF,WACE,gBADF,aACE,kBADF,YACE,iBADF,cACE,mBADF,WACE,yBADF,eACE,2BADF,aACE,yBADF,gBACE,uBADF,iBACE,8BADF,gBACE,6BADF,gBACE,6BADF,qBACE,oBADF,mBACE,kBADF,sBACE,qBADF,aACE,oBADF,WACE,kBADF,cACE,qBADF,eACE,4BADF,cACE,2BADF,cACE,2BADF,mBACE,uBADF,iBACE,qBADF,oBACE,mBADF,cACE,qBADF,mBACE,kBADF,oBACE,mBADF,kBACE,iBADF,qBACE,oBADF,sBACE,qBADF,iBACE,gBADF,kBACE,sBADF,gBACE,oBADF,mBACE,kBADF,oBACE,mBADF,WACE,mBADF,cACE,sBADF,cACE,sBADF,YACE,WADF,WACE,UAOA,yBACE,YACE,cAFJ,yBACE,YACE,cAFJ,0BACE,YACE,cAFJ,yBACE,WACE,eAFJ,yBACE,WACE,eAFJ,0BACE,WACE,eAFJ,yBACE,YACE,gBAFJ,yBACE,YACE,gBAFJ,0BACE,YACE,gBAFJ,yBACE,kBACE,sBAFJ,yBACE,kBACE,sBAFJ,0BACE,kBACE,sBAFJ,yBACE,UACE,cAFJ,yBACE,UACE,cAFJ,0BACE,UACE,cAFJ,yBACE,cACE,oBAFJ,yBACE,cACE,oBAFJ,0BACE,cACE,oBAFJ,yBACE,cAC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BACE,aACE,UNoEI,UMtER,yBACE,aACE,UNoEI,UMtER,0BACE,aACE,UNoEI,UMtER,yBACE,aACE,UNoEI,QMtER,yBACE,aACE,UNoEI,QMtER,0BACE,aACE,UNoEI,QMtER,yBACE,aACE,UNoEI,SMtER,yBACE,aACE,UNoEI,SMtER,0BACE,aACE,UNoEI,SMtER,yBACE,aACE,UNoEI,MMtER,yBACE,aACE,UNoEI,MMtER,0BACE,aACE,UNoEI,MMtER,yBACE,aACE,UNoEI,UMtER,yBACE,aACE,UNoEI,UMtER,0BACE,aACE,UNoEI,UMtER,yBACE,aACE,UNoEI,SMtER,yBACE,aACE,UNoEI,SMtER,0BACE,aACE,UNoEI,SMtER,yBACE,aACE,UNoEI,QMtER,yBACE,aACE,UNoEI,QMtER,0BACE,aACE,UNoEI,QMtER,yBACE,aACE,UNoEI,UMtER,yBACE,aACE,UNoEI,UMtER,0BACE,aACE,UNoEI,UMtER,yBACE,aACE,UNoEI,SMtER,yBACE,aACE,UNoEI,SMtER,0BACE,aACE,UNoEI,SMtER,yBACE,eACE,UNoEI,MMtER,yBACE,eACE,UNoEI,MMtER,0BACE,eACE,UNoEI,MMtER,yBACE,kBACE,UNoEI,WMtER,yBACE,kBACE,UNoEI,WMtER,0BACE,kBACE,UNoEI,WO5EV,KACE,QPgBM,EObR,MACE,YPYM,EOTR,MACE,cPQM,EOLR,MACE,ePIM,EODR,MACE,eAGF,MACE,aPJM,EOKN,cPLM,EOQR,MACE,YPTM,EOUN,ePVM,EOaR,KACE,OPdM,EOiBR,MACE,WPlBM,EOqBR,MACE,aPtBM,EOyBR,MACE,cP1BM,EO6BR,MACE,YP9BM,EOiCR,MACE,YPlCM,EOmCN,aPnCM,EOsCR,MACE,WPvCM,EOwCN,cPxCM,EO+CN,yBACE,SACE,QPjDE,EOoDJ,UACE,YPrDE,EOwDJ,UACE,cPzDE,EO4DJ,UACE,eP7DE,EOgEJ,UACE,aPjEE,EOoEJ,UACE,aPrEE,EOsEF,cPtEE,EOyEJ,UACE,YP1EE,EO2EF,eP3EE,EO8EJ,SACE,OP/EE,EOkFJ,UACE,WPnFE,EOsFJ,UACE,aPvFE,EO0FJ,UACE,cP3FE,EO8FJ,UACE,YP/FE,EOkGJ,UACE,YPnGE,EOoGF,aPpGE,EOuGJ,UACE,WPxGE,EOyGF,cPzGE,GO+CN,yBACE,SACE,QPjDE,EOoDJ,UACE,YPrDE,EOwDJ,UACE,cPzDE,EO4DJ,UACE,eP7DE,EOgEJ,UACE,aPjEE,EOoEJ,UACE,aPrEE,EOsEF,cPtEE,EOyEJ,UACE,YP1EE,EO2EF,eP3EE,EO8EJ,SACE,OP/EE,EOkFJ,UACE,WPnFE,EOsFJ,UACE,aPvFE,EO0FJ,UACE,cP3FE,EO8FJ,UACE,YP/FE,EOkGJ,UACE,YPnGE,EOoGF,aPpGE,EOuGJ,UACE,WPxGE,EOyGF,cPzGE,GO+CN,0BACE,SACE,QPjDE,EOoDJ,UACE,YPrDE,EOwDJ,UACE,cPzDE,EO4DJ,UACE,eP7DE,EOgEJ,UACE,aPjEE,EOoEJ,UACE,aPrEE,EOsEF,cPtEE,EOyEJ,UACE,YP1EE,EO2EF,eP3EE,EO8EJ,SACE,OP/EE,EOkFJ,UACE,WPnFE,EOsFJ,UACE,aPvFE,EO0FJ,UACE,cP3FE,EO8FJ,UACE,YP/FE,EOkGJ,UACE,YPnGE,EOoGF,aPpGE,EOuGJ,UACE,WPxGE,EOyGF,cPzGE,GOjBR,KACE,QPgBM,QObR,MACE,YPYM,QOTR,MACE,cPQM,QOLR,MACE,ePIM,QODR,MACE,qBAGF,MACE,aPJM,QOKN,cPLM,QOQR,MACE,YPTM,QOUN,ePVM,QOaR,KACE,OPdM,QOiBR,MACE,WPlBM,QOqBR,MACE,aPtBM,QOyBR,MACE,cP1BM,QO6BR,MACE,YP9BM,QOiCR,MACE,YPlCM,QOmCN,aPnCM,QOsCR,MACE,WPvCM,QOwCN,cPxCM,QO+CN,yBACE,SACE,QPjDE,QOoDJ,UACE,YPrDE,QOwDJ,UACE,cPzDE,QO4DJ,UACE,eP7DE,QOgEJ,UACE,aPjEE,QOoEJ,UACE,aPrEE,QOsEF,cPtEE,QOyEJ,UACE,YP1EE,QO2EF,eP3EE,QO8EJ,SACE,OP/EE,QOkFJ,UACE,WPnFE,QOsFJ,UACE,aPvFE,QO0FJ,UACE,cP3FE,QO8FJ,UACE,YP/FE,QOkGJ,UACE,YPnGE,QOoGF,aPpGE,QOuGJ,UACE,WPxGE,QOyGF,cPzGE,SO+CN,yBACE,SACE,QPjDE,QOoDJ,UACE,YPrDE,QOwDJ,UACE,cPzDE,QO4DJ,UACE,eP7DE,QOgEJ,UACE,aPjEE,QOoEJ,UACE,aPrEE,QOsEF,cPtEE,QOyEJ,UACE,YP1EE,QO2EF,eP3EE,QO8EJ,SACE,OP/EE,QOkFJ,UACE,WPnFE,QOsFJ,UACE,aPvFE,QO0FJ,UACE,cP3FE,QO8FJ,UACE,YP/FE,QOkGJ,UACE,YPnGE,QOoGF,aPpGE,QOuGJ,UACE,WPxGE,QOyGF,cPzGE,SO+CN,0BACE,SACE,QPjDE,QOoDJ,UACE,YPrDE,QOwDJ,UACE,cPzDE,QO4DJ,UACE,eP7DE,QOgEJ,UACE,aPjEE,QOoEJ,UACE,aPrEE,QOsEF,cPtEE,QOyEJ,UACE,YP1EE,QO2EF,eP3EE,QO8EJ,SACE,OP/EE,QOkFJ,UACE,WPnFE,QOsFJ,UACE,aPvFE,QO0FJ,UACE,cP3FE,QO8FJ,UACE,YP/FE,QOkGJ,UACE,YPnGE,QOoGF,aPpGE,QOuGJ,UACE,WPxGE,QOyGF,cPzGE,SOjBR,KACE,QPgBM,QObR,MACE,YPYM,QOTR,MACE,cPQM,QOLR,MACE,ePIM,QODR,MACE,qBAGF,MACE,aPJM,QOKN,cPLM,QOQR,MACE,YPTM,QOUN,ePVM,QOaR,KACE,OPdM,QOiBR,MACE,WPlBM,QOqBR,MACE,aPtBM,QOyBR,MACE,cP1BM,QO6BR,MACE,YP9BM,QOiCR,MACE,YPlCM,QOmCN,aPnCM,QOsCR,MACE,WPvCM,QOwCN,cPxCM,QO+CN,yBACE,SACE,QPjDE,QOoDJ,UACE,YPrDE,QOwDJ,UACE,cPzDE,QO4DJ,UACE,eP7DE,QOgEJ,UACE,aPjEE,QOoEJ,UACE,aPrEE,QOsEF,cPtEE,QOyEJ,UACE,YP1EE,QO2EF,eP3EE,QO8EJ,SACE,OP/EE,QOkFJ,UACE,WPnFE,QOsFJ,UACE,aPvFE,QO0FJ,UACE,cP3FE,QO8FJ,UACE,YP/FE,QOkGJ,UACE,YPnGE,QOoGF,aPpGE,QOuGJ,UACE,WPxGE,QOyGF,cPzGE,SO+CN,yBACE,SACE,QPjDE,QOoDJ,UACE,YPrDE,QOwDJ,UACE,cPzDE,QO4DJ,UACE,eP7DE,QOgEJ,UACE,aPjEE,QOoEJ,UACE,aPrEE,QOsEF,cPtEE,QOyEJ,UACE,YP1EE,QO2EF,eP3EE,QO8EJ,SACE,OP/EE,QOkFJ,UACE,WPnFE,QOsFJ,UACE,aPvFE,QO0FJ,UACE,cP3FE,QO8FJ,UACE,YP/FE,QOkGJ,UACE,YPnGE,QOoGF,aPpGE,QOuGJ,UACE,WPxGE,QOyGF,cPzGE,SO+CN,0BACE,SACE,QPjDE,QOoDJ,UACE,YPrDE,QOwDJ,UACE,cPzDE,QO4DJ,UACE,eP7DE,QOgEJ,UACE,aPjEE,QOoEJ,UACE,aPrEE,QOsEF,cPtEE,QOyEJ,UACE,YP1EE,QO2EF,eP3EE,QO8EJ,SACE,OP/EE,QOkFJ,UACE,WPnFE,QOsFJ,UACE,aPvFE,QO0FJ,UACE,cP3FE,QO8FJ,UACE,YP/FE,QOkGJ,UACE,YPnGE,QOoGF,aPpGE,QOuGJ,UACE,WPxGE,QOyGF,cPzGE,SOjBR,KACE,QPgBM,MObR,MACE,YPYM,MOTR,MACE,cPQM,MOLR,MACE,ePIM,MODR,MACE,mBAGF,MACE,aPJM,MOKN,cPLM,MOQR,MACE,YPTM,MOUN,ePVM,MOaR,KACE,OPdM,MOiBR,MACE,WPlBM,MOqBR,MACE,aPtBM,MOyBR,MACE,cP1BM,MO6BR,MACE,YP9BM,MOiCR,MACE,YPlCM,MOmCN,aPnCM,MOsCR,MACE,WPvCM,MOwCN,cPxCM,MO+CN,yBACE,SACE,QPjDE,MOoDJ,UACE,YPrDE,MOwDJ,UACE,cPzDE,MO4DJ,UACE,eP7DE,MOgEJ,UACE,aPjEE,MOoEJ,UACE,aPrEE,MOsEF,cPtEE,MOyEJ,UACE,YP1EE,MO2EF,eP3EE,MO8EJ,SACE,OP/EE,MOkFJ,UACE,WPnFE,MOsFJ,UACE,aPvFE,MO0FJ,UACE,cP3FE,MO8FJ,UACE,YP/FE,MOkGJ,UACE,YPnGE,MOoGF,aPpGE,MOuGJ,UACE,WPxGE,MOyGF,cPzGE,OO+CN,yBACE,SACE,QPjDE,MOoDJ,UACE,YPrDE,MOwDJ,UACE,cPzDE,MO4DJ,UACE,eP7DE,MOgEJ,UACE,aPjEE,MOoEJ,UACE,aPrEE,MOsEF,cPtEE,MOyEJ,UACE,YP1EE,MO2EF,eP3EE,MO8EJ,SACE,OP/EE,MOkFJ,UACE,WPnFE,MOsFJ,UACE,aPvFE,MO0FJ,UACE,cP3FE,MO8FJ,UACE,YP/FE,MOkGJ,UACE,YPnGE,MOoGF,aPpGE,MOuGJ,UACE,WPxGE,MOyGF,cPzGE,OO+CN,0BACE,SACE,QPjDE,MOoDJ,UACE,YPrDE,MOwDJ,UACE,cPzDE,MO4DJ,UACE,eP7DE,MOgEJ,UACE,aPjEE,MOoEJ,UACE,aPrEE,MOsEF,cPtEE,MOyEJ,UACE,YP1EE,MO2EF,eP3EE,MO8EJ,SACE,OP/EE,MOkFJ,UACE,WPnFE,MOsFJ,UACE,aPvFE,MO0FJ,UACE,cP3FE,MO8FJ,UACE,YP/FE,MOkGJ,UACE,YPnGE,MOoGF,aPpGE,MOuGJ,UACE,WPxGE,MOyGF,cPzGE,OOjBR,MACE,QPgBM,QObR,OACE,YPYM,QOTR,OACE,cPQM,QOLR,OACE,ePIM,QODR,OACE,qBAGF,OACE,aPJM,QOKN,cPLM,QOQR,OACE,YPTM,QOUN,ePVM,QOaR,MACE,OPdM,QOiBR,OACE,WPlBM,QOqBR,OACE,aPtBM,QOyBR,OACE,cP1BM,QO6BR,OACE,YP9BM,QOiCR,OACE,YPlCM,QOmCN,aPnCM,QOsCR,OACE,WPvCM,QOwCN,cPxCM,QO+CN,yBACE,UACE,QPjDE,QOoDJ,WACE,YPrDE,QOwDJ,WACE,cPzDE,QO4DJ,WACE,eP7DE,QOgEJ,WACE,aPjEE,QOoEJ,WACE,aPrEE,QOsEF,cPtEE,QOyEJ,WACE,YP1EE,QO2EF,eP3EE,QO8EJ,UACE,OP/EE,QOkFJ,WACE,WPnFE,QOsFJ,WACE,aPvFE,QO0FJ,WACE,cP3FE,QO8FJ,WACE,YP/FE,QOkGJ,WACE,YPnGE,QOoGF,aPpGE,QOuGJ,WACE,WPxGE,QOyGF,cPzGE,SO+CN,yBACE,UACE,QPjDE,QOoDJ,WACE,YPrDE,QOwDJ,WACE,cPzDE,QO4DJ,WACE,eP7DE,QOgEJ,WACE,aPjEE,QOoEJ,WACE,aPrEE,QOsEF,cPtEE,QOyEJ,WACE,YP1EE,QO2EF,eP3EE,QO8EJ,UACE,OP/EE,QOkFJ,WACE,WPnFE,QOsFJ,WACE,aPvFE,QO0FJ,WACE,cP3FE,QO8FJ,WACE,YP/FE,QOkGJ,WACE,YPnGE,QOoGF,aPpGE,QOuGJ,WACE,WPxGE,QOyGF,cPzGE,SO+CN,0BACE,UACE,QPjDE,QOoDJ,WACE,YPrDE,QOwDJ,WACE,cPzDE,QO4DJ,WACE,eP7DE,QOgEJ,WACE,aPjEE,QOoEJ,WACE,aPrEE,QOsEF,cPtEE,QOyEJ,WACE,YP1EE,QO2EF,eP3EE,QO8EJ,UACE,OP/EE,QOkFJ,WACE,WPnFE,QOsFJ,WACE,aPvFE,QO0FJ,WACE,cP3FE,QO8FJ,WACE,YP/FE,QOkGJ,WACE,YPnGE,QOoGF,aPpGE,QOuGJ,WACE,WPxGE,QOyGF,cPzGE,SOjBR,MACE,QPgBM,KObR,OACE,YPYM,KOTR,OACE,cPQM,KOLR,OACE,ePIM,KODR,OACE,kBAGF,OACE,aPJM,KOKN,cPLM,KOQR,OACE,YPTM,KOUN,ePVM,KOaR,MACE,OPdM,KOiBR,OACE,WPlBM,KOqBR,OACE,aPtBM,KOyBR,OACE,cP1BM,KO6BR,OACE,YP9BM,KOiCR,OACE,YPlCM,KOmCN,aPnCM,KOsCR,OACE,WPvCM,KOwCN,cPxCM,KO+CN,yBACE,UACE,QPjDE,KOoDJ,WACE,YPrDE,KOwDJ,WACE,cPzDE,KO4DJ,WACE,eP7DE,KOgEJ,WACE,aPjEE,KOoEJ,WACE,aPrEE,KOsEF,cPtEE,KOyEJ,WACE,YP1EE,KO2EF,eP3EE,KO8EJ,UACE,OP/EE,KOkFJ,WACE,WPnFE,KOsFJ,WACE,aPvFE,KO0FJ,WACE,cP3FE,KO8FJ,WACE,YP/FE,KOkGJ,WACE,YPnGE,KOoGF,aPpGE,KOuGJ,WACE,WPxGE,KOyGF,cPzGE,MO+CN,yBACE,UACE,QPjDE,KOoDJ,WACE,YPrDE,KOwDJ,WACE,cPzDE,KO4DJ,WACE,eP7DE,KOgEJ,WACE,aPjEE,KOoEJ,WACE,aPrEE,KOsEF,cPtEE,KOyEJ,WACE,YP1EE,KO2EF,eP3EE,KO8EJ,UACE,OP/EE,KOkFJ,WACE,WPnFE,KOsFJ,WACE,aPvFE,KO0FJ,WACE,cP3FE,KO8FJ,WACE,YP/FE,KOkGJ,WACE,YPnGE,KOoGF,aPpGE,KOuGJ,WACE,WPxGE,KOyGF,cPzGE,MO+CN,0BACE,UACE,QPjDE,KOoDJ,WACE,YPrDE,KOwDJ,WACE,cPzDE,KO4DJ,WACE,eP7DE,KOgEJ,WACE,aPjEE,KOoEJ,WACE,aPrEE,KOsEF,cPtEE,KOyEJ,WACE,YP1EE,KO2EF,eP3EE,KO8EJ,UACE,OP/EE,KOkFJ,WACE,WPnFE,KOsFJ,WACE,aPvFE,KO0FJ,WACE,cP3FE,KO8FJ,WACE,YP/FE,KOkGJ,WACE,YPnGE,KOoGF,aPpGE,KOuGJ,WACE,WPxGE,KOyGF,cPzGE,MOjBR,MACE,QPgBM,QObR,OACE,YPYM,QOTR,OACE,cPQM,QOLR,OACE,ePIM,QODR,OACE,qBAGF,OACE,aPJM,QOKN,cPLM,QOQR,OACE,YPTM,QOUN,ePVM,QOaR,MACE,OPdM,QOiBR,OACE,WPlBM,QOqBR,OACE,aPtBM,QOyBR,OACE,cP1BM,QO6BR,OACE,YP9BM,QOiCR,OACE,YPlCM,QOmCN,aPnCM,QOsCR,OACE,WPvCM,QOwCN,cPxCM,QO+CN,yBACE,UACE,QPjDE,QOoDJ,WACE,YPrDE,QOwDJ,WACE,cPzDE,QO4DJ,WACE,eP7DE,QOgEJ,WACE,aPjEE,QOoEJ,WACE,aPrEE,QOsEF,cPtEE,QOyEJ,WACE,YP1EE,QO2EF,eP3EE,QO8EJ,UACE,OP/EE,QOkFJ,WACE,WPnFE,QOsFJ,WACE,aPvFE,QO0FJ,WACE,cP3FE,QO8FJ,WACE,YP/FE,QOkGJ,WACE,YPnGE,QOoGF,aPpGE,QOuGJ,WACE,WPxGE,QOyGF,cPzGE,SO+CN,yBACE,UACE,QPjDE,QOoDJ,WACE,YPrDE,QOwDJ,WACE,cPzDE,QO4DJ,WACE,eP7DE,QOgEJ,WACE,aPjEE,QOoEJ,WACE,aPrEE,QOsEF,cPtEE,QOyEJ,WACE,YP1EE,QO2EF,eP3EE,QO8EJ,UACE,OP/EE,QOkFJ,WACE,WPnFE,QOsFJ,WACE,aPvFE,QO0FJ,WACE,cP3FE,QO8FJ,WACE,YP/FE,QOkGJ,WACE,YPnGE,QOoGF,aPpGE,QOuGJ,WACE,WPxGE,QOyGF,cPzGE,SO+CN,0BACE,UACE,QPjDE,QOoDJ,WACE,YPrDE,QOwDJ,WACE,cPzDE,QO4DJ,WACE,eP7DE,QOgEJ,WACE,aPjEE,QOoEJ,WACE,aPrEE,QOsEF,cPtEE,QOyEJ,WACE,YP1EE,QO2EF,eP3EE,QO8EJ,UACE,OP/EE,QOkFJ,WACE,WPnFE,QOsFJ,WACE,aPvFE,QO0FJ,WACE,cP3FE,QO8FJ,WACE,YP/FE,QOkGJ,WACE,YPnGE,QOoGF,aPpGE,QOuGJ,WACE,WPxGE,QOyGF,cPzGE,SOjBR,MACE,QPgBM,OObR,OACE,YPYM,OOTR,OACE,cPQM,OOLR,OACE,ePIM,OODR,OACE,oBAGF,OACE,aPJM,OOKN,cPLM,OOQR,OACE,YPTM,OOUN,ePVM,OOaR,MACE,OPdM,OOiBR,OACE,WPlBM,OOqBR,OACE,aPtBM,OOyBR,OACE,cP1BM,OO6BR,OACE,YP9BM,OOiCR,OACE,YPlCM,OOmCN,aPnCM,OOsCR,OACE,WPvCM,OOwCN,cPxCM,OO+CN,yBACE,UACE,QPjDE,OOoDJ,WACE,YPrDE,OOwDJ,WACE,cPzDE,OO4DJ,WACE,eP7DE,OOgEJ,WACE,aPjEE,OOoEJ,WACE,aPrEE,OOsEF,cPtEE,OOyEJ,WACE,YP1EE,OO2EF,eP3EE,OO8EJ,UACE,OP/EE,OOkFJ,WACE,WPnFE,OOsFJ,WACE,aPvFE,OO0FJ,WACE,cP3FE,OO8FJ,WACE,YP/FE,OOkGJ,WACE,YPnGE,OOoGF,aPpGE,OOuGJ,WACE,WPxGE,OOyGF,cPzGE,QO+CN,yBACE,UACE,QPjDE,OOoDJ,WACE,YPrDE,OOwDJ,WACE,cPzDE,OO4DJ,WACE,eP7DE,OOgEJ,WACE,aPjEE,OOoEJ,WACE,aPrEE,OOsEF,cPtEE,OOyEJ,WACE,YP1EE,OO2EF,eP3EE,OO8EJ,UACE,OP/EE,OOkFJ,WACE,WPnFE,OOsFJ,WACE,aPvFE,OO0FJ,WACE,cP3FE,OO8FJ,WACE,YP/FE,OOkGJ,WACE,YPnGE,OOoGF,aPpGE,OOuGJ,WACE,WPxGE,OOyGF,cPzGE,QO+CN,0BACE,UACE,QPjDE,OOoDJ,WACE,YPrDE,OOwDJ,WACE,cPzDE,OO4DJ,WACE,eP7DE,OOgEJ,WACE,aPjEE,OOoEJ,WACE,aPrEE,OOsEF,cPtEE,OOyEJ,WACE,YP1EE,OO2EF,eP3EE,OO8EJ,UACE,OP/EE,OOkFJ,WACE,WPnFE,OOsFJ,WACE,aPvFE,OO0FJ,WACE,cP3FE,OO8FJ,WACE,YP/FE,OOkGJ,WACE,YPnGE,OOoGF,aPpGE,OOuGJ,WACE,WPxGE,OOyGF,cPzGE,QOjBR,MACE,QPgBM,QObR,OACE,YPYM,QOTR,OACE,cPQM,QOLR,OACE,ePIM,QODR,OACE,qBAGF,OACE,aPJM,QOKN,cPLM,QOQR,OACE,YPTM,QOUN,ePVM,QOaR,MACE,OPdM,QOiBR,OACE,WPlBM,QOqBR,OACE,aPtBM,QOyBR,OACE,cP1BM,QO6BR,OACE,YP9BM,QOiCR,OACE,YPlCM,QOmCN,aPnCM,QOsCR,OACE,WPvCM,QOwCN,cPxCM,QO+CN,yBACE,UACE,QPjDE,QOoDJ,WACE,YPrDE,QOwDJ,WACE,cPzDE,QO4DJ,WACE,eP7DE,QOgEJ,WACE,aPjEE,QOoEJ,WACE,aPrEE,QOsEF,cPtEE,QOyEJ,WACE,YP1EE,QO2EF,eP3EE,QO8EJ,UACE,OP/EE,QOkFJ,WACE,WPnFE,QOsFJ,WACE,aPvFE,QO0FJ,WACE,cP3FE,QO8FJ,WACE,YP/FE,QOkGJ,WACE,YPnGE,QOoGF,aPpGE,QOuGJ,WACE,WPxGE,QOyGF,cPzGE,SO+CN,yBACE,UACE,QPjDE,QOoDJ,WACE,YPrDE,QOwDJ,WACE,cPzDE,QO4DJ,WACE,eP7DE,QOgEJ,WACE,aPjEE,QOoEJ,WACE,aPrEE,QOsEF,cPtEE,QOyEJ,WACE,YP1EE,QO2EF,eP3EE,QO8EJ,UACE,OP/EE,QOkFJ,WACE,WPnFE,QOsFJ,WACE,aPvFE,QO0FJ,WACE,cP3FE,QO8FJ,WACE,YP/FE,QOkGJ,WACE,YPnGE,QOoGF,aPpGE,QOuGJ,WACE,WPxGE,QOyGF,cPzGE,SO+CN,0BACE,UACE,QPjDE,QOoDJ,WACE,YPrDE,QOwDJ,WACE,cPzDE,QO4DJ,WACE,eP7DE,QOgEJ,WACE,aPjEE,QOoEJ,WACE,aPrEE,QOsEF,cPtEE,QOyEJ,WACE,YP1EE,QO2EF,eP3EE,QO8EJ,UACE,OP/EE,QOkFJ,WACE,WPnFE,QOsFJ,WACE,aPvFE,QO0FJ,WACE,cP3FE,QO8FJ,WACE,YP/FE,QOkGJ,WACE,YPnGE,QOoGF,aPpGE,QOuGJ,WACE,WPxGE,QOyGF,cPzGE,SOjBR,QACE,QPgBM,KObR,SACE,YPYM,KOTR,SACE,cPQM,KOLR,SACE,ePIM,KODR,SACE,kBAGF,SACE,aPJM,KOKN,cPLM,KOQR,SACE,YPTM,KOUN,ePVM,KOaR,QACE,OPdM,KOiBR,SACE,WPlBM,KOqBR,SACE,aPtBM,KOyBR,SACE,cP1BM,KO6BR,SACE,YP9BM,KOiCR,SACE,YPlCM,KOmCN,aPnCM,KOsCR,SACE,WPvCM,KOwCN,cPxCM,KO+CN,yBACE,YACE,QPjDE,KOoDJ,aACE,YPrDE,KOwDJ,aACE,cPzDE,KO4DJ,aACE,eP7DE,KOgEJ,aACE,aPjEE,KOoEJ,aACE,aPrEE,KOsEF,cPtEE,KOyEJ,aACE,YP1EE,KO2EF,eP3EE,KO8EJ,YACE,OP/EE,KOkFJ,aACE,WPnFE,KOsFJ,aACE,aPvFE,KO0FJ,aACE,cP3FE,KO8FJ,aACE,YP/FE,KOkGJ,aACE,YPnGE,KOoGF,aPpGE,KOuGJ,aACE,WPxGE,KOyGF,cPzGE,MO+CN,yBACE,YACE,QPjDE,KOoDJ,aACE,YPrDE,KOwDJ,aACE,cPzDE,KO4DJ,aACE,eP7DE,KOgEJ,aACE,aPjEE,KOoEJ,aACE,aPrEE,KOsEF,cPtEE,KOyEJ,aACE,YP1EE,KO2EF,eP3EE,KO8EJ,YACE,OP/EE,KOkFJ,aACE,WPnFE,KOsFJ,aACE,aPvFE,KO0FJ,aACE,cP3FE,KO8FJ,aACE,YP/FE,KOkGJ,aACE,YPnGE,KOoGF,aPpGE,KOuGJ,aACE,WPxGE,KOyGF,cPzGE,MO+CN,0BACE,YACE,QPjDE,KOoDJ,aACE,YPrDE,KOwDJ,aACE,cPzDE,KO4DJ,aACE,eP7DE,KOgEJ,aACE,aPjEE,KOoEJ,aACE,aPrEE,KOsEF,cPtEE,KOyEJ,aACE,YP1EE,K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wBACA,cFzGJ,8HE4GI,kCACI,UDjFR,yBCgFI,kCAIQ,aACA,oBACA,qBAEA,mDACI,sCACA,8BACA,+BACA,6CACA,uCACA,aACA,kBACA,OACA,eACA,kBACA,SACA,WAGJ,wCACI,sCAEA,qDACI,yCACA,qBAGJ,yDACI,eDhHpB,yBCsEA,qBAiDQ,mBACA,cAIR,qBACI,wBACA,cACA,gBACA,qBACA,kBACA,eACA,oBF/JJ,8HC4BA,yBC4HA,qBAWQ,aACA,oBAGJ,2BACI,mBACA,oBACA,uBACA,cACA,aAGJ,4BACI,+BACA,kBACA,eACA,aACA,YACA,cACA,cACA,oBACA,kBACA,QACA,yBACA,wBACA,aACA,oCACA,oBACA,cDnKR,yBCmJI,4BAmBQ,6BAKZ,qBACI,aACA,sCACA,wCACA,gBF3MJ,8HC4BA,yBC2KA,qBAQQ,iCACA,eDpLR,yBC2KA,qBAaQ,YACA,cACA,oBACA,aAEA,yBACA,gBACA,WAGJ,+BACI,cDnMR,yBCuMQ,mCACI,2BACA,kBACA,oBACA,aAEA,gDACI,qBACA,mBACA,aAIR,iCACI,yBACA,iBACA,oBACA,cAKZ,yBACI,kBACA,qBACA,kBAEA,4BACI,mCACA,YACA,WACA,eAGJ,sCACI,eACA,oBACA,qBD5OR,yBC6NA,yBAmBQ,sCACA,8BACA,+BACA,6CACA,uCACA,aACA,kBACA,OACA,eACA,kBACA,SACA,WAEA,sCACI,mBACA,qBACA,oBAKZ,YACI,YACA,eAGJ,UACI,qBAGJ,iBACI,mBACA,aACA,eACA,2BAEA,yBACI,oBAGJ,4BACI,sBAOR,0BACI,gBC9TR,OACI,kBACA,aACA,sBAEA,cACI,mBAGJ,kBACI,aACA,2BACA,mBAEA,0BACI,gBACA,yBACA,4BAGJ,wBACI,0BACA,6BAIR,2CAGI,kBACA,eACA,WACA,oCACA,sDACA,8BHjCJ,8HGoCI,qFACI,cAIR,yBACI,kBACA,gBACA,aACA,cACA,2BACA,UACA,qDACA,sBACA,gCACA,eAEA,iCACI,qDAIR,8DAEI,iBAGJ,cACI,gBACA,usBACA,uCACA,4BACA,uBACA,qBAIR,sBACI,aACA,mBAEA,yBACI,iBACA,eAIR,cACI,qBACA,YACA,kBACA,WAGJ,oBACI,aAGJ,QACI,sBACA,SACA,eACA,OACA,kBACA,QACA,MACA,eHtGA,8HG0GJ,eACI,sBACA,WACA,YACA,YACA,SACA,kBACA,eACA,WACA,UAEA,mBACA,kBACA,mBACA,qBACA,wBACA,kBACA,oBACA,oBAGJ,sBACI,iBLpHI,QEZJ,8HGoIJ,6BACI,2BACA,YACA,2CHvIA,8HG2IJ,cACI,mBAGJ,qBACI,kBCjJJ,QACI,eACA,uBACA,gCACA,iBACA,kBACA,6BACA,kBACA,mBACA,+BACA,oBACA,iBNGI,QMFJ,sBACA,MNoBgB,QEhChB,8HIeA,cACI,yBAGJ,kBACI,iBNLC,QMMD,MNYiB,QMVjB,wBACI,iBNGM,QMCd,mBACI,iBNjBA,QMmBA,yBACI,iBNNO,QMUf,mBACI,iBNpBC,QMsBD,yBACI,iBNXO,QMef,mBACI,iBN3BC,QM6BD,yBACI,iBNlBO,QMsBf,gBACI,+BACA,aNzCA,QM0CA,oCAEA,sBACI,qBC3DZ,OACI,SACA,OACA,QACA,MACA,mBACA,aACA,sBACA,uBACA,gBACA,eACA,WAEA,kBACI,aAGJ,yBACI,oCACA,SACA,OACA,kBACA,QACA,MAGJ,oBACI,iBACA,mCACA,YACA,qBACA,eACA,oBACA,qBACA,YACA,cACA,YACA,YACA,gBACA,eACA,gBACA,eACA,aACA,kBACA,WAEA,uDAEI,sCACA,WACA,cACA,SACA,kBACA,QACA,0DACA,+BAEJ,4BACI,WACA,UAEJ,2BACI,WACA,UAIR,mBACI,kBACA,YACA,cACA,aACA,sBACA,8BACA,gBJ7CJ,yBIsCA,mBAUQ,aJhDR,yBIsCA,mBAaQ,aJnDR,0BIsCA,mBAgBQ,YAGJ,oDAEI,mBACA,qCACA,aACA,cACA,2BACA,eACA,kBL7FR,8HKiGI,0BACI,4CACA,2BACA,4BACA,8BACA,iBLtGR,8HKyGI,2BACI,sCACA,YACA,cACA,cACA,aL9GR,8HKiHI,0BACI,8BACA,+BACA,yCAEA,mDACI,kBCxHhB,QACI,kBACA,gBACA,gBACA,eACA,WACA,WACA,SACA,eAEA,sCACA,kBAEA,cACI,iBREC,QQDD,MRmBiB,QQhBrB,gBACI,yBACA,MRaY,QQVhB,aACI,mBACA,kDAGJ,eACI,WACA,YACA,YACA,gBACA,eACA,gBACA,eACA,UACA,YACA,qBACA,eACA,oBACA,qBACA,iBACA,YACA,kBACA,UACA,mCAEA,qBACI,mCAGJ,6CAEI,sCACA,WACA,cACA,SACA,kBACA,QACA,0DACA,+BAEJ,uBACI,WACA,UAEJ,sBACI,WACA,UAKZ,wBACI,KACI,MACA,UAEJ,GACI,SACA,WAIR,yBACI,KACI,SACA,UAEJ,GACI,MACA,WC5FR,YACI,eACA,mBACA,aACA,kBACA,8BACA,gBAGA,6BACI,mBACA,aACA,kBACA,eACA,YACA,cACA,yBNaJ,yBMpBA,6BAUQ,wBAGJ,8CACI,mBACA,+BACA,qBACA,gBACA,oBACA,eACA,aACA,2BACA,gBACA,2CACA,kBACA,mBACA,qBACA,iBACA,kBACA,cACA,uBACA,cACA,aTjCJ,QSkCI,wBACA,gBACA,mBP3CR,8HO+CQ,oDACI,aTZS,QSaT,MTbS,QSgBb,0DACI,yCACA,qCACA,gBACA,4BACA,WAGJ,yDACI,iBTjDR,QSkDQ,aTlDR,QSmDQ,MT/BI,QUjCpB,KACI,qCACA,kBACA,mDACA,wBACA,cACA,gBACA,wBACA,YRPA,8HC4BA,yBO7BJ,KAYO,WPiBH,yBO7BJ,KAeO,WAGH,QACI,aAGJ,YACI,gBCvBR,MACI,cAEA,YACI,qBACA,qCACA,2CACA,aACA,mBACA,uBACA,mBTTJ,8HSYI,0BACI,sCAGJ,iBACI,eAGJ,gBACI,mCAKJ,wBACI,qCC3BR,WACI,yCACA,iBCHR,SACI,aACA,UACA,gBAEA,eACI,MbuBS","file":"main.css"} \ No newline at end of file diff --git a/public/favicon.png b/public/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..1a5897f44f1a63241f5f2ee809207ba644f89c23 GIT binary patch literal 1837 zcmZ{lX*k>Y7RUdI#M+`6yGo*B4--*qQxX!fl&P(ay>?P6BGuZ(1f!-cH|X42s%S+M zOVx~PDQXydY`s)zJNBiNT56rnq%ZG_`<&;T@AEt7d|sRv=XbI$JCRR|D~SUDaN5q6 z=ps<$Hy0Ha#F+T_U4cMC362B+cz$2v#2+engJN9BRzMB^?CQ79KwB3_0EpKBfK(O$ z90^jXD*$j40|0B+0Kohg0Fb8@H9O-31>pb(G7iw|Ldn8%`t=X@MuqvYPGj^z2Y+Y@IDSjdqNnvqX5sz){ktMsI%ax$GDD-HQX&tx7xReDj*h1> z6~_y!dwYBTR#H-OIyyRf-yLPqwNQlA(OE<36KC_=mPbZ%KJ$w&K<(}A8?YMc?rv@} zo#*8n6^CbL5^-i`hfi_Kf&nJ&?hW3w9Mxl2{4qaztJAMKSNl&y$xfeW0CNF(lT@|}drT%8GNJ)(|M1J)4@KB`F z=`QM-MLC=L59gABIpxI76h>vqTIog$I@$q6R;U#2gy>0s@-tQmIu$%8ksc~s^Q9>H zZA{tm)MB%KbOJT)KNrf9-imY)*pJE(~ z{mu4$Pwoth#roRUXP0C~UtC{bXS#E*Tr9}J7#b>9*VKH`0=`-lW`C+ zxm!1HdITC>@^ca_VCsJ-^0?fOndV|k>aWHS7&i6w8lq#dMiqc`o7 zkSa%TLev=~3M0s$5o{hv4;Bc3#TcB|Gr;O$v2IucbF8sB#!MGuV2;5c&FZ`U2Z)Rc Z3J;0<|A2Fl_-z3I*pZxwHCETs{sG=4E+hZ| literal 0 HcmV?d00001 diff --git a/public/img/logo.png b/public/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..bbb404cfdb92acf4605a071767de610317c71082 GIT binary patch literal 12970 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 literal 0 HcmV?d00001 diff --git a/public/js/main.js b/public/js/main.js new file mode 100644 index 0000000..0f92e9f --- /dev/null +++ b/public/js/main.js @@ -0,0 +1,97 @@ +let timeout = null; + +/** + * Ensemble d'actions effectuées au chargement de la page + */ +document.addEventListener("DOMContentLoaded", () => { + const $navbarBurgers = Array.prototype.slice.call( + document.querySelectorAll(".navbar-burger"), + 0 + ); + if ($navbarBurgers.length > 0) { + $navbarBurgers.forEach((el) => { + el.addEventListener("click", () => { + const { target } = el.dataset; + const $target = document.getElementById(target); + + el.classList.toggle("is-active"); + $target.classList.toggle("is-active"); + }); + }); + } +}); + +/** + * Fonction permettant d'afficher un message dans un toastr + * @param {String} message + */ +function showToastr(message, success = false) { + const x = document.getElementById("toastr"); + if (message) { + x.getElementsByTagName("SPAN")[0].innerHTML = message; + } + + if (timeout) { + clearTimeout(timeout); + x.classList.remove("show"); + } + + x.classList.remove("success"); + x.classList.remove("error"); + if (success) { + x.classList.add("success"); + } else { + x.classList.add("error"); + } + + x.classList.add("show"); + + timeout = setTimeout(() => { + x.classList.remove("show"); + }, 3000); +} + +/** + * Fonction permettant de masquer le toastr + */ +function hideToastr() { + const x = document.getElementById("toastr"); + + x.className = x.className.replace("show", ""); + x.getElementsByTagName("SPAN")[0].innerHTML = ""; +} + +const copyToClipboard = (itemId, message) => { + const copyText = document.getElementById(itemId); + copyText.select(); + document.execCommand('copy'); + + showToastr(message, true); +}; + +const showModale = () => { + const x = document.getElementsByClassName("modal"); + + x[0].classList.add('is-visible'); +} + +const closeModale = () => { + const x = document.getElementsByClassName("modal"); + + x[0].classList.remove('is-visible'); +} + +const displayImageDetails = (itemId) => { + const x = document.getElementById(`item-${itemId}`); + const original = x.dataset.original; + const medium = x.dataset.medium; + const small = x.dataset.small; + + document.getElementById('previewImage').src = small; + document.getElementById('originalFile-0').value = original; + document.getElementById('mediumFile-0').value = medium; + document.getElementById('smallFile-0').value = small; + document.getElementById('bbcode-0').value = `[url=${original}][img]${medium}[/img][/url]`; + + showModale(); +} \ No newline at end of file diff --git a/sass/box.scss b/sass/box.scss new file mode 100644 index 0000000..95c138e --- /dev/null +++ b/sass/box.scss @@ -0,0 +1,26 @@ +.box { + background-color: var(--box-bg-color); + border-radius: 6px; + box-shadow: var(--box-shadow-color) 0px 3px 6px 0px; + color: var(--font-color); + display: block; + padding: 1.25rem; + width: calc(100% - 2rem); + margin: auto; + @include transition() {} + + @include respond-to("small-up") { + width: 65%; + } + @include respond-to("medium-up") { + width: 35%; + } + + h1 { + margin-top: 0; + } + + button { + margin-top: 2rem; + } +} \ No newline at end of file diff --git a/sass/button.scss b/sass/button.scss new file mode 100644 index 0000000..1fd0e5d --- /dev/null +++ b/sass/button.scss @@ -0,0 +1,63 @@ +.button { + cursor: pointer; + justify-content: center; + padding-bottom: calc(0.5em - 1px); + padding-left: 1em; + padding-right: 1em; + padding-top: calc(0.5em - 1px); + text-align: center; + white-space: nowrap; + border: 1px solid transparent; + margin-bottom: .5rem; + background-color: $nord9; + border-radius: 0.375rem; + color: $button-font-color; + @include transition() {} + + &:hover { + background-color: darken($nord9, $hoverAmount); + } + + &.is-danger { + background-color: $danger-color; + color: $button-alternate-color; + + &:hover { + background-color: $danger-color-hl; + } + } + + &.is-primary { + background-color: $primary-color; + + &:hover { + background-color: $primary-color-hl; + } + } + + &.is-warning { + background-color: $warning-color; + + &:hover { + background-color: $warning-color-hl; + } + } + + &.is-success { + background-color: $success-color; + + &:hover { + background-color: $success-color-hl; + } + } + + &.is-link { + background-color: transparent; + border-color: $nord9; + color: var(--button-link-text-color); + + &:hover { + border-color: darken($nord9, $hoverAmount); + } + } +} \ No newline at end of file diff --git a/sass/colors.scss b/sass/colors.scss new file mode 100644 index 0000000..af22cce --- /dev/null +++ b/sass/colors.scss @@ -0,0 +1,103 @@ +$hoverAmount: 10%; + +$white: #ffffff; +$darken-white: #F8F9FB; +/* Couleurs du thème Nord (https://www.nordtheme.com/) */ +$nord0: #2e3440; +$nord1: #3b4252; +$nord2: #434c5e; +$nord3: #4C566A; +$nord4: #d8dee9; +$nord5: #e5e9f0; +$nord6: #eceff4; +$nord7: #8fbcbb; +$nord8: #88c0d0; +$nord9: #81a1c1; +$nord10: #5e81ac; +$nord11: #d08770; +$nord12: #bf616a; +$nord13: #ebcb8b; +$nord14: #a3be8c; +$nord15: #b48ead; + +$primary-color: $nord8; +$danger-color: $nord11; +$error-color: $nord12; +$warning-color: $nord13; +$success-color: $nord14; +$primary-color-hl: darken($primary-color, $hoverAmount); +$danger-color-hl: darken($danger-color, $hoverAmount); +$error-color-hl: darken($error-color, $hoverAmount); +$warning-color-hl: darken($warning-color, $hoverAmount); +$success-color-hl: darken($success-color, $hoverAmount); + +$button-font-color: #2C364A; +$button-alternate-color: #01103C; + +$pagination-border-color: $nord3; +$pagination-hover-color: rgb(115, 151, 186); + +:root { + --default-color: #{$white}; + --bg-color: #{darken($white, 5%)}; + --bg-alternate-color: #{darken($white, 8%)}; + --font-color: #{$nord3}; + --footer-color: #{$darken-white}; + --link-color: #{$nord1}; + + --input-font-color: #{$nord3}; + --input-color: #{$white}; + --input-active-color: #{$nord5}; + + --navbar-color: #{darken($white, 5%)}; + + --box-bg-color: #F8F9FB; + --box-shadow-color: #{rgba($nord4, 0.35)}; + + --border-color: #{$nord4}; + + --button-link-text-color: #2C364A; + + --loader-img: url('/img/loading-light.gif'); + + --nord0: #{$nord0}; + --nord1: #{$nord1}; + --nord2: #{$nord2}; + --nord3: #{$nord3}; + --nord4: #{$nord4}; + --nord5: #{$nord5}; + --nord6: #{$nord6}; + --nord7: #{$nord7}; + --nord8: #{$nord8}; + --nord9: #{$nord9}; + --nord10: #{$nord10}; + --nord11: #{$nord11}; + --nord12: #{$nord12}; + --nord13: #{$nord13}; + --nord14: #{$nord14}; + --nord15: #{$nord15}; +} + +[data-theme="dark"] { + --default-color: #{$nord3}; + --bg-color: #{lighten($nord0, 2%)}; + --bg-alternate-color: #{lighten($nord3, 8%)}; + --font-color: #{$nord6}; + --footer-color: #{$nord1}; + --link-color: #{$nord4}; + + --input-font-color: #{$nord6}; + --input-color: #{$nord0}; + --input-active-color: #{$nord3}; + + --navbar-color: #{$nord0}; + + --box-bg-color: #{$nord1}; + --box-shadow-color: #{rgba($nord4, 0.2)}; + + --border-color: #{$nord1}; + + --button-link-text-color: #{$white}; + + --loader-img: url('/img/loading-dark.gif'); +} \ No newline at end of file diff --git a/sass/error.scss b/sass/error.scss new file mode 100644 index 0000000..930d6db --- /dev/null +++ b/sass/error.scss @@ -0,0 +1,6 @@ +main { + &.error { + min-height: calc(100vh - 3.25rem - 100px); + padding-top: 4rem; + } +} \ No newline at end of file diff --git a/sass/fonts.scss b/sass/fonts.scss new file mode 100644 index 0000000..8d0cc8e --- /dev/null +++ b/sass/fonts.scss @@ -0,0 +1,16 @@ +/*! Generated by Font Squirrel (https://www.fontsquirrel.com) on February 23, 2022 */ + +@font-face { + font-family: 'lucioleregular'; + src: url(data:application/font-woff2;charset=utf-8;base64,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) format('woff2'); + font-weight: normal; + font-style: normal; + +} + +@font-face { + font-family: 'fira_codelight'; + src: url(data:application/font-woff2;charset=utf-8;base64,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) format('woff2'); + font-weight: normal; + font-style: normal; +} \ No newline at end of file diff --git a/sass/forms.scss b/sass/forms.scss new file mode 100644 index 0000000..125527a --- /dev/null +++ b/sass/forms.scss @@ -0,0 +1,147 @@ +.field { + padding-top: .6rem; + display: flex; + flex-direction: column; + + &.inline { + flex-direction: row; + } + + &.has-addons { + display: flex; + justify-content: flex-start; + flex-direction: row; + + .button { + margin-bottom: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + input { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + } + + input, + textarea, + select { + border-radius: 4px; + max-width: 100%; + width: 100%; + background-color: var(--input-color); + border: 1px solid var(--input-active-color) !important; + color: var(--input-font-color); + @include transition() {} + + &:focus-visible { + outline: unset; + } + } + + input[type="radio"] { + border-radius: 50%; + appearance: none; + width: 1.2rem; + height: 1.2rem; + vertical-align: text-bottom; + outline: 0; + box-shadow: inset 0 0 0 1px var(--input-active-color); + background-color: #fff; + transition: background-size .15s; + cursor: pointer; + + &:checked { + box-shadow: inset 0 0 0 4px var(--input-active-color); + } + } + + input[type="radio"] + label, + label + input[type="radio"] { + margin-left: 12px; + } + + select { + appearance: none; + background-image: url("data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20standalone%3D%22no%22%3F%3E%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20style%3D%22isolation%3Aisolate%22%20viewBox%3D%220%200%2020%2020%22%20width%3D%2220%22%20height%3D%2220%22%3E%3Cpath%20d%3D%22%20M%209.96%2011.966%20L%203.523%205.589%20C%202.464%204.627%200.495%206.842%201.505%207.771%20L%201.505%207.771%20L%208.494%2014.763%20C%209.138%2015.35%2010.655%2015.369%2011.29%2014.763%20L%2011.29%2014.763%20L%2018.49%207.771%20C%2019.557%206.752%2017.364%204.68%2016.262%205.725%20L%2016.262%205.725%20L%209.96%2011.966%20Z%20%22%20fill%3D%22inherit%22/%3E%3C/svg%3E"); + background-position: right 0.8rem center; + background-repeat: no-repeat; + background-size: 1.2rem; + padding-right: 2.4rem; + } +} + +.theme-switch-wrapper { + display: flex; + align-items: center; + + em { + margin-left: 10px; + font-size: 1rem; + } +} + +.theme-switch { + display: inline-block; + height: 34px; + position: relative; + width: 60px; +} + +.theme-switch input { + display:none; +} + +.slider { + background-color: #ccc; + bottom: 0; + cursor: pointer; + left: 0; + position: absolute; + right: 0; + top: 0; + transition: .4s; + @include transition() {} +} + +.slider:before { + background-color: #fff; + bottom: 4px; + content: '\f185'; + height: 26px; + left: 4px; + position: absolute; + transition: .4s; + width: 26px; + padding: 0; + + font-family: "icon"; + font-style: normal; + font-weight: normal; + display: inline-block; + text-decoration: inherit; + text-align: center; + font-variant: normal; + text-transform: none; +} + +input:checked + .slider { + background-color: $primary-color; + @include transition() {} +} + +input:checked + .slider:before { + transform: translateX(26px); + content: '\f186'; + background-color: var(--input-active-color); + @include transition() {} +} + +.slider.round { + border-radius: 34px; +} + +.slider.round:before { + border-radius: 50%; +} diff --git a/sass/global.scss b/sass/global.scss new file mode 100644 index 0000000..af0678c --- /dev/null +++ b/sass/global.scss @@ -0,0 +1,88 @@ +html { + min-height: 100vh; + scroll-behavior: smooth; + + body { + background-color: var(--bg-color); + display: flex; + flex-direction: column; + padding-top: 3.5rem; + font-family: 'lucioleregular'; + min-height: 100vh; + color: var(--font-color); + @include transition(); + + footer.footer { + margin-top: auto; + padding: 2rem 0.7rem 1.5rem; + background-color: var(--footer-color); + @include transition() {} + } + + a { + color: var(--link-color); + cursor: pointer; + @include transition() {} + + &:hover { + color: var(--font-color); + } + } + + h1, + h2, + h3, + h4, + h5, + h6 { + color: var(--font-color); + } + + h1 { + margin-top: 2rem; + } + + pre { + font-family: 'fira_codelight'; + margin: 0.75rem 0; + padding: 0.75rem; + border-left: 2px solid $nord10; + background: var(--box-bg-color); + color: var(--font-color); + } + + + .image-preview { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + } + } +} + +.layout-maxed { + @include respond-to("small") { + padding: 0 0.7rem; + } +} + +.is-hidden { + display: none; +} + +.ml-4 { + margin-left: 1rem; +} + +.sm-hidden { + display: none; + + @include respond-to("small-up") { + display: initial; + } +} + +.is-danger { + color: $nord12; +} \ No newline at end of file diff --git a/sass/index.scss b/sass/index.scss new file mode 100644 index 0000000..4ea1bec --- /dev/null +++ b/sass/index.scss @@ -0,0 +1,34 @@ +// @use '../node_modules/knacss/sass/knacss.scss'; + +// NOYAU +@import "../node_modules/knacss/sass/abstracts/variables-sass"; +@import "../node_modules/knacss/sass/abstracts/mixins-sass"; + +@import "../node_modules/knacss/sass/base/reset-base"; +@import "../node_modules/knacss/sass/base/reset-accessibility"; +@import "../node_modules/knacss/sass/base/reset-forms"; +@import "../node_modules/knacss/sass/base/reset-print"; +@import "../node_modules/knacss/sass/base/layout"; + +// UTILITAIRES +@import "../node_modules/knacss/sass/utils/utils-global"; +@import "../node_modules/knacss/sass/utils/utils-font-sizes"; +@import "../node_modules/knacss/sass/utils/utils-spacers"; +@import "../node_modules/knacss/sass/utils/grillade"; + +// SPÉCIFIQUE AU SITE +@import './fonts'; +@import './colors'; +@import './mixin'; +@import './global'; +@import './navbar'; +@import './forms'; +@import './button'; +@import './modal'; +@import './toast'; +@import './pagination'; +@import './box'; +@import './list'; + +@import './error'; +@import './messages'; \ No newline at end of file diff --git a/sass/list.scss b/sass/list.scss new file mode 100644 index 0000000..d005349 --- /dev/null +++ b/sass/list.scss @@ -0,0 +1,32 @@ +.list { + margin: 2rem 0; + + .item{ + padding: 0.5rem 0.75rem; + border: 2px solid var(--border-color); + background-color: var(--bg-alternate-color); + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + @include transition() {} + + &:nth-child(2n) { + background-color: var(--default-color); + } + + &.link { + cursor: pointer; + } + + img { + border: 2px solid var(--font-color); + } + } + + &.hover { + .item:hover { + background-color: var(--border-color); + } + } +} \ No newline at end of file diff --git a/sass/messages.scss b/sass/messages.scss new file mode 100644 index 0000000..7633697 --- /dev/null +++ b/sass/messages.scss @@ -0,0 +1,9 @@ +.message { + margin: 8px 0; + padding: 0; + font-size: 0.8rem; + + &.error { + color: $error-color-hl; + } +} \ No newline at end of file diff --git a/sass/mixin.scss b/sass/mixin.scss new file mode 100644 index 0000000..7d74137 --- /dev/null +++ b/sass/mixin.scss @@ -0,0 +1,4 @@ +@mixin transition() { + transition: background-color 200ms ease-in 0s, border-color 200ms ease-in 0s, box-shadow 200ms ease-in 0s, color 200ms ease-in 0s; + @content; +} diff --git a/sass/modal.scss b/sass/modal.scss new file mode 100644 index 0000000..e44de67 --- /dev/null +++ b/sass/modal.scss @@ -0,0 +1,125 @@ +.modal { + bottom: 0; + left: 0; + right: 0; + top: 0; + align-items: center; + display: none; + flex-direction: column; + justify-content: center; + overflow: hidden; + position: fixed; + z-index: 40; + + &.is-visible { + display: flex; + } + + .modal-background { + background-color: rgba(10,10,10,.86); + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + } + + button.close { + user-select: none; + background-color: rgba(10,10,10,.2); + border: none; + border-radius: 9999px; + cursor: pointer; + pointer-events: auto; + display: inline-block; + flex-grow: 0; + flex-shrink: 0; + font-size: 0; + height: 20px; + max-height: 20px; + max-width: 20px; + min-height: 20px; + min-width: 20px; + outline: none; + position: relative; + width: 20px; + + &::before, + &::after { + background-color: var(--default-color); + content: ""; + display: block; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%) rotate(45deg); + transform-origin: center center; + } + &::before { + height: 2px; + width: 50%; + } + &::after { + height: 50%; + width: 2px; + } + } + + .modal-card { + position: relative; + width: 300px; + margin: 0 auto; + display: flex; + flex-direction: column; + max-height: calc(100vh - 40px); + overflow: hidden; + + @include respond-to("small-up") { + width: 560px; + } + @include respond-to("medium-up") { + width: 980px; + } + @include respond-to("large-up") { + width: 1200; + } + + header, + footer { + align-items: center; + background-color: var(--navbar-color); + display: flex; + flex-shrink: 0; + justify-content: flex-start; + padding: 0.75rem; + position: relative; + @include transition() {} + } + + header { + border-bottom: 1px solid var(--border-color); + border-top-left-radius: 6px; + border-top-right-radius: 6px; + justify-content: space-between; + font-size: 1.5rem; + @include transition() {} + } + section { + background-color: var(--default-color); + flex-grow: 1; + flex-shrink: 1; + overflow: auto; + padding: 20px; + @include transition() {} + } + footer { + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + border-top: 1px solid var(--border-color); + + .button:not(:last-child) { + margin-right: .5em; + } + } + } +} \ No newline at end of file diff --git a/sass/navbar.scss b/sass/navbar.scss new file mode 100644 index 0000000..410468c --- /dev/null +++ b/sass/navbar.scss @@ -0,0 +1,321 @@ +.navbar { + min-height: 3.25rem; + background-color: var(--navbar-color); + box-shadow: rgba(216, 222, 233, 0.15) 0px 5px 10px 0px; + color: rgba(0,0,0,.7); + position: fixed; + z-index: 30; + top: 0; + right: 0; + left: 0; + @include transition() {} + + @include respond-to("medium-up") { + min-height: 3.25rem; + align-items: stretch; + display: flex; + } + + .navbar-brand { + align-items: stretch; + display: flex; + min-height: 3.25rem; + + .navbar-item { + align-items: center; + display: flex; + + img { + max-height: 32px; + } + + span { + word-break: break-word; + color: var(--font-color); + font-size: 2rem; + line-height: 1.125; + margin-left: .5rem !important; + @include transition() {} + } + } + } + + .navbar-burger { + padding: 0; + margin: 0; + font-size: 1em; + appearance: none; + background: none; + border: none; + cursor: pointer; + display: block; + height: 3.25rem; + position: relative; + width: 3.25rem; + margin-left: auto; + color: var(--font-color); + + @include respond-to("medium-up") { + display: none; + } + + span { + background-color: currentColor; + display: block; + height: 1px; + left: calc(50% - 8px); + position: absolute; + transform-origin: center; + transition-duration: 86ms; + transition-property: background-color,opacity,transform; + transition-timing-function: ease-out; + width: 16px; + + &:nth-child(1) { + top: calc(50% - 6px); + } + &:nth-child(2) { + top: calc(50% - 1px); + } + &:nth-child(3) { + top: calc(50% + 4px); + } + } + + &.is-active { + span { + &:nth-child(1) { + transform: translateY(5px) rotate(45deg); + } + &:nth-child(2) { + opacity: 0; + } + &:nth-child(3) { + transform: translateY(-5px) rotate(-45deg); + } + } + } + } + + .navbar-item { + line-height: 1.5; + padding: .5rem .75rem; + position: relative; + flex-grow: 0; + flex-shrink: 0; + color: var(--font-color); + display: block; + @include transition() {} + + &.has-dropdown { + padding: 0; + + @include respond-to("medium-up") { + display: flex; + align-items: stretch; + color: rgba(0,0,0,.7); + + .navbar-dropdown { + background-color: var(--default-color); + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + border-top: 2px solid var(--default-hl-color); + box-shadow: 0 8px 8px rgba(10,10,10,.1); + display: none; + font-size: .875rem; + left: 0; + min-width: 100%; + position: absolute; + top: 100%; + z-index: 20; + } + + &:hover { + background-color: var(--default-color); + + .navbar-link { + background-color: var(--default-hl-color); + color: rgba(0,0,0,.7); + } + + .navbar-dropdown { + display: block; + } + } + } + } + + @include respond-to("medium-up") { + align-items: center; + display: flex; + } + } + + .navbar-link { + color: var(--font-color); + display: block; + line-height: 1.5; + padding: .5rem .75rem; + position: relative; + cursor: pointer; + padding-right: 2.5em; + @include transition() {} + + @include respond-to("medium-up") { + display: flex; + align-items: center; + } + + .icon { + align-items: center; + display: inline-flex; + justify-content: center; + height: 1.5rem; + width: 1.5rem; + } + + &::after { + border: 3px solid transparent; + border-radius: 2px; + border-right: 0; + border-top: 0; + content: " "; + display: block; + height: .625em; + pointer-events: none; + position: absolute; + top: 50%; + transform: rotate(-45deg); + transform-origin: center; + width: .625em; + border-color: var(--secondary-color); + margin-top: -0.375em; + right: 1.125em; + + @include respond-to("medium-up") { + border-color: rgba(0,0,0,.7); + } + } + } + + .navbar-menu { + display: none; + background-color: var(--default-color); + box-shadow: 0 8px 16px rgba(10,10,10,.1); + padding: .5rem 0; + @include transition() {} + + @include respond-to("medium") { + max-height: calc(100vh - 3.25rem); + overflow: auto; + } + + @include respond-to("medium-up") { + flex-grow: 1; + flex-shrink: 0; + align-items: stretch; + display: flex; + + background-color: initial; + box-shadow: none; + padding: 0; + } + + &.is-active { + display: block; + } + + @include respond-to("medium-up") { + .navbar-start { + justify-content: flex-start; + margin-right: auto; + align-items: stretch; + display: flex; + + .navbar-item { + color: rgba(0,0,0,.7); + align-items: center; + display: flex; + } + } + + .navbar-end { + justify-content: flex-end; + margin-left: auto; + align-items: stretch; + display: flex; + } + } + } + + .navbar-dropdown { + font-size: .875rem; + padding-bottom: .5rem; + padding-top: .5rem; + + hr { + background-color: var(--font-color); + border: none; + height: 2px; + margin: .5rem 0; + } + + .navbar-item { + cursor: pointer; + padding-left: 1.5rem; + padding-right: 1.5rem; + } + + @include respond-to("medium-up") { + background-color: var(--default-color); + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + border-top: 2px solid var(--default-hl-color); + box-shadow: 0 8px 8px rgba(10,10,10,.1); + display: none; + font-size: .875rem; + left: 0; + min-width: 100%; + position: absolute; + top: 100%; + z-index: 20; + + .navbar-item { + white-space: nowrap; + padding: .375rem 1rem; + padding-right: 3rem; + } + } + } + + img { + height: auto; + max-width: 100%; + } + + a { + text-decoration: none; + } + + .buttons { + align-items: center; + display: flex; + flex-wrap: wrap; + justify-content: flex-start; + + .button { + margin-right: 0.75rem; + } + + &:last-child { + margin-bottom: -0.5rem; + } + } +} + + +[data-theme="dark"] { + .navbar { + box-shadow: none; + } +} \ No newline at end of file diff --git a/sass/pagination.scss b/sass/pagination.scss new file mode 100644 index 0000000..ddf2695 --- /dev/null +++ b/sass/pagination.scss @@ -0,0 +1,69 @@ +.pagination { + font-size: 1rem; + align-items: center; + display: flex; + text-align: center; + justify-content: space-between; + margin: 0.75rem 0; + + + .pagination-list { + align-items: center; + display: flex; + text-align: center; + flex-wrap: wrap; + flex-grow: 1; + flex-shrink: 1; + justify-content: flex-end; + + @include respond-to("small") { + justify-content: center; + } + + .pagination-link { + align-items: center; + border: 1px solid transparent; + border-radius: .375em; + box-shadow: none; + display: inline-flex; + font-size: 1rem; + height: 2.5em; + justify-content: flex-start; + line-height: 1.5; + padding: calc(.5em - 1px) calc(.75em - 1px); + position: relative; + vertical-align: top; + text-decoration: none; + user-select: none; + text-align: center; + font-size: 1em; + justify-content: center; + margin: .25rem; + border-color: $pagination-border-color; + color: var(--font-color); + min-width: 2.5em; + white-space: nowrap; + + @include transition() {} + + &:hover { + border-color: $pagination-hover-color; + color: $pagination-hover-color; + } + + &.is-disabled { + background-color: var(--default-hl-color); + border-color: var(--default-hl-color); + box-shadow: none; + color: var(--disabled-color); + opacity: .5; + } + + &.is-current { + background-color: $primary-color; + border-color: $primary-color; + color: $button-font-color; + } + } + } +} \ No newline at end of file diff --git a/sass/toast.scss b/sass/toast.scss new file mode 100644 index 0000000..f2434f8 --- /dev/null +++ b/sass/toast.scss @@ -0,0 +1,95 @@ +#toastr { + visibility: hidden; + min-width: 250px; + max-width: 360px; + position: fixed; + z-index: 66; + right: 30px; + top: 30px; + font-size: 17px; + + padding: 1.25rem 2.5rem 1.25rem 1.5rem; + border-radius: 6px; + + &.error { + background-color: $danger-color; + color: $button-alternate-color; + } + + &.success { + background-color: $success-color; + color: $button-font-color; + } + + &.show { + visibility: visible; + animation: toastrFadein 0.5s, toastrFadeout 0.5s 2.5s; + } + + button { + width: 20px; + font-size: 0; + height: 20px; + max-height: 20px; + max-width: 20px; + min-height: 20px; + min-width: 20px; + outline: 0; + border: none; + border-radius: 9999px; + cursor: pointer; + pointer-events: auto; + display: inline-block; + user-select: none; + right: .5rem; + position: absolute; + top: .5rem; + background-color: rgba(10, 10, 10, 0.2); + + &:hover { + background-color: rgba(10,10,10,.3); + } + + &::before, + &::after { + background-color: var(--default-color); + content: ""; + display: block; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%) rotate(45deg); + transform-origin: center center; + } + &::before { + height: 2px; + width: 50%; + } + &::after { + height: 50%; + width: 2px; + } + } +} + +@keyframes toastrFadein { + from { + top: 0; + opacity: 0; + } + to { + top: 30px; + opacity: 1; + } +} + +@keyframes toastrFadeout { + from { + top: 30px; + opacity: 1; + } + to { + top: 0; + opacity: 0; + } +} \ No newline at end of file diff --git a/src/app.js b/src/app.js new file mode 100644 index 0000000..79cd620 --- /dev/null +++ b/src/app.js @@ -0,0 +1,125 @@ +import path from 'path'; +import express from 'express'; +import cookieParser from 'cookie-parser'; +import passport from 'passport'; +import mongoose from 'mongoose'; +import flash from 'connect-flash'; +import session from 'express-session'; +import MongoStore from 'connect-mongo'; + +import passportConfig from './libs/passport'; + +// Import des routes +import globalRoutes from './routes'; +import authRoutes from './routes/auth'; + +import {trustProxy, env, mongoDbUri, secret} from './config'; + +import {isXhr, getBaseUrl} from './helpers'; + +// import indexmkactRouterApiV1 from "./routes/api/v1/contact"; + +passportConfig(passport); + +mongoose.set('strictQuery', false); +mongoose + .connect(mongoDbUri, {useNewUrlParser: true, useUnifiedTopology: true}) + .catch(() => { + process.exit(); + }); + +const sess = { + cookie: { + maxAge: 86400000, + }, + secret, + saveUninitialized: false, + resave: false, + store: MongoStore.create({ + mongoUrl: mongoDbUri, + mongoOptions: {useNewUrlParser: true, useUnifiedTopology: true}, + }), +}; + +const app = express(); + +app.set('trust proxy', trustProxy); +app.use(cookieParser()); +app.use(flash()); +app.use(express.json({limit: '50mb'})); +app.use(express.urlencoded({extended: false, limit: '50mb'})); + +app.use(session(sess)); + +if (['production'].indexOf(env) !== -1) { + sess.cookie.secure = true; + /* eslint-disable func-names */ + app.use((req, res, next) => { + if (req.secure) { + next(); + } else { + res.redirect(`https://${req.headers.host}${req.url}`); + } + }); +} + +app.use(passport.initialize()); +app.use(passport.session()); + +app.set('views', path.join(__dirname, '../views')); +app.set('view engine', 'ejs'); + +app.use(express.static(path.join(__dirname, '../public'))); +app.use('/uploads', express.static(path.join(__dirname, '../uploads'))); + +// Init des routes +app.use('/', globalRoutes); +app.use('/', authRoutes); + +// Handle 404 +app.use((req, res) => { + if (isXhr(req)) { + res.status(404).send({message: '404: Not found'}); + } else { + res.status(404); + res.render('index', { + pagename: '404', + viewname: 'error', + page: { + title: '404: Cette page n\'existe pas.', + }, + baseUrl: getBaseUrl(req), + params: {}, + query: {}, + user: req.user, + error: 'La page demandée n\'existe pas sur le server', + }); + } +}); + +// Handle 500 +app.use((error, req, res, next) => { + if (isXhr(req)) { + const {message, errorCode, date} = error; + res.status(error.errorCode || 500).send({message, errorCode, date}); + } else { + console.log('ERR:', error); + res.status(error.errorCode || 500); + res.render('index', { + pagename: '500', + viewname: 'error', + page: { + title: '500: Oups… le serveur a crashé !', + }, + baseUrl: getBaseUrl(req), + params: {}, + query: {}, + user: req.user, + error, + }); + } +}); + +console.log('Server ready!'); + +export default app; diff --git a/src/bin/www.js b/src/bin/www.js new file mode 100644 index 0000000..9b05f92 --- /dev/null +++ b/src/bin/www.js @@ -0,0 +1,52 @@ +#!/usr/bin/env node + +/** + * Module dependencies. + */ + +import debugLib from 'debug'; +import http from 'http'; +import app from '../app'; +import {port} from '../config'; + +const debug = debugLib('simple-images-upload:server'); +const server = http.createServer(app); + +/** + * Event listener for HTTP server "error" event. + * @param {*} error + */ +function onError(error) { + if (error.syscall !== 'listen') { + throw error; + } + + const bind = typeof port === 'string' ? `Pipe ${port}` : `Port ${port}`; + + switch (error.code) { + case 'EACCES': + console.error(`${bind} requires elevated privileges`); + process.exit(1); + break; + case 'EADDRINUSE': + console.error(`${bind} is already in use`); + process.exit(1); + break; + default: + throw error; + } +} + +/** + * Event listener for HTTP server "listening" event. + */ +function onListening() { + const addr = server.address(); + const bind = + typeof addr === 'string' ? `pipe ${addr}` : `port ${addr.port}`; + debug(`Listening on ${bind}`); +} + +server.listen(port); +server.on('error', onError); +server.on('listening', onListening); diff --git a/src/config/index.js b/src/config/index.js new file mode 100644 index 0000000..4ead440 --- /dev/null +++ b/src/config/index.js @@ -0,0 +1,8 @@ +module.exports = { + nodeEnv: process.env.NODE_ENV || 'development', + port: parseInt(process.env.PORT || '3001', 10), + trustProxy: process.env.TRUST_PROXY || 'loopback', + mongoDbUri: process.env.MONGODB_URI || 'mongodb://images-upload-db/upload', + secret: process.env.SECRET || 'waemaeMe5ahc6ce1chaeKohKa6Io8Eik', + pagination: Number(process.env.PAGINATION || 16), +}; diff --git a/src/helpers/index.js b/src/helpers/index.js new file mode 100644 index 0000000..7be0ad0 --- /dev/null +++ b/src/helpers/index.js @@ -0,0 +1,14 @@ +export const getBaseUrl = (req) => `${req.protocol}://${req.get('host')}`; + +export const isXhr = (req) => { + const is = req.xhr; + if (!is) { + for (let i = 0; i < req.rawHeaders.length; i += 1) { + if (req.rawHeaders[i].indexOf('application/json') !== -1) { + return true; + } + } + } + + return is; +}; diff --git a/src/libs/Render.js b/src/libs/Render.js new file mode 100644 index 0000000..2000cc9 --- /dev/null +++ b/src/libs/Render.js @@ -0,0 +1,24 @@ +export default (req, res, error, page, redirectTo) => { + if (error) { + res.status(500); + return res.render('index', { + pagename: '500', + viewname: '500', + page: { + title: '500: Oups… le serveur a crashé !', + error, + }, + baseUrl: '', + params: {}, + query: {}, + user: req.user || null, + error, + }); + } + + if (redirectTo) { + return res.redirect(redirectTo); + } + + return res.render('index', page.render()); +}; diff --git a/src/libs/error.js b/src/libs/error.js new file mode 100644 index 0000000..a4a640c --- /dev/null +++ b/src/libs/error.js @@ -0,0 +1,23 @@ +/** + * Classe permettant la gestion des erreurs personilisées + */ +class ErrorEvent extends Error { + /** + * @param {Number} errorCode + * @param {String} title + * @param {Mixed} ...params + */ + constructor(errorCode, title, ...params) { + super(...params); + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, ErrorEvent); + } + + this.errorCode = parseInt(errorCode, 10); + this.title = title; + this.date = new Date(); + } +} + +export default ErrorEvent; diff --git a/src/libs/format.js b/src/libs/format.js new file mode 100644 index 0000000..22815a6 --- /dev/null +++ b/src/libs/format.js @@ -0,0 +1,39 @@ +/** + * Fonction permettant de formater une réponse basée sur la méthode utilisée + * @param {Object} req + * @param {Object} res + * @param {Object} data + * + * @return {Object} + */ +export const sendResponse = (req, res, data) => { + let status = 200; + const path = req.route.path.split('/'); + + switch (req.method) { + case 'GET': + // INFO: On regarde de quel type de get il s'agit (liste ou item) + if (path[path.length - 1].indexOf(':') === 0) { + // INFO: Cas d'un item + status = !data ? 404 : 200; + } else { + // INFO: Cas d'une liste + status = + data.rows === undefined || data.rows.length > 0 ? 200 : 204; + } + + return res.status(status).json(data).end(); + case 'PATCH': + return res.status(200).json(data).end(); + case 'DELETE': + return res.status(200).json(data).end(); + case 'POST': + return res.status(201).json(data).end(); + default: + return res.status(500).json({message: 'Not implemented'}); + } +}; + +export default (res, page) => { + res.status(200).render('index', page.render()); +}; diff --git a/src/libs/passport.js b/src/libs/passport.js new file mode 100644 index 0000000..23f6e32 --- /dev/null +++ b/src/libs/passport.js @@ -0,0 +1,58 @@ +/* eslint-disable func-names */ +import {Strategy as LocalStrategy} from 'passport-local'; +import {BasicStrategy} from 'passport-http'; + +import Users from '../models/Users'; + +export default (passport) => { + passport.serializeUser((user, done) => { + done(null, user); + }); + + passport.deserializeUser((user, done) => { + done(null, user); + }); + passport.use( + 'user', + new LocalStrategy( + { + usernameField: 'email', + passwordField: 'password', + }, + (email, password, done) => { + Users.findOne({email}) + .then((user) => { + if (!user || !user.validPassword(password)) { + return done( + null, + false, + {message: 'Oops! Identifiants incorrects'}, + + ); + } + + return done(null, user); + }) + .catch(done); + }, + ), + ); + passport.use( + 'basic', + new BasicStrategy((email, password, done) => { + Users.findOne({email}) + .then((user) => { + if (!user || !user.validPassword(password)) { + return done( + null, + false, + {message: 'Oops! Identifiants incorrects'}, + ); + } + + return done(null, user); + }) + .catch(done); + }), + ); +}; diff --git a/src/middleware/Auth.js b/src/middleware/Auth.js new file mode 100644 index 0000000..4390419 --- /dev/null +++ b/src/middleware/Auth.js @@ -0,0 +1,39 @@ +import Pages from './Pages'; +import Users from '../models/Users'; + +/** + * Classe permettant de gérer les utilisateurs + */ +class Auth extends Pages { + /** + * Méthode permettant de créer un nouvel utilisateur + * @param {Req} req + * @param {Function} callback + * + * @return {Function} + */ + async register(req) { + const {username, email, password} = req.body; + const user = new Users({ + username, + email, + salt: password, + }); + + // user.hash = user.setPassword(password); + + await user.save(); + + await new Promise((resolve, reject) => { + req.login(user, (errLogin) => { + if (errLogin) { + return reject(errLogin); + } + + return resolve(null); + }); + }); + } +} + +module.exports = Auth; diff --git a/src/middleware/Pages.js b/src/middleware/Pages.js new file mode 100644 index 0000000..3d144a4 --- /dev/null +++ b/src/middleware/Pages.js @@ -0,0 +1,60 @@ +// import moment from 'moment'; +import config from '../config'; +import {getBaseUrl} from '../helpers'; + +/** + * Classe permettant de gérer les page du back office + */ +class Pages { + /** + * @param {Object} req + * @param {String} viewname + */ + constructor(req, viewname) { + this.req = req; + this.pageContent = { + page: { + title: null, + user: req.user || {}, + header: 'partials/header', + }, + viewname: `pages/${viewname}`, + baseUrl: getBaseUrl(req), + currentPage: req.originalUrl.split('?')[0], + // moment, + }; + + this.user = null; + this.pagename = viewname; + + if (req.session && req.session.passport && req.session.passport.user) { + this.user = req.session.passport.user; + } + + if (!req.query.page) { + req.query.page = 1; + } + if (!req.query.limit) { + req.query.limit = config.pagination; + } + } + + /** + * Rendu de la page + * @return {Object} + */ + render() { + this.pageContent.session = this.req.session; + this.pageContent.query = this.req.query; + this.pageContent.params = this.req.params; + this.pageContent.user = this.user; + this.pageContent.pagename = this.pagename; + this.pageContent.messages = this.req.session.messages; + + this.req.session.messages = []; + + return this.pageContent; + } +} + +module.exports = Pages; diff --git a/src/middleware/Uploads.js b/src/middleware/Uploads.js new file mode 100644 index 0000000..86ed062 --- /dev/null +++ b/src/middleware/Uploads.js @@ -0,0 +1,175 @@ +import fs, {copyFileSync, mkdirSync, statSync} from 'fs'; +import {join, extname} from 'path'; +import multer from 'multer'; +import sharp from 'sharp'; +import {uid} from 'rand-token'; + +import Pages from './Pages'; + +import {getBaseUrl} from '../helpers'; + +import {pagination} from '../config'; + +const checkAndCreateDirectory = async (directory) => { + try { + return statSync(directory); + } catch (err) { + if (err.errno === -2) { + mkdirSync(directory); + } else { + throw err; + } + } + + return true; +}; + +const resizeImage = async (sourceImage, destImage, w, h) => { + return sharp(sourceImage) + .resize(w, h, { + fit: 'inside', + }) + .toFile(destImage); +}; + +/** + * Classe permettant la gestion des images + */ +class Uploads extends Pages { + /** + * @param {Object} req + * @param {String} viewname + */ + constructor(req, viewname) { + super(req, viewname); + + this.upload = multer({ + storage: multer.diskStorage({}), + fileFilter(multerReq, file, cb) { + const filetypes = /jpeg|jpg|png/; + const mimetype = filetypes.test(file.mimetype); + const filExtname = filetypes.test( + extname(file.originalname).toLowerCase(), + ); + + if (mimetype && filExtname) { + return cb(null, true); + } + + const error = 'Seuls les fichiers de type jpg et png sont acceptés'; + req.session.messages.push(error); + return cb(new Error(error)); + }, + }).single('image'); + + const baseUrl = getBaseUrl(req); + this.baseUploadDir = `${__dirname}/../../uploads/`; + this.userUploadDir = join(this.baseUploadDir, req.user._id); + this.userUri = `${baseUrl}/uploads/${req.user._id}`; + } + + /** + * + * @param {*} req + * @param {*} callback + */ + async postOne(req) { + await new Promise((resolve, reject) => { + this.upload(req, req.body, (err, data) => { + if (err) { + return reject(err); + } + + resolve(data); + }); + }); + + checkAndCreateDirectory(this.baseUploadDir); + checkAndCreateDirectory(this.userUploadDir); + + let ext = req.file.originalname.split('.'); + ext = ext[ext.length - 1]; + // eslint-disable-next-line max-len + const uploadname = `${uid(4)}_${Buffer.from(req.file.originalname).toString('base64')}.${ext}`; + const originalFileName = uploadname; + const mediumFileName = `medium_${uploadname}`; + const smallFileName = `small_${uploadname}`; + + copyFileSync(req.file.path, join(this.userUploadDir, originalFileName)); + + await resizeImage( + req.file.path, + path.join( + this.userUploadDir, + mediumFileName, + ), + 800, + 600, + ); + await resizeImage( + req.file.path, + path.join( + this.userUploadDir, + smallFileName, + ), + 300, + 200, + ); + + this.pageContent.page.upload = { + originalFile: `${this.userUri}/${originalFileName}`, + mediumFile: `${this.userUri}/${mediumFileName}`, + smallFile: `${this.userUri}/${smallFileName}`, + }; + + return true; + } + + /** + * Méthode permettant d'afficher la liste des images d'un utilisateur + * @param {Object} req + */ + async getAll(req) { + const currentPage = Number(req.query.page || 1); + const startAt = (currentPage - 1) * pagination; + const endAt = startAt + pagination; + const listOfFiles = []; + let total = 0; + + checkAndCreateDirectory(this.baseUploadDir); + checkAndCreateDirectory(this.userUploadDir); + + const files = fs.readdirSync(this.userUploadDir) + .map((v) => { + // eslint-disable-next-line max-len + return {name: v, time: statSync(join(this.userUploadDir, v)).mtime.getTime()}; + }) + .sort(function(a, b) { + return b.time - a.time; + }) + .map(function(v) { + return v.name; + }); + + for (let i = 0; i < files.length; i += 1) { + const file = files[i]; + if (file.indexOf('medium_') === 0) { + total += 1; + if (listOfFiles.length < endAt) { + listOfFiles.push({ + originalFile: `${this.userUri}/${file.replace('medium_', '')}`, + mediumFile: `${this.userUri}/${file}`, + smallFile: `${this.userUri}/${file.replace('medium_', 'small_')}`, + }); + } + } + } + + this.pageContent.page.images = listOfFiles.slice(startAt); + this.pageContent.page.currentPage = currentPage; + // eslint-disable-next-line max-len + this.pageContent.page.totalPages = Math.floor(total / pagination) + (total % pagination > 0 ? 1 : 0); + } +} + +module.exports = Uploads; diff --git a/src/models/Users.js b/src/models/Users.js new file mode 100644 index 0000000..76d586b --- /dev/null +++ b/src/models/Users.js @@ -0,0 +1,58 @@ +/* eslint-disable no-invalid-this */ +/* eslint-disable func-names */ +import mongoose from 'mongoose'; +import uniqueValidator from 'mongoose-unique-validator'; +import crypto from 'crypto'; + +const UserSchema = new mongoose.Schema( + { + username: { + type: String, + unique: true, + required: [true, 'username-required'], + match: [/^[a-zA-Z0-9]+$/, 'username-match'], + index: true, + }, + email: { + type: String, + lowercase: true, + unique: true, + required: [true, 'email-required'], + match: [/\S+@\S+\.\S+/, 'email-match'], + index: true, + }, + hash: String, + salt: String, + }, + {timestamps: true}, +); + +UserSchema.plugin(uniqueValidator, {message: 'email-dup'}); + +UserSchema.methods.validPassword = function(password) { + const [salt, key] = this.hash.split(':'); + + return key === crypto.scryptSync(password, salt, 64).toString('hex'); +}; + +UserSchema.pre('save', function(next) { + const user = this; + + if (!user.isModified('salt')) { + return next(); + } + + const salt = crypto.randomBytes(16).toString('hex'); + + return crypto.scrypt(user.salt, salt, 64, (err, derivedKey) => { + if (err) { + next(err); + } + this.salt = salt; + this.hash = `${salt}:${derivedKey.toString('hex')}`; + + next(); + }); +}); + +export default mongoose.model('Users', UserSchema); diff --git a/src/routes/auth.js b/src/routes/auth.js new file mode 100644 index 0000000..373291d --- /dev/null +++ b/src/routes/auth.js @@ -0,0 +1,75 @@ +/* eslint-disable func-names */ +import express from 'express'; +import passport from 'passport'; + +import Pages from '../middleware/Pages'; +import Auth from '../middleware/Auth'; +import render from '../libs/Render'; + +// eslint-disable-next-line new-cap +const router = express.Router(); + +router + .route('/connexion') + .get((req, res) => { + const page = new Pages(req, 'connexion'); + return render(req, res, null, page); + }) + .post( + passport.authenticate('user', { + failureRedirect: '/connexion', + failureMessage: true, + }), + (req, res) => { + const {next, query} = req.body; + let url = `/${next}`; + + if (next) { + if (query) { + const params = JSON.parse(query); + Object.keys(params).forEach((key) => { + url += `${url.indexOf('?') === -1 ? '?' : '&'}${key}=${ + params[key] + }`; + }); + } + return res.redirect(url); + } + return res.redirect('/'); + }, + ); + +router + .route('/inscription') + .get((req, res) => { + const page = new Pages(req, 'inscription'); + return render(req, res, null, page); + }) + .post(async (req, res) => { + try { + const page = new Auth(req); + await page.register(req); + + return res.redirect('/'); + } catch (err) { + if (err.errors) { + Object.keys(err.errors).forEach((key) => { + req.session.messages.push(err.errors[key].toString()); + }); + } else { + req.session.messages.push(err); + } + + return res.redirect('/inscription'); + } + }); + +router.route('/se-deconnecter').get((req, res) => { + req.session.destroy(() => { + req.logout(() => + res.redirect('/'), + ); + }); +}); + +export default router; diff --git a/src/routes/index.js b/src/routes/index.js new file mode 100644 index 0000000..6e89cb3 --- /dev/null +++ b/src/routes/index.js @@ -0,0 +1,44 @@ +import express from 'express'; +import {ensureLoggedIn} from 'connect-ensure-login'; +import Uploads from '../middleware/Uploads'; +import render from '../libs/Render'; + +// eslint-disable-next-line new-cap +const router = express.Router(); + +router.route('/').get(ensureLoggedIn('/connexion'), (req, res) => { + return res.redirect('/upload'); +}); + +router + .route('/upload') + .get(ensureLoggedIn('/connexion'), (req, res) => { + const page = new Uploads(req, 'upload'); + return render(req, res, null, page); + }) + .post(ensureLoggedIn('/connexion'), async (req, res, next) => { + try { + const page = new Uploads(req, 'upload'); + + await page.postOne(req); + + render(req, res, null, page); + } catch (err) { + next(err); + } + }); + +router.route('/gallery') + .get(ensureLoggedIn('/connexion'), async (req, res, next) => { + try { + const page = new Uploads(req, 'gallery'); + + await page.getAll(req); + + render(req, res, null, page); + } catch (err) { + next(err); + } + }); + +export default router; diff --git a/views/error.ejs b/views/error.ejs new file mode 100644 index 0000000..33bd963 --- /dev/null +++ b/views/error.ejs @@ -0,0 +1,10 @@ +
+
+

<%= page.title %>

+ <% if ( process.env.NODE_ENV !== 'production' ) { %> +
+
<%= error %>
+
+ <% } %> +
+
\ No newline at end of file diff --git a/views/index.ejs b/views/index.ejs new file mode 100644 index 0000000..4465cd9 --- /dev/null +++ b/views/index.ejs @@ -0,0 +1,12 @@ + + + <%- include('partials/head', {page: page, user: user, baseUrl: baseUrl}); %> + + <% if ( user ) { %> + <%- include('partials/header', {page: page, user: user, baseUrl: baseUrl}); %> + <% } %> + + <%- include(viewname, {page: page, params: params, query: query, user: user}) %> + <%- include('partials/footer', {page: page, query: query, user: user}); %> + + diff --git a/views/pages/connexion.ejs b/views/pages/connexion.ejs new file mode 100644 index 0000000..516a2ce --- /dev/null +++ b/views/pages/connexion.ejs @@ -0,0 +1,29 @@ +
+
+

+ Connexion +

+
+ + +
+
+ + +
+ + <% if ( messages ) {%> + <% for (let i = 0 ; i < messages.length ; i += 1 ) { %> + + <% } %> + <% } %> + +
+

Pas encore inscrit ? Inscrivez-vous

+
+ + +
+
\ No newline at end of file diff --git a/views/pages/gallery.ejs b/views/pages/gallery.ejs new file mode 100644 index 0000000..2030563 --- /dev/null +++ b/views/pages/gallery.ejs @@ -0,0 +1,89 @@ +
+
+ <% + for ( let i = 0 ; i < page.images.length ; i += 1 ) { + const image = page.images[i]; + %> + + <% + } + %> +
+ + +
+ + \ No newline at end of file diff --git a/views/pages/inscription.ejs b/views/pages/inscription.ejs new file mode 100644 index 0000000..7c36174 --- /dev/null +++ b/views/pages/inscription.ejs @@ -0,0 +1,54 @@ +<% +const errors = { + 'username-required': 'Le pseudo est requis', + 'username-match': 'Ce pseudo n\'est pas autorisé', + 'email-required': 'L\'email est requis', + 'email-match': 'L\'email n\'est pas valide', + 'email-dup': 'Cet email est déjà présent en base' +}; +%> +
+
+

+ Inscription +

+
+ + + <% if ( messages ) {%> + <% for (let i = 0 ; i < messages.length ; i += 1 ) { %> + <% if ( messages[i].includes('username') ) { %> + + <% } %> + <% } %> + <% } %> +
+
+ + + <% if ( messages ) {%> + <% for (let i = 0 ; i < messages.length ; i += 1 ) { %> + <% if ( messages[i].includes('email') ) { %> + + <% } %> + <% } %> + <% } %> + +
+
+ + +
+ +
+ Déjà inscrit ? + Connectez-vous +
+ + +
+
\ No newline at end of file diff --git a/views/pages/upload.ejs b/views/pages/upload.ejs new file mode 100644 index 0000000..8842d97 --- /dev/null +++ b/views/pages/upload.ejs @@ -0,0 +1,31 @@ +
+
+

+ Upload +

+
+ + +
+ + + + <% if ( page.upload ) { %> +
+
+ Miniature +
+
+ <%- include('../partials/file-links', {file: page.upload, index: 0}) %> +
+
+ <% } %> +
+
diff --git a/views/partials/file-links.ejs b/views/partials/file-links.ejs new file mode 100644 index 0000000..cc367a9 --- /dev/null +++ b/views/partials/file-links.ejs @@ -0,0 +1,39 @@ +
+ + +
+
+ + +
+
+ + +
+
+
\ No newline at end of file diff --git a/views/partials/footer.ejs b/views/partials/footer.ejs new file mode 100644 index 0000000..fb4657f --- /dev/null +++ b/views/partials/footer.ejs @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/views/partials/head.ejs b/views/partials/head.ejs new file mode 100644 index 0000000..fa28697 --- /dev/null +++ b/views/partials/head.ejs @@ -0,0 +1,10 @@ + + + + + + <% if (page.title) { %><%= page.title %> <% } else { %> DarKou - Simple Gallery <% } %> + + + + \ No newline at end of file diff --git a/views/partials/header.ejs b/views/partials/header.ejs new file mode 100644 index 0000000..6050b31 --- /dev/null +++ b/views/partials/header.ejs @@ -0,0 +1,70 @@ + + +
+ + +
\ No newline at end of file