├── README.md ├── package.json ├── Dockerfile ├── static ├── script.js └── style.css ├── views ├── register.ejs ├── preview.ejs └── button.ejs ├── .github └── workflows │ ├── docker-dockerhub.yml │ └── docker-github.yml ├── index.js └── yarn.lock /README.md: -------------------------------------------------------------------------------- 1 | # 2022 HGAME WEEK2 Designer 2 | 3 | > Come and design your button 4 | 5 | 本项目使用动态flag,请使用`$FLAG`环境变量传入flag数据(如`CTFd`),题目环境位于`9090`端口 6 | 7 | docker镜像发布于DockerHub:`randark/2023-hgame-week2-web-designer:master` 8 | 9 | 源码储存于Github:https://github.com/CTF-Archives/2023-hgame-week2-web-designer -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "btn-designer", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "license": "MIT", 6 | "dependencies": { 7 | "ejs": "^3.1.8", 8 | "express": "^4.18.2", 9 | "jsonwebtoken": "^9.0.0", 10 | "nodemon": "^2.0.20", 11 | "puppeteer": "^19.5.2", 12 | "query-string": "^8.1.0" 13 | }, 14 | "scripts": { 15 | "start": "nodemon -x 'node index.js || touch index.js'" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:19 2 | 3 | RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list \ 4 | && sed -i 's|security.debian.org/debian-security|mirrors.ustc.edu.cn/debian-security|g' /etc/apt/sources.list \ 5 | && apt-get update \ 6 | && apt-get install -y chromium \ 7 | && rm -rf /var/lib/apt/lists/* 8 | 9 | WORKDIR /app 10 | ADD . . 11 | RUN yarn config set registry https://registry.npmmirror.com && yarn 12 | 13 | CMD ["yarn", "start"] -------------------------------------------------------------------------------- /static/script.js: -------------------------------------------------------------------------------- 1 | $('.message a').click(function () { 2 | $('form').animate({ height: "toggle", opacity: "toggle" }, "slow"); 3 | }) 4 | 5 | $('#register').click(e => { 6 | e.preventDefault() 7 | const username = $('#username').val() 8 | axios.post("/user/register", { username }).then(res => { 9 | const { token } = res.data 10 | localStorage.setItem("token", token) 11 | if (token) { 12 | window.location = "/button/edit" 13 | } 14 | }) 15 | }) -------------------------------------------------------------------------------- /views/register.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Designer 7 | 8 | 9 | 10 | 11 |
12 |
13 | 17 |
18 |
19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /views/preview.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Designer 9 | 10 | 11 | 32 | 33 | 34 | 35 |
36 | CLICK ME 41 |
42 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /.github/workflows/docker-dockerhub.yml: -------------------------------------------------------------------------------- 1 | name: Publish Docker image to Dockerhub 2 | 3 | on: 4 | push: 5 | branches: [ "master" ] 6 | pull_request: 7 | branches: [ "master" ] 8 | 9 | jobs: 10 | push_to_registry: 11 | name: Push Docker image to Docker Hub 12 | runs-on: ubuntu-latest 13 | steps: 14 | - name: Check out the repo 15 | uses: actions/checkout@v3 16 | 17 | - name: Log in to Docker Hub 18 | uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 19 | with: 20 | username: ${{ secrets.DOCKER_USERNAME }} 21 | password: ${{ secrets.DOCKER_PASSWORD }} 22 | 23 | - name: Extract metadata (tags, labels) for Docker 24 | id: meta 25 | uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 26 | with: 27 | images: randark/2023-hgame-week2-web-designer 28 | 29 | - name: Build and push Docker image 30 | uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc 31 | with: 32 | context: . 33 | push: true 34 | tags: ${{ steps.meta.outputs.tags }} 35 | labels: ${{ steps.meta.outputs.labels }} 36 | - name: Docker Hub Description 37 | uses: peter-evans/dockerhub-description@v3 38 | with: 39 | username: ${{ secrets.DOCKER_USERNAME }} 40 | password: ${{ secrets.DOCKER_PASSWORD }} 41 | repository: randark/2023-hgame-week2-web-designer -------------------------------------------------------------------------------- /static/style.css: -------------------------------------------------------------------------------- 1 | @import url(https://fonts.googleapis.com/css?family=Roboto:300); 2 | 3 | .login-page { 4 | width: 360px; 5 | padding: 8% 0 0; 6 | margin: auto; 7 | } 8 | .form { 9 | position: relative; 10 | z-index: 1; 11 | background: #FFFFFF; 12 | max-width: 360px; 13 | margin: 0 auto 100px; 14 | padding: 45px; 15 | text-align: center; 16 | box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2), 0 5px 5px 0 rgba(0, 0, 0, 0.24); 17 | } 18 | .form input { 19 | font-family: "Roboto", sans-serif; 20 | outline: 0; 21 | background: #f2f2f2; 22 | width: 100%; 23 | border: 0; 24 | margin: 0 0 15px; 25 | padding: 15px; 26 | box-sizing: border-box; 27 | font-size: 14px; 28 | } 29 | .form button { 30 | font-family: "Roboto", sans-serif; 31 | text-transform: uppercase; 32 | outline: 0; 33 | background: #4CAF50; 34 | width: 100%; 35 | border: 0; 36 | padding: 15px; 37 | color: #FFFFFF; 38 | font-size: 14px; 39 | -webkit-transition: all 0.3 ease; 40 | transition: all 0.3 ease; 41 | cursor: pointer; 42 | } 43 | .form button:hover,.form button:active,.form button:focus { 44 | background: #43A047; 45 | } 46 | .form .message { 47 | margin: 15px 0 0; 48 | color: #b3b3b3; 49 | font-size: 12px; 50 | } 51 | .form .message a { 52 | color: #4CAF50; 53 | text-decoration: none; 54 | } 55 | .form .register-form { 56 | display: none; 57 | } 58 | .container { 59 | position: relative; 60 | z-index: 1; 61 | max-width: 300px; 62 | margin: 0 auto; 63 | } 64 | .container:before, .container:after { 65 | content: ""; 66 | display: block; 67 | clear: both; 68 | } 69 | .container .info { 70 | margin: 50px auto; 71 | text-align: center; 72 | } 73 | .container .info h1 { 74 | margin: 0 0 15px; 75 | padding: 0; 76 | font-size: 36px; 77 | font-weight: 300; 78 | color: #1a1a1a; 79 | } 80 | .container .info span { 81 | color: #4d4d4d; 82 | font-size: 12px; 83 | } 84 | .container .info span a { 85 | color: #000000; 86 | text-decoration: none; 87 | } 88 | .container .info span .fa { 89 | color: #EF3B3A; 90 | } 91 | body { 92 | background: #76b852; /* fallback for old browsers */ 93 | background: rgb(141,194,111); 94 | background: linear-gradient(90deg, rgba(141,194,111,1) 0%, rgba(118,184,82,1) 50%); 95 | font-family: "Roboto", sans-serif; 96 | -webkit-font-smoothing: antialiased; 97 | -moz-osx-font-smoothing: grayscale; 98 | } -------------------------------------------------------------------------------- /.github/workflows/docker-github.yml: -------------------------------------------------------------------------------- 1 | name: Publish Docker image to Github 2 | 3 | on: 4 | push: 5 | branches: [ "master" ] 6 | # Publish semver tags as releases. 7 | tags: [ 'v*.*.*' ] 8 | pull_request: 9 | branches: [ "master" ] 10 | 11 | env: 12 | # Use docker.io for Docker Hub if empty 13 | REGISTRY: ghcr.io 14 | # github.repository as / 15 | IMAGE_NAME: ${{ github.repository }} 16 | 17 | 18 | jobs: 19 | build: 20 | 21 | runs-on: ubuntu-latest 22 | permissions: 23 | contents: read 24 | packages: write 25 | # This is used to complete the identity challenge 26 | # with sigstore/fulcio when running outside of PRs. 27 | id-token: write 28 | 29 | steps: 30 | - name: Checkout repository 31 | uses: actions/checkout@v3 32 | 33 | # Install the cosign tool except on PR 34 | # https://github.com/sigstore/cosign-installer 35 | - name: Install cosign 36 | if: github.event_name != 'pull_request' 37 | uses: sigstore/cosign-installer@f3c664df7af409cb4873aa5068053ba9d61a57b6 #v2.6.0 38 | with: 39 | cosign-release: 'v1.11.0' 40 | 41 | 42 | # Workaround: https://github.com/docker/build-push-action/issues/461 43 | - name: Setup Docker buildx 44 | uses: docker/setup-buildx-action@79abd3f86f79a9d68a23c75a09a9a85889262adf 45 | 46 | # Login against a Docker registry except on PR 47 | # https://github.com/docker/login-action 48 | - name: Log into registry ${{ env.REGISTRY }} 49 | if: github.event_name != 'pull_request' 50 | uses: docker/login-action@28218f9b04b4f3f62068d7b6ce6ca5b26e35336c 51 | with: 52 | registry: ${{ env.REGISTRY }} 53 | username: ${{ github.actor }} 54 | password: ${{ secrets.RANDARK_TOKEN }} 55 | 56 | # Extract metadata (tags, labels) for Docker 57 | # https://github.com/docker/metadata-action 58 | - name: Extract Docker metadata 59 | id: meta 60 | uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 61 | with: 62 | images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} 63 | 64 | # Build and push Docker image with Buildx (don't push on PR) 65 | # https://github.com/docker/build-push-action 66 | - name: Build and push Docker image 67 | id: build-and-push 68 | uses: docker/build-push-action@ac9327eae2b366085ac7f6a2d02df8aa8ead720a 69 | with: 70 | context: . 71 | push: ${{ github.event_name != 'pull_request' }} 72 | tags: ${{ steps.meta.outputs.tags }} 73 | labels: ${{ steps.meta.outputs.labels }} 74 | cache-from: type=gha 75 | cache-to: type=gha,mode=max -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | const express = require("express") 2 | const jwt = require("jsonwebtoken") 3 | const puppeteer = require('puppeteer') 4 | const querystring = require('node:querystring') 5 | 6 | const app = express() 7 | 8 | app.use(express.static("./static")) 9 | app.use(express.json()) 10 | app.set("view engine", "ejs") 11 | app.set("views", "views") 12 | app.use(express.urlencoded({ extended: false })) 13 | 14 | const secret = "secret_here" 15 | 16 | function auth(req, res, next) { 17 | const token = req.headers["authorization"] 18 | if (!token) { 19 | return res.redirect("/") 20 | } 21 | try { 22 | const decoded = jwt.verify(token, secret) || {} 23 | req.user = decoded 24 | } catch { 25 | return res.status(500).json({ msg: "jwt decode error" }) 26 | } 27 | next() 28 | } 29 | 30 | app.get("/", (req, res) => { 31 | res.render("register") 32 | }) 33 | 34 | app.post("/user/register", (req, res) => { 35 | const username = req.body.username 36 | let flag = "NSSCTF{fake_flag_here}" 37 | if (username == "admin" && req.ip == "127.0.0.1" || req.ip == "::ffff:127.0.0.1") { 38 | flag = "NSSCTF{133716e2-c985-46f7-81d6-dae5b7c460ab}" 39 | } 40 | const token = jwt.sign({ username, flag }, secret) 41 | res.json({ token }) 42 | }) 43 | 44 | app.get("/user/info", auth, (req, res) => { 45 | res.json({ username: req.user.username, flag: req.user.flag }) 46 | }) 47 | 48 | app.post("/button/save", auth, (req, res) => { 49 | req.user.style = {} 50 | for (const key in req.body) { 51 | req.user.style[key] = req.body[key] 52 | } 53 | const token = jwt.sign(req.user, secret) 54 | res.json({ token }) 55 | }) 56 | 57 | app.get("/button/get", auth, (req, res) => { 58 | const style = req.user.style 59 | res.json({ style }) 60 | }) 61 | 62 | app.get("/button/edit", (req, res) => { 63 | // render a button 64 | res.render("button") 65 | }) 66 | 67 | app.post("/button/share", auth, async (req, res) => { 68 | const browser = await puppeteer.launch({ 69 | headless: true, 70 | executablePath: "/usr/bin/chromium", 71 | args: ['--no-sandbox'] 72 | }); 73 | const page = await browser.newPage() 74 | const query = querystring.encode(req.body) 75 | await page.goto('http://127.0.0.1:9090/button/preview?' + query) 76 | await page.evaluate(() => { 77 | return localStorage.setItem("token", "jwt_token_here") 78 | }) 79 | await page.click("#button") 80 | 81 | res.json({ msg: "admin will see it later" }) 82 | }) 83 | 84 | app.get("/button/preview", (req, res) => { 85 | const blacklist = [ 86 | /on/i, /localStorage/i, /alert/, /fetch/, /XMLHttpRequest/, /window/, /location/, /document/ 87 | ] 88 | for (const key in req.query) { 89 | for (const item of blacklist) { 90 | if (item.test(key.trim()) || item.test(req.query[key].trim())) { 91 | req.query[key] = "" 92 | } 93 | } 94 | } 95 | res.render("preview", { data: req.query }) 96 | }) 97 | 98 | app.listen(9090) -------------------------------------------------------------------------------- /views/button.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Designer 9 | 10 | 11 | 71 | 72 | 73 | 74 |
75 |

Customize your button

76 |
77 |
78 | 79 | 80 |
81 |
82 | 83 | 84 |
85 |
86 | 87 | 88 |
89 |
90 | 91 | 92 |
93 |
94 | 95 | 96 |
97 |
98 | 99 | 100 | 101 |
102 |
103 |
104 | 168 | 169 | 170 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.0.0": 6 | version "7.18.6" 7 | resolved "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" 8 | integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== 9 | dependencies: 10 | "@babel/highlight" "^7.18.6" 11 | 12 | "@babel/helper-validator-identifier@^7.18.6": 13 | version "7.19.1" 14 | resolved "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" 15 | integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== 16 | 17 | "@babel/highlight@^7.18.6": 18 | version "7.18.6" 19 | resolved "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" 20 | integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== 21 | dependencies: 22 | "@babel/helper-validator-identifier" "^7.18.6" 23 | chalk "^2.0.0" 24 | js-tokens "^4.0.0" 25 | 26 | "@types/node@*": 27 | version "18.11.18" 28 | resolved "https://registry.npmmirror.com/@types/node/-/node-18.11.18.tgz#8dfb97f0da23c2293e554c5a50d61ef134d7697f" 29 | integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA== 30 | 31 | "@types/yauzl@^2.9.1": 32 | version "2.10.0" 33 | resolved "https://registry.npmmirror.com/@types/yauzl/-/yauzl-2.10.0.tgz#b3248295276cf8c6f153ebe6a9aba0c988cb2599" 34 | integrity sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw== 35 | dependencies: 36 | "@types/node" "*" 37 | 38 | abbrev@1: 39 | version "1.1.1" 40 | resolved "https://registry.npmmirror.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" 41 | integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== 42 | 43 | accepts@~1.3.8: 44 | version "1.3.8" 45 | resolved "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" 46 | integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== 47 | dependencies: 48 | mime-types "~2.1.34" 49 | negotiator "0.6.3" 50 | 51 | agent-base@6: 52 | version "6.0.2" 53 | resolved "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" 54 | integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== 55 | dependencies: 56 | debug "4" 57 | 58 | ansi-styles@^3.2.1: 59 | version "3.2.1" 60 | resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 61 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 62 | dependencies: 63 | color-convert "^1.9.0" 64 | 65 | ansi-styles@^4.1.0: 66 | version "4.3.0" 67 | resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 68 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 69 | dependencies: 70 | color-convert "^2.0.1" 71 | 72 | anymatch@~3.1.2: 73 | version "3.1.3" 74 | resolved "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" 75 | integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== 76 | dependencies: 77 | normalize-path "^3.0.0" 78 | picomatch "^2.0.4" 79 | 80 | argparse@^2.0.1: 81 | version "2.0.1" 82 | resolved "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" 83 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== 84 | 85 | array-flatten@1.1.1: 86 | version "1.1.1" 87 | resolved "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" 88 | integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== 89 | 90 | async@^3.2.3: 91 | version "3.2.4" 92 | resolved "https://registry.npmmirror.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" 93 | integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== 94 | 95 | balanced-match@^1.0.0: 96 | version "1.0.2" 97 | resolved "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 98 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 99 | 100 | base64-js@^1.3.1: 101 | version "1.5.1" 102 | resolved "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" 103 | integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== 104 | 105 | binary-extensions@^2.0.0: 106 | version "2.2.0" 107 | resolved "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 108 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 109 | 110 | bl@^4.0.3: 111 | version "4.1.0" 112 | resolved "https://registry.npmmirror.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" 113 | integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== 114 | dependencies: 115 | buffer "^5.5.0" 116 | inherits "^2.0.4" 117 | readable-stream "^3.4.0" 118 | 119 | body-parser@1.20.1: 120 | version "1.20.1" 121 | resolved "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" 122 | integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== 123 | dependencies: 124 | bytes "3.1.2" 125 | content-type "~1.0.4" 126 | debug "2.6.9" 127 | depd "2.0.0" 128 | destroy "1.2.0" 129 | http-errors "2.0.0" 130 | iconv-lite "0.4.24" 131 | on-finished "2.4.1" 132 | qs "6.11.0" 133 | raw-body "2.5.1" 134 | type-is "~1.6.18" 135 | unpipe "1.0.0" 136 | 137 | brace-expansion@^1.1.7: 138 | version "1.1.11" 139 | resolved "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 140 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 141 | dependencies: 142 | balanced-match "^1.0.0" 143 | concat-map "0.0.1" 144 | 145 | brace-expansion@^2.0.1: 146 | version "2.0.1" 147 | resolved "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" 148 | integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== 149 | dependencies: 150 | balanced-match "^1.0.0" 151 | 152 | braces@~3.0.2: 153 | version "3.0.2" 154 | resolved "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 155 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 156 | dependencies: 157 | fill-range "^7.0.1" 158 | 159 | buffer-crc32@~0.2.3: 160 | version "0.2.13" 161 | resolved "https://registry.npmmirror.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" 162 | integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== 163 | 164 | buffer-equal-constant-time@1.0.1: 165 | version "1.0.1" 166 | resolved "https://registry.npmmirror.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" 167 | integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== 168 | 169 | buffer@^5.2.1, buffer@^5.5.0: 170 | version "5.7.1" 171 | resolved "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" 172 | integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== 173 | dependencies: 174 | base64-js "^1.3.1" 175 | ieee754 "^1.1.13" 176 | 177 | bytes@3.1.2: 178 | version "3.1.2" 179 | resolved "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" 180 | integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== 181 | 182 | call-bind@^1.0.0: 183 | version "1.0.2" 184 | resolved "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 185 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 186 | dependencies: 187 | function-bind "^1.1.1" 188 | get-intrinsic "^1.0.2" 189 | 190 | callsites@^3.0.0: 191 | version "3.1.0" 192 | resolved "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 193 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 194 | 195 | chalk@^2.0.0: 196 | version "2.4.2" 197 | resolved "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 198 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 199 | dependencies: 200 | ansi-styles "^3.2.1" 201 | escape-string-regexp "^1.0.5" 202 | supports-color "^5.3.0" 203 | 204 | chalk@^4.0.2: 205 | version "4.1.2" 206 | resolved "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 207 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 208 | dependencies: 209 | ansi-styles "^4.1.0" 210 | supports-color "^7.1.0" 211 | 212 | chokidar@^3.5.2: 213 | version "3.5.3" 214 | resolved "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" 215 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== 216 | dependencies: 217 | anymatch "~3.1.2" 218 | braces "~3.0.2" 219 | glob-parent "~5.1.2" 220 | is-binary-path "~2.1.0" 221 | is-glob "~4.0.1" 222 | normalize-path "~3.0.0" 223 | readdirp "~3.6.0" 224 | optionalDependencies: 225 | fsevents "~2.3.2" 226 | 227 | chownr@^1.1.1: 228 | version "1.1.4" 229 | resolved "https://registry.npmmirror.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" 230 | integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== 231 | 232 | color-convert@^1.9.0: 233 | version "1.9.3" 234 | resolved "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 235 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 236 | dependencies: 237 | color-name "1.1.3" 238 | 239 | color-convert@^2.0.1: 240 | version "2.0.1" 241 | resolved "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 242 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 243 | dependencies: 244 | color-name "~1.1.4" 245 | 246 | color-name@1.1.3: 247 | version "1.1.3" 248 | resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 249 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== 250 | 251 | color-name@~1.1.4: 252 | version "1.1.4" 253 | resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 254 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 255 | 256 | concat-map@0.0.1: 257 | version "0.0.1" 258 | resolved "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 259 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== 260 | 261 | content-disposition@0.5.4: 262 | version "0.5.4" 263 | resolved "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" 264 | integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== 265 | dependencies: 266 | safe-buffer "5.2.1" 267 | 268 | content-type@~1.0.4: 269 | version "1.0.4" 270 | resolved "https://registry.npmmirror.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" 271 | integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== 272 | 273 | cookie-signature@1.0.6: 274 | version "1.0.6" 275 | resolved "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" 276 | integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== 277 | 278 | cookie@0.5.0: 279 | version "0.5.0" 280 | resolved "https://registry.npmmirror.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" 281 | integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== 282 | 283 | cosmiconfig@8.0.0: 284 | version "8.0.0" 285 | resolved "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-8.0.0.tgz#e9feae014eab580f858f8a0288f38997a7bebe97" 286 | integrity sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ== 287 | dependencies: 288 | import-fresh "^3.2.1" 289 | js-yaml "^4.1.0" 290 | parse-json "^5.0.0" 291 | path-type "^4.0.0" 292 | 293 | cross-fetch@3.1.5: 294 | version "3.1.5" 295 | resolved "https://registry.npmmirror.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" 296 | integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== 297 | dependencies: 298 | node-fetch "2.6.7" 299 | 300 | debug@2.6.9: 301 | version "2.6.9" 302 | resolved "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 303 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 304 | dependencies: 305 | ms "2.0.0" 306 | 307 | debug@4, debug@4.3.4, debug@^4.1.1: 308 | version "4.3.4" 309 | resolved "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 310 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 311 | dependencies: 312 | ms "2.1.2" 313 | 314 | debug@^3.2.7: 315 | version "3.2.7" 316 | resolved "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" 317 | integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== 318 | dependencies: 319 | ms "^2.1.1" 320 | 321 | decode-uri-component@^0.4.1: 322 | version "0.4.1" 323 | resolved "https://registry.npmmirror.com/decode-uri-component/-/decode-uri-component-0.4.1.tgz#2ac4859663c704be22bf7db760a1494a49ab2cc5" 324 | integrity sha512-+8VxcR21HhTy8nOt6jf20w0c9CADrw1O8d+VZ/YzzCt4bJ3uBjw+D1q2osAB8RnpwwaeYBxy0HyKQxD5JBMuuQ== 325 | 326 | depd@2.0.0: 327 | version "2.0.0" 328 | resolved "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" 329 | integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== 330 | 331 | destroy@1.2.0: 332 | version "1.2.0" 333 | resolved "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" 334 | integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== 335 | 336 | devtools-protocol@0.0.1068969: 337 | version "0.0.1068969" 338 | resolved "https://registry.npmmirror.com/devtools-protocol/-/devtools-protocol-0.0.1068969.tgz#8b9a4bc48aed1453bed08d62b07481f9abf4d6d8" 339 | integrity sha512-ATFTrPbY1dKYhPPvpjtwWKSK2mIwGmRwX54UASn9THEuIZCe2n9k3vVuMmt6jWeL+e5QaaguEv/pMyR+JQB7VQ== 340 | 341 | ecdsa-sig-formatter@1.0.11: 342 | version "1.0.11" 343 | resolved "https://registry.npmmirror.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" 344 | integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== 345 | dependencies: 346 | safe-buffer "^5.0.1" 347 | 348 | ee-first@1.1.1: 349 | version "1.1.1" 350 | resolved "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 351 | integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== 352 | 353 | ejs@^3.1.8: 354 | version "3.1.8" 355 | resolved "https://registry.npmmirror.com/ejs/-/ejs-3.1.8.tgz#758d32910c78047585c7ef1f92f9ee041c1c190b" 356 | integrity sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ== 357 | dependencies: 358 | jake "^10.8.5" 359 | 360 | encodeurl@~1.0.2: 361 | version "1.0.2" 362 | resolved "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" 363 | integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== 364 | 365 | end-of-stream@^1.1.0, end-of-stream@^1.4.1: 366 | version "1.4.4" 367 | resolved "https://registry.npmmirror.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" 368 | integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== 369 | dependencies: 370 | once "^1.4.0" 371 | 372 | error-ex@^1.3.1: 373 | version "1.3.2" 374 | resolved "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 375 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 376 | dependencies: 377 | is-arrayish "^0.2.1" 378 | 379 | escape-html@~1.0.3: 380 | version "1.0.3" 381 | resolved "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 382 | integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== 383 | 384 | escape-string-regexp@^1.0.5: 385 | version "1.0.5" 386 | resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 387 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== 388 | 389 | etag@~1.8.1: 390 | version "1.8.1" 391 | resolved "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 392 | integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== 393 | 394 | express@^4.18.2: 395 | version "4.18.2" 396 | resolved "https://registry.npmmirror.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" 397 | integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== 398 | dependencies: 399 | accepts "~1.3.8" 400 | array-flatten "1.1.1" 401 | body-parser "1.20.1" 402 | content-disposition "0.5.4" 403 | content-type "~1.0.4" 404 | cookie "0.5.0" 405 | cookie-signature "1.0.6" 406 | debug "2.6.9" 407 | depd "2.0.0" 408 | encodeurl "~1.0.2" 409 | escape-html "~1.0.3" 410 | etag "~1.8.1" 411 | finalhandler "1.2.0" 412 | fresh "0.5.2" 413 | http-errors "2.0.0" 414 | merge-descriptors "1.0.1" 415 | methods "~1.1.2" 416 | on-finished "2.4.1" 417 | parseurl "~1.3.3" 418 | path-to-regexp "0.1.7" 419 | proxy-addr "~2.0.7" 420 | qs "6.11.0" 421 | range-parser "~1.2.1" 422 | safe-buffer "5.2.1" 423 | send "0.18.0" 424 | serve-static "1.15.0" 425 | setprototypeof "1.2.0" 426 | statuses "2.0.1" 427 | type-is "~1.6.18" 428 | utils-merge "1.0.1" 429 | vary "~1.1.2" 430 | 431 | extract-zip@2.0.1: 432 | version "2.0.1" 433 | resolved "https://registry.npmmirror.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" 434 | integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== 435 | dependencies: 436 | debug "^4.1.1" 437 | get-stream "^5.1.0" 438 | yauzl "^2.10.0" 439 | optionalDependencies: 440 | "@types/yauzl" "^2.9.1" 441 | 442 | fd-slicer@~1.1.0: 443 | version "1.1.0" 444 | resolved "https://registry.npmmirror.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" 445 | integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== 446 | dependencies: 447 | pend "~1.2.0" 448 | 449 | filelist@^1.0.1: 450 | version "1.0.4" 451 | resolved "https://registry.npmmirror.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" 452 | integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== 453 | dependencies: 454 | minimatch "^5.0.1" 455 | 456 | fill-range@^7.0.1: 457 | version "7.0.1" 458 | resolved "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 459 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 460 | dependencies: 461 | to-regex-range "^5.0.1" 462 | 463 | filter-obj@^5.1.0: 464 | version "5.1.0" 465 | resolved "https://registry.npmmirror.com/filter-obj/-/filter-obj-5.1.0.tgz#5bd89676000a713d7db2e197f660274428e524ed" 466 | integrity sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng== 467 | 468 | finalhandler@1.2.0: 469 | version "1.2.0" 470 | resolved "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" 471 | integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== 472 | dependencies: 473 | debug "2.6.9" 474 | encodeurl "~1.0.2" 475 | escape-html "~1.0.3" 476 | on-finished "2.4.1" 477 | parseurl "~1.3.3" 478 | statuses "2.0.1" 479 | unpipe "~1.0.0" 480 | 481 | forwarded@0.2.0: 482 | version "0.2.0" 483 | resolved "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" 484 | integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== 485 | 486 | fresh@0.5.2: 487 | version "0.5.2" 488 | resolved "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" 489 | integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== 490 | 491 | fs-constants@^1.0.0: 492 | version "1.0.0" 493 | resolved "https://registry.npmmirror.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" 494 | integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== 495 | 496 | fs.realpath@^1.0.0: 497 | version "1.0.0" 498 | resolved "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 499 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== 500 | 501 | fsevents@~2.3.2: 502 | version "2.3.2" 503 | resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 504 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 505 | 506 | function-bind@^1.1.1: 507 | version "1.1.1" 508 | resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 509 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 510 | 511 | get-intrinsic@^1.0.2: 512 | version "1.1.3" 513 | resolved "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" 514 | integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== 515 | dependencies: 516 | function-bind "^1.1.1" 517 | has "^1.0.3" 518 | has-symbols "^1.0.3" 519 | 520 | get-stream@^5.1.0: 521 | version "5.2.0" 522 | resolved "https://registry.npmmirror.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" 523 | integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== 524 | dependencies: 525 | pump "^3.0.0" 526 | 527 | glob-parent@~5.1.2: 528 | version "5.1.2" 529 | resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 530 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 531 | dependencies: 532 | is-glob "^4.0.1" 533 | 534 | glob@^7.1.3: 535 | version "7.2.3" 536 | resolved "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" 537 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== 538 | dependencies: 539 | fs.realpath "^1.0.0" 540 | inflight "^1.0.4" 541 | inherits "2" 542 | minimatch "^3.1.1" 543 | once "^1.3.0" 544 | path-is-absolute "^1.0.0" 545 | 546 | has-flag@^3.0.0: 547 | version "3.0.0" 548 | resolved "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 549 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== 550 | 551 | has-flag@^4.0.0: 552 | version "4.0.0" 553 | resolved "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 554 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 555 | 556 | has-symbols@^1.0.3: 557 | version "1.0.3" 558 | resolved "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" 559 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== 560 | 561 | has@^1.0.3: 562 | version "1.0.3" 563 | resolved "https://registry.npmmirror.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 564 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 565 | dependencies: 566 | function-bind "^1.1.1" 567 | 568 | http-errors@2.0.0: 569 | version "2.0.0" 570 | resolved "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" 571 | integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== 572 | dependencies: 573 | depd "2.0.0" 574 | inherits "2.0.4" 575 | setprototypeof "1.2.0" 576 | statuses "2.0.1" 577 | toidentifier "1.0.1" 578 | 579 | https-proxy-agent@5.0.1: 580 | version "5.0.1" 581 | resolved "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" 582 | integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== 583 | dependencies: 584 | agent-base "6" 585 | debug "4" 586 | 587 | iconv-lite@0.4.24: 588 | version "0.4.24" 589 | resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 590 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 591 | dependencies: 592 | safer-buffer ">= 2.1.2 < 3" 593 | 594 | ieee754@^1.1.13: 595 | version "1.2.1" 596 | resolved "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" 597 | integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== 598 | 599 | ignore-by-default@^1.0.1: 600 | version "1.0.1" 601 | resolved "https://registry.npmmirror.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" 602 | integrity sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA== 603 | 604 | import-fresh@^3.2.1: 605 | version "3.3.0" 606 | resolved "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" 607 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 608 | dependencies: 609 | parent-module "^1.0.0" 610 | resolve-from "^4.0.0" 611 | 612 | inflight@^1.0.4: 613 | version "1.0.6" 614 | resolved "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 615 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== 616 | dependencies: 617 | once "^1.3.0" 618 | wrappy "1" 619 | 620 | inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4: 621 | version "2.0.4" 622 | resolved "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 623 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 624 | 625 | ipaddr.js@1.9.1: 626 | version "1.9.1" 627 | resolved "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" 628 | integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== 629 | 630 | is-arrayish@^0.2.1: 631 | version "0.2.1" 632 | resolved "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 633 | integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== 634 | 635 | is-binary-path@~2.1.0: 636 | version "2.1.0" 637 | resolved "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 638 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 639 | dependencies: 640 | binary-extensions "^2.0.0" 641 | 642 | is-extglob@^2.1.1: 643 | version "2.1.1" 644 | resolved "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 645 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 646 | 647 | is-glob@^4.0.1, is-glob@~4.0.1: 648 | version "4.0.3" 649 | resolved "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 650 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 651 | dependencies: 652 | is-extglob "^2.1.1" 653 | 654 | is-number@^7.0.0: 655 | version "7.0.0" 656 | resolved "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 657 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 658 | 659 | jake@^10.8.5: 660 | version "10.8.5" 661 | resolved "https://registry.npmmirror.com/jake/-/jake-10.8.5.tgz#f2183d2c59382cb274226034543b9c03b8164c46" 662 | integrity sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw== 663 | dependencies: 664 | async "^3.2.3" 665 | chalk "^4.0.2" 666 | filelist "^1.0.1" 667 | minimatch "^3.0.4" 668 | 669 | js-tokens@^4.0.0: 670 | version "4.0.0" 671 | resolved "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 672 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 673 | 674 | js-yaml@^4.1.0: 675 | version "4.1.0" 676 | resolved "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" 677 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== 678 | dependencies: 679 | argparse "^2.0.1" 680 | 681 | json-parse-even-better-errors@^2.3.0: 682 | version "2.3.1" 683 | resolved "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" 684 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== 685 | 686 | jsonwebtoken@^9.0.0: 687 | version "9.0.0" 688 | resolved "https://registry.npmmirror.com/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz#d0faf9ba1cc3a56255fe49c0961a67e520c1926d" 689 | integrity sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw== 690 | dependencies: 691 | jws "^3.2.2" 692 | lodash "^4.17.21" 693 | ms "^2.1.1" 694 | semver "^7.3.8" 695 | 696 | jwa@^1.4.1: 697 | version "1.4.1" 698 | resolved "https://registry.npmmirror.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" 699 | integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== 700 | dependencies: 701 | buffer-equal-constant-time "1.0.1" 702 | ecdsa-sig-formatter "1.0.11" 703 | safe-buffer "^5.0.1" 704 | 705 | jws@^3.2.2: 706 | version "3.2.2" 707 | resolved "https://registry.npmmirror.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" 708 | integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== 709 | dependencies: 710 | jwa "^1.4.1" 711 | safe-buffer "^5.0.1" 712 | 713 | lines-and-columns@^1.1.6: 714 | version "1.2.4" 715 | resolved "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" 716 | integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== 717 | 718 | lodash@^4.17.21: 719 | version "4.17.21" 720 | resolved "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 721 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 722 | 723 | lru-cache@^6.0.0: 724 | version "6.0.0" 725 | resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 726 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 727 | dependencies: 728 | yallist "^4.0.0" 729 | 730 | media-typer@0.3.0: 731 | version "0.3.0" 732 | resolved "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" 733 | integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== 734 | 735 | merge-descriptors@1.0.1: 736 | version "1.0.1" 737 | resolved "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" 738 | integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== 739 | 740 | methods@~1.1.2: 741 | version "1.1.2" 742 | resolved "https://registry.npmmirror.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" 743 | integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== 744 | 745 | mime-db@1.52.0: 746 | version "1.52.0" 747 | resolved "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" 748 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 749 | 750 | mime-types@~2.1.24, mime-types@~2.1.34: 751 | version "2.1.35" 752 | resolved "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" 753 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 754 | dependencies: 755 | mime-db "1.52.0" 756 | 757 | mime@1.6.0: 758 | version "1.6.0" 759 | resolved "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 760 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== 761 | 762 | minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: 763 | version "3.1.2" 764 | resolved "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 765 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 766 | dependencies: 767 | brace-expansion "^1.1.7" 768 | 769 | minimatch@^5.0.1: 770 | version "5.1.2" 771 | resolved "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.2.tgz#0939d7d6f0898acbd1508abe534d1929368a8fff" 772 | integrity sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg== 773 | dependencies: 774 | brace-expansion "^2.0.1" 775 | 776 | mkdirp-classic@^0.5.2: 777 | version "0.5.3" 778 | resolved "https://registry.npmmirror.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" 779 | integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== 780 | 781 | ms@2.0.0: 782 | version "2.0.0" 783 | resolved "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 784 | integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== 785 | 786 | ms@2.1.2: 787 | version "2.1.2" 788 | resolved "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 789 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 790 | 791 | ms@2.1.3, ms@^2.1.1: 792 | version "2.1.3" 793 | resolved "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 794 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 795 | 796 | negotiator@0.6.3: 797 | version "0.6.3" 798 | resolved "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" 799 | integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== 800 | 801 | node-fetch@2.6.7: 802 | version "2.6.7" 803 | resolved "https://registry.npmmirror.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" 804 | integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== 805 | dependencies: 806 | whatwg-url "^5.0.0" 807 | 808 | nodemon@^2.0.20: 809 | version "2.0.20" 810 | resolved "https://registry.npmmirror.com/nodemon/-/nodemon-2.0.20.tgz#e3537de768a492e8d74da5c5813cb0c7486fc701" 811 | integrity sha512-Km2mWHKKY5GzRg6i1j5OxOHQtuvVsgskLfigG25yTtbyfRGn/GNvIbRyOf1PSCKJ2aT/58TiuUsuOU5UToVViw== 812 | dependencies: 813 | chokidar "^3.5.2" 814 | debug "^3.2.7" 815 | ignore-by-default "^1.0.1" 816 | minimatch "^3.1.2" 817 | pstree.remy "^1.1.8" 818 | semver "^5.7.1" 819 | simple-update-notifier "^1.0.7" 820 | supports-color "^5.5.0" 821 | touch "^3.1.0" 822 | undefsafe "^2.0.5" 823 | 824 | nopt@~1.0.10: 825 | version "1.0.10" 826 | resolved "https://registry.npmmirror.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" 827 | integrity sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg== 828 | dependencies: 829 | abbrev "1" 830 | 831 | normalize-path@^3.0.0, normalize-path@~3.0.0: 832 | version "3.0.0" 833 | resolved "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 834 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 835 | 836 | object-inspect@^1.9.0: 837 | version "1.12.2" 838 | resolved "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" 839 | integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== 840 | 841 | on-finished@2.4.1: 842 | version "2.4.1" 843 | resolved "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" 844 | integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== 845 | dependencies: 846 | ee-first "1.1.1" 847 | 848 | once@^1.3.0, once@^1.3.1, once@^1.4.0: 849 | version "1.4.0" 850 | resolved "https://registry.npmmirror.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 851 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 852 | dependencies: 853 | wrappy "1" 854 | 855 | parent-module@^1.0.0: 856 | version "1.0.1" 857 | resolved "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 858 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 859 | dependencies: 860 | callsites "^3.0.0" 861 | 862 | parse-json@^5.0.0: 863 | version "5.2.0" 864 | resolved "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" 865 | integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== 866 | dependencies: 867 | "@babel/code-frame" "^7.0.0" 868 | error-ex "^1.3.1" 869 | json-parse-even-better-errors "^2.3.0" 870 | lines-and-columns "^1.1.6" 871 | 872 | parseurl@~1.3.3: 873 | version "1.3.3" 874 | resolved "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" 875 | integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== 876 | 877 | path-is-absolute@^1.0.0: 878 | version "1.0.1" 879 | resolved "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 880 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== 881 | 882 | path-to-regexp@0.1.7: 883 | version "0.1.7" 884 | resolved "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" 885 | integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== 886 | 887 | path-type@^4.0.0: 888 | version "4.0.0" 889 | resolved "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 890 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 891 | 892 | pend@~1.2.0: 893 | version "1.2.0" 894 | resolved "https://registry.npmmirror.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" 895 | integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== 896 | 897 | picomatch@^2.0.4, picomatch@^2.2.1: 898 | version "2.3.1" 899 | resolved "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 900 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 901 | 902 | progress@2.0.3: 903 | version "2.0.3" 904 | resolved "https://registry.npmmirror.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" 905 | integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== 906 | 907 | proxy-addr@~2.0.7: 908 | version "2.0.7" 909 | resolved "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" 910 | integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== 911 | dependencies: 912 | forwarded "0.2.0" 913 | ipaddr.js "1.9.1" 914 | 915 | proxy-from-env@1.1.0: 916 | version "1.1.0" 917 | resolved "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" 918 | integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== 919 | 920 | pstree.remy@^1.1.8: 921 | version "1.1.8" 922 | resolved "https://registry.npmmirror.com/pstree.remy/-/pstree.remy-1.1.8.tgz#c242224f4a67c21f686839bbdb4ac282b8373d3a" 923 | integrity sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w== 924 | 925 | pump@^3.0.0: 926 | version "3.0.0" 927 | resolved "https://registry.npmmirror.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" 928 | integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== 929 | dependencies: 930 | end-of-stream "^1.1.0" 931 | once "^1.3.1" 932 | 933 | puppeteer-core@19.5.2: 934 | version "19.5.2" 935 | resolved "https://registry.npmmirror.com/puppeteer-core/-/puppeteer-core-19.5.2.tgz#9b454b0ef89d3f07e20158dd4ced6ebd85d4dadb" 936 | integrity sha512-Rqk+3kqM+Z2deooTYqcYt8lRtGffJdifWa9td9nbJSjhANWsFouk8kLBNUKycewCCFHM8TZUKS0x28OllavW2A== 937 | dependencies: 938 | cross-fetch "3.1.5" 939 | debug "4.3.4" 940 | devtools-protocol "0.0.1068969" 941 | extract-zip "2.0.1" 942 | https-proxy-agent "5.0.1" 943 | proxy-from-env "1.1.0" 944 | rimraf "3.0.2" 945 | tar-fs "2.1.1" 946 | unbzip2-stream "1.4.3" 947 | ws "8.11.0" 948 | 949 | puppeteer@^19.5.2: 950 | version "19.5.2" 951 | resolved "https://registry.npmmirror.com/puppeteer/-/puppeteer-19.5.2.tgz#f09ed55d5263cacaac4c5818d0d884b1e1d938b0" 952 | integrity sha512-xlqRyrhXhVH114l79Y0XqYXUVG+Yfw4sKlvN55t8Y9DxtA5fzI1uqF8SVXbWK5DUMbD6Jo4lpixTZCTTZGD05g== 953 | dependencies: 954 | cosmiconfig "8.0.0" 955 | https-proxy-agent "5.0.1" 956 | progress "2.0.3" 957 | proxy-from-env "1.1.0" 958 | puppeteer-core "19.5.2" 959 | 960 | qs@6.11.0: 961 | version "6.11.0" 962 | resolved "https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" 963 | integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== 964 | dependencies: 965 | side-channel "^1.0.4" 966 | 967 | query-string@^8.1.0: 968 | version "8.1.0" 969 | resolved "https://registry.npmmirror.com/query-string/-/query-string-8.1.0.tgz#e7f95367737219544cd360a11a4f4ca03836e115" 970 | integrity sha512-BFQeWxJOZxZGix7y+SByG3F36dA0AbTy9o6pSmKFcFz7DAj0re9Frkty3saBn3nHo3D0oZJ/+rx3r8H8r8Jbpw== 971 | dependencies: 972 | decode-uri-component "^0.4.1" 973 | filter-obj "^5.1.0" 974 | split-on-first "^3.0.0" 975 | 976 | range-parser@~1.2.1: 977 | version "1.2.1" 978 | resolved "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" 979 | integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== 980 | 981 | raw-body@2.5.1: 982 | version "2.5.1" 983 | resolved "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" 984 | integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== 985 | dependencies: 986 | bytes "3.1.2" 987 | http-errors "2.0.0" 988 | iconv-lite "0.4.24" 989 | unpipe "1.0.0" 990 | 991 | readable-stream@^3.1.1, readable-stream@^3.4.0: 992 | version "3.6.0" 993 | resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" 994 | integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== 995 | dependencies: 996 | inherits "^2.0.3" 997 | string_decoder "^1.1.1" 998 | util-deprecate "^1.0.1" 999 | 1000 | readdirp@~3.6.0: 1001 | version "3.6.0" 1002 | resolved "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 1003 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 1004 | dependencies: 1005 | picomatch "^2.2.1" 1006 | 1007 | resolve-from@^4.0.0: 1008 | version "4.0.0" 1009 | resolved "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 1010 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 1011 | 1012 | rimraf@3.0.2: 1013 | version "3.0.2" 1014 | resolved "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" 1015 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 1016 | dependencies: 1017 | glob "^7.1.3" 1018 | 1019 | safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@~5.2.0: 1020 | version "5.2.1" 1021 | resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 1022 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 1023 | 1024 | "safer-buffer@>= 2.1.2 < 3": 1025 | version "2.1.2" 1026 | resolved "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 1027 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 1028 | 1029 | semver@^5.7.1: 1030 | version "5.7.1" 1031 | resolved "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 1032 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 1033 | 1034 | semver@^7.3.8: 1035 | version "7.3.8" 1036 | resolved "https://registry.npmmirror.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" 1037 | integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== 1038 | dependencies: 1039 | lru-cache "^6.0.0" 1040 | 1041 | semver@~7.0.0: 1042 | version "7.0.0" 1043 | resolved "https://registry.npmmirror.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" 1044 | integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== 1045 | 1046 | send@0.18.0: 1047 | version "0.18.0" 1048 | resolved "https://registry.npmmirror.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" 1049 | integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== 1050 | dependencies: 1051 | debug "2.6.9" 1052 | depd "2.0.0" 1053 | destroy "1.2.0" 1054 | encodeurl "~1.0.2" 1055 | escape-html "~1.0.3" 1056 | etag "~1.8.1" 1057 | fresh "0.5.2" 1058 | http-errors "2.0.0" 1059 | mime "1.6.0" 1060 | ms "2.1.3" 1061 | on-finished "2.4.1" 1062 | range-parser "~1.2.1" 1063 | statuses "2.0.1" 1064 | 1065 | serve-static@1.15.0: 1066 | version "1.15.0" 1067 | resolved "https://registry.npmmirror.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" 1068 | integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== 1069 | dependencies: 1070 | encodeurl "~1.0.2" 1071 | escape-html "~1.0.3" 1072 | parseurl "~1.3.3" 1073 | send "0.18.0" 1074 | 1075 | setprototypeof@1.2.0: 1076 | version "1.2.0" 1077 | resolved "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" 1078 | integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== 1079 | 1080 | side-channel@^1.0.4: 1081 | version "1.0.4" 1082 | resolved "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" 1083 | integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== 1084 | dependencies: 1085 | call-bind "^1.0.0" 1086 | get-intrinsic "^1.0.2" 1087 | object-inspect "^1.9.0" 1088 | 1089 | simple-update-notifier@^1.0.7: 1090 | version "1.1.0" 1091 | resolved "https://registry.npmmirror.com/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz#67694c121de354af592b347cdba798463ed49c82" 1092 | integrity sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg== 1093 | dependencies: 1094 | semver "~7.0.0" 1095 | 1096 | split-on-first@^3.0.0: 1097 | version "3.0.0" 1098 | resolved "https://registry.npmmirror.com/split-on-first/-/split-on-first-3.0.0.tgz#f04959c9ea8101b9b0bbf35a61b9ebea784a23e7" 1099 | integrity sha512-qxQJTx2ryR0Dw0ITYyekNQWpz6f8dGd7vffGNflQQ3Iqj9NJ6qiZ7ELpZsJ/QBhIVAiDfXdag3+Gp8RvWa62AA== 1100 | 1101 | statuses@2.0.1: 1102 | version "2.0.1" 1103 | resolved "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" 1104 | integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== 1105 | 1106 | string_decoder@^1.1.1: 1107 | version "1.3.0" 1108 | resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" 1109 | integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== 1110 | dependencies: 1111 | safe-buffer "~5.2.0" 1112 | 1113 | supports-color@^5.3.0, supports-color@^5.5.0: 1114 | version "5.5.0" 1115 | resolved "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1116 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1117 | dependencies: 1118 | has-flag "^3.0.0" 1119 | 1120 | supports-color@^7.1.0: 1121 | version "7.2.0" 1122 | resolved "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 1123 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 1124 | dependencies: 1125 | has-flag "^4.0.0" 1126 | 1127 | tar-fs@2.1.1: 1128 | version "2.1.1" 1129 | resolved "https://registry.npmmirror.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" 1130 | integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== 1131 | dependencies: 1132 | chownr "^1.1.1" 1133 | mkdirp-classic "^0.5.2" 1134 | pump "^3.0.0" 1135 | tar-stream "^2.1.4" 1136 | 1137 | tar-stream@^2.1.4: 1138 | version "2.2.0" 1139 | resolved "https://registry.npmmirror.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" 1140 | integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== 1141 | dependencies: 1142 | bl "^4.0.3" 1143 | end-of-stream "^1.4.1" 1144 | fs-constants "^1.0.0" 1145 | inherits "^2.0.3" 1146 | readable-stream "^3.1.1" 1147 | 1148 | through@^2.3.8: 1149 | version "2.3.8" 1150 | resolved "https://registry.npmmirror.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 1151 | integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== 1152 | 1153 | to-regex-range@^5.0.1: 1154 | version "5.0.1" 1155 | resolved "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 1156 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1157 | dependencies: 1158 | is-number "^7.0.0" 1159 | 1160 | toidentifier@1.0.1: 1161 | version "1.0.1" 1162 | resolved "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" 1163 | integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== 1164 | 1165 | touch@^3.1.0: 1166 | version "3.1.0" 1167 | resolved "https://registry.npmmirror.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b" 1168 | integrity sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA== 1169 | dependencies: 1170 | nopt "~1.0.10" 1171 | 1172 | tr46@~0.0.3: 1173 | version "0.0.3" 1174 | resolved "https://registry.npmmirror.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" 1175 | integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== 1176 | 1177 | type-is@~1.6.18: 1178 | version "1.6.18" 1179 | resolved "https://registry.npmmirror.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" 1180 | integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== 1181 | dependencies: 1182 | media-typer "0.3.0" 1183 | mime-types "~2.1.24" 1184 | 1185 | unbzip2-stream@1.4.3: 1186 | version "1.4.3" 1187 | resolved "https://registry.npmmirror.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz#b0da04c4371311df771cdc215e87f2130991ace7" 1188 | integrity sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg== 1189 | dependencies: 1190 | buffer "^5.2.1" 1191 | through "^2.3.8" 1192 | 1193 | undefsafe@^2.0.5: 1194 | version "2.0.5" 1195 | resolved "https://registry.npmmirror.com/undefsafe/-/undefsafe-2.0.5.tgz#38733b9327bdcd226db889fb723a6efd162e6e2c" 1196 | integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA== 1197 | 1198 | unpipe@1.0.0, unpipe@~1.0.0: 1199 | version "1.0.0" 1200 | resolved "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" 1201 | integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== 1202 | 1203 | util-deprecate@^1.0.1: 1204 | version "1.0.2" 1205 | resolved "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 1206 | integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== 1207 | 1208 | utils-merge@1.0.1: 1209 | version "1.0.1" 1210 | resolved "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" 1211 | integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== 1212 | 1213 | vary@~1.1.2: 1214 | version "1.1.2" 1215 | resolved "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" 1216 | integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== 1217 | 1218 | webidl-conversions@^3.0.0: 1219 | version "3.0.1" 1220 | resolved "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" 1221 | integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== 1222 | 1223 | whatwg-url@^5.0.0: 1224 | version "5.0.0" 1225 | resolved "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" 1226 | integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== 1227 | dependencies: 1228 | tr46 "~0.0.3" 1229 | webidl-conversions "^3.0.0" 1230 | 1231 | wrappy@1: 1232 | version "1.0.2" 1233 | resolved "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1234 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 1235 | 1236 | ws@8.11.0: 1237 | version "8.11.0" 1238 | resolved "https://registry.npmmirror.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143" 1239 | integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== 1240 | 1241 | yallist@^4.0.0: 1242 | version "4.0.0" 1243 | resolved "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 1244 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 1245 | 1246 | yauzl@^2.10.0: 1247 | version "2.10.0" 1248 | resolved "https://registry.npmmirror.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" 1249 | integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== 1250 | dependencies: 1251 | buffer-crc32 "~0.2.3" 1252 | fd-slicer "~1.1.0" 1253 | --------------------------------------------------------------------------------