├── .env ├── .eslintrc.cjs ├── .gitignore ├── LICENSE ├── README.md ├── babel.config.json ├── bots ├── README.txt └── example-bot.hjson ├── icon.png ├── package.json ├── procfile ├── src ├── Bootloader.js ├── cluster-api │ ├── getBotOptions.js │ └── index.js ├── index.js ├── label.js ├── tasks │ ├── fakeHttp.js │ ├── index.js │ ├── requireNode.js │ ├── updateClient.js │ └── updateCore.js └── util │ ├── common.js │ └── serverline.js └── yarn.lock /.env: -------------------------------------------------------------------------------- 1 | FAKE_HTTP_PORT=0 2 | REQUIRE_NODE_VER=16.0.0 3 | DEFAULT_LOCALE=vi 4 | 5 | REMOTE_TIMEOUT=10000 -------------------------------------------------------------------------------- /.eslintrc.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "env": { 3 | "es2021": true, 4 | "node": true 5 | }, 6 | "extends": "eslint:recommended", 7 | "parser": "@babel/eslint-parser", 8 | "parserOptions": { 9 | "ecmaVersion": 2021, 10 | "sourceType": 'module' 11 | }, 12 | "rules": { 13 | "indent": [ 14 | "error", 15 | "tab" 16 | ], 17 | "linebreak-style": [ 18 | "error", 19 | "unix" 20 | ], 21 | "quotes": [ 22 | "error", 23 | "double" 24 | ], 25 | "semi": [ 26 | "error", 27 | "never" 28 | ] 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | bots/* 2 | !bots/README.txt 3 | !bots/example-bot.hjson 4 | 5 | config/* 6 | !config/README.txt 7 | 8 | datastores/* 9 | !datastores/README.txt 10 | 11 | node_modules/ 12 | 13 | playground 14 | 15 | plugins/* 16 | !plugins/README.txt 17 | !plugins/internal 18 | 19 | userdata/* 20 | !userdata/README.txt 21 | 22 | token.json 23 | yarn-error.log 24 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Đậu Văn Đăng Khoa 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 |

3 | kb2abot-client 4 |

5 |

6 | size 7 | code-version 8 | visitors 9 | CodeFactor 10 |

11 | 12 | # GIỚI THIỆU 13 | > Bot này được sử dụng bởi hơn 2.000 người dùng Facebook và hơn 100 máy chủ 14 | 15 | Kb2abot-client là một bot Facebook mã nguồn mở được lập trình bằng JavaScript sử dụng thư viện [kb2abot](https://github.com/kb2ateam/kb2abot) bởi [khoakomlem](https://github.com/khoakomlem)
Hãy bấm vào dấu sao ⭐ ở trên cùng bên phải để giúp cho dự án ngày càng phát triển nhé 😊 16 | # HƯỚNG DẪN CÀI ĐẶT 17 | Bạn xem kĩ tại trang: [HƯỚNG DẪN CÀI ĐẶT KB2ABOT](https://kb2ateam.github.io/kb2abot-docs/) 🤔 18 | # Plugin 19 | Sau khi cài đặt xong, lúc này bot vẫn chưa có nhiều **plugin** nên hãy vào trang http://bit.ly/kb2abot để tìm tải các **plugin** mà bạn muốn về folder **/plugins** nhé! 👌 20 | # Links 21 | * [💁‍♂️ Liên hệ Admin](https://www.facebook.com/khoakomlem/): Liên hệ hỗ trợ lỗi bot (không nhận cài bot, treo bot) 22 | * 🏠 [KB2A Page](https://www.facebook.com/KB2ATeam/): Page trang chủ kb2ateam 23 | * 👨‍🏫 [Hướng dẫn](https://kb2ateam.github.io/kb2abot-docs/): (Giống cái ở trên) 24 | * 🔌 [Plugins](http://bit.ly/kb2abot): (Giống cái ở trên) 25 | * 👨‍💻 [Github](https://github.com/kb2ateam/kb2abot/): Repo bot 26 | # Bản quyền 27 | Kb2abot được cấp phép theo giấy phép **MIT**, xem tệp `LICENSE` để biết thêm thông tin 🔍
Nếu bạn định sử dụng bất kỳ phần nào của mã nguồn này trong bot của riêng mình, chúng tôi sẽ rất biết ơn nếu bạn **chèn thông tin của tác giả gốc** ở bất kì chỗ nào 🙏 28 | # CẢM ƠN CÁC BẠN ĐÃ SỬ DỤNG KB2ABOT 29 | Total income (donating): 1,259,000 vnđ 🔥
30 | Cảm ơn mọi người rất nhiều, đây chính là động lực giúp tôi phát triển bot đi xa hơn nữa ✨ -------------------------------------------------------------------------------- /babel.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "plugins": ["@babel/plugin-syntax-top-level-await"] 3 | } 4 | -------------------------------------------------------------------------------- /bots/README.txt: -------------------------------------------------------------------------------- 1 | ỦNG HỘ CHANNEL BỌN MÌNH NHA: https://www.youtube.com/channel/UC_XDuWauZCYEbzkpc8XRFeA 2 | 3 | 4 | 1. Chỗ này để đặt các file export được từ tiện ích j2team cookie 5 | 2. Chỉ cần export cookie từ facebook.com là được rồi! 6 | 3. Bạn có thể rename theo cách bạn thích! 7 | 8 | 9 | ỦNG HỘ CHANNEL BỌN MÌNH NHA: https://www.youtube.com/channel/UC_XDuWauZCYEbzkpc8XRFeA -------------------------------------------------------------------------------- /bots/example-bot.hjson: -------------------------------------------------------------------------------- 1 | { 2 | platform: facebook 3 | remoteServer: http://127.0.0.1:1810 4 | credential: 5 | { 6 | //login method 1: Using appstate from facebook-chat-api 7 | appstate: 8 | // login method 2: Using cookie from ATP cookie or J2TEAM Cookie 9 | cookie: 10 | // login method 3: Bare Email & password 11 | email: 12 | password: 13 | } 14 | // Bật cái này để làm mới lại list admin mỗi khi tin nhắn đến (còn không thì phải restart bot thì nó mới làm mới lại list) 15 | // Những bạn nào có acc khỏe hoặc số lượng box hoạt động nhỏ (<10) thì mới nên bật 16 | fcaOptions: 17 | { 18 | logLevel: silent // logger đăng nhập fb ("silly", "verbose", "info", "http", "warn", "error", or "silent") 19 | selfListen: false // KHÔNG NÊN BẬT KHI SỬ DỤNG PLUGIN CÓ HOOK NHƯ AUTOREPLY (VÒNG LẶP -> SPAM) 20 | forceLogin: true // Tự động accept location lạ khi login 21 | userAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/600.3.18 (KHTML, like Gecko) Version/8.0.3 Safari/600.3.18 22 | // Khi userAgent truyền vào không hợp lệ, bot sẽ không nhận được tin nhắn gì hết 23 | // Mặc định: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/600.3.18 (KHTML, like Gecko) Version/8.0.3 Safari/600.3.18 24 | // Cái userAgent này lạ lắm, test thử chrome & firefox thì thấy hoạt động trên mỗi chrome? 25 | // Lưu ý khi bỏ userAgent vào thì nhớ tìm xóa "Chrome/xx.x.xxxx.xx" (kế cuối), ko hiểu tại sao nhưng làm vậy nó mới hoạ động :) 26 | autoMarkDelivery: true // Đánh dấu là đã nhận 27 | autoMarkRead: true // Đánh dấu là đã đọc 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kb2a/kb2abot-client/bd9b95bcc66713c44e57f34d4bce9a44eff628a4/icon.png -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "kb2abot-client", 3 | "type": "module", 4 | "version": "3.0.0", 5 | "description": "Bot that connected to Facebook Messenger help you to manage members, entertain in any groups!", 6 | "main": "src/index.js", 7 | "scripts": { 8 | "start": "node --es-module-specifier-resolution=node --no-warnings src", 9 | "update": "node scripts/update", 10 | "dev": "node --trace-warnings --es-module-specifier-resolution=node src", 11 | "dev-one": "node --trace-warnings --es-module-specifier-resolution=node src/cluster-api --bot bot.js", 12 | "debug": "node --trace-warnings --es-module-specifier-resolution=node --inspect-brk src", 13 | "debug-one": "node --trace-warnings --es-module-specifier-resolution=node --inspect-brk src/cluster-api --bot bot.js" 14 | }, 15 | "repository": { 16 | "type": "git", 17 | "url": "git+https://github.com/kb2ateam/kb2abot-client.git" 18 | }, 19 | "author": "khoakomlem", 20 | "license": "MIT", 21 | "dependencies": { 22 | "@babel/core": "^7.16.0", 23 | "@babel/eslint-parser": "^7.16.3", 24 | "@babel/plugin-syntax-top-level-await": "^7.14.5", 25 | "axios": "^0.24.0", 26 | "cli-table3": "^0.6.0", 27 | "deep-extend": "^0.6.0", 28 | "dotenv": "^10.0.0", 29 | "express": "^4.17.1", 30 | "facebook-chat-api": "https://github.com/kb2ateam/facebook-chat-api", 31 | "glob": "^7.2.0", 32 | "hjson": "^3.2.2", 33 | "kb2abot": "^1.0.0", 34 | "nedb-promises": "^5.0.1", 35 | "node-emoji": "^1.10.0", 36 | "node-fetch": "^3.1.0", 37 | "ora": "^6.0.1", 38 | "pluralize": "^8.0.0", 39 | "promise-socket.io": "^1.0.0", 40 | "semver": "^7.3.4", 41 | "serverline": "^1.5.0", 42 | "socket.io-client": "^4.1.3", 43 | "systeminformation": "^5.11.0", 44 | "uniqid": "^5.4.0" 45 | }, 46 | "devDependencies": { 47 | "eslint": "^7.26.0" 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /procfile: -------------------------------------------------------------------------------- 1 | web: npm start -------------------------------------------------------------------------------- /src/Bootloader.js: -------------------------------------------------------------------------------- 1 | import ora from "ora" 2 | import {error} from "kb2abot/util/logger" 3 | 4 | export default class Bootloader { 5 | tasks = []; 6 | 7 | constructor({verbose = false} = {}) { 8 | this.verbose = verbose 9 | } 10 | 11 | use(task) { 12 | this.tasks.push(task) 13 | } 14 | 15 | async load() { 16 | if (this.verbose) { 17 | for (const task of this.tasks) { 18 | const spinner = ora(task.description).start() 19 | try { 20 | await task.fn() 21 | } catch (err) { 22 | spinner.fail() 23 | error(err) 24 | } 25 | spinner.succeed() 26 | } 27 | } else { 28 | for (const task of this.tasks) await task.fn() 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/cluster-api/getBotOptions.js: -------------------------------------------------------------------------------- 1 | import fs from "fs" 2 | import url from "url" 3 | import path from "path" 4 | import hjson from "hjson" 5 | import minimist from "minimist" 6 | 7 | export default async function getBotOptions() { 8 | const args = minimist(process.argv.slice(2)) 9 | if (!args.bot) throw new Error("Missing parameter --bot param") 10 | 11 | // deploy the bot 12 | const botPath = path.isAbsolute(args.bot) 13 | ? args.bot 14 | : process.cwd() + "/bots/" + args.bot 15 | const parsed = hjson.parse(fs.readFileSync(botPath).toString()) 16 | if (parsed.credential.cookie.includes("./")) { 17 | parsed.credential.cookie = fs 18 | .readFileSync( 19 | url.pathToFileURL( 20 | path.join(process.cwd(), "bots", parsed.credential.cookie) 21 | ) 22 | ) 23 | .toString() 24 | } 25 | return parsed 26 | } 27 | -------------------------------------------------------------------------------- /src/cluster-api/index.js: -------------------------------------------------------------------------------- 1 | import url from "url" 2 | import dotenv from "dotenv" 3 | dotenv.config({ 4 | path: url.fileURLToPath(url.resolve(import.meta.url, "../../.env")) 5 | }) 6 | import {Deploy} from "kb2abot" 7 | import io from "socket.io-client" 8 | import si from "systeminformation" 9 | import {Client as SocketClient} from "promise-socket.io" 10 | import * as Logger from "kb2abot/util/logger" 11 | import {fca as fcaLabel} from "kb2abot/deploy/facebook/label" 12 | 13 | import * as Label from "../label" 14 | import getBotOptions from "./getBotOptions" 15 | 16 | const sysinfo = si.getStaticData() 17 | const bot = await getBotOptions() 18 | 19 | const socket = io(bot.remoteServer, { 20 | autoConnect: false 21 | }) 22 | socket.on("connect", () => Logger.success("CONNECTED TO SERVER")) 23 | socket.on("disconnect", () => Logger.error("DISCONNECTED TO SERVER")) 24 | 25 | const pSocket = new SocketClient(socket) 26 | pSocket.onPromise("ping", timeServer => timeServer) 27 | pSocket.onPromise("memoryUsage", process.memoryUsage) 28 | pSocket.onPromise("fca", async (method, args) => { 29 | if (client.api[method]) return await client.api[method](...args) 30 | throw new Error(`Method ${method} not found`) 31 | }) 32 | pSocket.onPromise("sysinfo.static", async () => await sysinfo) 33 | pSocket.onPromise("sysinfo.time", si.time) 34 | pSocket.onPromise("sysinfo.mem", si.mem) 35 | 36 | let client = null 37 | try { 38 | switch (bot.platform) { 39 | case "facebook": 40 | client = await Deploy.facebook(bot.credential, { 41 | apiOptions: bot.fcaOptions, 42 | externalHook: async function(err, message) { 43 | if (err) return Logger.error(err) 44 | try { 45 | return await pSocket.emitPromise("handleMessage", message) 46 | } catch (err) { 47 | Logger.error(Label.remoteServer, "handleMessage:", err) 48 | } 49 | } 50 | }) 51 | break 52 | } 53 | } catch (err) { 54 | Logger.error(err.message) 55 | process.exit() 56 | } 57 | 58 | process.on("message", msg => { 59 | // for master console 60 | if (msg == "memoryUsage") { 61 | process.send({ 62 | event: "memoryUsage", 63 | data: process.memoryUsage() 64 | }) 65 | } 66 | }) 67 | 68 | socket.connect() 69 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | import dotenv from "dotenv" 2 | dotenv.config() 3 | import path from "path" 4 | import glob from "glob" 5 | import cluster from "cluster" 6 | import * as Logger from "kb2abot/util/logger" 7 | 8 | // import * as Serverline from "./util/serverline" 9 | import * as Task from "./tasks" 10 | import {convert_to_string_time} from "./util/common" 11 | import Bootloader from "./Bootloader" 12 | 13 | const memoryUsages = [0] 14 | const {success, error, warn} = Logger 15 | Logger.setPrefix("INTERNAL", ["black", "bgWhite"]) 16 | const botPaths = glob.sync("./bots/*.hjson", { 17 | ignore: ["./bots/example-bot.hjson", "./bots/README.txt"] 18 | }) 19 | 20 | const bootloader = new Bootloader() 21 | bootloader.use(Task.fakeHttp(process.env.FAKE_HTTP_PORT)) 22 | bootloader.use(Task.requireNode(process.env.REQUIRE_NODE_VER)) 23 | bootloader.use(Task.updateClient()) 24 | bootloader.use(Task.updateCore()) 25 | 26 | const timeStart = Date.now() 27 | await bootloader.load({verbose: true}) 28 | 29 | if (botPaths.length == 0) { 30 | error("There is no cookies in your /bots") 31 | } 32 | 33 | for (const botPath of botPaths) { 34 | cluster.setupPrimary({ 35 | exec: "./src/cluster-api/index.js", 36 | args: ["--bot", path.join(process.cwd(), botPath)] 37 | }) 38 | const worker = cluster.fork() 39 | success( 40 | `API - Created api cluster "${path.basename(botPath)}" PID: ${ 41 | worker.process.pid 42 | }` 43 | ) 44 | } 45 | 46 | success(`Done for ${convert_to_string_time(Date.now() - timeStart)}!`) 47 | // Serverline.init("kb2abot> ") 48 | // registerCommand("test", () => console.log("amogus")) 49 | 50 | cluster.on("exit", (worker, code, signal) => { 51 | if (signal) warn(`Bot PID: ${worker.process.pid} stopped, SIGNAL: ${signal}`) 52 | else 53 | (code == 0 ? warn : error)( 54 | `Bot PID: ${worker.process.pid} stopped, ERROR_CODE: ${code}` 55 | ) 56 | }) 57 | 58 | cluster.on("online", worker => { 59 | worker.send("memoryUsage") 60 | worker.on("message", dd => { 61 | if (dd.event == "memoryUsage") { 62 | memoryUsages[worker.id] = dd.data.heapTotal / 1024 / 1024 63 | setTimeout(() => { 64 | if (!worker.isDead()) worker.send("memoryUsage") 65 | }, 2000) 66 | } 67 | }) 68 | }) 69 | 70 | process.on("uncaughtException", err => { 71 | error("Caught exception: ", err) 72 | }) 73 | 74 | setInterval(() => { 75 | const memoryUsage = memoryUsages.reduce((a, b) => a + b) 76 | Logger.setTerminalTitle( 77 | `KB2ABOT - CLUSTERS: ${botPaths.length} - MEMORY: ${memoryUsage.toFixed( 78 | 2 79 | )}MB` 80 | ) 81 | }, 2000) 82 | -------------------------------------------------------------------------------- /src/label.js: -------------------------------------------------------------------------------- 1 | import {Label} from "kb2abot/util/logger" 2 | 3 | export const remoteHook = new Label("REMOTE HOOK", ["yellow"]) 4 | export const remoteServer = new Label("REMOTE SERVER", ["yellow"]) 5 | export const request = new Label("REQUEST", ["yellow"]) 6 | export const response = new Label("RESPONSE", ["blue"]) 7 | -------------------------------------------------------------------------------- /src/tasks/fakeHttp.js: -------------------------------------------------------------------------------- 1 | import http from "http" 2 | 3 | export default function(port) { 4 | return { 5 | description: "Create fake http server on port: " + port, 6 | async fn() { 7 | const server = http.createServer((req, res) => { 8 | res.writeHead(200, "OK", { 9 | "Content-Type": "text/plain" 10 | }) 11 | res.write( 12 | "This is just a dummy HTTP server to fool heroku, replit, ..." 13 | ) 14 | res.end() 15 | }) 16 | await server.listen(port || 0, "0.0.0.0") 17 | return server 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/tasks/index.js: -------------------------------------------------------------------------------- 1 | export {default as fakeHttp} from "./fakeHttp" 2 | export {default as requireNode} from "./requireNode" 3 | export {default as updateClient} from "./updateClient" 4 | export {default as updateCore} from "./updateCore" 5 | -------------------------------------------------------------------------------- /src/tasks/requireNode.js: -------------------------------------------------------------------------------- 1 | import semver from "semver" 2 | 3 | const OUTDATED = -1 // enum 4 | export default function(version = 16) { 5 | return { 6 | description: `Check nodejs version (>=${version})`, 7 | async fn() { 8 | const nodeVersion = semver.parse(process.version) 9 | const requireVersion = semver.parse(version) 10 | if (semver.compare(nodeVersion, requireVersion) == OUTDATED) 11 | throw `Node.js ${version} is required to run this! (current: "${process.version}")` 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/tasks/updateClient.js: -------------------------------------------------------------------------------- 1 | import fs from "fs" 2 | import fetch from "node-fetch" 3 | import Table from "cli-table3" 4 | import semver from "semver" 5 | 6 | const OUTDATED = -1 // enum 7 | 8 | export default function() { 9 | const table = new Table({ 10 | head: ["Version", "What's new"], 11 | colWidths: [widthByPercent(0.15), widthByPercent(0.7)], 12 | wordWrap: true 13 | }) 14 | 15 | return { 16 | description: "Check update for kb2abot client", 17 | async fn() { 18 | const localPackage = JSON.parse( 19 | fs.readFileSync(process.cwd() + "/package.json") 20 | ) 21 | const localRelease = await json( 22 | "https://api.github.com/repos/kb2ateam/kb2abot-client/releases/tags" + 23 | localPackage.version 24 | ) 25 | const releases = await json( 26 | "https://api.github.com/repos/kb2ateam/kb2abot-client/tags" 27 | ) 28 | 29 | if ( 30 | releases.length > 0 && 31 | semver.compare(localPackage.version, releases[0].name) == OUTDATED 32 | ) { 33 | table.push([ 34 | localPackage.version + " (current)", 35 | localRelease.body || "404 NOT FOUND" 36 | ]) 37 | let count = 0 38 | for (const release of releases) { 39 | const {body} = await json( 40 | "https://api.github.com/repos/kb2ateam/kb2abot-client/releases/tags/" + 41 | release.name 42 | ) 43 | if (!body) continue 44 | const content = [release.name, body.replace(/\r/g, "")] 45 | semver.compare(localPackage.version, release.name) == OUTDATED 46 | ? table.unshift(content) 47 | : table.push(content) 48 | if (++count >= 4) break 49 | } 50 | console.log( 51 | `New version ${releases[0].name}, current: ${localPackage.version}` 52 | ) 53 | console.log(table.toString()) 54 | } else { 55 | console.log("You're using the latest kb2abot-client version!") 56 | } 57 | } 58 | } 59 | } 60 | 61 | function widthByPercent(percent) { 62 | return Math.ceil(process.stdout.columns * percent) 63 | } 64 | 65 | async function json(url) { 66 | return await (await fetch(url)).json() 67 | } 68 | -------------------------------------------------------------------------------- /src/tasks/updateCore.js: -------------------------------------------------------------------------------- 1 | import fs from "fs" 2 | import fetch from "node-fetch" 3 | import Table from "cli-table3" 4 | import semver from "semver" 5 | 6 | const OUTDATED = -1 // enum 7 | 8 | export default function() { 9 | const table = new Table({ 10 | head: ["Version", "What's new"], 11 | colWidths: [widthByPercent(0.15), widthByPercent(0.7)], 12 | wordWrap: true 13 | }) 14 | 15 | return { 16 | description: "Check update for kb2abot core", 17 | async fn() { 18 | const localPackage = JSON.parse( 19 | fs.readFileSync(process.cwd() + "/node_modules/kb2abot/package.json") 20 | ) 21 | // const localPackage = JSON.parse( 22 | // fs.readFileSync(process.cwd() + "/../kb2abot/package.json") 23 | // ) 24 | const localRelease = await json( 25 | "https://api.github.com/repos/kb2ateam/kb2abot/releases/tags" + 26 | localPackage.version 27 | ) 28 | const releases = await json( 29 | "https://api.github.com/repos/kb2ateam/kb2abot/tags" 30 | ) 31 | 32 | if ( 33 | releases.length > 0 && 34 | semver.compare(localPackage.version, releases[0].name) == OUTDATED 35 | ) { 36 | table.push([ 37 | localPackage.version + " (current)", 38 | localRelease.body || "404 NOT FOUND" 39 | ]) 40 | let count = 0 41 | for (const release of releases) { 42 | const {body} = await json( 43 | "https://api.github.com/repos/kb2ateam/kb2abot/releases/tags/" + 44 | release.name 45 | ) 46 | if (!body) continue 47 | const content = [release.name, body.replace(/\r/g, "")] 48 | semver.compare(localPackage.version, release.name) == OUTDATED 49 | ? table.unshift(content) 50 | : table.push(content) 51 | if (++count >= 4) break 52 | } 53 | console.log( 54 | `New version ${releases[0].name}, current: ${localPackage.version}` 55 | ) 56 | console.log(table.toString()) 57 | } else { 58 | console.log("You're using the latest kb2abot-core version!") 59 | } 60 | } 61 | } 62 | } 63 | 64 | function widthByPercent(percent) { 65 | return Math.ceil(process.stdout.columns * percent) 66 | } 67 | 68 | async function json(url) { 69 | return await (await fetch(url)).json() 70 | } 71 | -------------------------------------------------------------------------------- /src/util/common.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Chứa các function thông thường được sử dụng nhiều
3 | * Hướng dẫn sử dụng:
4 | * import {, } from "./common.util.js"
5 | * Ví dụ: 6 | * import {asyncWait, round, extend} from "./common.util.js" 7 | * @module COMMON 8 | */ 9 | import fs from "fs" 10 | import fetch from "node-fetch" 11 | import minimist from "minimist" 12 | 13 | /** 14 | * Hàm dừng chương trình async 15 | * @async 16 | * @param {Number} time Thời gian bạn muốn dừng (milisecond) 17 | * @example 18 | * console.log("Loi! Vui long gui lai sau 5 giay") 19 | * asyncWait(5000).then(() => { 20 | * console.log("Ban co the gui lai duoc roi!"); 21 | * }); 22 | */ 23 | export const asyncWait = async time => { 24 | return new Promise(resolve => { 25 | setTimeout(() => { 26 | resolve() 27 | }, time) 28 | }) 29 | } 30 | /** 31 | * Ràng buộc 1 giá trị trong khoảng từ [left; right] 32 | * @param {Number} value Giá trị vào 33 | * @param {Number} left ràng buộc trái 34 | * @param {Number} right ràng buộc phải 35 | * @return {Number} Giá trị trong khoảng [left; right] 36 | * @example 37 | * console.log(constrain(5, 1, 10); 38 | * // 5 39 | * console.log(constrain(-1, 1, 10); 40 | * // 1 41 | */ 42 | export const constrain = (value, left, right) => { 43 | return value >= left ? (value <= right ? value : right) : left 44 | } 45 | /** 46 | * Làm tròn đến chữ số thập phân x 47 | * @param {Number} number Số bạn muốn làm tròn 48 | * @param {Number} amount Số lượng chữ số thập phân (x) 49 | * @return {Number} Số được làm tròn chữ số thập phân x 50 | * @example 51 | * round(Math.PI, 2); 52 | * // 3.14 53 | * 54 | * @example với cách dùng thứ hai này, code sẽ được đẹp hơn 55 | * import { round } from "./common.util.js" 56 | * 57 | * round(Math.PI, 2) 58 | * // 3.14 59 | */ 60 | export const round = (number, amount) => { 61 | return parseFloat(Number(number).toFixed(amount)) 62 | } 63 | /** 64 | * Kế thừa các thuộc tính của 1 object sâu (khác với Object.assign) 65 | * @param {Object} object Object kế thừa 66 | * @param {Object} deep Object bị kế thừa 67 | * @return {Object} Object đã kế thừa 68 | * @example 69 | * const obj1 = { 70 | * a: { 71 | * b: true 72 | * } 73 | * }; 74 | * const obj2 = { 75 | * a: { 76 | * c: "kb2abot" 77 | * } 78 | * } 79 | * extend(a, b); 80 | * // { a: { b: "kb2abot", c: true } } 81 | * } 82 | */ 83 | export const extend = (obj, deep) => { 84 | let argsStart, deepClone 85 | 86 | if (typeof deep === "boolean") { 87 | argsStart = 2 88 | deepClone = deep 89 | } else { 90 | argsStart = 1 91 | deepClone = true 92 | } 93 | 94 | for (let i = argsStart; i < arguments.length; i++) { 95 | const source = arguments[i] 96 | 97 | if (source) { 98 | for (let prop in source) { 99 | if (deepClone && source[prop] && source[prop].constructor === Object) { 100 | if (!obj[prop] || obj[prop].constructor === Object) { 101 | obj[prop] = obj[prop] || {} 102 | extend(obj[prop], deepClone, source[prop]) 103 | } else { 104 | obj[prop] = source[prop] 105 | } 106 | } else { 107 | obj[prop] = source[prop] 108 | } 109 | } 110 | } 111 | } 112 | 113 | return obj 114 | } 115 | /** 116 | * Dịch 1 đoạn văn bản thành các arguments (xài minimist để dịch) 117 | * @param {String} text Đoạn văn bản nào đó 118 | * @param {String} [specialChar=א] Kí tự đặc biệt để xử lí quote 119 | * @return {Object} Arguments 120 | * @example 121 | * //Xem ở đây: {@link https://www.npmjs.com/package/minimist} (nhớ CTRL + CLICK) 122 | */ 123 | export const parseArgs = (str, specialChar) => { 124 | const quotes = ["\"", "'", "`"] 125 | for (let quote of quotes) { 126 | let tmp = str.split(quote) 127 | for (let i = 1; i < tmp.length; i += 2) { 128 | str = str.replace( 129 | `${quote}${tmp[i]}`, 130 | `${tmp[i].replace(/ /g, specialChar)}` 131 | ) 132 | str = str.replace(quote, "") 133 | } 134 | } 135 | const output = [] 136 | str.split(" ").forEach(word => { 137 | output.push(word.replace(new RegExp(specialChar, "g"), " ")) 138 | }) 139 | return minimist(output) 140 | } 141 | /** 142 | * Lấy giá trị trong minimist arguments (Dùng chung với hàm parseArg) 143 | * @param {Object} args Args của minimist 144 | * @param {Array} validList Các trường mà bạn cần lấy giá trị 145 | * @return {Boolean|String|Number} Giá trị của trường đó 146 | * @example 147 | * const args = parseArg("kb2abot --version -s"); 148 | * parseValue(args, ["version", "v"]); 149 | * // 1 150 | * parseValue(args, ["s"]); 151 | * // TRUE 152 | */ 153 | export const parseValue = (args, validList) => { 154 | for (const param in args) { 155 | if (validList.indexOf(param) != -1) { 156 | const value = args[param] 157 | return typeof value == "object" ? value[value.length - 1] : value 158 | } 159 | } 160 | return undefined 161 | } 162 | /** 163 | * Xóa 1 file theo đường dẫn 164 | * @param {String} path Đường dẫn tới file 165 | * @example 166 | * deleteFile(__dirname + "/test.txt"); 167 | * // *File test.txt sẽ bị xóa* 168 | */ 169 | const deleteFile = path => { 170 | return new Promise((resolve, reject) => { 171 | try { 172 | fs.unlinkSync(path) 173 | resolve() 174 | } catch (e) { 175 | reject(e) 176 | } 177 | }) 178 | } 179 | /** 180 | * Lấy keyword của 1 đoạn tin nhắn 181 | * @param {String} text Đoạn tin nhắn của người dùng 182 | * @return {String} Keyword của lệnh đó 183 | * @example 184 | * getKeyword("/help") 185 | * // "help" 186 | * getKeyword("/ytmp3 -s 'Anh yeu em'") 187 | * // "ytmp3" 188 | */ 189 | export const getKeyword = text => { 190 | return text 191 | .split(" ") 192 | .slice(0, 1)[0] 193 | .slice(1) 194 | } 195 | /** 196 | * Tính dung lượng của file (theo mb) 197 | * @param {String} path Đường dẫn tới file 198 | * @return {Number} Dung lượng của file (mb) 199 | * @example 200 | * // file test.txt có dung lượng 1024KB 201 | * getFileSize(__dirname + "/test.txt"); 202 | * // 1 203 | */ 204 | export const getFileSize = path => { 205 | let fileSizeInBytes = fs.statSync(path)["size"] 206 | // Convert the file size to megabytes (optional) 207 | let fileSizeInMegabytes = fileSizeInBytes / 1000000.0 208 | return Math.round(fileSizeInMegabytes) 209 | } 210 | /** 211 | * Lấy tên file bỏ đuôi extension 212 | * @param {String} text Tên file 213 | * @return {String} Tên file không có đuôi 214 | * @example 215 | * subname("test.txt"); 216 | * // "test" 217 | */ 218 | export const subname = text => { 219 | return text 220 | .split(".") 221 | .slice(0, -1) 222 | .join(".") 223 | } 224 | /** 225 | * Chuyển 1 số về dạng mật mã đặc biệt (theo bảng chữ cái tiếng anh) 226 | * @param {Number} number Số bạn muốn chuyển 227 | * @return {String} Mã đặc biệt 1 = "o", 2 = "t",... 228 | * @example 229 | * numbersToWords(123); 230 | * // "oth" 231 | * numbersToWords(18102004); 232 | * // "ogoztzzf" 233 | */ 234 | export const numberToPassword = number => { 235 | const numbers = ["z", "o", "t", "h", "f", "i", "s", "e", "g", "n"] 236 | let str = number.toString() 237 | for (let i = 0; i < 10; i++) { 238 | str = str.replace(new RegExp(i, "g"), numbers[i]) 239 | } 240 | return str 241 | } 242 | /** 243 | * 244 | * @param {String|Number} number Định dạng 1 string, number về dạng tiền tệ 245 | * @return {String} Tiền tệ 246 | * @example 247 | * currencyFormat(1234567); 248 | * // "1,234,567" 249 | */ 250 | export const currencyFormat = number => { 251 | return number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") 252 | } 253 | /** 254 | * Lấy dữ liệu của tin nhắn câu lệnh 255 | * @param {String} text Lệnh người dùng nhập 256 | * @return {String} 1 text với keyword đã bị bỏ 257 | * @example 258 | * getParam("/help hello, good morning!"); 259 | * // "hello, good morning!" 260 | */ 261 | export const getParam = text => { 262 | return text 263 | .split(" ") 264 | .slice(1) 265 | .join(" ") 266 | } 267 | /** 268 | * Loại bỏ các kí tự lạ trong văn bản 269 | * @param {String} text Văn bản nào đó 270 | * @return {String} Văn bản sạch 271 | */ 272 | export const removeSpecialChar = str => { 273 | if (str === null || str === "") return false 274 | else str = str.toString() 275 | 276 | return str.replace(/[^\x20-\x7E]/g, "") 277 | // return str; 278 | } 279 | 280 | /** 281 | * thực hiện phép lấy giá trị ngẫu nhiên 282 | * @example 283 | * import { random } from "./common.util.js"; 284 | * 285 | * random(1, 10) 286 | * // trả về giá trị ngẫu nhiên từ 1 đến 10 287 | * 288 | * // lưu ý: vì phép ngẫu nhiên này không được làm tròn vì vậy bạn nên dùng random cùng với round 289 | * @example 290 | * import { random, round } from "./common.util.js"; 291 | * 292 | * round(random(1, 10), 2) 293 | * // trả về giá trị ngẫu nhiên từ 1 đến 10 và được làm chòn đến chữ số thập phân thứ hai 294 | * 295 | */ 296 | export const random = (start, end) => { 297 | return Math.floor(Math.random() * (end - start + 1) + start) 298 | } 299 | 300 | export const shuffle = arr => { 301 | // thuật toán bogo-sort 302 | let count = arr.length, 303 | temp, 304 | index 305 | 306 | while (count > 0) { 307 | index = Math.floor(Math.random() * count) 308 | count-- 309 | temp = arr[count] 310 | arr[count] = arr[index] 311 | arr[index] = temp 312 | } 313 | 314 | return arr // Bogosort with no điều kiện dừng 315 | } 316 | 317 | export const validURL = str => { 318 | var pattern = new RegExp( 319 | "^(https?:\\/\\/)?" + // protocol 320 | "((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|" + // domain name 321 | "((\\d{1,3}\\.){3}\\d{1,3}))" + // OR ip (v4) address 322 | "(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*" + // port and path 323 | "(\\?[;&a-z\\d%_.~+=-]*)?" + // query string 324 | "(\\#[-a-z\\d_]*)?$", 325 | "i" 326 | ) // fragment locator 327 | return !!pattern.test(str) 328 | } 329 | 330 | export const downloadFile = async (url, path) => { 331 | const res = await fetch(url) 332 | const fileStream = fs.createWriteStream(path) 333 | await new Promise((resolve, reject) => { 334 | res.body.pipe(fileStream) 335 | res.body.on("error", reject) 336 | fileStream.on("finish", resolve) 337 | }) 338 | } 339 | 340 | export const convert_to_string_time = (time = 0) => { 341 | if (time < 0) time = 0 342 | 343 | const hh = Math.floor(time / 1000 / 60 / 60) 344 | const mm = Math.floor((time - hh * 60 * 60 * 1000) / 1000 / 60) 345 | const ss = Math.ceil((time - hh * 60 * 60 * 1000 - mm * 60 * 1000) / 1000) 346 | let text = `${ss}s` 347 | if (mm > 0) text = `${mm}m ${text}` 348 | 349 | if (hh > 0) text = `${hh}h ${text}` 350 | 351 | return text 352 | } 353 | 354 | export const deepEqual = (x, y) => { 355 | if (x === y) { 356 | return true 357 | } else if ( 358 | typeof x == "object" && 359 | x != null && 360 | typeof y == "object" && 361 | y != null 362 | ) { 363 | if (Object.keys(x).length != Object.keys(y).length) return false 364 | 365 | for (var prop in x) { 366 | if (y.hasOwnProperty(prop)) { 367 | if (!deepEqual(x[prop], y[prop])) return false 368 | } else return false 369 | } 370 | 371 | return true 372 | } else return false 373 | } 374 | 375 | export const importJSON = pathToJson => JSON.parse(fs.readFileSync(pathToJson)) 376 | 377 | export function getCallerFile() { 378 | let originalFunc = Error.prepareStackTrace 379 | let callerfile 380 | try { 381 | let err = new Error() 382 | let currentfile 383 | Error.prepareStackTrace = function(err, stack) { 384 | return stack 385 | } 386 | currentfile = err.stack.shift().getFileName() 387 | while (err.stack.length) { 388 | callerfile = err.stack.shift().getFileName() 389 | if (currentfile !== callerfile) break 390 | } 391 | } catch {} 392 | Error.prepareStackTrace = originalFunc 393 | return callerfile 394 | } 395 | -------------------------------------------------------------------------------- /src/util/serverline.js: -------------------------------------------------------------------------------- 1 | import serverline from "serverline" 2 | 3 | const completions = [] 4 | const commands = {} 5 | 6 | export const addCompletion = completion => { 7 | completions.push(completion) 8 | serverline.setCompletion(completions) 9 | } 10 | 11 | export const removeCompletion = completion => { 12 | const index = completions.findIndex(c => c == completion) 13 | if (index != -1) completions.splice(index, 1) 14 | 15 | serverline.setCompletion(completions) 16 | } 17 | 18 | export const registerCommand = (keyword, cmd) => { 19 | commands[keyword] = cmd 20 | } 21 | 22 | export const init = (prefix = ">") => { 23 | serverline.init() 24 | serverline.setPrompt(prefix) 25 | serverline.on("line", function(line) { 26 | // switch (line) { 27 | // case "help": 28 | // console.log("help: To get this message.") 29 | // break 30 | // case "pwd": 31 | // console.log("toggle muted", !serverline.isMuted()) 32 | // serverline.setMuted(!serverline.isMuted(), "> [hidden]") 33 | // return true 34 | // case "secret": 35 | // serverline.secret("secret:", function () { 36 | // console.log(";)") 37 | // }) 38 | // break 39 | // } 40 | const keyword = line.split(" ")[0] 41 | if (commands[keyword]) { 42 | console.log(`Executing ${line} xD`) 43 | commands[keyword].onCall() 44 | } else { 45 | console.log( 46 | `"${line}" is not recognized as an internal or external command` 47 | ) 48 | } 49 | 50 | if (serverline.isMuted()) serverline.setMuted(false) 51 | }) 52 | 53 | serverline.on("SIGINT", function(rl) { 54 | rl.question("Shutdown bot? [Y/n]: ", answer => 55 | answer.match(/^y(es)?$/i) ? process.exit(0) : rl.output.write("\x1B[1K> ") 56 | ) 57 | }) 58 | } 59 | -------------------------------------------------------------------------------- /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.12.11": 6 | version "7.12.11" 7 | resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" 8 | integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== 9 | dependencies: 10 | "@babel/highlight" "^7.10.4" 11 | 12 | "@babel/code-frame@^7.16.0": 13 | version "7.16.0" 14 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431" 15 | integrity sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA== 16 | dependencies: 17 | "@babel/highlight" "^7.16.0" 18 | 19 | "@babel/compat-data@^7.16.0": 20 | version "7.16.4" 21 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.4.tgz#081d6bbc336ec5c2435c6346b2ae1fb98b5ac68e" 22 | integrity sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q== 23 | 24 | "@babel/core@^7.16.0": 25 | version "7.16.0" 26 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.0.tgz#c4ff44046f5fe310525cc9eb4ef5147f0c5374d4" 27 | integrity sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ== 28 | dependencies: 29 | "@babel/code-frame" "^7.16.0" 30 | "@babel/generator" "^7.16.0" 31 | "@babel/helper-compilation-targets" "^7.16.0" 32 | "@babel/helper-module-transforms" "^7.16.0" 33 | "@babel/helpers" "^7.16.0" 34 | "@babel/parser" "^7.16.0" 35 | "@babel/template" "^7.16.0" 36 | "@babel/traverse" "^7.16.0" 37 | "@babel/types" "^7.16.0" 38 | convert-source-map "^1.7.0" 39 | debug "^4.1.0" 40 | gensync "^1.0.0-beta.2" 41 | json5 "^2.1.2" 42 | semver "^6.3.0" 43 | source-map "^0.5.0" 44 | 45 | "@babel/eslint-parser@^7.16.3": 46 | version "7.16.3" 47 | resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.16.3.tgz#2a6b1702f3f5aea48e00cea5a5bcc241c437e459" 48 | integrity sha512-iB4ElZT0jAt7PKVaeVulOECdGe6UnmA/O0P9jlF5g5GBOwDVbna8AXhHRu4s27xQf6OkveyA8iTDv1jHdDejgQ== 49 | dependencies: 50 | eslint-scope "^5.1.1" 51 | eslint-visitor-keys "^2.1.0" 52 | semver "^6.3.0" 53 | 54 | "@babel/generator@^7.16.0": 55 | version "7.16.0" 56 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2" 57 | integrity sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew== 58 | dependencies: 59 | "@babel/types" "^7.16.0" 60 | jsesc "^2.5.1" 61 | source-map "^0.5.0" 62 | 63 | "@babel/helper-compilation-targets@^7.16.0": 64 | version "7.16.3" 65 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz#5b480cd13f68363df6ec4dc8ac8e2da11363cbf0" 66 | integrity sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA== 67 | dependencies: 68 | "@babel/compat-data" "^7.16.0" 69 | "@babel/helper-validator-option" "^7.14.5" 70 | browserslist "^4.17.5" 71 | semver "^6.3.0" 72 | 73 | "@babel/helper-function-name@^7.16.0": 74 | version "7.16.0" 75 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz#b7dd0797d00bbfee4f07e9c4ea5b0e30c8bb1481" 76 | integrity sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog== 77 | dependencies: 78 | "@babel/helper-get-function-arity" "^7.16.0" 79 | "@babel/template" "^7.16.0" 80 | "@babel/types" "^7.16.0" 81 | 82 | "@babel/helper-get-function-arity@^7.16.0": 83 | version "7.16.0" 84 | resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz#0088c7486b29a9cb5d948b1a1de46db66e089cfa" 85 | integrity sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ== 86 | dependencies: 87 | "@babel/types" "^7.16.0" 88 | 89 | "@babel/helper-hoist-variables@^7.16.0": 90 | version "7.16.0" 91 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz#4c9023c2f1def7e28ff46fc1dbcd36a39beaa81a" 92 | integrity sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg== 93 | dependencies: 94 | "@babel/types" "^7.16.0" 95 | 96 | "@babel/helper-member-expression-to-functions@^7.16.0": 97 | version "7.16.0" 98 | resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz#29287040efd197c77636ef75188e81da8bccd5a4" 99 | integrity sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ== 100 | dependencies: 101 | "@babel/types" "^7.16.0" 102 | 103 | "@babel/helper-module-imports@^7.16.0": 104 | version "7.16.0" 105 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz#90538e60b672ecf1b448f5f4f5433d37e79a3ec3" 106 | integrity sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg== 107 | dependencies: 108 | "@babel/types" "^7.16.0" 109 | 110 | "@babel/helper-module-transforms@^7.16.0": 111 | version "7.16.0" 112 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz#1c82a8dd4cb34577502ebd2909699b194c3e9bb5" 113 | integrity sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA== 114 | dependencies: 115 | "@babel/helper-module-imports" "^7.16.0" 116 | "@babel/helper-replace-supers" "^7.16.0" 117 | "@babel/helper-simple-access" "^7.16.0" 118 | "@babel/helper-split-export-declaration" "^7.16.0" 119 | "@babel/helper-validator-identifier" "^7.15.7" 120 | "@babel/template" "^7.16.0" 121 | "@babel/traverse" "^7.16.0" 122 | "@babel/types" "^7.16.0" 123 | 124 | "@babel/helper-optimise-call-expression@^7.16.0": 125 | version "7.16.0" 126 | resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz#cecdb145d70c54096b1564f8e9f10cd7d193b338" 127 | integrity sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw== 128 | dependencies: 129 | "@babel/types" "^7.16.0" 130 | 131 | "@babel/helper-plugin-utils@^7.14.5": 132 | version "7.14.5" 133 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" 134 | integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== 135 | 136 | "@babel/helper-replace-supers@^7.16.0": 137 | version "7.16.0" 138 | resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz#73055e8d3cf9bcba8ddb55cad93fedc860f68f17" 139 | integrity sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA== 140 | dependencies: 141 | "@babel/helper-member-expression-to-functions" "^7.16.0" 142 | "@babel/helper-optimise-call-expression" "^7.16.0" 143 | "@babel/traverse" "^7.16.0" 144 | "@babel/types" "^7.16.0" 145 | 146 | "@babel/helper-simple-access@^7.16.0": 147 | version "7.16.0" 148 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz#21d6a27620e383e37534cf6c10bba019a6f90517" 149 | integrity sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw== 150 | dependencies: 151 | "@babel/types" "^7.16.0" 152 | 153 | "@babel/helper-split-export-declaration@^7.16.0": 154 | version "7.16.0" 155 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz#29672f43663e936df370aaeb22beddb3baec7438" 156 | integrity sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw== 157 | dependencies: 158 | "@babel/types" "^7.16.0" 159 | 160 | "@babel/helper-validator-identifier@^7.14.5", "@babel/helper-validator-identifier@^7.15.7": 161 | version "7.15.7" 162 | resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz" 163 | integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== 164 | 165 | "@babel/helper-validator-option@^7.14.5": 166 | version "7.14.5" 167 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" 168 | integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== 169 | 170 | "@babel/helpers@^7.16.0": 171 | version "7.16.3" 172 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.3.tgz#27fc64f40b996e7074dc73128c3e5c3e7f55c43c" 173 | integrity sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w== 174 | dependencies: 175 | "@babel/template" "^7.16.0" 176 | "@babel/traverse" "^7.16.3" 177 | "@babel/types" "^7.16.0" 178 | 179 | "@babel/highlight@^7.10.4": 180 | version "7.14.5" 181 | resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz" 182 | integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== 183 | dependencies: 184 | "@babel/helper-validator-identifier" "^7.14.5" 185 | chalk "^2.0.0" 186 | js-tokens "^4.0.0" 187 | 188 | "@babel/highlight@^7.16.0": 189 | version "7.16.0" 190 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.0.tgz#6ceb32b2ca4b8f5f361fb7fd821e3fddf4a1725a" 191 | integrity sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g== 192 | dependencies: 193 | "@babel/helper-validator-identifier" "^7.15.7" 194 | chalk "^2.0.0" 195 | js-tokens "^4.0.0" 196 | 197 | "@babel/parser@^7.16.0", "@babel/parser@^7.16.3": 198 | version "7.16.4" 199 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.4.tgz#d5f92f57cf2c74ffe9b37981c0e72fee7311372e" 200 | integrity sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng== 201 | 202 | "@babel/plugin-syntax-top-level-await@^7.14.5": 203 | version "7.14.5" 204 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" 205 | integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== 206 | dependencies: 207 | "@babel/helper-plugin-utils" "^7.14.5" 208 | 209 | "@babel/template@^7.16.0": 210 | version "7.16.0" 211 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6" 212 | integrity sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A== 213 | dependencies: 214 | "@babel/code-frame" "^7.16.0" 215 | "@babel/parser" "^7.16.0" 216 | "@babel/types" "^7.16.0" 217 | 218 | "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.3": 219 | version "7.16.3" 220 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.3.tgz#f63e8a938cc1b780f66d9ed3c54f532ca2d14787" 221 | integrity sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag== 222 | dependencies: 223 | "@babel/code-frame" "^7.16.0" 224 | "@babel/generator" "^7.16.0" 225 | "@babel/helper-function-name" "^7.16.0" 226 | "@babel/helper-hoist-variables" "^7.16.0" 227 | "@babel/helper-split-export-declaration" "^7.16.0" 228 | "@babel/parser" "^7.16.3" 229 | "@babel/types" "^7.16.0" 230 | debug "^4.1.0" 231 | globals "^11.1.0" 232 | 233 | "@babel/types@^7.16.0": 234 | version "7.16.0" 235 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.0.tgz#db3b313804f96aadd0b776c4823e127ad67289ba" 236 | integrity sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg== 237 | dependencies: 238 | "@babel/helper-validator-identifier" "^7.15.7" 239 | to-fast-properties "^2.0.0" 240 | 241 | "@eslint/eslintrc@^0.4.3": 242 | version "0.4.3" 243 | resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz" 244 | integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== 245 | dependencies: 246 | ajv "^6.12.4" 247 | debug "^4.1.1" 248 | espree "^7.3.0" 249 | globals "^13.9.0" 250 | ignore "^4.0.6" 251 | import-fresh "^3.2.1" 252 | js-yaml "^3.13.1" 253 | minimatch "^3.0.4" 254 | strip-json-comments "^3.1.1" 255 | 256 | "@hapi/hoek@^9.0.0": 257 | version "9.2.1" 258 | resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.1.tgz#9551142a1980503752536b5050fd99f4a7f13b17" 259 | integrity sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw== 260 | 261 | "@hapi/topo@^5.0.0": 262 | version "5.1.0" 263 | resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012" 264 | integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== 265 | dependencies: 266 | "@hapi/hoek" "^9.0.0" 267 | 268 | "@humanwhocodes/config-array@^0.5.0": 269 | version "0.5.0" 270 | resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz" 271 | integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== 272 | dependencies: 273 | "@humanwhocodes/object-schema" "^1.2.0" 274 | debug "^4.1.1" 275 | minimatch "^3.0.4" 276 | 277 | "@humanwhocodes/object-schema@^1.2.0": 278 | version "1.2.0" 279 | resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz" 280 | integrity sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w== 281 | 282 | "@seald-io/binary-search-tree@^1.0.2": 283 | version "1.0.2" 284 | resolved "https://registry.yarnpkg.com/@seald-io/binary-search-tree/-/binary-search-tree-1.0.2.tgz#9f0e5cec5e0acf97f1b495f2f6d3476ddb6a94ed" 285 | integrity sha512-+pYGvPFAk7wUR+ONMOlc6A+LUN4kOCFwyPLjyaeS7wVibADPHWYJNYsNtyIAwjF1AXQkuaXElnIc4XjKt55QZA== 286 | 287 | "@seald-io/nedb@^2.0.4": 288 | version "2.0.4" 289 | resolved "https://registry.yarnpkg.com/@seald-io/nedb/-/nedb-2.0.4.tgz#d3c0534889b81ba1dc43cbde8721312eee13c648" 290 | integrity sha512-QMSMJemcCIVhbcwVg/oASV74Qudl6ex6c1U8IwckxIvFub1TwRQcchMva30qBUIrNGrLgKXM3c+lgwfdlGa55w== 291 | dependencies: 292 | "@seald-io/binary-search-tree" "^1.0.2" 293 | async "0.2.10" 294 | localforage "^1.9.0" 295 | 296 | "@seald-io/nedb@^2.2.0": 297 | version "2.2.1" 298 | resolved "https://registry.yarnpkg.com/@seald-io/nedb/-/nedb-2.2.1.tgz#e46fc4bb079f2c4f9da8e8d7485e581621db6a57" 299 | integrity sha512-uUAUpMT8SyWIc+KISyRqQy95mCjY0hx8tudzFTuvyhtON1xnfrqSfMRNxaVhx/W2aeWqLRNUqhDH6L3Tm9sBhQ== 300 | dependencies: 301 | "@seald-io/binary-search-tree" "^1.0.2" 302 | async "0.2.10" 303 | localforage "^1.9.0" 304 | 305 | "@sideway/address@^4.1.3": 306 | version "4.1.3" 307 | resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.3.tgz#d93cce5d45c5daec92ad76db492cc2ee3c64ab27" 308 | integrity sha512-8ncEUtmnTsMmL7z1YPB47kPUq7LpKWJNFPsRzHiIajGC5uXlWGn+AmkYPcHNl8S4tcEGx+cnORnNYaw2wvL+LQ== 309 | dependencies: 310 | "@hapi/hoek" "^9.0.0" 311 | 312 | "@sideway/formula@^3.0.0": 313 | version "3.0.0" 314 | resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.0.tgz#fe158aee32e6bd5de85044be615bc08478a0a13c" 315 | integrity sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg== 316 | 317 | "@sideway/pinpoint@^2.0.0": 318 | version "2.0.0" 319 | resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" 320 | integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== 321 | 322 | "@types/component-emitter@^1.2.10": 323 | version "1.2.10" 324 | resolved "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz" 325 | integrity sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg== 326 | 327 | accepts@~1.3.7: 328 | version "1.3.7" 329 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" 330 | integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== 331 | dependencies: 332 | mime-types "~2.1.24" 333 | negotiator "0.6.2" 334 | 335 | acorn-jsx@^5.3.1: 336 | version "5.3.2" 337 | resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" 338 | integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== 339 | 340 | acorn@^7.4.0: 341 | version "7.4.1" 342 | resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" 343 | integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== 344 | 345 | ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: 346 | version "6.12.6" 347 | resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" 348 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 349 | dependencies: 350 | fast-deep-equal "^3.1.1" 351 | fast-json-stable-stringify "^2.0.0" 352 | json-schema-traverse "^0.4.1" 353 | uri-js "^4.2.2" 354 | 355 | ajv@^8.0.1: 356 | version "8.6.3" 357 | resolved "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz" 358 | integrity sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw== 359 | dependencies: 360 | fast-deep-equal "^3.1.1" 361 | json-schema-traverse "^1.0.0" 362 | require-from-string "^2.0.2" 363 | uri-js "^4.2.2" 364 | 365 | ansi-colors@^4.1.1: 366 | version "4.1.1" 367 | resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz" 368 | integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== 369 | 370 | ansi-regex@^5.0.1: 371 | version "5.0.1" 372 | resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" 373 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 374 | 375 | ansi-regex@^6.0.1: 376 | version "6.0.1" 377 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" 378 | integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== 379 | 380 | ansi-styles@^3.2.1: 381 | version "3.2.1" 382 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" 383 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 384 | dependencies: 385 | color-convert "^1.9.0" 386 | 387 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 388 | version "4.3.0" 389 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" 390 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 391 | dependencies: 392 | color-convert "^2.0.1" 393 | 394 | ansi@^0.3.0, ansi@~0.3.0: 395 | version "0.3.1" 396 | resolved "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz" 397 | integrity sha1-DELU+xcWDVqa8eSEus4cZpIsGyE= 398 | 399 | are-we-there-yet@~1.0.0: 400 | version "1.0.6" 401 | resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.0.6.tgz" 402 | integrity sha1-otKMkxAqpsyWJFomy5VN4G7FPww= 403 | dependencies: 404 | delegates "^1.0.0" 405 | readable-stream "^2.0.0 || ^1.1.13" 406 | 407 | argparse@^1.0.7: 408 | version "1.0.10" 409 | resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" 410 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 411 | dependencies: 412 | sprintf-js "~1.0.2" 413 | 414 | array-flatten@1.1.1: 415 | version "1.1.1" 416 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" 417 | integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= 418 | 419 | asn1@~0.2.3: 420 | version "0.2.4" 421 | resolved "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz" 422 | integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== 423 | dependencies: 424 | safer-buffer "~2.1.0" 425 | 426 | assert-plus@1.0.0, assert-plus@^1.0.0: 427 | version "1.0.0" 428 | resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" 429 | integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= 430 | 431 | astral-regex@^2.0.0: 432 | version "2.0.0" 433 | resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" 434 | integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== 435 | 436 | async-limiter@~1.0.0: 437 | version "1.0.1" 438 | resolved "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz" 439 | integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== 440 | 441 | async@0.2.10: 442 | version "0.2.10" 443 | resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" 444 | integrity sha1-trvgsGdLnXGXCMo43owjfLUmw9E= 445 | 446 | asynckit@^0.4.0: 447 | version "0.4.0" 448 | resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" 449 | integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= 450 | 451 | at-least-node@^1.0.0: 452 | version "1.0.0" 453 | resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" 454 | integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== 455 | 456 | aws-sign2@~0.7.0: 457 | version "0.7.0" 458 | resolved "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz" 459 | integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= 460 | 461 | aws4@^1.8.0: 462 | version "1.11.0" 463 | resolved "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz" 464 | integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== 465 | 466 | axios@^0.24.0: 467 | version "0.24.0" 468 | resolved "https://registry.yarnpkg.com/axios/-/axios-0.24.0.tgz#804e6fa1e4b9c5288501dd9dff56a7a0940d20d6" 469 | integrity sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA== 470 | dependencies: 471 | follow-redirects "^1.14.4" 472 | 473 | backo2@~1.0.2: 474 | version "1.0.2" 475 | resolved "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz" 476 | integrity sha1-MasayLEpNjRj41s+u2n038+6eUc= 477 | 478 | balanced-match@^1.0.0: 479 | version "1.0.2" 480 | resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" 481 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 482 | 483 | base64-arraybuffer@0.1.4: 484 | version "0.1.4" 485 | resolved "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz" 486 | integrity sha1-mBjHngWbE1X5fgQooBfIOOkLqBI= 487 | 488 | base64-js@^1.3.0, base64-js@^1.3.1: 489 | version "1.5.1" 490 | resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" 491 | integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== 492 | 493 | bcrypt-pbkdf@^1.0.0: 494 | version "1.0.2" 495 | resolved "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz" 496 | integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= 497 | dependencies: 498 | tweetnacl "^0.14.3" 499 | 500 | bl@^4.0.2: 501 | version "4.1.0" 502 | resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" 503 | integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== 504 | dependencies: 505 | buffer "^5.5.0" 506 | inherits "^2.0.4" 507 | readable-stream "^3.4.0" 508 | 509 | bl@^5.0.0: 510 | version "5.0.0" 511 | resolved "https://registry.yarnpkg.com/bl/-/bl-5.0.0.tgz#6928804a41e9da9034868e1c50ca88f21f57aea2" 512 | integrity sha512-8vxFNZ0pflFfi0WXA3WQXlj6CaMEwsmh63I1CNp0q+wWv8sD0ARx1KovSQd0l2GkwrMIOyedq0EF1FxI+RCZLQ== 513 | dependencies: 514 | buffer "^6.0.3" 515 | inherits "^2.0.4" 516 | readable-stream "^3.4.0" 517 | 518 | bluebird@^3.0.0: 519 | version "3.7.2" 520 | resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" 521 | integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== 522 | 523 | body-parser@1.19.0: 524 | version "1.19.0" 525 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" 526 | integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== 527 | dependencies: 528 | bytes "3.1.0" 529 | content-type "~1.0.4" 530 | debug "2.6.9" 531 | depd "~1.1.2" 532 | http-errors "1.7.2" 533 | iconv-lite "0.4.24" 534 | on-finished "~2.3.0" 535 | qs "6.7.0" 536 | raw-body "2.4.0" 537 | type-is "~1.6.17" 538 | 539 | boolbase@~1.0.0: 540 | version "1.0.0" 541 | resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" 542 | integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= 543 | 544 | brace-expansion@^1.1.7: 545 | version "1.1.11" 546 | resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" 547 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 548 | dependencies: 549 | balanced-match "^1.0.0" 550 | concat-map "0.0.1" 551 | 552 | browserslist@^4.17.5: 553 | version "4.18.1" 554 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.18.1.tgz#60d3920f25b6860eb917c6c7b185576f4d8b017f" 555 | integrity sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ== 556 | dependencies: 557 | caniuse-lite "^1.0.30001280" 558 | electron-to-chromium "^1.3.896" 559 | escalade "^3.1.1" 560 | node-releases "^2.0.1" 561 | picocolors "^1.0.0" 562 | 563 | buffer-from@^1.0.0: 564 | version "1.1.2" 565 | resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" 566 | integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== 567 | 568 | buffer@^5.5.0: 569 | version "5.7.1" 570 | resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" 571 | integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== 572 | dependencies: 573 | base64-js "^1.3.1" 574 | ieee754 "^1.1.13" 575 | 576 | buffer@^6.0.3: 577 | version "6.0.3" 578 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" 579 | integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== 580 | dependencies: 581 | base64-js "^1.3.1" 582 | ieee754 "^1.2.1" 583 | 584 | bytes@3.1.0: 585 | version "3.1.0" 586 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" 587 | integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== 588 | 589 | callback-stream@^1.0.2: 590 | version "1.1.0" 591 | resolved "https://registry.npmjs.org/callback-stream/-/callback-stream-1.1.0.tgz" 592 | integrity sha1-RwGlEmbwbgbqpx/BcjOCLYdfSQg= 593 | dependencies: 594 | inherits "^2.0.1" 595 | readable-stream "> 1.0.0 < 3.0.0" 596 | 597 | callsites@^3.0.0: 598 | version "3.1.0" 599 | resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" 600 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 601 | 602 | caniuse-lite@^1.0.30001280: 603 | version "1.0.30001282" 604 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001282.tgz#38c781ee0a90ccfe1fe7fefd00e43f5ffdcb96fd" 605 | integrity sha512-YhF/hG6nqBEllymSIjLtR2iWDDnChvhnVJqp+vloyt2tEHFG1yBR+ac2B/rOw0qOK0m0lEXU2dv4E/sMk5P9Kg== 606 | 607 | caseless@~0.12.0: 608 | version "0.12.0" 609 | resolved "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz" 610 | integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= 611 | 612 | chalk@^2.0.0: 613 | version "2.4.2" 614 | resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" 615 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 616 | dependencies: 617 | ansi-styles "^3.2.1" 618 | escape-string-regexp "^1.0.5" 619 | supports-color "^5.3.0" 620 | 621 | chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: 622 | version "4.1.2" 623 | resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" 624 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 625 | dependencies: 626 | ansi-styles "^4.1.0" 627 | supports-color "^7.1.0" 628 | 629 | chalk@^5.0.0: 630 | version "5.0.0" 631 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.0.0.tgz#bd96c6bb8e02b96e08c0c3ee2a9d90e050c7b832" 632 | integrity sha512-/duVOqst+luxCQRKEo4bNxinsOQtMP80ZYm7mMqzuh5PociNL0PvmHFvREJ9ueYL2TxlHjBcmLCdmocx9Vg+IQ== 633 | 634 | cheerio@^0.22.0: 635 | version "0.22.0" 636 | resolved "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz" 637 | integrity sha1-qbqoYKP5tZWmuBsahocxIe06Jp4= 638 | dependencies: 639 | css-select "~1.2.0" 640 | dom-serializer "~0.1.0" 641 | entities "~1.1.1" 642 | htmlparser2 "^3.9.1" 643 | lodash.assignin "^4.0.9" 644 | lodash.bind "^4.1.4" 645 | lodash.defaults "^4.0.1" 646 | lodash.filter "^4.4.0" 647 | lodash.flatten "^4.2.0" 648 | lodash.foreach "^4.3.0" 649 | lodash.map "^4.4.0" 650 | lodash.merge "^4.4.0" 651 | lodash.pick "^4.2.1" 652 | lodash.reduce "^4.4.0" 653 | lodash.reject "^4.4.0" 654 | lodash.some "^4.4.0" 655 | 656 | clean-jsdoc-theme@^3.3.1: 657 | version "3.3.1" 658 | resolved "https://registry.yarnpkg.com/clean-jsdoc-theme/-/clean-jsdoc-theme-3.3.1.tgz#fedf8111519773101d6b5610ac6a43ba19ca91ca" 659 | integrity sha512-e2P5PB1YcRpWto5pNgG7CLIlMLuEF+UGCf5CPYNvMsqw5or30VQFITWKfBuKZzD98Q9H0wW2n5aqV6CuT2FhGQ== 660 | dependencies: 661 | fs-extra "^9.1.0" 662 | 663 | cli-cursor@^4.0.0: 664 | version "4.0.0" 665 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-4.0.0.tgz#3cecfe3734bf4fe02a8361cbdc0f6fe28c6a57ea" 666 | integrity sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== 667 | dependencies: 668 | restore-cursor "^4.0.0" 669 | 670 | cli-spinners@^2.6.0: 671 | version "2.6.0" 672 | resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.0.tgz#36c7dc98fb6a9a76bd6238ec3f77e2425627e939" 673 | integrity sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q== 674 | 675 | cli-table3@^0.6.0: 676 | version "0.6.0" 677 | resolved "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.0.tgz" 678 | integrity sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ== 679 | dependencies: 680 | object-assign "^4.1.0" 681 | string-width "^4.2.0" 682 | optionalDependencies: 683 | colors "^1.1.2" 684 | 685 | clone@^1.0.2: 686 | version "1.0.4" 687 | resolved "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" 688 | integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= 689 | 690 | color-convert@^1.9.0: 691 | version "1.9.3" 692 | resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" 693 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 694 | dependencies: 695 | color-name "1.1.3" 696 | 697 | color-convert@^2.0.1: 698 | version "2.0.1" 699 | resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" 700 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 701 | dependencies: 702 | color-name "~1.1.4" 703 | 704 | color-name@1.1.3: 705 | version "1.1.3" 706 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" 707 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 708 | 709 | color-name@~1.1.4: 710 | version "1.1.4" 711 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" 712 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 713 | 714 | colors@^1.1.2: 715 | version "1.4.0" 716 | resolved "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz" 717 | integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== 718 | 719 | combined-stream@^1.0.6, combined-stream@~1.0.6: 720 | version "1.0.8" 721 | resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" 722 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 723 | dependencies: 724 | delayed-stream "~1.0.0" 725 | 726 | commist@^1.0.0: 727 | version "1.1.0" 728 | resolved "https://registry.npmjs.org/commist/-/commist-1.1.0.tgz" 729 | integrity sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg== 730 | dependencies: 731 | leven "^2.1.0" 732 | minimist "^1.1.0" 733 | 734 | component-emitter@~1.3.0: 735 | version "1.3.0" 736 | resolved "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz" 737 | integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== 738 | 739 | concat-map@0.0.1: 740 | version "0.0.1" 741 | resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" 742 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 743 | 744 | concat-stream@^1.6.2: 745 | version "1.6.2" 746 | resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz" 747 | integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== 748 | dependencies: 749 | buffer-from "^1.0.0" 750 | inherits "^2.0.3" 751 | readable-stream "^2.2.2" 752 | typedarray "^0.0.6" 753 | 754 | content-disposition@0.5.3: 755 | version "0.5.3" 756 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" 757 | integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== 758 | dependencies: 759 | safe-buffer "5.1.2" 760 | 761 | content-type@~1.0.4: 762 | version "1.0.4" 763 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" 764 | integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== 765 | 766 | convert-source-map@^1.7.0: 767 | version "1.8.0" 768 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" 769 | integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== 770 | dependencies: 771 | safe-buffer "~5.1.1" 772 | 773 | cookie-signature@1.0.6: 774 | version "1.0.6" 775 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" 776 | integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= 777 | 778 | cookie@0.4.0: 779 | version "0.4.0" 780 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" 781 | integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== 782 | 783 | core-util-is@1.0.2: 784 | version "1.0.2" 785 | resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" 786 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 787 | 788 | core-util-is@~1.0.0: 789 | version "1.0.3" 790 | resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" 791 | integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== 792 | 793 | cross-spawn@^7.0.2: 794 | version "7.0.3" 795 | resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" 796 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 797 | dependencies: 798 | path-key "^3.1.0" 799 | shebang-command "^2.0.0" 800 | which "^2.0.1" 801 | 802 | css-select@~1.2.0: 803 | version "1.2.0" 804 | resolved "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz" 805 | integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= 806 | dependencies: 807 | boolbase "~1.0.0" 808 | css-what "2.1" 809 | domutils "1.5.1" 810 | nth-check "~1.0.1" 811 | 812 | css-what@2.1: 813 | version "2.1.3" 814 | resolved "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz" 815 | integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== 816 | 817 | d@1, d@^1.0.1: 818 | version "1.0.1" 819 | resolved "https://registry.npmjs.org/d/-/d-1.0.1.tgz" 820 | integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== 821 | dependencies: 822 | es5-ext "^0.10.50" 823 | type "^1.0.1" 824 | 825 | dashdash@^1.12.0: 826 | version "1.14.1" 827 | resolved "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz" 828 | integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= 829 | dependencies: 830 | assert-plus "^1.0.0" 831 | 832 | data-uri-to-buffer@^4.0.0: 833 | version "4.0.0" 834 | resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz#b5db46aea50f6176428ac05b73be39a57701a64b" 835 | integrity sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA== 836 | 837 | debug@2.6.9: 838 | version "2.6.9" 839 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 840 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 841 | dependencies: 842 | ms "2.0.0" 843 | 844 | debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@~4.3.1, debug@~4.3.2: 845 | version "4.3.2" 846 | resolved "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz" 847 | integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== 848 | dependencies: 849 | ms "2.1.2" 850 | 851 | deep-extend@^0.6.0: 852 | version "0.6.0" 853 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" 854 | integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== 855 | 856 | deep-is@^0.1.3: 857 | version "0.1.4" 858 | resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" 859 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== 860 | 861 | defaults@^1.0.3: 862 | version "1.0.3" 863 | resolved "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz" 864 | integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= 865 | dependencies: 866 | clone "^1.0.2" 867 | 868 | delayed-stream@~1.0.0: 869 | version "1.0.0" 870 | resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" 871 | integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= 872 | 873 | delegates@^1.0.0: 874 | version "1.0.0" 875 | resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" 876 | integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= 877 | 878 | depd@~1.1.2: 879 | version "1.1.2" 880 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" 881 | integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= 882 | 883 | destroy@~1.0.4: 884 | version "1.0.4" 885 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" 886 | integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= 887 | 888 | doctrine@^3.0.0: 889 | version "3.0.0" 890 | resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" 891 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== 892 | dependencies: 893 | esutils "^2.0.2" 894 | 895 | dom-serializer@0: 896 | version "0.2.2" 897 | resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz" 898 | integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== 899 | dependencies: 900 | domelementtype "^2.0.1" 901 | entities "^2.0.0" 902 | 903 | dom-serializer@~0.1.0: 904 | version "0.1.1" 905 | resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz" 906 | integrity sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA== 907 | dependencies: 908 | domelementtype "^1.3.0" 909 | entities "^1.1.1" 910 | 911 | domelementtype@1, domelementtype@^1.3.0, domelementtype@^1.3.1: 912 | version "1.3.1" 913 | resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz" 914 | integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== 915 | 916 | domelementtype@^2.0.1: 917 | version "2.2.0" 918 | resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz" 919 | integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== 920 | 921 | domhandler@^2.3.0: 922 | version "2.4.2" 923 | resolved "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz" 924 | integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== 925 | dependencies: 926 | domelementtype "1" 927 | 928 | domutils@1.5.1: 929 | version "1.5.1" 930 | resolved "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz" 931 | integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= 932 | dependencies: 933 | dom-serializer "0" 934 | domelementtype "1" 935 | 936 | domutils@^1.5.1: 937 | version "1.7.0" 938 | resolved "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz" 939 | integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== 940 | dependencies: 941 | dom-serializer "0" 942 | domelementtype "1" 943 | 944 | dotenv@^10.0.0: 945 | version "10.0.0" 946 | resolved "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz" 947 | integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== 948 | 949 | duplexify@^3.5.1, duplexify@^3.6.0: 950 | version "3.7.1" 951 | resolved "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz" 952 | integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== 953 | dependencies: 954 | end-of-stream "^1.0.0" 955 | inherits "^2.0.1" 956 | readable-stream "^2.0.0" 957 | stream-shift "^1.0.0" 958 | 959 | ecc-jsbn@~0.1.1: 960 | version "0.1.2" 961 | resolved "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz" 962 | integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= 963 | dependencies: 964 | jsbn "~0.1.0" 965 | safer-buffer "^2.1.0" 966 | 967 | ee-first@1.1.1: 968 | version "1.1.1" 969 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 970 | integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= 971 | 972 | electron-to-chromium@^1.3.896: 973 | version "1.3.900" 974 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.900.tgz#5be2c5818a2a012c511b4b43e87b6ab7a296d4f5" 975 | integrity sha512-SuXbQD8D4EjsaBaJJxySHbC+zq8JrFfxtb4GIr4E9n1BcROyMcRrJCYQNpJ9N+Wjf5mFp7Wp0OHykd14JNEzzQ== 976 | 977 | emoji-regex@^8.0.0: 978 | version "8.0.0" 979 | resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" 980 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 981 | 982 | encodeurl@~1.0.2: 983 | version "1.0.2" 984 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" 985 | integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= 986 | 987 | end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: 988 | version "1.4.4" 989 | resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" 990 | integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== 991 | dependencies: 992 | once "^1.4.0" 993 | 994 | engine.io-client@~5.2.0: 995 | version "5.2.0" 996 | resolved "https://registry.npmjs.org/engine.io-client/-/engine.io-client-5.2.0.tgz" 997 | integrity sha512-BcIBXGBkT7wKecwnfrSV79G2X5lSUSgeAGgoo60plXf8UsQEvCQww/KMwXSMhVjb98fFYNq20CC5eo8IOAPqsg== 998 | dependencies: 999 | base64-arraybuffer "0.1.4" 1000 | component-emitter "~1.3.0" 1001 | debug "~4.3.1" 1002 | engine.io-parser "~4.0.1" 1003 | has-cors "1.1.0" 1004 | parseqs "0.0.6" 1005 | parseuri "0.0.6" 1006 | ws "~7.4.2" 1007 | xmlhttprequest-ssl "~2.0.0" 1008 | yeast "0.1.2" 1009 | 1010 | engine.io-parser@~4.0.1: 1011 | version "4.0.3" 1012 | resolved "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.3.tgz" 1013 | integrity sha512-xEAAY0msNnESNPc00e19y5heTPX4y/TJ36gr8t1voOaNmTojP9b3oK3BbJLFufW2XFPQaaijpFewm2g2Um3uqA== 1014 | dependencies: 1015 | base64-arraybuffer "0.1.4" 1016 | 1017 | enquirer@^2.3.5: 1018 | version "2.3.6" 1019 | resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz" 1020 | integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== 1021 | dependencies: 1022 | ansi-colors "^4.1.1" 1023 | 1024 | entities@^1.1.1, entities@~1.1.1: 1025 | version "1.1.2" 1026 | resolved "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz" 1027 | integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== 1028 | 1029 | entities@^2.0.0: 1030 | version "2.2.0" 1031 | resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" 1032 | integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== 1033 | 1034 | es5-ext@^0.10.35, es5-ext@^0.10.50, es5-ext@~0.10.14: 1035 | version "0.10.53" 1036 | resolved "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz" 1037 | integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q== 1038 | dependencies: 1039 | es6-iterator "~2.0.3" 1040 | es6-symbol "~3.1.3" 1041 | next-tick "~1.0.0" 1042 | 1043 | es6-iterator@~2.0.1, es6-iterator@~2.0.3: 1044 | version "2.0.3" 1045 | resolved "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz" 1046 | integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= 1047 | dependencies: 1048 | d "1" 1049 | es5-ext "^0.10.35" 1050 | es6-symbol "^3.1.1" 1051 | 1052 | es6-map@^0.1.5: 1053 | version "0.1.5" 1054 | resolved "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz" 1055 | integrity sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA= 1056 | dependencies: 1057 | d "1" 1058 | es5-ext "~0.10.14" 1059 | es6-iterator "~2.0.1" 1060 | es6-set "~0.1.5" 1061 | es6-symbol "~3.1.1" 1062 | event-emitter "~0.3.5" 1063 | 1064 | es6-set@~0.1.5: 1065 | version "0.1.5" 1066 | resolved "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz" 1067 | integrity sha1-0rPsXU2ADO2BjbU40ol02wpzzLE= 1068 | dependencies: 1069 | d "1" 1070 | es5-ext "~0.10.14" 1071 | es6-iterator "~2.0.1" 1072 | es6-symbol "3.1.1" 1073 | event-emitter "~0.3.5" 1074 | 1075 | es6-symbol@3.1.1: 1076 | version "3.1.1" 1077 | resolved "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz" 1078 | integrity sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc= 1079 | dependencies: 1080 | d "1" 1081 | es5-ext "~0.10.14" 1082 | 1083 | es6-symbol@^3.1.1, es6-symbol@~3.1.1, es6-symbol@~3.1.3: 1084 | version "3.1.3" 1085 | resolved "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz" 1086 | integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== 1087 | dependencies: 1088 | d "^1.0.1" 1089 | ext "^1.1.2" 1090 | 1091 | escalade@^3.1.1: 1092 | version "3.1.1" 1093 | resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" 1094 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 1095 | 1096 | escape-html@~1.0.3: 1097 | version "1.0.3" 1098 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 1099 | integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= 1100 | 1101 | escape-string-regexp@^1.0.5: 1102 | version "1.0.5" 1103 | resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" 1104 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 1105 | 1106 | escape-string-regexp@^4.0.0: 1107 | version "4.0.0" 1108 | resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" 1109 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== 1110 | 1111 | eslint-scope@^5.1.1: 1112 | version "5.1.1" 1113 | resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" 1114 | integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== 1115 | dependencies: 1116 | esrecurse "^4.3.0" 1117 | estraverse "^4.1.1" 1118 | 1119 | eslint-utils@^2.1.0: 1120 | version "2.1.0" 1121 | resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz" 1122 | integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== 1123 | dependencies: 1124 | eslint-visitor-keys "^1.1.0" 1125 | 1126 | eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: 1127 | version "1.3.0" 1128 | resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" 1129 | integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== 1130 | 1131 | eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0: 1132 | version "2.1.0" 1133 | resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" 1134 | integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== 1135 | 1136 | eslint@^7.26.0: 1137 | version "7.32.0" 1138 | resolved "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz" 1139 | integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== 1140 | dependencies: 1141 | "@babel/code-frame" "7.12.11" 1142 | "@eslint/eslintrc" "^0.4.3" 1143 | "@humanwhocodes/config-array" "^0.5.0" 1144 | ajv "^6.10.0" 1145 | chalk "^4.0.0" 1146 | cross-spawn "^7.0.2" 1147 | debug "^4.0.1" 1148 | doctrine "^3.0.0" 1149 | enquirer "^2.3.5" 1150 | escape-string-regexp "^4.0.0" 1151 | eslint-scope "^5.1.1" 1152 | eslint-utils "^2.1.0" 1153 | eslint-visitor-keys "^2.0.0" 1154 | espree "^7.3.1" 1155 | esquery "^1.4.0" 1156 | esutils "^2.0.2" 1157 | fast-deep-equal "^3.1.3" 1158 | file-entry-cache "^6.0.1" 1159 | functional-red-black-tree "^1.0.1" 1160 | glob-parent "^5.1.2" 1161 | globals "^13.6.0" 1162 | ignore "^4.0.6" 1163 | import-fresh "^3.0.0" 1164 | imurmurhash "^0.1.4" 1165 | is-glob "^4.0.0" 1166 | js-yaml "^3.13.1" 1167 | json-stable-stringify-without-jsonify "^1.0.1" 1168 | levn "^0.4.1" 1169 | lodash.merge "^4.6.2" 1170 | minimatch "^3.0.4" 1171 | natural-compare "^1.4.0" 1172 | optionator "^0.9.1" 1173 | progress "^2.0.0" 1174 | regexpp "^3.1.0" 1175 | semver "^7.2.1" 1176 | strip-ansi "^6.0.0" 1177 | strip-json-comments "^3.1.0" 1178 | table "^6.0.9" 1179 | text-table "^0.2.0" 1180 | v8-compile-cache "^2.0.3" 1181 | 1182 | espree@^7.3.0, espree@^7.3.1: 1183 | version "7.3.1" 1184 | resolved "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz" 1185 | integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== 1186 | dependencies: 1187 | acorn "^7.4.0" 1188 | acorn-jsx "^5.3.1" 1189 | eslint-visitor-keys "^1.3.0" 1190 | 1191 | esprima@^4.0.0: 1192 | version "4.0.1" 1193 | resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" 1194 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 1195 | 1196 | esquery@^1.4.0: 1197 | version "1.4.0" 1198 | resolved "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz" 1199 | integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== 1200 | dependencies: 1201 | estraverse "^5.1.0" 1202 | 1203 | esrecurse@^4.3.0: 1204 | version "4.3.0" 1205 | resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" 1206 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== 1207 | dependencies: 1208 | estraverse "^5.2.0" 1209 | 1210 | estraverse@^4.1.1: 1211 | version "4.3.0" 1212 | resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" 1213 | integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== 1214 | 1215 | estraverse@^5.1.0, estraverse@^5.2.0: 1216 | version "5.2.0" 1217 | resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz" 1218 | integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== 1219 | 1220 | esutils@^2.0.2: 1221 | version "2.0.3" 1222 | resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" 1223 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 1224 | 1225 | etag@~1.8.1: 1226 | version "1.8.1" 1227 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 1228 | integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= 1229 | 1230 | event-emitter@~0.3.5: 1231 | version "0.3.5" 1232 | resolved "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz" 1233 | integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk= 1234 | dependencies: 1235 | d "1" 1236 | es5-ext "~0.10.14" 1237 | 1238 | express@^4.17.1: 1239 | version "4.17.1" 1240 | resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" 1241 | integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== 1242 | dependencies: 1243 | accepts "~1.3.7" 1244 | array-flatten "1.1.1" 1245 | body-parser "1.19.0" 1246 | content-disposition "0.5.3" 1247 | content-type "~1.0.4" 1248 | cookie "0.4.0" 1249 | cookie-signature "1.0.6" 1250 | debug "2.6.9" 1251 | depd "~1.1.2" 1252 | encodeurl "~1.0.2" 1253 | escape-html "~1.0.3" 1254 | etag "~1.8.1" 1255 | finalhandler "~1.1.2" 1256 | fresh "0.5.2" 1257 | merge-descriptors "1.0.1" 1258 | methods "~1.1.2" 1259 | on-finished "~2.3.0" 1260 | parseurl "~1.3.3" 1261 | path-to-regexp "0.1.7" 1262 | proxy-addr "~2.0.5" 1263 | qs "6.7.0" 1264 | range-parser "~1.2.1" 1265 | safe-buffer "5.1.2" 1266 | send "0.17.1" 1267 | serve-static "1.14.1" 1268 | setprototypeof "1.1.1" 1269 | statuses "~1.5.0" 1270 | type-is "~1.6.18" 1271 | utils-merge "1.0.1" 1272 | vary "~1.1.2" 1273 | 1274 | ext@^1.1.2: 1275 | version "1.6.0" 1276 | resolved "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz" 1277 | integrity sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg== 1278 | dependencies: 1279 | type "^2.5.0" 1280 | 1281 | extend@^3.0.0, extend@~3.0.2: 1282 | version "3.0.2" 1283 | resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" 1284 | integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== 1285 | 1286 | extsprintf@1.3.0: 1287 | version "1.3.0" 1288 | resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" 1289 | integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= 1290 | 1291 | extsprintf@^1.2.0: 1292 | version "1.4.0" 1293 | resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz" 1294 | integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= 1295 | 1296 | "facebook-chat-api@https://github.com/kb2ateam/facebook-chat-api": 1297 | version "1.8.0" 1298 | resolved "https://github.com/kb2ateam/facebook-chat-api#e7a75db611cad995c76be94265c74788fb8df89f" 1299 | dependencies: 1300 | bluebird "^3.0.0" 1301 | cheerio "^0.22.0" 1302 | mqtt "^3.0.0" 1303 | npmlog "^1.2.0" 1304 | request "^2.53.0" 1305 | websocket-stream "^5.5.0" 1306 | 1307 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: 1308 | version "3.1.3" 1309 | resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" 1310 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 1311 | 1312 | fast-json-stable-stringify@^2.0.0: 1313 | version "2.1.0" 1314 | resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" 1315 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 1316 | 1317 | fast-levenshtein@^2.0.6: 1318 | version "2.0.6" 1319 | resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" 1320 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 1321 | 1322 | fast-safe-stringify@^2.1.1: 1323 | version "2.1.1" 1324 | resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" 1325 | integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== 1326 | 1327 | fetch-blob@^3.1.2: 1328 | version "3.1.2" 1329 | resolved "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.1.2.tgz" 1330 | integrity sha512-hunJbvy/6OLjCD0uuhLdp0mMPzP/yd2ssd1t2FCJsaA7wkWhpbp9xfuNVpv7Ll4jFhzp6T4LAupSiV9uOeg0VQ== 1331 | dependencies: 1332 | web-streams-polyfill "^3.0.3" 1333 | 1334 | file-entry-cache@^6.0.1: 1335 | version "6.0.1" 1336 | resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" 1337 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== 1338 | dependencies: 1339 | flat-cache "^3.0.4" 1340 | 1341 | finalhandler@~1.1.2: 1342 | version "1.1.2" 1343 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" 1344 | integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== 1345 | dependencies: 1346 | debug "2.6.9" 1347 | encodeurl "~1.0.2" 1348 | escape-html "~1.0.3" 1349 | on-finished "~2.3.0" 1350 | parseurl "~1.3.3" 1351 | statuses "~1.5.0" 1352 | unpipe "~1.0.0" 1353 | 1354 | flat-cache@^3.0.4: 1355 | version "3.0.4" 1356 | resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" 1357 | integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== 1358 | dependencies: 1359 | flatted "^3.1.0" 1360 | rimraf "^3.0.2" 1361 | 1362 | flatted@^3.1.0: 1363 | version "3.2.2" 1364 | resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz" 1365 | integrity sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA== 1366 | 1367 | follow-redirects@^1.14.4: 1368 | version "1.14.6" 1369 | resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.6.tgz#8cfb281bbc035b3c067d6cd975b0f6ade6e855cd" 1370 | integrity sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A== 1371 | 1372 | forever-agent@~0.6.1: 1373 | version "0.6.1" 1374 | resolved "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" 1375 | integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= 1376 | 1377 | form-data@~2.3.2: 1378 | version "2.3.3" 1379 | resolved "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz" 1380 | integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== 1381 | dependencies: 1382 | asynckit "^0.4.0" 1383 | combined-stream "^1.0.6" 1384 | mime-types "^2.1.12" 1385 | 1386 | formdata-polyfill@^4.0.10: 1387 | version "4.0.10" 1388 | resolved "https://registry.yarnpkg.com/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz#24807c31c9d402e002ab3d8c720144ceb8848423" 1389 | integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g== 1390 | dependencies: 1391 | fetch-blob "^3.1.2" 1392 | 1393 | forwarded@0.2.0: 1394 | version "0.2.0" 1395 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" 1396 | integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== 1397 | 1398 | fresh@0.5.2: 1399 | version "0.5.2" 1400 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" 1401 | integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= 1402 | 1403 | fs-extra@^9.1.0: 1404 | version "9.1.0" 1405 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" 1406 | integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== 1407 | dependencies: 1408 | at-least-node "^1.0.0" 1409 | graceful-fs "^4.2.0" 1410 | jsonfile "^6.0.1" 1411 | universalify "^2.0.0" 1412 | 1413 | fs.realpath@^1.0.0: 1414 | version "1.0.0" 1415 | resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" 1416 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 1417 | 1418 | functional-red-black-tree@^1.0.1: 1419 | version "1.0.1" 1420 | resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" 1421 | integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= 1422 | 1423 | gauge@~1.2.0: 1424 | version "1.2.7" 1425 | resolved "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz" 1426 | integrity sha1-6c7FSD09TuDvRLYKfZnkk14TbZM= 1427 | dependencies: 1428 | ansi "^0.3.0" 1429 | has-unicode "^2.0.0" 1430 | lodash.pad "^4.1.0" 1431 | lodash.padend "^4.1.0" 1432 | lodash.padstart "^4.1.0" 1433 | 1434 | gensync@^1.0.0-beta.2: 1435 | version "1.0.0-beta.2" 1436 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" 1437 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== 1438 | 1439 | getpass@^0.1.1: 1440 | version "0.1.7" 1441 | resolved "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz" 1442 | integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= 1443 | dependencies: 1444 | assert-plus "^1.0.0" 1445 | 1446 | glob-parent@^3.1.0: 1447 | version "3.1.0" 1448 | resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz" 1449 | integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= 1450 | dependencies: 1451 | is-glob "^3.1.0" 1452 | path-dirname "^1.0.0" 1453 | 1454 | glob-parent@^5.1.2: 1455 | version "5.1.2" 1456 | resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" 1457 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 1458 | dependencies: 1459 | is-glob "^4.0.1" 1460 | 1461 | glob-stream@^6.1.0: 1462 | version "6.1.0" 1463 | resolved "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz" 1464 | integrity sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ= 1465 | dependencies: 1466 | extend "^3.0.0" 1467 | glob "^7.1.1" 1468 | glob-parent "^3.1.0" 1469 | is-negated-glob "^1.0.0" 1470 | ordered-read-streams "^1.0.0" 1471 | pumpify "^1.3.5" 1472 | readable-stream "^2.1.5" 1473 | remove-trailing-separator "^1.0.1" 1474 | to-absolute-glob "^2.0.0" 1475 | unique-stream "^2.0.2" 1476 | 1477 | glob@^7.1.1, glob@^7.1.3, glob@^7.2.0: 1478 | version "7.2.0" 1479 | resolved "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz" 1480 | integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== 1481 | dependencies: 1482 | fs.realpath "^1.0.0" 1483 | inflight "^1.0.4" 1484 | inherits "2" 1485 | minimatch "^3.0.4" 1486 | once "^1.3.0" 1487 | path-is-absolute "^1.0.0" 1488 | 1489 | globals@^11.1.0: 1490 | version "11.12.0" 1491 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 1492 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 1493 | 1494 | globals@^13.6.0, globals@^13.9.0: 1495 | version "13.11.0" 1496 | resolved "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz" 1497 | integrity sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g== 1498 | dependencies: 1499 | type-fest "^0.20.2" 1500 | 1501 | graceful-fs@^4.1.6, graceful-fs@^4.2.0: 1502 | version "4.2.9" 1503 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" 1504 | integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== 1505 | 1506 | har-schema@^2.0.0: 1507 | version "2.0.0" 1508 | resolved "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz" 1509 | integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= 1510 | 1511 | har-validator@~5.1.3: 1512 | version "5.1.5" 1513 | resolved "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz" 1514 | integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== 1515 | dependencies: 1516 | ajv "^6.12.3" 1517 | har-schema "^2.0.0" 1518 | 1519 | has-cors@1.1.0: 1520 | version "1.1.0" 1521 | resolved "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz" 1522 | integrity sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk= 1523 | 1524 | has-flag@^3.0.0: 1525 | version "3.0.0" 1526 | resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" 1527 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 1528 | 1529 | has-flag@^4.0.0: 1530 | version "4.0.0" 1531 | resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" 1532 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 1533 | 1534 | has-unicode@^2.0.0: 1535 | version "2.0.1" 1536 | resolved "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" 1537 | integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= 1538 | 1539 | help-me@^1.0.1: 1540 | version "1.1.0" 1541 | resolved "https://registry.npmjs.org/help-me/-/help-me-1.1.0.tgz" 1542 | integrity sha1-jy1QjQYAtKRW2i8IZVbn5cBWo8Y= 1543 | dependencies: 1544 | callback-stream "^1.0.2" 1545 | glob-stream "^6.1.0" 1546 | through2 "^2.0.1" 1547 | xtend "^4.0.0" 1548 | 1549 | hjson@^3.2.2: 1550 | version "3.2.2" 1551 | resolved "https://registry.yarnpkg.com/hjson/-/hjson-3.2.2.tgz#a5a81138f4c0bb427e4b2ac917fafd4b454436cf" 1552 | integrity sha512-MkUeB0cTIlppeSsndgESkfFD21T2nXPRaBStLtf3cAYA2bVEFdXlodZB0TukwZiobPD1Ksax5DK4RTZeaXCI3Q== 1553 | 1554 | htmlparser2@^3.9.1: 1555 | version "3.10.1" 1556 | resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz" 1557 | integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== 1558 | dependencies: 1559 | domelementtype "^1.3.1" 1560 | domhandler "^2.3.0" 1561 | domutils "^1.5.1" 1562 | entities "^1.1.1" 1563 | inherits "^2.0.1" 1564 | readable-stream "^3.1.1" 1565 | 1566 | http-errors@1.7.2: 1567 | version "1.7.2" 1568 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" 1569 | integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== 1570 | dependencies: 1571 | depd "~1.1.2" 1572 | inherits "2.0.3" 1573 | setprototypeof "1.1.1" 1574 | statuses ">= 1.5.0 < 2" 1575 | toidentifier "1.0.0" 1576 | 1577 | http-errors@~1.7.2: 1578 | version "1.7.3" 1579 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" 1580 | integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== 1581 | dependencies: 1582 | depd "~1.1.2" 1583 | inherits "2.0.4" 1584 | setprototypeof "1.1.1" 1585 | statuses ">= 1.5.0 < 2" 1586 | toidentifier "1.0.0" 1587 | 1588 | http-signature@~1.2.0: 1589 | version "1.2.0" 1590 | resolved "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz" 1591 | integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= 1592 | dependencies: 1593 | assert-plus "^1.0.0" 1594 | jsprim "^1.2.2" 1595 | sshpk "^1.7.0" 1596 | 1597 | iconv-lite@0.4.24: 1598 | version "0.4.24" 1599 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 1600 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 1601 | dependencies: 1602 | safer-buffer ">= 2.1.2 < 3" 1603 | 1604 | ieee754@^1.1.13, ieee754@^1.2.1: 1605 | version "1.2.1" 1606 | resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" 1607 | integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== 1608 | 1609 | ignore@^4.0.6: 1610 | version "4.0.6" 1611 | resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" 1612 | integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== 1613 | 1614 | immediate@~3.0.5: 1615 | version "3.0.6" 1616 | resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" 1617 | integrity sha1-nbHb0Pr43m++D13V5Wu2BigN5ps= 1618 | 1619 | import-fresh@^3.0.0, import-fresh@^3.2.1: 1620 | version "3.3.0" 1621 | resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" 1622 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 1623 | dependencies: 1624 | parent-module "^1.0.0" 1625 | resolve-from "^4.0.0" 1626 | 1627 | imurmurhash@^0.1.4: 1628 | version "0.1.4" 1629 | resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" 1630 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 1631 | 1632 | inflight@^1.0.4: 1633 | version "1.0.6" 1634 | resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" 1635 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 1636 | dependencies: 1637 | once "^1.3.0" 1638 | wrappy "1" 1639 | 1640 | inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: 1641 | version "2.0.4" 1642 | resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" 1643 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1644 | 1645 | inherits@2.0.3: 1646 | version "2.0.3" 1647 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 1648 | integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= 1649 | 1650 | ipaddr.js@1.9.1: 1651 | version "1.9.1" 1652 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" 1653 | integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== 1654 | 1655 | is-absolute@^1.0.0: 1656 | version "1.0.0" 1657 | resolved "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz" 1658 | integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== 1659 | dependencies: 1660 | is-relative "^1.0.0" 1661 | is-windows "^1.0.1" 1662 | 1663 | is-extglob@^2.1.0, is-extglob@^2.1.1: 1664 | version "2.1.1" 1665 | resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" 1666 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 1667 | 1668 | is-fullwidth-code-point@^3.0.0: 1669 | version "3.0.0" 1670 | resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" 1671 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 1672 | 1673 | is-glob@^3.1.0: 1674 | version "3.1.0" 1675 | resolved "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz" 1676 | integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= 1677 | dependencies: 1678 | is-extglob "^2.1.0" 1679 | 1680 | is-glob@^4.0.0, is-glob@^4.0.1: 1681 | version "4.0.2" 1682 | resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.2.tgz" 1683 | integrity sha512-ZZTOjRcDjuAAAv2cTBQP/lL59ZTArx77+7UzHdWW/XB1mrfp7DEaVpKmZ0XIzx+M7AxfhKcqV+nMetUQmFifwg== 1684 | dependencies: 1685 | is-extglob "^2.1.1" 1686 | 1687 | is-interactive@^2.0.0: 1688 | version "2.0.0" 1689 | resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-2.0.0.tgz#40c57614593826da1100ade6059778d597f16e90" 1690 | integrity sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ== 1691 | 1692 | is-negated-glob@^1.0.0: 1693 | version "1.0.0" 1694 | resolved "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz" 1695 | integrity sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI= 1696 | 1697 | is-relative@^1.0.0: 1698 | version "1.0.0" 1699 | resolved "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz" 1700 | integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== 1701 | dependencies: 1702 | is-unc-path "^1.0.0" 1703 | 1704 | is-typedarray@~1.0.0: 1705 | version "1.0.0" 1706 | resolved "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" 1707 | integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= 1708 | 1709 | is-unc-path@^1.0.0: 1710 | version "1.0.0" 1711 | resolved "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz" 1712 | integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== 1713 | dependencies: 1714 | unc-path-regex "^0.1.2" 1715 | 1716 | is-unicode-supported@^1.0.0, is-unicode-supported@^1.1.0: 1717 | version "1.1.0" 1718 | resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.1.0.tgz" 1719 | integrity sha512-lDcxivp8TJpLG75/DpatAqNzOpDPSpED8XNtrpBHTdQ2InQ1PbW78jhwSxyxhhu+xbVSast2X38bwj8atwoUQA== 1720 | 1721 | is-windows@^1.0.1: 1722 | version "1.0.2" 1723 | resolved "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz" 1724 | integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== 1725 | 1726 | isarray@~1.0.0: 1727 | version "1.0.0" 1728 | resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" 1729 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 1730 | 1731 | isexe@^2.0.0: 1732 | version "2.0.0" 1733 | resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" 1734 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 1735 | 1736 | isstream@~0.1.2: 1737 | version "0.1.2" 1738 | resolved "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" 1739 | integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= 1740 | 1741 | joi@^17.4.2: 1742 | version "17.6.0" 1743 | resolved "https://registry.yarnpkg.com/joi/-/joi-17.6.0.tgz#0bb54f2f006c09a96e75ce687957bd04290054b2" 1744 | integrity sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw== 1745 | dependencies: 1746 | "@hapi/hoek" "^9.0.0" 1747 | "@hapi/topo" "^5.0.0" 1748 | "@sideway/address" "^4.1.3" 1749 | "@sideway/formula" "^3.0.0" 1750 | "@sideway/pinpoint" "^2.0.0" 1751 | 1752 | js-tokens@^4.0.0: 1753 | version "4.0.0" 1754 | resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" 1755 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1756 | 1757 | js-yaml@^3.13.1: 1758 | version "3.14.1" 1759 | resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" 1760 | integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== 1761 | dependencies: 1762 | argparse "^1.0.7" 1763 | esprima "^4.0.0" 1764 | 1765 | jsbn@~0.1.0: 1766 | version "0.1.1" 1767 | resolved "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz" 1768 | integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= 1769 | 1770 | jsesc@^2.5.1: 1771 | version "2.5.2" 1772 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 1773 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 1774 | 1775 | json-schema-traverse@^0.4.1: 1776 | version "0.4.1" 1777 | resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" 1778 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 1779 | 1780 | json-schema-traverse@^1.0.0: 1781 | version "1.0.0" 1782 | resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" 1783 | integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== 1784 | 1785 | json-schema@0.2.3: 1786 | version "0.2.3" 1787 | resolved "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz" 1788 | integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= 1789 | 1790 | json-stable-stringify-without-jsonify@^1.0.1: 1791 | version "1.0.1" 1792 | resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" 1793 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= 1794 | 1795 | json-stringify-safe@~5.0.1: 1796 | version "5.0.1" 1797 | resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" 1798 | integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= 1799 | 1800 | json5@^2.1.2: 1801 | version "2.2.0" 1802 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" 1803 | integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== 1804 | dependencies: 1805 | minimist "^1.2.5" 1806 | 1807 | jsonfile@^6.0.1: 1808 | version "6.1.0" 1809 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" 1810 | integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== 1811 | dependencies: 1812 | universalify "^2.0.0" 1813 | optionalDependencies: 1814 | graceful-fs "^4.1.6" 1815 | 1816 | jsprim@^1.2.2: 1817 | version "1.4.1" 1818 | resolved "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz" 1819 | integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= 1820 | dependencies: 1821 | assert-plus "1.0.0" 1822 | extsprintf "1.3.0" 1823 | json-schema "0.2.3" 1824 | verror "1.10.0" 1825 | 1826 | kb2abot@^1.0.0: 1827 | version "1.0.0" 1828 | resolved "https://registry.yarnpkg.com/kb2abot/-/kb2abot-1.0.0.tgz#568c5a407bf99b5d1200775b9cd7513a7b3c8969" 1829 | integrity sha512-fwYDGA6VhXRj4CF+v9L9tVnsLBjZuyqrNeF/qqPuq4E3rEVWJbrRbx0ATR76Y8pynYJNNoXzqnk8yMdQZM8/dg== 1830 | dependencies: 1831 | "@babel/core" "^7.16.0" 1832 | "@babel/eslint-parser" "^7.16.3" 1833 | "@babel/plugin-syntax-top-level-await" "^7.14.5" 1834 | chalk "^5.0.0" 1835 | clean-jsdoc-theme "^3.3.1" 1836 | dotenv "^10.0.0" 1837 | facebook-chat-api "https://github.com/kb2ateam/facebook-chat-api" 1838 | fast-safe-stringify "^2.1.1" 1839 | hjson "^3.2.2" 1840 | joi "^17.4.2" 1841 | nedb-promises "^5.0.2" 1842 | node-fetch "^3.1.0" 1843 | pluralize "^8.0.0" 1844 | string-similarity "^4.0.4" 1845 | uniqid "^5.2.0" 1846 | 1847 | leven@^2.1.0: 1848 | version "2.1.0" 1849 | resolved "https://registry.npmjs.org/leven/-/leven-2.1.0.tgz" 1850 | integrity sha1-wuep93IJTe6dNCAq6KzORoeHVYA= 1851 | 1852 | levn@^0.4.1: 1853 | version "0.4.1" 1854 | resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" 1855 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== 1856 | dependencies: 1857 | prelude-ls "^1.2.1" 1858 | type-check "~0.4.0" 1859 | 1860 | lie@3.1.1: 1861 | version "3.1.1" 1862 | resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e" 1863 | integrity sha1-mkNrLMd0bKWd56QfpGmz77dr2H4= 1864 | dependencies: 1865 | immediate "~3.0.5" 1866 | 1867 | localforage@^1.9.0: 1868 | version "1.10.0" 1869 | resolved "https://registry.yarnpkg.com/localforage/-/localforage-1.10.0.tgz#5c465dc5f62b2807c3a84c0c6a1b1b3212781dd4" 1870 | integrity sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg== 1871 | dependencies: 1872 | lie "3.1.1" 1873 | 1874 | lodash.assignin@^4.0.9: 1875 | version "4.2.0" 1876 | resolved "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz" 1877 | integrity sha1-uo31+4QesKPoBEIysOJjqNxqKKI= 1878 | 1879 | lodash.bind@^4.1.4: 1880 | version "4.2.1" 1881 | resolved "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz" 1882 | integrity sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU= 1883 | 1884 | lodash.clonedeep@^4.5.0: 1885 | version "4.5.0" 1886 | resolved "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz" 1887 | integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= 1888 | 1889 | lodash.defaults@^4.0.1: 1890 | version "4.2.0" 1891 | resolved "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz" 1892 | integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw= 1893 | 1894 | lodash.filter@^4.4.0: 1895 | version "4.6.0" 1896 | resolved "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz" 1897 | integrity sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4= 1898 | 1899 | lodash.flatten@^4.2.0: 1900 | version "4.4.0" 1901 | resolved "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz" 1902 | integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= 1903 | 1904 | lodash.foreach@^4.3.0: 1905 | version "4.5.0" 1906 | resolved "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz" 1907 | integrity sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM= 1908 | 1909 | lodash.map@^4.4.0: 1910 | version "4.6.0" 1911 | resolved "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz" 1912 | integrity sha1-dx7Hg540c9nEzeKLGTlMNWL09tM= 1913 | 1914 | lodash.merge@^4.4.0, lodash.merge@^4.6.2: 1915 | version "4.6.2" 1916 | resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" 1917 | integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== 1918 | 1919 | lodash.pad@^4.1.0: 1920 | version "4.5.1" 1921 | resolved "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz" 1922 | integrity sha1-QzCUmoM6fI2iLMIPaibE1Z3runA= 1923 | 1924 | lodash.padend@^4.1.0: 1925 | version "4.6.1" 1926 | resolved "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz" 1927 | integrity sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4= 1928 | 1929 | lodash.padstart@^4.1.0: 1930 | version "4.6.1" 1931 | resolved "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz" 1932 | integrity sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs= 1933 | 1934 | lodash.pick@^4.2.1: 1935 | version "4.4.0" 1936 | resolved "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz" 1937 | integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM= 1938 | 1939 | lodash.reduce@^4.4.0: 1940 | version "4.6.0" 1941 | resolved "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz" 1942 | integrity sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs= 1943 | 1944 | lodash.reject@^4.4.0: 1945 | version "4.6.0" 1946 | resolved "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz" 1947 | integrity sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU= 1948 | 1949 | lodash.some@^4.4.0: 1950 | version "4.6.0" 1951 | resolved "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz" 1952 | integrity sha1-G7nzFO9ri63tE7VJFpsqlF62jk0= 1953 | 1954 | lodash.truncate@^4.4.2: 1955 | version "4.4.2" 1956 | resolved "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz" 1957 | integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= 1958 | 1959 | lodash@^4.17.21: 1960 | version "4.17.21" 1961 | resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" 1962 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 1963 | 1964 | log-symbols@^5.0.0: 1965 | version "5.0.0" 1966 | resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-5.0.0.tgz" 1967 | integrity sha512-zBsSKauX7sM0kcqrf8VpMRPqcWzU6a/Wi7iEl0QlVSCiIZ4CctaLdfVdiZUn6q2/nenyt392qJqpw9FhNAwqxQ== 1968 | dependencies: 1969 | chalk "^4.1.0" 1970 | is-unicode-supported "^1.0.0" 1971 | 1972 | lru-cache@^6.0.0: 1973 | version "6.0.0" 1974 | resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" 1975 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 1976 | dependencies: 1977 | yallist "^4.0.0" 1978 | 1979 | media-typer@0.3.0: 1980 | version "0.3.0" 1981 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" 1982 | integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= 1983 | 1984 | merge-descriptors@1.0.1: 1985 | version "1.0.1" 1986 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" 1987 | integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= 1988 | 1989 | methods@~1.1.2: 1990 | version "1.1.2" 1991 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" 1992 | integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= 1993 | 1994 | mime-db@1.49.0: 1995 | version "1.49.0" 1996 | resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz" 1997 | integrity sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA== 1998 | 1999 | mime-db@1.51.0: 2000 | version "1.51.0" 2001 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" 2002 | integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== 2003 | 2004 | mime-types@^2.1.12, mime-types@~2.1.19: 2005 | version "2.1.32" 2006 | resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz" 2007 | integrity sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A== 2008 | dependencies: 2009 | mime-db "1.49.0" 2010 | 2011 | mime-types@~2.1.24: 2012 | version "2.1.34" 2013 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" 2014 | integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== 2015 | dependencies: 2016 | mime-db "1.51.0" 2017 | 2018 | mime@1.6.0: 2019 | version "1.6.0" 2020 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 2021 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== 2022 | 2023 | mimic-fn@^2.1.0: 2024 | version "2.1.0" 2025 | resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" 2026 | integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== 2027 | 2028 | minimatch@^3.0.4: 2029 | version "3.0.4" 2030 | resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" 2031 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 2032 | dependencies: 2033 | brace-expansion "^1.1.7" 2034 | 2035 | minimist@^1.1.0, minimist@^1.2.0, minimist@^1.2.5: 2036 | version "1.2.5" 2037 | resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz" 2038 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 2039 | 2040 | mqtt-packet@^6.0.0: 2041 | version "6.10.0" 2042 | resolved "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-6.10.0.tgz" 2043 | integrity sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA== 2044 | dependencies: 2045 | bl "^4.0.2" 2046 | debug "^4.1.1" 2047 | process-nextick-args "^2.0.1" 2048 | 2049 | mqtt@^3.0.0: 2050 | version "3.0.0" 2051 | resolved "https://registry.npmjs.org/mqtt/-/mqtt-3.0.0.tgz" 2052 | integrity sha512-0nKV6MAc1ibKZwaZQUTb3iIdT4NVpj541BsYrqrGBcQdQ7Jd0MnZD1/6/nj1UFdGTboK9ZEUXvkCu2nPCugHFA== 2053 | dependencies: 2054 | base64-js "^1.3.0" 2055 | commist "^1.0.0" 2056 | concat-stream "^1.6.2" 2057 | end-of-stream "^1.4.1" 2058 | es6-map "^0.1.5" 2059 | help-me "^1.0.1" 2060 | inherits "^2.0.3" 2061 | minimist "^1.2.0" 2062 | mqtt-packet "^6.0.0" 2063 | pump "^3.0.0" 2064 | readable-stream "^2.3.6" 2065 | reinterval "^1.1.0" 2066 | split2 "^3.1.0" 2067 | websocket-stream "^5.1.2" 2068 | xtend "^4.0.1" 2069 | 2070 | ms@2.0.0: 2071 | version "2.0.0" 2072 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 2073 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 2074 | 2075 | ms@2.1.1: 2076 | version "2.1.1" 2077 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" 2078 | integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== 2079 | 2080 | ms@2.1.2: 2081 | version "2.1.2" 2082 | resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" 2083 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 2084 | 2085 | natural-compare@^1.4.0: 2086 | version "1.4.0" 2087 | resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" 2088 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= 2089 | 2090 | nedb-promises@^5.0.1: 2091 | version "5.0.1" 2092 | resolved "https://registry.yarnpkg.com/nedb-promises/-/nedb-promises-5.0.1.tgz#a32ab9423e1780fcd5c0fdde7ddbf8af5477bda7" 2093 | integrity sha512-dIE0C3crV9yeiXGWnseW4v4NIXHdcWjrmQHQuKAq2jJeqNGGMrLWJGmunPoapu5CO5btTY76hDt5FwsDRGioRw== 2094 | dependencies: 2095 | "@seald-io/nedb" "^2.0.4" 2096 | 2097 | nedb-promises@^5.0.2: 2098 | version "5.0.3" 2099 | resolved "https://registry.yarnpkg.com/nedb-promises/-/nedb-promises-5.0.3.tgz#569af2860ff4c269f03582518a89827bdaf40bbe" 2100 | integrity sha512-hqQZi/T3dMJXQraFohVdatNX1uPDTGuVrqMiEnwA0dJxlC90xctOFG+jeUzPy9hYQGqCV+CpkSBkvUvTJdUApQ== 2101 | dependencies: 2102 | "@seald-io/nedb" "^2.2.0" 2103 | 2104 | negotiator@0.6.2: 2105 | version "0.6.2" 2106 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" 2107 | integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== 2108 | 2109 | next-tick@~1.0.0: 2110 | version "1.0.0" 2111 | resolved "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz" 2112 | integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= 2113 | 2114 | node-emoji@^1.10.0: 2115 | version "1.11.0" 2116 | resolved "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz" 2117 | integrity sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A== 2118 | dependencies: 2119 | lodash "^4.17.21" 2120 | 2121 | node-fetch@^3.1.0: 2122 | version "3.1.0" 2123 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.1.0.tgz#714f4922dc270239487654eaeeab86b8206cb52e" 2124 | integrity sha512-QU0WbIfMUjd5+MUzQOYhenAazakV7Irh1SGkWCsRzBwvm4fAhzEUaHMJ6QLP7gWT6WO9/oH2zhKMMGMuIrDyKw== 2125 | dependencies: 2126 | data-uri-to-buffer "^4.0.0" 2127 | fetch-blob "^3.1.2" 2128 | formdata-polyfill "^4.0.10" 2129 | 2130 | node-releases@^2.0.1: 2131 | version "2.0.1" 2132 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" 2133 | integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== 2134 | 2135 | npmlog@^1.2.0: 2136 | version "1.2.1" 2137 | resolved "https://registry.npmjs.org/npmlog/-/npmlog-1.2.1.tgz" 2138 | integrity sha1-KOe+YZYJtT960d0wChDWTXFiaLY= 2139 | dependencies: 2140 | ansi "~0.3.0" 2141 | are-we-there-yet "~1.0.0" 2142 | gauge "~1.2.0" 2143 | 2144 | nth-check@~1.0.1: 2145 | version "1.0.2" 2146 | resolved "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz" 2147 | integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== 2148 | dependencies: 2149 | boolbase "~1.0.0" 2150 | 2151 | oauth-sign@~0.9.0: 2152 | version "0.9.0" 2153 | resolved "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz" 2154 | integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== 2155 | 2156 | object-assign@^4.1.0: 2157 | version "4.1.1" 2158 | resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" 2159 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 2160 | 2161 | on-finished@~2.3.0: 2162 | version "2.3.0" 2163 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" 2164 | integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= 2165 | dependencies: 2166 | ee-first "1.1.1" 2167 | 2168 | once@^1.3.0, once@^1.3.1, once@^1.4.0: 2169 | version "1.4.0" 2170 | resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" 2171 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 2172 | dependencies: 2173 | wrappy "1" 2174 | 2175 | onetime@^5.1.0: 2176 | version "5.1.2" 2177 | resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" 2178 | integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== 2179 | dependencies: 2180 | mimic-fn "^2.1.0" 2181 | 2182 | optionator@^0.9.1: 2183 | version "0.9.1" 2184 | resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" 2185 | integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== 2186 | dependencies: 2187 | deep-is "^0.1.3" 2188 | fast-levenshtein "^2.0.6" 2189 | levn "^0.4.1" 2190 | prelude-ls "^1.2.1" 2191 | type-check "^0.4.0" 2192 | word-wrap "^1.2.3" 2193 | 2194 | ora@^6.0.1: 2195 | version "6.0.1" 2196 | resolved "https://registry.yarnpkg.com/ora/-/ora-6.0.1.tgz#68caa9fd6c485a40d6f46c50a3940fa3df99c7f3" 2197 | integrity sha512-TDdKkKHdWE6jo/6pIa5U5AWcSVfpNRFJ8sdRJpioGNVPLAzZzHs/N+QhUfF7ZbyoC+rnDuNTKzeDJUbAza9g4g== 2198 | dependencies: 2199 | bl "^5.0.0" 2200 | chalk "^4.1.2" 2201 | cli-cursor "^4.0.0" 2202 | cli-spinners "^2.6.0" 2203 | is-interactive "^2.0.0" 2204 | is-unicode-supported "^1.1.0" 2205 | log-symbols "^5.0.0" 2206 | strip-ansi "^7.0.1" 2207 | wcwidth "^1.0.1" 2208 | 2209 | ordered-read-streams@^1.0.0: 2210 | version "1.0.1" 2211 | resolved "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz" 2212 | integrity sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4= 2213 | dependencies: 2214 | readable-stream "^2.0.1" 2215 | 2216 | parent-module@^1.0.0: 2217 | version "1.0.1" 2218 | resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" 2219 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 2220 | dependencies: 2221 | callsites "^3.0.0" 2222 | 2223 | parseqs@0.0.6: 2224 | version "0.0.6" 2225 | resolved "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz" 2226 | integrity sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w== 2227 | 2228 | parseuri@0.0.6: 2229 | version "0.0.6" 2230 | resolved "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz" 2231 | integrity sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow== 2232 | 2233 | parseurl@~1.3.3: 2234 | version "1.3.3" 2235 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" 2236 | integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== 2237 | 2238 | path-dirname@^1.0.0: 2239 | version "1.0.2" 2240 | resolved "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz" 2241 | integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= 2242 | 2243 | path-is-absolute@^1.0.0: 2244 | version "1.0.1" 2245 | resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" 2246 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 2247 | 2248 | path-key@^3.1.0: 2249 | version "3.1.1" 2250 | resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" 2251 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 2252 | 2253 | path-to-regexp@0.1.7: 2254 | version "0.1.7" 2255 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" 2256 | integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= 2257 | 2258 | performance-now@^2.1.0: 2259 | version "2.1.0" 2260 | resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" 2261 | integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= 2262 | 2263 | picocolors@^1.0.0: 2264 | version "1.0.0" 2265 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 2266 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 2267 | 2268 | pluralize@^8.0.0: 2269 | version "8.0.0" 2270 | resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" 2271 | integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== 2272 | 2273 | prelude-ls@^1.2.1: 2274 | version "1.2.1" 2275 | resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" 2276 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== 2277 | 2278 | process-nextick-args@^2.0.1, process-nextick-args@~2.0.0: 2279 | version "2.0.1" 2280 | resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" 2281 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== 2282 | 2283 | progress@^2.0.0: 2284 | version "2.0.3" 2285 | resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" 2286 | integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== 2287 | 2288 | promise-socket.io@^1.0.0: 2289 | version "1.0.0" 2290 | resolved "https://registry.yarnpkg.com/promise-socket.io/-/promise-socket.io-1.0.0.tgz#592065c9826828ef5e37bae0af6b524c6a8c1413" 2291 | integrity sha512-Esnw8KekH3tJjDCF0WDychYLa6JtHHV2XFcw3hWQbl1WeNIYmSmQ0+OkuVsiUFR/i4nISGcSn7qRlHIod1JWKQ== 2292 | dependencies: 2293 | "@babel/core" "^7.16.0" 2294 | "@babel/eslint-parser" "^7.16.3" 2295 | "@babel/plugin-syntax-top-level-await" "^7.14.5" 2296 | 2297 | proxy-addr@~2.0.5: 2298 | version "2.0.7" 2299 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" 2300 | integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== 2301 | dependencies: 2302 | forwarded "0.2.0" 2303 | ipaddr.js "1.9.1" 2304 | 2305 | psl@^1.1.28: 2306 | version "1.8.0" 2307 | resolved "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz" 2308 | integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== 2309 | 2310 | pump@^2.0.0: 2311 | version "2.0.1" 2312 | resolved "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz" 2313 | integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== 2314 | dependencies: 2315 | end-of-stream "^1.1.0" 2316 | once "^1.3.1" 2317 | 2318 | pump@^3.0.0: 2319 | version "3.0.0" 2320 | resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" 2321 | integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== 2322 | dependencies: 2323 | end-of-stream "^1.1.0" 2324 | once "^1.3.1" 2325 | 2326 | pumpify@^1.3.5: 2327 | version "1.5.1" 2328 | resolved "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz" 2329 | integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== 2330 | dependencies: 2331 | duplexify "^3.6.0" 2332 | inherits "^2.0.3" 2333 | pump "^2.0.0" 2334 | 2335 | punycode@^2.1.0, punycode@^2.1.1: 2336 | version "2.1.1" 2337 | resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" 2338 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 2339 | 2340 | qs@6.7.0: 2341 | version "6.7.0" 2342 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" 2343 | integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== 2344 | 2345 | qs@~6.5.2: 2346 | version "6.5.2" 2347 | resolved "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz" 2348 | integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== 2349 | 2350 | range-parser@~1.2.1: 2351 | version "1.2.1" 2352 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" 2353 | integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== 2354 | 2355 | raw-body@2.4.0: 2356 | version "2.4.0" 2357 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" 2358 | integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== 2359 | dependencies: 2360 | bytes "3.1.0" 2361 | http-errors "1.7.2" 2362 | iconv-lite "0.4.24" 2363 | unpipe "1.0.0" 2364 | 2365 | "readable-stream@> 1.0.0 < 3.0.0", readable-stream@^2.0.0, "readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.1, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: 2366 | version "2.3.7" 2367 | resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz" 2368 | integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== 2369 | dependencies: 2370 | core-util-is "~1.0.0" 2371 | inherits "~2.0.3" 2372 | isarray "~1.0.0" 2373 | process-nextick-args "~2.0.0" 2374 | safe-buffer "~5.1.1" 2375 | string_decoder "~1.1.1" 2376 | util-deprecate "~1.0.1" 2377 | 2378 | readable-stream@^3.0.0, readable-stream@^3.1.1, readable-stream@^3.4.0: 2379 | version "3.6.0" 2380 | resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" 2381 | integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== 2382 | dependencies: 2383 | inherits "^2.0.3" 2384 | string_decoder "^1.1.1" 2385 | util-deprecate "^1.0.1" 2386 | 2387 | regexpp@^3.1.0: 2388 | version "3.2.0" 2389 | resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" 2390 | integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== 2391 | 2392 | reinterval@^1.1.0: 2393 | version "1.1.0" 2394 | resolved "https://registry.npmjs.org/reinterval/-/reinterval-1.1.0.tgz" 2395 | integrity sha1-M2Hs+jymwYKDOA3Qu5VG85D17Oc= 2396 | 2397 | remove-trailing-separator@^1.0.1: 2398 | version "1.1.0" 2399 | resolved "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz" 2400 | integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= 2401 | 2402 | request@^2.53.0: 2403 | version "2.88.2" 2404 | resolved "https://registry.npmjs.org/request/-/request-2.88.2.tgz" 2405 | integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== 2406 | dependencies: 2407 | aws-sign2 "~0.7.0" 2408 | aws4 "^1.8.0" 2409 | caseless "~0.12.0" 2410 | combined-stream "~1.0.6" 2411 | extend "~3.0.2" 2412 | forever-agent "~0.6.1" 2413 | form-data "~2.3.2" 2414 | har-validator "~5.1.3" 2415 | http-signature "~1.2.0" 2416 | is-typedarray "~1.0.0" 2417 | isstream "~0.1.2" 2418 | json-stringify-safe "~5.0.1" 2419 | mime-types "~2.1.19" 2420 | oauth-sign "~0.9.0" 2421 | performance-now "^2.1.0" 2422 | qs "~6.5.2" 2423 | safe-buffer "^5.1.2" 2424 | tough-cookie "~2.5.0" 2425 | tunnel-agent "^0.6.0" 2426 | uuid "^3.3.2" 2427 | 2428 | require-from-string@^2.0.2: 2429 | version "2.0.2" 2430 | resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" 2431 | integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== 2432 | 2433 | resolve-from@^4.0.0: 2434 | version "4.0.0" 2435 | resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" 2436 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 2437 | 2438 | restore-cursor@^4.0.0: 2439 | version "4.0.0" 2440 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-4.0.0.tgz#519560a4318975096def6e609d44100edaa4ccb9" 2441 | integrity sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== 2442 | dependencies: 2443 | onetime "^5.1.0" 2444 | signal-exit "^3.0.2" 2445 | 2446 | rimraf@^3.0.2: 2447 | version "3.0.2" 2448 | resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" 2449 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 2450 | dependencies: 2451 | glob "^7.1.3" 2452 | 2453 | safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 2454 | version "5.1.2" 2455 | resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" 2456 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 2457 | 2458 | safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: 2459 | version "5.2.1" 2460 | resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" 2461 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 2462 | 2463 | "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: 2464 | version "2.1.2" 2465 | resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" 2466 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 2467 | 2468 | semver@^6.3.0: 2469 | version "6.3.0" 2470 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 2471 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 2472 | 2473 | semver@^7.2.1, semver@^7.3.4: 2474 | version "7.3.5" 2475 | resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" 2476 | integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== 2477 | dependencies: 2478 | lru-cache "^6.0.0" 2479 | 2480 | send@0.17.1: 2481 | version "0.17.1" 2482 | resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" 2483 | integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== 2484 | dependencies: 2485 | debug "2.6.9" 2486 | depd "~1.1.2" 2487 | destroy "~1.0.4" 2488 | encodeurl "~1.0.2" 2489 | escape-html "~1.0.3" 2490 | etag "~1.8.1" 2491 | fresh "0.5.2" 2492 | http-errors "~1.7.2" 2493 | mime "1.6.0" 2494 | ms "2.1.1" 2495 | on-finished "~2.3.0" 2496 | range-parser "~1.2.1" 2497 | statuses "~1.5.0" 2498 | 2499 | serve-static@1.14.1: 2500 | version "1.14.1" 2501 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" 2502 | integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== 2503 | dependencies: 2504 | encodeurl "~1.0.2" 2505 | escape-html "~1.0.3" 2506 | parseurl "~1.3.3" 2507 | send "0.17.1" 2508 | 2509 | serverline@^1.5.0: 2510 | version "1.5.0" 2511 | resolved "https://registry.yarnpkg.com/serverline/-/serverline-1.5.0.tgz#d483a7b3dcd598e68685cd6b4cf28e22e08f8723" 2512 | integrity sha512-QzNBH8omGchv+L5n/irZEeU2IGK3r8EMRh3EKRIlbfTklf9PtNRiRbWcYr8kqdNeWdc5M5jS13VtspDKgFXFFg== 2513 | 2514 | setprototypeof@1.1.1: 2515 | version "1.1.1" 2516 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" 2517 | integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== 2518 | 2519 | shebang-command@^2.0.0: 2520 | version "2.0.0" 2521 | resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" 2522 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 2523 | dependencies: 2524 | shebang-regex "^3.0.0" 2525 | 2526 | shebang-regex@^3.0.0: 2527 | version "3.0.0" 2528 | resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" 2529 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 2530 | 2531 | signal-exit@^3.0.2: 2532 | version "3.0.4" 2533 | resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.4.tgz" 2534 | integrity sha512-rqYhcAnZ6d/vTPGghdrw7iumdcbXpsk1b8IG/rz+VWV51DM0p7XCtMoJ3qhPLIbp3tvyt3pKRbaaEMZYpHto8Q== 2535 | 2536 | slice-ansi@^4.0.0: 2537 | version "4.0.0" 2538 | resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz" 2539 | integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== 2540 | dependencies: 2541 | ansi-styles "^4.0.0" 2542 | astral-regex "^2.0.0" 2543 | is-fullwidth-code-point "^3.0.0" 2544 | 2545 | socket.io-client@^4.1.3: 2546 | version "4.2.0" 2547 | resolved "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.2.0.tgz" 2548 | integrity sha512-3GJ2KMh7inJUNAOjgf8NaKJZJa9uRyfryh2LrVJyKyxmzoXlfW9DeDNqylJn0ovOFt4e/kRLNWzMt/YqqEWYSA== 2549 | dependencies: 2550 | "@types/component-emitter" "^1.2.10" 2551 | backo2 "~1.0.2" 2552 | component-emitter "~1.3.0" 2553 | debug "~4.3.2" 2554 | engine.io-client "~5.2.0" 2555 | parseuri "0.0.6" 2556 | socket.io-parser "~4.0.4" 2557 | 2558 | socket.io-parser@~4.0.4: 2559 | version "4.0.4" 2560 | resolved "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz" 2561 | integrity sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g== 2562 | dependencies: 2563 | "@types/component-emitter" "^1.2.10" 2564 | component-emitter "~1.3.0" 2565 | debug "~4.3.1" 2566 | 2567 | source-map@^0.5.0: 2568 | version "0.5.7" 2569 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 2570 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= 2571 | 2572 | split2@^3.1.0: 2573 | version "3.2.2" 2574 | resolved "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz" 2575 | integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== 2576 | dependencies: 2577 | readable-stream "^3.0.0" 2578 | 2579 | sprintf-js@~1.0.2: 2580 | version "1.0.3" 2581 | resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" 2582 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 2583 | 2584 | sshpk@^1.7.0: 2585 | version "1.16.1" 2586 | resolved "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz" 2587 | integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== 2588 | dependencies: 2589 | asn1 "~0.2.3" 2590 | assert-plus "^1.0.0" 2591 | bcrypt-pbkdf "^1.0.0" 2592 | dashdash "^1.12.0" 2593 | ecc-jsbn "~0.1.1" 2594 | getpass "^0.1.1" 2595 | jsbn "~0.1.0" 2596 | safer-buffer "^2.0.2" 2597 | tweetnacl "~0.14.0" 2598 | 2599 | "statuses@>= 1.5.0 < 2", statuses@~1.5.0: 2600 | version "1.5.0" 2601 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" 2602 | integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= 2603 | 2604 | stream-shift@^1.0.0: 2605 | version "1.0.1" 2606 | resolved "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz" 2607 | integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== 2608 | 2609 | string-similarity@^4.0.4: 2610 | version "4.0.4" 2611 | resolved "https://registry.yarnpkg.com/string-similarity/-/string-similarity-4.0.4.tgz#42d01ab0b34660ea8a018da8f56a3309bb8b2a5b" 2612 | integrity sha512-/q/8Q4Bl4ZKAPjj8WerIBJWALKkaPRfrvhfF8k/B23i4nzrlRj2/go1m90In7nG/3XDSbOo0+pu6RvCTM9RGMQ== 2613 | 2614 | string-width@^4.2.0: 2615 | version "4.2.3" 2616 | resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" 2617 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 2618 | dependencies: 2619 | emoji-regex "^8.0.0" 2620 | is-fullwidth-code-point "^3.0.0" 2621 | strip-ansi "^6.0.1" 2622 | 2623 | string_decoder@^1.1.1: 2624 | version "1.3.0" 2625 | resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" 2626 | integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== 2627 | dependencies: 2628 | safe-buffer "~5.2.0" 2629 | 2630 | string_decoder@~1.1.1: 2631 | version "1.1.1" 2632 | resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" 2633 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 2634 | dependencies: 2635 | safe-buffer "~5.1.0" 2636 | 2637 | strip-ansi@^6.0.0, strip-ansi@^6.0.1: 2638 | version "6.0.1" 2639 | resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" 2640 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 2641 | dependencies: 2642 | ansi-regex "^5.0.1" 2643 | 2644 | strip-ansi@^7.0.1: 2645 | version "7.0.1" 2646 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" 2647 | integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== 2648 | dependencies: 2649 | ansi-regex "^6.0.1" 2650 | 2651 | strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: 2652 | version "3.1.1" 2653 | resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" 2654 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 2655 | 2656 | supports-color@^5.3.0: 2657 | version "5.5.0" 2658 | resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" 2659 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 2660 | dependencies: 2661 | has-flag "^3.0.0" 2662 | 2663 | supports-color@^7.1.0: 2664 | version "7.2.0" 2665 | resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" 2666 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 2667 | dependencies: 2668 | has-flag "^4.0.0" 2669 | 2670 | systeminformation@^5.11.0: 2671 | version "5.11.0" 2672 | resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-5.11.0.tgz#2060779e1e7c7372192dbcd850c65cfd85f4ea71" 2673 | integrity sha512-mI/5nFK7NUe9Qbmy65WoB5TlCWKAhP4kG0w6uR2mZM8Mpdi8b45b3hTIK3W5+kQYZnYFWeS9/O5nn5rdcSvqfA== 2674 | 2675 | table@^6.0.9: 2676 | version "6.7.1" 2677 | resolved "https://registry.npmjs.org/table/-/table-6.7.1.tgz" 2678 | integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg== 2679 | dependencies: 2680 | ajv "^8.0.1" 2681 | lodash.clonedeep "^4.5.0" 2682 | lodash.truncate "^4.4.2" 2683 | slice-ansi "^4.0.0" 2684 | string-width "^4.2.0" 2685 | strip-ansi "^6.0.0" 2686 | 2687 | text-table@^0.2.0: 2688 | version "0.2.0" 2689 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 2690 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= 2691 | 2692 | through2-filter@^3.0.0: 2693 | version "3.0.0" 2694 | resolved "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz" 2695 | integrity sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA== 2696 | dependencies: 2697 | through2 "~2.0.0" 2698 | xtend "~4.0.0" 2699 | 2700 | through2@^2.0.1, through2@~2.0.0: 2701 | version "2.0.5" 2702 | resolved "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz" 2703 | integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== 2704 | dependencies: 2705 | readable-stream "~2.3.6" 2706 | xtend "~4.0.1" 2707 | 2708 | to-absolute-glob@^2.0.0: 2709 | version "2.0.2" 2710 | resolved "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz" 2711 | integrity sha1-GGX0PZ50sIItufFFt4z/fQ98hJs= 2712 | dependencies: 2713 | is-absolute "^1.0.0" 2714 | is-negated-glob "^1.0.0" 2715 | 2716 | to-fast-properties@^2.0.0: 2717 | version "2.0.0" 2718 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 2719 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= 2720 | 2721 | toidentifier@1.0.0: 2722 | version "1.0.0" 2723 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" 2724 | integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== 2725 | 2726 | tough-cookie@~2.5.0: 2727 | version "2.5.0" 2728 | resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz" 2729 | integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== 2730 | dependencies: 2731 | psl "^1.1.28" 2732 | punycode "^2.1.1" 2733 | 2734 | tunnel-agent@^0.6.0: 2735 | version "0.6.0" 2736 | resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" 2737 | integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= 2738 | dependencies: 2739 | safe-buffer "^5.0.1" 2740 | 2741 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 2742 | version "0.14.5" 2743 | resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz" 2744 | integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= 2745 | 2746 | type-check@^0.4.0, type-check@~0.4.0: 2747 | version "0.4.0" 2748 | resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" 2749 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== 2750 | dependencies: 2751 | prelude-ls "^1.2.1" 2752 | 2753 | type-fest@^0.20.2: 2754 | version "0.20.2" 2755 | resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" 2756 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== 2757 | 2758 | type-is@~1.6.17, type-is@~1.6.18: 2759 | version "1.6.18" 2760 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" 2761 | integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== 2762 | dependencies: 2763 | media-typer "0.3.0" 2764 | mime-types "~2.1.24" 2765 | 2766 | type@^1.0.1: 2767 | version "1.2.0" 2768 | resolved "https://registry.npmjs.org/type/-/type-1.2.0.tgz" 2769 | integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== 2770 | 2771 | type@^2.5.0: 2772 | version "2.5.0" 2773 | resolved "https://registry.npmjs.org/type/-/type-2.5.0.tgz" 2774 | integrity sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw== 2775 | 2776 | typedarray@^0.0.6: 2777 | version "0.0.6" 2778 | resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" 2779 | integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= 2780 | 2781 | ultron@~1.1.0: 2782 | version "1.1.1" 2783 | resolved "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz" 2784 | integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== 2785 | 2786 | unc-path-regex@^0.1.2: 2787 | version "0.1.2" 2788 | resolved "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz" 2789 | integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= 2790 | 2791 | uniqid@^5.2.0, uniqid@^5.4.0: 2792 | version "5.4.0" 2793 | resolved "https://registry.yarnpkg.com/uniqid/-/uniqid-5.4.0.tgz#4e17bfcab66dfe33563411ae0c801f46ef964e66" 2794 | integrity sha512-38JRbJ4Fj94VmnC7G/J/5n5SC7Ab46OM5iNtSstB/ko3l1b5g7ALt4qzHFgGciFkyiRNtDXtLNb+VsxtMSE77A== 2795 | 2796 | unique-stream@^2.0.2: 2797 | version "2.3.1" 2798 | resolved "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz" 2799 | integrity sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A== 2800 | dependencies: 2801 | json-stable-stringify-without-jsonify "^1.0.1" 2802 | through2-filter "^3.0.0" 2803 | 2804 | universalify@^2.0.0: 2805 | version "2.0.0" 2806 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" 2807 | integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== 2808 | 2809 | unpipe@1.0.0, unpipe@~1.0.0: 2810 | version "1.0.0" 2811 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" 2812 | integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= 2813 | 2814 | uri-js@^4.2.2: 2815 | version "4.4.1" 2816 | resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" 2817 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== 2818 | dependencies: 2819 | punycode "^2.1.0" 2820 | 2821 | util-deprecate@^1.0.1, util-deprecate@~1.0.1: 2822 | version "1.0.2" 2823 | resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" 2824 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 2825 | 2826 | utils-merge@1.0.1: 2827 | version "1.0.1" 2828 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" 2829 | integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= 2830 | 2831 | uuid@^3.3.2: 2832 | version "3.4.0" 2833 | resolved "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz" 2834 | integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== 2835 | 2836 | v8-compile-cache@^2.0.3: 2837 | version "2.3.0" 2838 | resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz" 2839 | integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== 2840 | 2841 | vary@~1.1.2: 2842 | version "1.1.2" 2843 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" 2844 | integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= 2845 | 2846 | verror@1.10.0: 2847 | version "1.10.0" 2848 | resolved "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz" 2849 | integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= 2850 | dependencies: 2851 | assert-plus "^1.0.0" 2852 | core-util-is "1.0.2" 2853 | extsprintf "^1.2.0" 2854 | 2855 | wcwidth@^1.0.1: 2856 | version "1.0.1" 2857 | resolved "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz" 2858 | integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= 2859 | dependencies: 2860 | defaults "^1.0.3" 2861 | 2862 | web-streams-polyfill@^3.0.3: 2863 | version "3.1.1" 2864 | resolved "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.1.1.tgz" 2865 | integrity sha512-Czi3fG883e96T4DLEPRvufrF2ydhOOW1+1a6c3gNjH2aIh50DNFBdfwh2AKoOf1rXvpvavAoA11Qdq9+BKjE0Q== 2866 | 2867 | websocket-stream@^5.1.2, websocket-stream@^5.5.0: 2868 | version "5.5.2" 2869 | resolved "https://registry.npmjs.org/websocket-stream/-/websocket-stream-5.5.2.tgz" 2870 | integrity sha512-8z49MKIHbGk3C4HtuHWDtYX8mYej1wWabjthC/RupM9ngeukU4IWoM46dgth1UOS/T4/IqgEdCDJuMe2039OQQ== 2871 | dependencies: 2872 | duplexify "^3.5.1" 2873 | inherits "^2.0.1" 2874 | readable-stream "^2.3.3" 2875 | safe-buffer "^5.1.2" 2876 | ws "^3.2.0" 2877 | xtend "^4.0.0" 2878 | 2879 | which@^2.0.1: 2880 | version "2.0.2" 2881 | resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" 2882 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 2883 | dependencies: 2884 | isexe "^2.0.0" 2885 | 2886 | word-wrap@^1.2.3: 2887 | version "1.2.3" 2888 | resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" 2889 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== 2890 | 2891 | wrappy@1: 2892 | version "1.0.2" 2893 | resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" 2894 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 2895 | 2896 | ws@^3.2.0: 2897 | version "3.3.3" 2898 | resolved "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz" 2899 | integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA== 2900 | dependencies: 2901 | async-limiter "~1.0.0" 2902 | safe-buffer "~5.1.0" 2903 | ultron "~1.1.0" 2904 | 2905 | ws@~7.4.2: 2906 | version "7.4.6" 2907 | resolved "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz" 2908 | integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== 2909 | 2910 | xmlhttprequest-ssl@~2.0.0: 2911 | version "2.0.0" 2912 | resolved "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz" 2913 | integrity sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A== 2914 | 2915 | xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1: 2916 | version "4.0.2" 2917 | resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" 2918 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== 2919 | 2920 | yallist@^4.0.0: 2921 | version "4.0.0" 2922 | resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" 2923 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 2924 | 2925 | yeast@0.1.2: 2926 | version "0.1.2" 2927 | resolved "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz" 2928 | integrity sha1-AI4G2AlDIMNy28L47XagymyKxBk= 2929 | --------------------------------------------------------------------------------