Merge branch 'rainbowcat' of https://github.com/Clansty/Q2TG into rainbowcat

This commit is contained in:
Nofated095 2023-04-03 17:48:36 +08:00
commit 74203de0a0
22 changed files with 1153 additions and 132 deletions

View File

@ -1,3 +0,0 @@
*.log
.idea
.directory

View File

@ -11,12 +11,25 @@ services:
POSTGRES_PASSWORD: password
volumes:
- ./postgresql:/var/lib/postgresql/data
zinclabs:
volumes:
- './zinc/data:/data'
environment:
- ZINC_DATA_PATH=/data
- ZINC_FIRST_ADMIN_USER=admin
- ZINC_FIRST_ADMIN_PASSWORD=password
- ZINC_PLUGIN_GSE_ENABLE=true
- ZINC_PLUGIN_GSE_DICT_EMBED=big
container_name: zincsearch
image: 'public.ecr.aws/zinclabs/zinc:latest'
restart: unless-stopped
q2tg:
image: ghcr.io/nofated095/q2tg:rainbowcat
container_name: main_q2tg
restart: unless-stopped
depends_on:
- postgres
- zinclabs
volumes:
- ./data:/app/data
environment:
@ -26,6 +39,13 @@ services:
- DATABASE_URL=postgres://user:password@postgres/db_name
- CRV_API=
- CRV_KEY=
- ZINC_URL=http://zinclabs:4080
- ZINC_USERNAME=admin
- ZINC_PASSWORD=password
# 要支持转发时自动识别语音,请设置以下参数
- BAIDU_APP_ID=
- BAIDU_API_KEY=
- BAIDU_SECRET_KEY=
# 如果需要通过代理联网,那么设置下面两个变量
#- PROXY_IP=
#- PROXY_PORT=

View File

@ -28,6 +28,7 @@
"dependencies": {
"@prisma/client": "4.6.0",
"axios": "^0.27.2",
"baidu-aip-sdk": "^4.16.10",
"cli-progress": "^3.11.2",
"date-and-time": "^2.4.1",
"dotenv": "^16.0.1",
@ -37,13 +38,15 @@
"lodash": "^4.17.21",
"log4js": "^6.6.1",
"nodejs-base64": "^2.0.0",
"oicq": "https://0w.al/AhKp.tar.gz",
"oicq": "https://0w.al/MYKJ.tgz",
"prompts": "^2.4.2",
"quote-api": "https://github.com/Clansty/quote-api/archive/7d9b4c56ab1e9f3cdf1cd7e108ec25821d89ad70.tar.gz",
"sharp": "^0.31.3",
"silk-sdk": "^0.2.2",
"telegram": "^2.15.2",
"tmp-promise": "^3.0.3"
"telegram": "^2.15.10",
"tmp-promise": "^3.0.3",
"undici": "^5.20.0",
"zincsearch-node": "^2.1.0"
},
"engines": {
"node": "^14.13.1 || >=16.0.0"

View File

@ -54,7 +54,7 @@ export default class Telegram {
} : undefined,
},
);
// this.client.logger.setLevel(LogLevel.WARN);
this.client.logger.setLevel(LogLevel.WARN);
}
public static async create(startArgs: UserAuthParams | BotAuthParams, appName = 'Q2TG') {

View File

@ -53,6 +53,10 @@ const inChatCommands = [
command: 'info',
description: '查看本群或选定消息的详情',
}),
new Api.BotCommand({
command: 'search',
description: '搜索消息',
}),
];
const groupInChatCommands = [

View File

@ -21,7 +21,6 @@ export default class DeleteMessageController {
private onTelegramMessage = async (message: Api.Message) => {
const pair = this.instance.forwardPairs.find(message.chat);
if (!pair) return false;
// TODO: 可以做成 DeleteMessageController 之类
if (message.message?.startsWith('/rm')) {
// 撤回消息
await this.deleteMessageService.handleTelegramMessageRm(message, pair);
@ -34,7 +33,6 @@ export default class DeleteMessageController {
const pair = this.instance.forwardPairs.find(message.chat);
if (!pair) return;
if (await this.deleteMessageService.isInvalidEdit(message, pair)) {
console.log('invalid edit');
return true;
}
await this.deleteMessageService.telegramDeleteMessage(message.id, pair);

View File

@ -17,6 +17,7 @@ import { getAvatar } from '../utils/urls';
import { CustomFile } from 'telegram/client/uploads';
import forwardHelper from '../helpers/forwardHelper';
import helper from '../helpers/forwardHelper';
import ZincSearch from 'zincsearch-node';
export default class ForwardController {
private readonly forwardService: ForwardService;
@ -45,8 +46,12 @@ export default class ForwardController {
if (!pair) return;
if (!pair.enable) return;
if (pair.disableQ2TG) return;
const tgMessage = await this.forwardService.forwardFromQq(event, pair);
if (tgMessage) {
let tgMessages: Api.Message | Api.Message[] = await this.forwardService.forwardFromQq(event, pair);
if (!tgMessages) return;
if (!Array.isArray(tgMessages)) {
tgMessages = [tgMessages];
}
for (const tgMessage of tgMessages) {
// 更新数据库
await db.message.create({
data: {
@ -66,6 +71,10 @@ export default class ForwardController {
tgSenderId: BigInt(this.tgBot.me.id.toString()),
},
});
await this.forwardService.addToZinc(pair.dbId, tgMessage.id, {
text: event.raw_message,
nick: event.nickname,
});
}
}
catch (e) {
@ -87,7 +96,7 @@ export default class ForwardController {
await db.message.create({
data: {
qqRoomId: pair.qqRoomId,
qqSenderId: this.oicq.uin,
qqSenderId: qqMessageSent.senderId,
time: qqMessageSent.time,
brief: qqMessageSent.brief,
seq: qqMessageSent.seq,
@ -99,9 +108,13 @@ export default class ForwardController {
tgMessageText: message.message,
tgFileId: forwardHelper.getMessageDocumentId(message),
nick: helper.getUserDisplayName(message.sender),
tgSenderId: BigInt(message.senderId.toString()),
tgSenderId: BigInt((message.senderId || message.sender?.id).toString()),
},
});
await this.forwardService.addToZinc(pair.dbId, message.id, {
text: qqMessageSent.brief,
nick: helper.getUserDisplayName(message.sender),
});
}
}
}

View File

@ -23,7 +23,7 @@ type ActionSubjectQq = {
type ActionSubject = ActionSubjectTg | ActionSubjectQq;
const COMMAND_REGEX = /^\/([^\w\s$]\S*)|\$(\w\S*)/; // /抱 /$rua
const COMMAND_REGEX = /^\/([^\w\s$]\S*)|^\/\$(\w\S*)/; // /抱 /$rua
export default class {
private readonly log: Logger;

View File

@ -89,6 +89,11 @@ export default class InChatCommandsController {
const helper = new RecoverMessageHelper(this.instance, this.tgBot, this.oicq, pair, message);
helper.startRecover().then(() => this.log.info('恢复完成'));
return true;
case '/search':
await message.reply({
message: await this.service.search(messageParts, pair),
});
return true;
}
};
}

View File

@ -249,12 +249,12 @@ export default class {
quoteMessage.media = { url: await convert.cachedBuffer(`${originTgMessage.document.id.toString(16)}.webp`, () => originTgMessage.downloadMedia({})) };
}
else {
quoteMessage.media = { url: await convert.cachedBuffer(`${originTgMessage.document.id.toString(16)}.jpg`, () => originTgMessage.downloadMedia({})) };
quoteMessage.media = { url: await convert.cachedBuffer(`${originTgMessage.photo.id.toString(16)}.jpg`, () => originTgMessage.downloadMedia({})) };
}
}
else if (originTgMessage.video || originTgMessage.videoNote || originTgMessage.gif) {
const file = originTgMessage.video || originTgMessage.videoNote || originTgMessage.gif;
quoteMessage.media = { url: await convert.cachedBuffer(`${originTgMessage.document.id.toString(16)}-thumb.webp`, () => this.tgBot.downloadThumb(file)) };
quoteMessage.media = { url: await convert.cachedBuffer(`${file.id.toString(16)}-thumb.webp`, () => this.tgBot.downloadThumb(file)) };
}
else if (originTgMessage.sticker) {
quoteMessage.media = { url: await convert.cachedBuffer(`${originTgMessage.document.id.toString(16)}.tgs`, () => originTgMessage.downloadMedia({})) };

View File

@ -50,4 +50,19 @@ export default {
await conventPcmToOgg(path, outputPath);
cleanup();
},
conventOggToPcm16000: (oggPath: string, tmpFilePath: string): Promise<void> => {
return new Promise(resolve => {
ffmpeg(oggPath)
.outputFormat('s16le')
.outputOptions([
'-ar', '16000',
'-ac', '1',
'-acodec', 'pcm_s16le',
])
.on('end', async () => {
resolve();
}).save(tmpFilePath);
});
},
};

View File

@ -52,11 +52,25 @@ export default {
try {
const title = base64decode(jsonObj.meta.mannounce.title);
const content = base64decode(jsonObj.meta.mannounce.text);
return title + '\n\n' + content;
return { type: 'text', text: title + '\n\n' + content };
}
catch (err) {
log.error('解析群公告时出错', err);
return '[群公告]';
return { type: 'text', text: '[群公告]' };
}
}
else if (jsonObj.app === 'com.tencent.multimsg') {
try {
const resId = jsonObj.meta?.detail?.resid;
const fileName = jsonObj.meta?.detail?.uniseq;
if (resId) {
return { type: 'forward', resId };
}
else {
return { type: 'text', text: '[解析转发消息时出错:没有 resId]' };
}
}
catch (err) {
}
}
let appurl: string;
@ -76,11 +90,11 @@ export default {
else if (jsonAppLinkRegex.test(json))
appurl = json.match(jsonAppLinkRegex)[1].replace(/\\\//g, '/');
if (appurl) {
return appurl;
return { type: 'text', text: appurl };
}
else {
// TODO 记录无法解析的 JSON
return '[JSON]';
return { type: 'text', text: '[JSON]' };
}
},

View File

@ -16,12 +16,21 @@ import db from './models/db';
log.error('UnhandledException: ', error);
});
const instanceEntries = await db.instance.findMany();
const instances = [] as Instance[];
if (!instanceEntries.length) {
await Instance.start(0);
instances.push(await Instance.start(0));
}
else {
for (const instanceEntry of instanceEntries) {
await Instance.start(instanceEntry.id);
instances.push(await Instance.start(instanceEntry.id));
}
}
setTimeout(async () => {
log.info('开始加载 MapInstance')
for (const instance of instances.filter(it => it.workMode === 'group')) {
await instance.forwardPairs.initMapInstance(instances.filter(it => it.workMode === 'personal'));
}
}, 15 * 1000);
})();

View File

@ -7,6 +7,7 @@ import { Entity } from 'telegram/define';
import { BigInteger } from 'big-integer';
import { Pair } from './Pair';
import { getLogger, Logger } from 'log4js';
import Instance from './Instance';
export default class ForwardPairs {
private pairs: Pair[] = [];
@ -75,4 +76,21 @@ export default class ForwardPairs {
return this.pairs.find(e => e.tg.id.eq(target.id));
}
}
public async initMapInstance(instances: Instance[]) {
for (const forwardPair of this.pairs) {
for (const instance of instances) {
const instanceTgUserId = instance.userMe.id.toString();
if (forwardPair.instanceMapForTg[instanceTgUserId]) continue;
try {
const group = instance.oicq.getChat(forwardPair.qqRoomId) as Group;
if (!group) continue;
forwardPair.instanceMapForTg[instanceTgUserId] = group;
this.log.info('MapInstance', { group: forwardPair.qqRoomId, tg: instanceTgUserId, qq: instance.qqUin });
}
catch {
}
}
}
}
}

View File

@ -35,8 +35,8 @@ export default class Instance {
private readonly log: Logger;
private tgBot: Telegram;
private oicq: OicqClient;
public tgBot: Telegram;
public oicq: OicqClient;
private _ownerChat: TelegramChat;

View File

@ -1,14 +1,18 @@
import { getLogger } from "log4js";
import { Friend, Group } from "oicq";
import TelegramChat from "../client/TelegramChat";
import getAboutText from "../utils/getAboutText";
import { md5 } from "../utils/hashing";
import { getAvatar } from "../utils/urls";
import db from "./db";
import { getLogger } from 'log4js';
import { Friend, Group } from 'oicq';
import TelegramChat from '../client/TelegramChat';
import getAboutText from '../utils/getAboutText';
import { md5 } from '../utils/hashing';
import { getAvatar } from '../utils/urls';
import db from './db';
const log = getLogger("ForwardPair");
const log = getLogger('ForwardPair');
export class Pair {
// 群成员的 tg 账号对应它对应的 QQ 账号获取到的 Group 对象
// 只有群组模式有效
public readonly instanceMapForTg = {} as { [tgUserId: string]: Group };
constructor(
public readonly qq: Friend | Group,
private _tg: TelegramChat,
@ -17,8 +21,9 @@ export class Pair {
private _poke: boolean,
private _enable: boolean,
private _disableQ2TG: boolean,
private _disableTG2Q: boolean
) {}
private _disableTG2Q: boolean,
) {
}
// 更新 TG 群组的头像和简介
public async updateInfo() {

View File

@ -17,13 +17,14 @@ export default class DeleteMessageService {
}
// 500ms 内只撤回一条消息,防止频繁导致一部分消息没有成功撤回。不过这样的话,会得不到返回的结果
private recallQqMessage = consumer(async (qq: Friend | Group, seq: number, rand: number, timeOrPktnum: number, pair: Pair, isOthersMsg: boolean) => {
private recallQqMessage = consumer(async (qq: Friend | Group, seq: number, rand: number, timeOrPktnum: number, pair: Pair, isOthersMsg: boolean, noSendError = false) => {
try {
const result = await qq.recallMsg(seq, rand, timeOrPktnum);
if (!result) throw new Error('撤回失败');
}
catch (e) {
this.log.error('撤回失败', e);
if (noSendError) return;
const tipMsg = await pair.tg.sendMessage({
message: '<i>撤回 QQ 中对应的消息失败' +
(this.instance.workMode === 'group' ? 'QQ Bot 需要是管理员' : '') +
@ -54,9 +55,14 @@ export default class DeleteMessageService {
});
if (messageInfo) {
try {
const mapQq = pair.instanceMapForTg[messageInfo.tgSenderId.toString()];
mapQq && this.recallQqMessage(mapQq, messageInfo.seq, Number(messageInfo.rand), messageInfo.pktnum, pair, false, true);
// 假如 mapQQ 是普通成员,机器人是管理员,上面撤回失败了也可以由机器人撤回
// 所以撤回两次
// 不知道哪次会成功,所以就都不发失败提示了
this.recallQqMessage(pair.qq, messageInfo.seq, Number(messageInfo.rand),
pair.qq instanceof Friend ? messageInfo.time : messageInfo.pktnum,
pair, isOthersMsg);
pair, isOthersMsg, !!mapQq);
await db.message.delete({
where: { id: messageInfo.id },
});

View File

@ -1,5 +1,16 @@
import Telegram from '../client/Telegram';
import { Group, GroupMessageEvent, MessageElem, PrivateMessageEvent, PttElem, Quotable, segment, Sendable } from 'oicq';
import {
Forwardable,
Group,
GroupMessageEvent,
MessageElem, MessageRet,
MiraiElem,
PrivateMessageEvent,
PttElem,
Quotable,
segment,
Sendable,
} from 'oicq';
import { fetchFile, getBigFaceUrl, getImageUrlByMd5 } from '../utils/urls';
import { ButtonLike, FileLike } from 'telegram/define';
import { getLogger, Logger } from 'log4js';
@ -23,21 +34,52 @@ import lottie from '../constants/lottie';
import _ from 'lodash';
import emoji from '../constants/emoji';
import convert from '../helpers/convert';
import { QQMessageSent } from '../types/definitions';
import ZincSearch from 'zincsearch-node';
import { speech as AipSpeechClient } from 'baidu-aip-sdk';
import random from '../utils/random';
import { escapeXml } from 'oicq/lib/common';
const NOT_CHAINABLE_ELEMENTS = ['flash', 'record', 'video', 'location', 'share', 'json', 'xml', 'poke'];
// noinspection FallThroughInSwitchStatementJS
export default class ForwardService {
private readonly log: Logger;
private readonly zincSearch: ZincSearch;
private readonly speechClient: AipSpeechClient;
constructor(private readonly instance: Instance,
private readonly tgBot: Telegram,
private readonly oicq: OicqClient) {
this.log = getLogger(`ForwardService - ${instance.id}`);
if (process.env.ZINC_URL) {
this.zincSearch = new ZincSearch({
url: process.env.ZINC_URL,
user: process.env.ZINC_USERNAME,
password: process.env.ZINC_PASSWORD,
});
}
if (process.env.BAIDU_APP_ID) {
this.speechClient = new AipSpeechClient(
process.env.BAIDU_APP_ID,
process.env.BAIDU_API_KEY,
process.env.BAIDU_SECRET_KEY,
);
}
}
public async forwardFromQq(event: PrivateMessageEvent | GroupMessageEvent, pair: Pair) {
try {
const messageMirai = event.message.find(it => it.type === 'mirai') as MiraiElem;
if (messageMirai) {
try {
const miraiData = JSON.parse(messageMirai.data);
if (miraiData.q2tgSkip) return;
}
catch {
}
}
const tempFiles: FileResult[] = [];
let message = '', files: FileLike[] = [], buttons: ButtonLike[] = [], replyTo = 0;
let messageHeader = '', sender = '';
@ -56,6 +98,25 @@ export default class ForwardService {
messageHeader = '';
}
};
const useForward = async (resId: string) => {
try {
const messages = await pair.qq.getForwardMsg(resId);
message = helper.generateForwardBrief(messages);
const hash = md5Hex(resId);
buttons.push(Button.url('📃查看', `${process.env.CRV_API}/?hash=${hash}`));
// 传到 Cloudflare
axios.post(`${process.env.CRV_API}/add`, {
auth: process.env.CRV_KEY,
key: hash,
data: messages,
})
.then(data => this.log.trace('上传消息记录到 Cloudflare', data.data))
.catch(e => this.log.error('上传消息记录到 Cloudflare 失败', e));
}
catch (e) {
message = '[<i>转发多条消息(无法获取)</i>]';
}
};
for (const elem of event.message) {
let url: string;
switch (elem.type) {
@ -98,7 +159,11 @@ export default class ForwardService {
if ('url' in elem)
url = elem.url;
try {
if (elem.type === 'image' && elem.asface && !(elem.file as string).toLowerCase().endsWith('.gif')) {
if (elem.type === 'image' && elem.asface
&& !(elem.file as string).toLowerCase().endsWith('.gif')
// 防止在 TG 中一起发送多个 sticker 失败
&& event.message.filter(it => it.type === 'image').length === 1
) {
useSticker(await convert.webp(elem.file as string, () => fetchFile(elem.url)));
}
else {
@ -158,6 +223,22 @@ export default class ForwardService {
url = (refetchMessage.message.find(it => it.type === 'record') as PttElem).url;
}
await silk.decode(await fetchFile(url), temp.path);
if (this.speechClient) {
const pcmPath = await createTempFile({ postfix: '.pcm' });
tempFiles.push(pcmPath);
await silk.conventOggToPcm16000(temp.path, pcmPath.path);
const pcm = await fsP.readFile(pcmPath.path);
const recognize = await this.speechClient.recognize(pcm, 'pcm', 16000, {
dev_pid: 1537,
cuid: Math.random().toString(),
});
if (recognize.err_no) {
message += '识别失败:' + recognize.err_msg;
}
else {
message += recognize.result[0];
}
}
files.push(temp.path);
break;
}
@ -166,7 +247,15 @@ export default class ForwardService {
break;
}
case 'json': {
message = helper.htmlEscape(helper.processJson(elem.data));
const result = helper.processJson(elem.data);
switch (result.type) {
case 'text':
message = helper.htmlEscape(result.text);
break;
case 'forward':
await useForward(result.resId);
break;
}
break;
}
case 'xml': {
@ -186,23 +275,7 @@ export default class ForwardService {
}
break;
case 'forward':
try {
const messages = await pair.qq.getForwardMsg(result.resId);
message = helper.generateForwardBrief(messages);
const hash = md5Hex(result.resId);
buttons.push(Button.url('📃查看', `${process.env.CRV_API}/?hash=${hash}`));
// 传到 Cloudflare
axios.post(`${process.env.CRV_API}/add`, {
auth: process.env.CRV_KEY,
key: hash,
data: messages,
})
.then(data => this.log.trace('上传消息记录到 Cloudflare', data.data))
.catch(e => this.log.error('上传消息记录到 Cloudflare 失败', e));
}
catch (e) {
message = '[<i>转发多条消息(无法获取)</i>]';
}
await useForward(result.resId);
break;
}
break;
@ -229,20 +302,28 @@ export default class ForwardService {
where: {
qqRoomId: pair.qqRoomId,
seq: event.source.seq,
rand: event.source.rand,
// rand: event.source.rand,
qqSenderId: event.source.user_id,
instanceId: this.instance.id,
},
});
if (quote) {
replyTo = quote.tgMsgId;
}
else{
message+='\n\n<i>*回复消息找不到</i>'
else {
message += '\n\n<i>*回复消息找不到</i>';
this.log.error('回复消息找不到', {
qqRoomId: pair.qqRoomId,
seq: event.source.seq,
rand: event.source.rand,
qqSenderId: event.source.user_id,
instanceId: this.instance.id,
});
}
}
catch (e) {
this.log.error('查找回复消息失败', e);
message+='\n\n<i>*查找回复消息失败</i>'
message += '\n\n<i>*查找回复消息失败</i>';
}
}
@ -278,34 +359,72 @@ export default class ForwardService {
}
}
async forwardFromTelegram(message: Api.Message, pair: Pair) {
public async forwardFromTelegram(message: Api.Message, pair: Pair): Promise<Array<QQMessageSent>> {
try {
const tempFiles: FileResult[] = [];
const chain: Sendable = [];
const senderId = Number(message.senderId || message.sender?.id);
// 这条消息在 tg 中被回复的时候显示的
let brief = '';
this.instance.workMode === 'group' && chain.push(helper.getUserDisplayName(message.sender) +
let brief = '', isSpoilerPhoto = false;
const messageHeader = helper.getUserDisplayName(message.sender) +
(message.forward ? ' 转发自 ' +
// 要是隐私设置了,应该会有这个,然后下面两个都获取不到
(message.fwdFrom?.fromName ||
helper.getUserDisplayName(await message.forward.getChat() || await message.forward.getSender())) :
'') +
': \n');
': \n';
if (message.photo instanceof Api.Photo ||
// stickers 和以文件发送的图片都是这个
message.document?.mimeType?.startsWith('image/')) {
chain.push({
type: 'image',
file: await message.downloadMedia({}),
asface: !!message.sticker,
});
brief += '[图片]';
if ('spoiler' in message.media && message.media.spoiler) {
isSpoilerPhoto = true;
const msgList: Forwardable[] = [{
user_id: this.oicq.uin,
nickname: messageHeader.substring(0, messageHeader.length - 3),
message: {
type: 'image',
file: await message.downloadMedia({}),
asface: !!message.sticker,
},
}];
if (message.message) {
msgList.push({
user_id: this.oicq.uin,
nickname: messageHeader.substring(0, messageHeader.length - 3),
message: message.message,
});
}
const fake = await pair.qq.makeForwardMsg(msgList);
chain.push({
type: 'xml',
id: 60,
data: `<?xml version="1.0" encoding="utf-8"?>` +
`<msg serviceID="35" templateID="1" action="viewMultiMsg" brief="[Spoiler 图片]"
m_resid="${fake.resid}" m_fileName="${random.fakeUuid().toUpperCase()}" tSum="${fake.tSum}"
sourceMsgId="0" url="" flag="3" adverSign="0" multiMsgFlag="0"><item layout="1"
advertiser_id="0" aid="0"><title size="34" maxLines="2" lineSpace="12"
>${escapeXml(messageHeader.substring(0, messageHeader.length - 2))}</title
><title size="26" color="#777777" maxLines="2" lineSpace="12">Spoiler </title
>${message.message ? `<title color="#303133" size="26">${escapeXml(message.message)}</title>` : ''
}<hr hidden="false" style="0" /><summary size="26" color="#777777"></summary
></item><source name="Q2TG" icon="" action="" appid="-1" /></msg>`.replaceAll('\n', ''),
});
console.log(chain);
brief += '[Spoiler 图片]';
}
else {
chain.push({
type: 'image',
file: await message.downloadMedia({}),
asface: !!message.sticker,
});
brief += '[图片]';
}
}
else if (message.video || message.videoNote || message.gif) {
const file = message.video || message.videoNote || message.gif;
if (file.size.gt(50 * 1024 * 1024)) {
chain.push('[视频大于 50MB]');
if (file.size.gt(200 * 1024 * 1024)) {
chain.push('[视频大于 200MB]');
}
else if (file.mimeType === 'video/webm' || message.gif) {
// 把 webm 转换成 gif
@ -340,6 +459,22 @@ export default class ForwardService {
await fsP.writeFile(temp.path, await message.downloadMedia({}));
const bufSilk = await silk.encode(temp.path);
chain.push(segment.record(bufSilk));
if (this.speechClient) {
const pcmPath = await createTempFile({ postfix: '.pcm' });
tempFiles.push(pcmPath);
await silk.conventOggToPcm16000(temp.path, pcmPath.path);
const pcm = await fsP.readFile(pcmPath.path);
const recognize = await this.speechClient.recognize(pcm, 'pcm', 16000, {
dev_pid: 1537,
cuid: Math.random().toString(),
});
if (recognize.err_no) {
chain.push('识别失败:' + recognize.err_msg);
}
else {
chain.push('[语音] ', recognize.result[0]);
}
}
brief += '[语音]';
}
else if (message.poll) {
@ -390,7 +525,7 @@ export default class ForwardService {
brief += '[文件]';
}
if (message.message) {
if (message.message && !isSpoilerPhoto) {
if (message.entities) {
const emojiEntities = message.entities.filter(it => it instanceof Api.MessageEntityCustomEmoji) as Api.MessageEntityCustomEmoji[];
const isMessageAllEmojis = _.sum(emojiEntities.map(it => it.length)) === message.message.length;
@ -457,24 +592,60 @@ export default class ForwardService {
}
}
// 防止发送空白消息,也就是除了发送者啥都没有的消息
if (this.instance.workMode === 'group' && chain.length === 1) {
// 防止发送空白消息
if (chain.length === 0) {
return [];
}
const notChainableElements = chain.filter(element => typeof element === 'object' && NOT_CHAINABLE_ELEMENTS.includes(element.type));
const chainableElements = chain.filter(element => typeof element !== 'object' || !NOT_CHAINABLE_ELEMENTS.includes(element.type));
const qqMessages = [];
if (chainableElements.length) {
if (this.instance.workMode === 'group') {
chainableElements.push({
type: 'mirai',
data: JSON.stringify({ id: senderId }, undefined, 0),
});
// MapInstance
if (!notChainableElements.length // notChainableElements 无法附加 mirai 信息,要防止被来回转发
&& chainableElements.length
&& this.instance.workMode
&& pair.instanceMapForTg[senderId]
) {
try {
const messageSent = await pair.instanceMapForTg[senderId].sendMsg([
...chainableElements,
{
type: 'mirai',
data: JSON.stringify({
id: senderId,
eqq: { type: 'tg', tgUid: senderId, noSplitSender: true, version: 2 },
q2tgSkip: true,
}, undefined, 0),
},
], source);
tempFiles.forEach(it => it.cleanup());
return [{
...messageSent,
senderId: pair.instanceMapForTg[senderId].client.uin,
brief,
}];
}
catch (e) {
this.log.error('使用 MapInstance 发送消息失败', e);
}
}
if (this.instance.workMode === 'group' && !isSpoilerPhoto) {
chainableElements.unshift(messageHeader);
}
const qqMessages = [] as Array<QQMessageSent>;
if (chainableElements.length) {
chainableElements.push({
type: 'mirai',
data: JSON.stringify({
id: senderId,
eqq: { type: 'tg', tgUid: senderId, noSplitSender: this.instance.workMode === 'personal', version: 2 },
}, undefined, 0),
});
qqMessages.push({
...await pair.qq.sendMsg(chainableElements, source),
brief,
senderId: this.oicq.uin,
});
}
if (notChainableElements.length) {
@ -482,10 +653,12 @@ export default class ForwardService {
qqMessages.push({
...await pair.qq.sendMsg(notChainableElement, source),
brief,
senderId: this.oicq.uin,
});
}
}
tempFiles.forEach(it => it.cleanup());
console.log(qqMessages);
return qqMessages;
}
catch (e) {
@ -499,4 +672,49 @@ export default class ForwardService {
}
}
}
public async addToZinc(pairId: number, tgMsgId: number, data: {
text: string,
nick: string,
}) {
if (!this.zincSearch) return;
const existsReq = await fetch(process.env.ZINC_URL + `/api/index/q2tg-${pairId}`, {
method: 'HEAD',
headers: {
Authorization: 'Basic ' + Buffer.from(process.env.ZINC_USERNAME + ':' + process.env.ZINC_PASSWORD).toString('base64'),
},
});
if (existsReq.status === 404) {
await this.zincSearch.indices.create({
name: `q2tg-${pairId}`,
mappings: {
properties: {
nick: {
type: 'text',
index: true,
store: false,
aggregatable: false,
highlightable: true,
analyzer: 'gse_search',
search_analyzer: 'gse_standard',
},
text: {
type: 'text',
index: true,
store: false,
aggregatable: false,
highlightable: true,
analyzer: 'gse_search',
search_analyzer: 'gse_standard',
},
},
},
});
}
await this.zincSearch.document.createOrUpdate({
id: tgMsgId.toString(),
index: `q2tg-${pairId}`,
document: data,
});
}
}

View File

@ -10,14 +10,23 @@ import { getAvatar } from '../utils/urls';
import db from '../models/db';
import { Friend, Group } from 'oicq';
import { format } from 'date-and-time';
import ZincSearch from 'zincsearch-node';
export default class InChatCommandsService {
private readonly log: Logger;
private readonly zincSearch: ZincSearch;
constructor(private readonly instance: Instance,
private readonly tgBot: Telegram,
private readonly oicq: OicqClient) {
this.log = getLogger(`InChatCommandsService - ${instance.id}`);
if (process.env.ZINC_URL) {
this.zincSearch = new ZincSearch({
url: process.env.ZINC_URL,
user: process.env.ZINC_USERNAME,
password: process.env.ZINC_PASSWORD,
});
}
}
public async info(message: Api.Message, pair: Pair) {
@ -116,4 +125,24 @@ export default class InChatCommandsService {
});
}
}
public async search(keywords: string[], pair: Pair) {
const queries = keywords.map((txt) => `text:${txt}`);
const result = await this.zincSearch.search({
index: `q2tg-${pair.dbId}`,
query: { term: queries.join(' '), terms: [] },
search_type: 'match',
sort_fields: ['-_score'],
max_results: 5,
});
if (!result.hits?.hits?.length) {
return '没有结果';
}
const rpy = result.hits.hits.map((hit, index) => {
const id = hit._id!;
const link = `https://t.me/c/${pair.tgId}/${id}`;
return `${index + 1}. ${link} score:${hit._score!.toFixed(3)}`;
});
return rpy.join('\n');
}
}

View File

@ -1 +1,4 @@
import { MessageRet } from 'oicq';
export type WorkMode = 'group' | 'personal';
export type QQMessageSent = MessageRet & { senderId: number, brief: string };

View File

@ -158,23 +158,27 @@ cacheEntries = {
"@prisma/client@npm:4.6.0" = { filename = "@prisma-client-npm-4.6.0-fe27a80ce5-9ea358059c.zip"; sha512 = "9ea358059c01d5ed18b683a1bf4c713c08eb084622aadafa0b80d0439d5ea46e8930efa3fc72a915914f306f505bc7874954466ba13fdd385ca39e8009702e03"; };
"@types/cli-progress@npm:3.11.0" = { filename = "@types-cli-progress-npm-3.11.0-889a906352-d440162233.zip"; sha512 = "d4401622333e888925b47c5d5bb0b89dddae17cc020f909a64ad7275b326bf3c6e9cd467f625a197fd958a1e49220d32f4a2b0bf2948fee330c719a9b985674e"; };
"@types/fluent-ffmpeg@npm:2.1.20" = { filename = "@types-fluent-ffmpeg-npm-2.1.20-46c4294bd5-f810a12a42.zip"; sha512 = "f810a12a427f8e6568cec2ef250693e533112b66b7cd9ca9e10fe32b2aecb85623b8bb4ae5e51e47f79e27cdb969d3115720588b9f6fc7e4d17b4d4dc5e0d677"; };
"@types/sharp@npm:0.31.1" = { filename = "@types-sharp-npm-0.31.1-2fd1486480-226871181f.zip"; sha512 = "226871181fc88b5ef8a6bc32c1e14a3426cc45480ed49536c45bb5c166c089169b8fe3e5c57aea8c34cc40b08311a95d5582c1a2f540f4425eb66fea3d6e0489"; };
"cli-progress@npm:3.11.2" = { filename = "cli-progress-npm-3.11.2-6cecb7043d-147d26b80c.zip"; sha512 = "147d26b80ceaa24d72f0354d1b58b7f3567b928bf5943be879de31cf16b0a4f1d059984e2e35a664d7d27ae3e7fafd69fd94b35f462c8879caf96d7f31eac442"; };
"tmp-promise@npm:3.0.3" = { filename = "tmp-promise-npm-3.0.3-6df4ad8df9-f854f5307d.zip"; sha512 = "f854f5307dcee6455927ec3da9398f139897faf715c5c6dcee6d9471ae85136983ea06662eba2edf2533bdcb0fca66d16648e79e14381e30c7fb20be9c1aa62c"; };
"undici@npm:5.20.0" = { filename = "undici-npm-5.20.0-e0d42e5e9b-25412a785b.zip"; sha512 = "25412a785b2bd0b12f0bb0ec47ef00aa7a611ca0e570cb7af97cffe6a42e0d78e4b15190363a43771e9002defc3c6647c1b2d52201b3f64e2196819db4d150d3"; };
"zincsearch-node@npm:2.1.0" = { filename = "zincsearch-node-npm-2.1.0-939476f4a5-a1995fda22.zip"; sha512 = "a1995fda2226b785eacafde1dde4f3ef30f51a32190567e38120ac032645c316317dc4938f26505528375645261edd48c69cfce221d00ceacc20a0b5549ef9ef"; };
"axios@npm:0.27.2" = { filename = "axios-npm-0.27.2-dbe3a48aea-38cb754046.zip"; sha512 = "38cb7540465fe8c4102850c4368053c21683af85c5fdf0ea619f9628abbcb59415d1e22ebc8a6390d2bbc9b58a9806c874f139767389c862ec9b772235f06854"; };
"fluent-ffmpeg@npm:2.1.2" = { filename = "fluent-ffmpeg-npm-2.1.2-692c218f68-ab7ed90948.zip"; sha512 = "ab7ed909486298f33b991af051c38e40410ae5b03b0b6d33d0855636a0b56330ffe9efed6c7eedb00f1c6c713c795cbdb283f6f2216db925ae5e737a22c6a97f"; };
"prompts@npm:2.4.2" = { filename = "prompts-npm-2.4.2-f5d25d5eea-d8fd1fe638.zip"; sha512 = "d8fd1fe63820be2412c13bfc5d0a01909acc1f0367e32396962e737cb2fc52d004f3302475d5ce7d18a1e8a79985f93ff04ee03007d091029c3f9104bffc007d"; };
"file-type@npm:17.1.4" = { filename = "file-type-npm-17.1.4-72b08f1f60-07ae79cda0.zip"; sha512 = "07ae79cda01a38c2dedec85acfa7d5532c8334d4bc8542e0ab97e27d1bc496d325ea245bb546394f43ac19673fad6ef50fc38a9d70462ae2f5a28ab8721d1037"; };
"silk-sdk@npm:0.2.2" = { filename = "silk-sdk-npm-0.2.2-2c0636bebf-e6314428f1.zip"; sha512 = "e6314428f1e406e59ffb400bb0493dfa056d1ffcf36afa60de59cfe22937ce70f5b7a08757510880755dbf1cb9137a298947641b10e7d1369bdd421674afdbec"; };
"@types/sharp@npm:0.31.1" = { filename = "@types-sharp-npm-0.31.1-2fd1486480-226871181f.zip"; sha512 = "226871181fc88b5ef8a6bc32c1e14a3426cc45480ed49536c45bb5c166c089169b8fe3e5c57aea8c34cc40b08311a95d5582c1a2f540f4425eb66fea3d6e0489"; };
"@prisma/engines-version@npm:4.6.0-53.2e719efb80b56a3f32d18a62489de95bb9c130e3" = { filename = "@prisma-engines-version-npm-4.6.0-53.2e719efb80b56a3f32d18a62489de95bb9c130e3-7777b7153b-88510cec37.zip"; sha512 = "88510cec375f1505953121a41fa464f26be4022859cfe40659e4cb15c7e8d22d163203a30d65f2e66c828287cf029eb92ab6ba7325c6b3f551f92fb52424477b"; };
"@types/node@npm:17.0.21" = { filename = "@types-node-npm-17.0.21-7d68eb6a13-89dcd2fe82.zip"; sha512 = "89dcd2fe82f21d3634266f8384e9c865cf8af49685639fbdbd799bdd1040480fb1e8eeda2d3b9fce41edbe704d2a4be9f427118c4ae872e8d9bb7cbeb3c41a94"; };
"log4js@npm:6.6.1" = { filename = "log4js-npm-6.6.1-00e7698906-68f29e7b8b.zip"; sha512 = "68f29e7b8b0efa2f987e65ee122fde0bc806dd7ad20f0a9f2da316696423e42381ba348bd6e2f6a2feba042a6ed33c14955210741f47ab897b3204aba8bcd84b"; };
"oicq@https://0w.al/AhKp.tar.gz" = { filename = "oicq-https-7250a03304-1ac9013190.zip"; sha512 = "1ac901319005191fa3974f35efedca40fda12589e564d0f38065314eccf761f08adc6004d623d25b29edb45418e327790f8e21c343fadc45312c0b3be0ee0284"; };
"typescript@npm:4.9.5" = { filename = "typescript-npm-4.9.5-6427b65ee6-ee000bc268.zip"; sha512 = "ee000bc26848147ad423b581bd250075662a354d84f0e06eb76d3b892328d8d4440b7487b5a83e851b12b255f55d71835b008a66cbf8f255a11e4400159237db"; };
"follow-redirects@npm:1.15.1" = { filename = "follow-redirects-npm-1.15.1-6b191885cd-6aa4e3e3cd.zip"; sha512 = "6aa4e3e3cdfa3b9314801a1cd192ba756a53479d9d8cca65bf4db3a3e8834e62139245cd2f9566147c8dfe2efff1700d3e6aefd103de4004a7b99985e71dd533"; };
"async@npm:3.2.3" = { filename = "async-npm-3.2.3-e9d6b79c88-c4bee57ab2.zip"; sha512 = "c4bee57ab2249af3dc83ca3ef9acfa8e822c0d5e5aa41bae3eaf7f673648343cd64ecd7d26091ffd357f3f044428b17b5f00098494b6cf8b6b3e9681f0636ca1"; };
"kleur@npm:3.0.3" = { filename = "kleur-npm-3.0.3-f6f53649a4-df82cd1e17.zip"; sha512 = "df82cd1e172f957bae9c536286265a5cdbd5eeca487cb0a3b2a7b41ef959fc61f8e7c0e9aeea9c114ccf2c166b6a8dd45a46fd619c1c569d210ecd2765ad5169"; };
"sisteransi@npm:1.0.5" = { filename = "sisteransi-npm-1.0.5-af60cc0cfa-aba6438f46.zip"; sha512 = "aba6438f46d2bfcef94cf112c835ab395172c75f67453fe05c340c770d3c402363018ae1ab4172a1026a90c47eaccf3af7b6ff6fa749a680c2929bd7fa2b37a4"; };
"tmp@npm:0.2.1" = { filename = "tmp-npm-0.2.1-a9c8d9c0ca-8b12146541.zip"; sha512 = "8b1214654182575124498c87ca986ac53dc76ff36e8f0e0b67139a8d221eaecfdec108c0e6ec54d76f49f1f72ab9325500b246f562b926f85bcdfca8bf35df9e"; };
"busboy@npm:1.6.0" = { filename = "busboy-npm-1.6.0-ebb5cbb04b-32801e2c01.zip"; sha512 = "32801e2c0164e12106bf236291a00795c3c4e4b709ae02132883fe8478ba2ae23743b11c5735a0aae8afe65ac4b6ca4568b91f0d9fed1fdbc32ede824a73746e"; };
"baidu-aip-sdk@npm:4.16.10" = { filename = "baidu-aip-sdk-npm-4.16.10-28837faa00-8a8070b293.zip"; sha512 = "8a8070b2935960b3e8d922f9db71cb8ddb18f9be2a608ee226736bb6ecf78148ad77184e3d56c803456c7e9bdd190bcea8c0cd7d3e083fe97e7e12877bf36eed"; };
"which@npm:1.3.1" = { filename = "which-npm-1.3.1-f0ebb8bdd8-f2e185c624.zip"; sha512 = "f2e185c6242244b8426c9df1510e86629192d93c1a986a7d2a591f2c24869e7ffd03d6dac07ca863b2e4c06f59a4cc9916c585b72ee9fa1aa609d0124df15e04"; };
"cac@npm:6.7.12" = { filename = "cac-npm-6.7.12-2abc45f504-c0d4129eb3.zip"; sha512 = "c0d4129eb30fc43449e9078ac37bb3b837aab6261236a6642a6fb9d839bb6a41e191e1f2776f87569535db07dcbf4937680419126215b4c17c9dba4351d1bd5e"; };
"string-width@npm:4.2.3" = { filename = "string-width-npm-4.2.3-2c27177bae-e52c10dc3f.zip"; sha512 = "e52c10dc3fbfcd6c3a15f159f54a90024241d0f149cf8aed2982a2d801d2e64df0bf1dc351cf8e95c3319323f9f220c16e740b06faecd53e2462df1d2b5443fb"; };
@ -186,19 +190,19 @@ cacheEntries = {
"date-format@npm:4.0.13" = { filename = "date-format-npm-4.0.13-64e384acc1-b4584fdd43.zip"; sha512 = "b4584fdd43d31e9c900da775cce4806903ba207e21f79d99959858141849d41ec919f941d1fb2e4efd2355ce1909ca1fe41a5184568c74cb540cf24c4f8bb39b"; };
"flatted@npm:3.2.6" = { filename = "flatted-npm-3.2.6-a309e17eb3-33b87aa88d.zip"; sha512 = "33b87aa88dfa40ca6ee31d7df61712bbbad3d3c05c132c23e59b9b61d34631b337a18ff2b8dc5553acdc871ec72b741e485f78969cf006124a3f57174de29a0e"; };
"rfdc@npm:1.3.0" = { filename = "rfdc-npm-1.3.0-272f288ad8-fb2ba8512e.zip"; sha512 = "fb2ba8512e43519983b4c61bd3fa77c0f410eff6bae68b08614437bc3f35f91362215f7b4a73cbda6f67330b5746ce07db5dd9850ad3edc91271ad6deea0df32"; };
"long@npm:4.0.0" = { filename = "long-npm-4.0.0-ecd96a31ed-16afbe8f74.zip"; sha512 = "16afbe8f749c7c849db1f4de4e2e6a31ac6e617cead3bdc4f9605cb703cd20e1e9fc1a7baba674ffcca57d660a6e5b53a9e236d7b25a295d3855cca79cc06744"; };
"pngjs@npm:6.0.0" = { filename = "pngjs-npm-6.0.0-31d8d85681-ab6c285086.zip"; sha512 = "ab6c285086060087097eab9fe6b5a528a24f9e79c03dea2b4fd6264ed4fdb5beff4a3257eeeaf2a9dc18249b539609c2a4e4013c567164a1f6b5ba2c974d5ecb"; };
"sharp@npm:0.31.3" = { filename = "sharp-npm-0.31.3-7533cf1669-29fd1dfbc6.zip"; sha512 = "29fd1dfbc616c6389f53f366cec342b4353d9f2a37e98952ca273db38dca57dfa0f336322d6d763f0fae876042ead22fd86ffe26d70c32ade2458d421db60d04"; };
"streamsearch@npm:1.1.0" = { filename = "streamsearch-npm-1.1.0-fc3ad6536d-1cce16cea8.zip"; sha512 = "1cce16cea8405d7a233d32ca5e00a00169cc0e19fbc02aa839959985f267335d435c07f96e5e0edd0eadc6d39c98d5435fb5bbbdefc62c41834eadc5622ad942"; };
"underscore@npm:1.13.6" = { filename = "underscore-npm-1.13.6-3ebe9d92fb-d5cedd14a9.zip"; sha512 = "d5cedd14a9d0d91dd38c1ce6169e4455bb931f0aaf354108e47bd46d3f2da7464d49b2171a5cf786d61963204a42d01ea1332a903b7342ad428deaafaf70ec36"; };
"debug@npm:4.3.4" = { filename = "debug-npm-4.3.4-4513954577-3dbad3f94e.zip"; sha512 = "3dbad3f94ea64f34431a9cbf0bafb61853eda57bff2880036153438f50fb5a84f27683ba0d8e5426bf41a8c6ff03879488120cf5b3a761e77953169c0600a708"; };
"typescript@patch:typescript@npm%3A4.7.4#~builtin<compat/typescript>::version=4.7.4&hash=493e53" = { filename = "typescript-patch-56cded6317-96d3030cb0.zip"; sha512 = "96d3030cb01143570567cb4f3a616b10df65f658f0e74e853e77a089a6a954e35c800be7db8b9bfe9a1ae05d9c2897e281359f65e4caa1caf266368e1c4febd3"; };
"isexe@npm:2.0.0" = { filename = "isexe-npm-2.0.0-b58870bd2e-26bf6c5480.zip"; sha512 = "26bf6c5480dda5161c820c5b5c751ae1e766c587b1f951ea3fcfc973bafb7831ae5b54a31a69bd670220e42e99ec154475025a468eae58ea262f813fdc8d1c62"; };
"rimraf@npm:3.0.2" = { filename = "rimraf-npm-3.0.2-2cb7dac69a-87f4164e39.zip"; sha512 = "87f4164e396f0171b0a3386cc1877a817f572148ee13a7e113b238e48e8a9f2f31d009a92ec38a591ff1567d9662c6b67fd8818a2dbbaed74bc26a87a2a4a9a0"; };
"debug@npm:2.6.9" = { filename = "debug-npm-2.6.9-7d4cb597dc-d2f51589ca.zip"; sha512 = "d2f51589ca66df60bf36e1fa6e4386b318c3f1e06772280eea5b1ae9fd3d05e9c2b7fd8a7d862457d00853c75b00451aa2d7459b924629ee385287a650f58fe6"; };
"iconv-lite@npm:0.4.24" = { filename = "iconv-lite-npm-0.4.24-c5c4ac6695-bd9f120f5a.zip"; sha512 = "bd9f120f5a5b306f0bc0b9ae1edeb1577161503f5f8252a20f1a9e56ef8775c9959fd01c55f2d3a39d9a8abaf3e30c1abeb1895f367dcbbe0a8fd1c9ca01c4f6"; };
"emoji-regex@npm:8.0.0" = { filename = "emoji-regex-npm-8.0.0-213764015c-d4c5c39d5a.zip"; sha512 = "d4c5c39d5a9868b5fa152f00cada8a936868fd3367f33f71be515ecee4c803132d11b31a6222b2571b1e5f7e13890156a94880345594d0ce7e3c9895f560f192"; };
"is-fullwidth-code-point@npm:3.0.0" = { filename = "is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-44a30c2945.zip"; sha512 = "44a30c29457c7fb8f00297bce733f0a64cd22eca270f83e58c105e0d015e45c019491a4ab2faef91ab51d4738c670daff901c799f6a700e27f7314029e99e348"; };
"file-uri-to-path@npm:1.0.0" = { filename = "file-uri-to-path-npm-1.0.0-1043ac6206-b648580bdd.zip"; sha512 = "b648580bdd893a008c92c7ecc96c3ee57a5e7b6c4c18a9a09b44fb5d36d79146f8e442578bc0e173dc027adf3987e254ba1dfd6e3ec998b7c282873010502144"; };
"streamroller@npm:3.1.2" = { filename = "streamroller-npm-3.1.2-56c1517978-4215bf57fe.zip"; sha512 = "4215bf57fe80c583ba200075f9a62b9be9a3d7491201905bf7b5a09d7e87903a47f7c62b1ce0fd2161dbd497cac41068e8f48dda0f9bfceb084487de5798f043"; };
"axios@npm:1.2.1" = { filename = "axios-npm-1.2.1-4056ddcb4c-c4dc4e1190.zip"; sha512 = "c4dc4e119064c9aed09a3de309bedb797a139a6fb372223aafe3e0c10a7d4a14e4d3e9c9d309467fadb9d2b490b891ee3df96ef5b55716bb971910466ff9f0c5"; };
"probe-image-size@npm:7.2.3" = { filename = "probe-image-size-npm-7.2.3-2b6ee36e6f-1a5eeb8f5c.zip"; sha512 = "1a5eeb8f5cb979172144a5d7a017c70fcd664ccc8af9ad3a803903ee81864abea4036adae4fc6e66e9ae21bd3ce0febefaf1f32e65a77ff226b2eb61e9e4978c"; };
"asynckit@npm:0.4.0" = { filename = "asynckit-npm-0.4.0-c718858525-7b78c451df.zip"; sha512 = "7b78c451df768adba04e2d02e63e2d0bf3b07adcd6e42b4cf665cb7ce899bedd344c69a1dcbce355b5f972d597b25aaa1c1742b52cffd9caccb22f348114f6be"; };
"strip-ansi@npm:6.0.1" = { filename = "strip-ansi-npm-6.0.1-caddc7cb40-f3cd25890a.zip"; sha512 = "f3cd25890aef3ba6e1a74e20896c21a46f482e93df4a06567cebf2b57edabb15133f1f94e57434e0a958d61186087b1008e89c94875d019910a213181a14fc8c"; };
"@tokenizer/token@npm:0.3.0" = { filename = "@tokenizer-token-npm-0.3.0-4441352cc5-1d575d02d2.zip"; sha512 = "1d575d02d2a9f0c5a4ca5180635ebd2ad59e0f18b42a65f3d04844148b49b3db35cf00b6012a1af2d59c2ab3caca59451c5689f747ba8667ee586ad717ee58e1"; };
@ -209,19 +213,18 @@ cacheEntries = {
"combined-stream@npm:1.0.8" = { filename = "combined-stream-npm-1.0.8-dc14d4a63a-49fa4aeb49.zip"; sha512 = "49fa4aeb4916567e33ea81d088f6584749fc90c7abec76fd516bf1c5aa5c79f3584b5ba3de6b86d26ddd64bae5329c4c7479343250cfe71c75bb366eae53bb7c"; };
"mime-types@npm:2.1.35" = { filename = "mime-types-npm-2.1.35-dd9ea9f3e2-89a5b7f1de.zip"; sha512 = "89a5b7f1def9f3af5dad6496c5ed50191ae4331cc5389d7c521c8ad28d5fdad2d06fd81baf38fed813dc4e46bb55c8145bb0ff406330818c9cf712fb2e9b3836"; };
"ms@npm:2.1.2" = { filename = "ms-npm-2.1.2-ec0c1512ff-673cdb2c31.zip"; sha512 = "673cdb2c3133eb050c745908d8ce632ed2c02d85640e2edb3ace856a2266a813b30c613569bf3354fdf4ea7d1a1494add3bfa95e2713baa27d0c2c71fc44f58f"; };
"log4js@npm:6.4.1" = { filename = "log4js-npm-6.4.1-b00dd7826e-0614949662.zip"; sha512 = "0614949662314573ec7dcd841769a4d23d8cb8268685458a40fcd94f2ae6ec628234cfb9a6bc17821fb6ea6ce3765e779b4966ba1cf918f393dc37155a3615cb"; };
"node-addon-api@npm:5.0.0" = { filename = "node-addon-api-npm-5.0.0-c0def7fecf-7c5e2043ac.zip"; sha512 = "7c5e2043ac37f6108784d94ed73a44ae6d3e68eb968de60680922fc6bc3d17fa69448c0feb4e0c9d3f4c74a0324822e566a8340a56916d9d6f23cb3e85620334"; };
"semver@npm:7.3.8" = { filename = "semver-npm-7.3.8-25a996cb4f-ba9c7cbbf2.zip"; sha512 = "ba9c7cbbf2b7884696523450a61fee1a09930d888b7a8d7579025ad93d459b2d1949ee5bbfeb188b2be5f4ac163544c5e98491ad6152df34154feebc2cc337c1"; };
"tunnel-agent@npm:0.6.0" = { filename = "tunnel-agent-npm-0.6.0-64345ab7eb-05f6510358.zip"; sha512 = "05f6510358f8afc62a057b8b692f05d70c1782b70db86d6a1e0d5e28a32389e52fa6e7707b6c5ecccacc031462e4bc35af85ecfe4bbc341767917b7cf6965711"; };
"ms@npm:2.0.0" = { filename = "ms-npm-2.0.0-9e1101a471-0e6a22b8b7.zip"; sha512 = "0e6a22b8b746d2e0b65a430519934fefd41b6db0682e3477c10f60c76e947c4c0ad06f63ffdf1d78d335f83edee8c0aa928aa66a36c7cd95b69b26f468d527f4"; };
"safer-buffer@npm:2.1.2" = { filename = "safer-buffer-npm-2.1.2-8d5c0b705e-cab8f25ae6.zip"; sha512 = "cab8f25ae6f1434abee8d80023d7e72b598cf1327164ddab31003c51215526801e40b66c5e65d658a0af1e9d6478cadcb4c745f4bd6751f97d8644786c0978b0"; };
"readable-stream@npm:3.6.0" = { filename = "readable-stream-npm-3.6.0-23a4a5eb56-d4ea81502d.zip"; sha512 = "d4ea81502d3799439bb955a3a5d1d808592cf3133350ed352aeaa499647858b27b1c4013984900238b0873ec8d0d8defce72469fb7a83e61d53f5ad61cb80dc8"; };
"typescript@patch:typescript@npm%3A4.9.5#~builtin<compat/typescript>::version=4.9.5&hash=493e53" = { filename = "typescript-patch-d1f41f1b4a-2eee5c37ca.zip"; sha512 = "2eee5c37cad4390385db5db5a8e81470e42e8f1401b0358d7390095d6f681b410f2c4a0c496c6ff9ebd775423c7785cdace7bcdad76c7bee283df3d9718c0f20"; };
"should@npm:13.2.3" = { filename = "should-npm-13.2.3-fbb7954a33-74bcc0eb85.zip"; sha512 = "74bcc0eb85e0a63a88e501ff9ca3b53dbc6d1ee47823c029a18a4b14b3ef4e2561733e161033df720599d2153283470e9647fdcb1bbc78903960ffb0363239c4"; };
"color@npm:4.2.3" = { filename = "color-npm-4.2.3-4a23227581-0579629c02.zip"; sha512 = "0579629c02c631b426780038da929cca8e8d80a40158b09811a0112a107c62e10e4aad719843b791b1e658ab4e800558f2e87ca4522c8b32349d497ecb6adeb4"; };
"follow-redirects@npm:1.15.2" = { filename = "follow-redirects-npm-1.15.2-1ec1dd82be-faa66059b6.zip"; sha512 = "faa66059b66358ba65c234c2f2a37fcec029dc22775f35d9ad6abac56003268baf41e55f9ee645957b32c7d9f62baf1f0b906e68267276f54ec4b4c597c2b190"; };
"proxy-from-env@npm:1.1.0" = { filename = "proxy-from-env-npm-1.1.0-c13d07f26b-ed7fcc2ba0.zip"; sha512 = "ed7fcc2ba0a33404958e34d95d18638249a68c430e30fcb6c478497d72739ba64ce9810a24f53a7d921d0c065e5b78e3822759800698167256b04659366ca4d4"; };
"lodash.merge@npm:4.6.2" = { filename = "lodash.merge-npm-4.6.2-77cb4416bf-ad580b4bdb.zip"; sha512 = "ad580b4bdbb7ca1f7abf7e1bce63a9a0b98e370cf40194b03380a46b4ed799c9573029599caebc1b14e3f24b111aef72b96674a56cfa105e0f5ac70546cdc005"; };
"simple-get@npm:4.0.1" = { filename = "simple-get-npm-4.0.1-fa2a97645d-e4132fd27c.zip"; sha512 = "e4132fd27cf7af230d853fa45c1b8ce900cb430dd0a3c6d3829649fe4f2b26574c803698076c4006450efb0fad2ba8c5455fbb5755d4b0a5ec42d4f12b31d27e"; };
"ansi-regex@npm:5.0.1" = { filename = "ansi-regex-npm-5.0.1-c963a48615-2aa4bb54ca.zip"; sha512 = "2aa4bb54caf2d622f1afdad09441695af2a83aa3fe8b8afa581d205e57ed4261c183c4d3877cee25794443fde5876417d859c108078ab788d6af7e4fe52eb66b"; };
"telegram@npm:2.15.2" = { filename = "telegram-npm-2.15.2-af0dba7b70-1602a7bc74.zip"; sha512 = "1602a7bc74b47e752945eff9beb630f58db27172c5a9cda6a1ccf7b085c26470c9e7784a630309a97f680d25e87670f867d6847b5c1bd926f0b014ce70655af5"; };
"stream-parser@npm:0.3.1" = { filename = "stream-parser-npm-0.3.1-0b70187c85-4d86ff8cff.zip"; sha512 = "4d86ff8cffe7c7587dc91433fff9dce38a93ea7e9f47560055addc81eae6b6befab22b75643ce539faf325fe2b17d371778242566bed086e75f6cffb1e76c06c"; };
"telegram@npm:2.15.10" = { filename = "telegram-npm-2.15.10-1546509af7-e9fe6b43b9.zip"; sha512 = "e9fe6b43b9b04cc4dad5ca7460feff70d91365661f7af23f025e2bc78c1c997740faa65165450e22897146dd6e5c032e898fb60c13e9ff026301ea6384faa97d"; };
"tar-fs@npm:2.1.1" = { filename = "tar-fs-npm-2.1.1-e374d3b7a2-f5b9a70059.zip"; sha512 = "f5b9a70059f5b2969e65f037b4e4da2daf0fa762d3d232ffd96e819e3f94665dbbbe62f76f084f1acb4dbdcce16c6e4dac08d12ffc6d24b8d76720f4d9cf032d"; };
"node-gyp@npm:8.4.1" = { filename = "node-gyp-npm-8.4.1-13c90a9c9b-341710b5da.zip"; sha512 = "341710b5da39d3660e6a886b37e210d33f8282047405c2e62c277bcc744c7552c5b8b972ebc3a7d5c2813794e60cc48c3ebd142c46d6e0321db4db6c92dd0355"; };
"@tsconfig/node10@npm:1.0.8" = { filename = "@tsconfig-node10-npm-1.0.8-90a8cce25d-b8d5fffbc6.zip"; sha512 = "b8d5fffbc6b17ef64ef74f7fdbccee02a809a063ade785c3648dae59406bc207f70ea2c4296f92749b33019fa36a5ae716e42e49cc7f1bbf0fd147be0d6b970a"; };
@ -238,20 +241,20 @@ cacheEntries = {
"yn@npm:3.1.1" = { filename = "yn-npm-3.1.1-8ad4259784-2c487b0e14.zip"; sha512 = "2c487b0e149e746ef48cda9f8bad10fc83693cd69d7f9dcd8be4214e985de33a29c9e24f3c0d6bcf2288427040a8947406ab27f7af67ee9456e6b84854f02dd6"; };
"delayed-stream@npm:1.0.0" = { filename = "delayed-stream-npm-1.0.0-c5a4c4cc02-46fe6e83e2.zip"; sha512 = "46fe6e83e2cb1d85ba50bd52803c68be9bd953282fa7096f51fc29edd5d67ff84ff753c51966061e5ba7cb5e47ef6d36a91924eddb7f3f3483b1c560f77a0020"; };
"mime-db@npm:1.52.0" = { filename = "mime-db-npm-1.52.0-b5371d6fd2-0d99a03585.zip"; sha512 = "0d99a03585f8b39d68182803b12ac601d9c01abfa28ec56204fa330bc9f3d1c5e14beb049bafadb3dbdf646dfb94b87e24d4ec7b31b7279ef906a8ea9b6a513f"; };
"date-format@npm:4.0.3" = { filename = "date-format-npm-4.0.3-ce15085cfe-8ae4d9de35.zip"; sha512 = "8ae4d9de3532010169a89bc7b079342051ba3ec88552636aa677bfb53e8eb15113af8394679aea7d41367dc8bb6e9865da17f21ac2802202180b09d6e3f2339e"; };
"flatted@npm:3.2.5" = { filename = "flatted-npm-3.2.5-0ee5a8875f-3c436e9695.zip"; sha512 = "3c436e9695ccca29620b4be5671dd72e5dd0a7500e0856611b7ca9bd8169f177f408c3b9abfa78dfe1493ee2d873e2c119080a8a9bee4e1a186a9e60ca6c89f1"; };
"safe-buffer@npm:5.2.1" = { filename = "safe-buffer-npm-5.2.1-3481c8aa9b-b99c4b41fd.zip"; sha512 = "b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491"; };
"@cspotcode/source-map-support@npm:0.8.1" = { filename = "@cspotcode-source-map-support-npm-0.8.1-964f2de99d-5718f26708.zip"; sha512 = "5718f267085ed8edb3e7ef210137241775e607ee18b77d95aa5bd7514f47f5019aa2d82d96b3bf342ef7aa890a346fa1044532ff7cc3009e7d24fce3ce6200fa"; };
"inherits@npm:2.0.4" = { filename = "inherits-npm-2.0.4-c66b3957a0-4a48a73384.zip"; sha512 = "4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1"; };
"util-deprecate@npm:1.0.2" = { filename = "util-deprecate-npm-1.0.2-e3fe1a219c-474acf1146.zip"; sha512 = "474acf1146cb2701fe3b074892217553dfcf9a031280919ba1b8d651a068c9b15d863b7303cb15bd00a862b498e6cf4ad7b4a08fb134edd5a6f7641681cb54a2"; };
"should-type@npm:1.4.0" = { filename = "should-type-npm-1.4.0-6590b6ee32-88d9324c6c.zip"; sha512 = "88d9324c6c0c2f94e71d2f8b11c84e44de81f16eeb6fafcba47f4af430c65e46bad18eb472827526cad22b4fe693aba8b022739d1c453672faf28860df223491"; };
"should-util@npm:1.0.1" = { filename = "should-util-npm-1.0.1-f3701a5e03-c3be15e0fd.zip"; sha512 = "c3be15e0fdc851f8338676b3f8b590d330bbea94ec41c1343cc9983dea295915073f69a215795454b6adda6579ec8927c7c0ab178b83f9f11a0247ccdba53381"; };
"fs-extra@npm:8.1.0" = { filename = "fs-extra-npm-8.1.0-197473387f-bf44f0e6ce.zip"; sha512 = "bf44f0e6cea59d5ce071bba4c43ca76d216f89e402dc6285c128abc0902e9b8525135aa808adad72c9d5d218e9f4bcc63962815529ff2f684ad532172a284880"; };
"debug@npm:4.3.3" = { filename = "debug-npm-4.3.3-710fd4cc7f-14472d56fe.zip"; sha512 = "14472d56fe4a94dbcfaa6dbed2dd3849f1d72ba78104a1a328047bb564643ca49df0224c3a17fa63533fd11dd3d4c8636cd861191232a2c6735af00cc2d4de16"; };
"needle@npm:2.9.1" = { filename = "needle-npm-2.9.1-f40e591726-746ae3a378.zip"; sha512 = "746ae3a3782f0a057ff304a98843cc6f2009f978a0fad0c3e641a9d46d0b5702bb3e197ba08aecd48678067874a991c4f5fc320c7e51a4c041d9dd3441146cf0"; };
"lru-cache@npm:6.0.0" = { filename = "lru-cache-npm-6.0.0-b4c8668fe1-f97f499f89.zip"; sha512 = "f97f499f898f23e4585742138a22f22526254fdba6d75d41a1c2526b3b6cc5747ef59c5612ba7375f42aca4f8461950e925ba08c991ead0651b4918b7c978297"; };
"string_decoder@npm:1.3.0" = { filename = "string_decoder-npm-1.3.0-2422117fd0-8417646695.zip"; sha512 = "8417646695a66e73aefc4420eb3b84cc9ffd89572861fe004e6aeb13c7bc00e2f616247505d2dbbef24247c372f70268f594af7126f43548565c68c117bdeb56"; };
"quote-api@https://github.com/Clansty/quote-api/archive/7d9b4c56ab1e9f3cdf1cd7e108ec25821d89ad70.tar.gz" = { filename = "quote-api-https-70c461cfa6-3ab66e3bd6.zip"; sha512 = "3ab66e3bd6d45c77d01733a94c642ce03cda542d97f9da296cb4a73721d2d8a70b530b5e02c8906ede41a919970899712274a664921b2f991643aa916ebed99e"; };
"should-equal@npm:2.0.0" = { filename = "should-equal-npm-2.0.0-ae8768ed44-3f3580a223.zip"; sha512 = "3f3580a223bf76f9309a4d957d2dcbd6059bda816f2e6656e822b7518218ef653c25e9271b2f5765ca6f5a72a217105ad343a8ceea831d15aff44dd691cc1dcd"; };
"color-convert@npm:2.0.1" = { filename = "color-convert-npm-2.0.1-79730e935b-79e6bdb9fd.zip"; sha512 = "79e6bdb9fd479a205c71d89574fccfb22bd9053bd98c6c4d870d65c132e5e904e6034978e55b43d69fcaa7433af2016ee203ce76eeba9cfa554b373e7f7db336"; };
"simple-concat@npm:1.0.1" = { filename = "simple-concat-npm-1.0.1-48df70de29-4d211042cc.zip"; sha512 = "4d211042cc3d73a718c21ac6c4e7d7a0363e184be6a5ad25c8a1502e49df6d0a0253979e3d50dbdd3f60ef6c6c58d756b5d66ac1e05cda9cacd2e9fc59e3876a"; };
"mocha@npm:4.1.0" = { filename = "mocha-npm-4.1.0-1837f51ce3-432746b10f.zip"; sha512 = "432746b10f34550ce465f2a66e509425bceb95290cb1cc5a23e5746fd9799000bed7f666c7373d64636faf81e6262b1c7395e391ebc52d724b38957342d8a580"; };
"@cryptography/aes@npm:0.1.1" = { filename = "@cryptography-aes-npm-0.1.1-0bf958ef1c-81a6b93d6d.zip"; sha512 = "81a6b93d6d16413c7dda5f160b845add49bb6df6c314b7260312627fcbb7130b7ed7f51b063de0f712439b0c30b1c3eac56cb78ed180abaab3fd682322b4ed80"; };
"big-integer@npm:1.6.51" = { filename = "big-integer-npm-1.6.51-1a244d8e1f-3d444173d1.zip"; sha512 = "3d444173d1b2e20747e2c175568bedeebd8315b0637ea95d75fd27830d3b8e8ba36c6af40374f36bdaea7b5de376dcada1b07587cb2a79a928fccdb6e6e3c518"; };
"mime@npm:3.0.0" = { filename = "mime-npm-3.0.0-8d911e4c06-f43f9b7bfa.zip"; sha512 = "f43f9b7bfa64534e6b05bd6062961681aeb406a5b53673b53b683f27fcc4e739989941836a355eef831f4478923651ecc739f4a5f6e20a76487b432bfd4db928"; };
@ -261,7 +264,8 @@ cacheEntries = {
"store2@npm:2.14.2" = { filename = "store2-npm-2.14.2-c286d27e4f-6f270fc5ba.zip"; sha512 = "6f270fc5bab99b63f45fcc7bd8b99c2714b4adf880f557ed7ffb5ed3987131251165bccde425a00928aaf044870aee79ddeef548576d093c68703ed2edec45d7"; };
"ts-custom-error@npm:3.2.0" = { filename = "ts-custom-error-npm-3.2.0-7ef8105f26-b1d2016de8.zip"; sha512 = "b1d2016de891cecea46a70c4adbaf1e6f7c6178994f72070ee3c218cc1a9e2b12c3011defb8385f15dc03ddfafd8d88ef2c9217e23700fb6e537755f33b9c801"; };
"glob@npm:7.2.0" = { filename = "glob-npm-7.2.0-bb4644d239-78a8ea9423.zip"; sha512 = "78a8ea942331f08ed2e055cb5b9e40fe6f46f579d7fd3d694f3412fe5db23223d29b7fee1575440202e9a7ff9a72ab106a39fee39934c7bedafe5e5f8ae20134"; };
"streamroller@npm:3.0.2" = { filename = "streamroller-npm-3.0.2-6d7ba8035a-1f323824f0.zip"; sha512 = "1f323824f0e81cc085c24f33addfd8ef00d0c15aafee520a8cf207ca6e2dc674fd852528c7b4450cc87f4335d1269ed18b3f0188853d45d7f0912c9a205d1fc1"; };
"should-format@npm:3.0.3" = { filename = "should-format-npm-3.0.3-74f60dd776-5304e89b4d.zip"; sha512 = "5304e89b4d4c42078c7f66232d13cca1d6a1c00c173f500f64160f57d4ecd7522a25106b313fe8f8694547e8a1ce4d975f1f09a3d1618f1dc054db48c0683d87"; };
"should-type-adaptors@npm:1.1.0" = { filename = "should-type-adaptors-npm-1.1.0-730d8324e4-94dd1d225c.zip"; sha512 = "94dd1d225c8f2590278f46689258a1df684ca1f26262459c4e2d64a09d06935ec1410a24fe7b5f98b9429093e48afef2ed1b370634e0444b930547df4943f70d"; };
"color-string@npm:1.9.0" = { filename = "color-string-npm-1.9.0-75382c0441-93c6678b84.zip"; sha512 = "93c6678b847f8cfa47d19677fd19e1d4b19d7a33f100644400357c298266080b5bca64e5f874fa8ac8cc0aa0606ad44f7a838b4e6fd05e6affea190a68555bb4"; };
"decompress-response@npm:6.0.0" = { filename = "decompress-response-npm-6.0.0-359de2878c-d377cf47e0.zip"; sha512 = "d377cf47e02d805e283866c3f50d3d21578b779731e8c5072d6ce8c13cc31493db1c2f6784da9d1d5250822120cefa44f1deab112d5981015f2e17444b763812"; };
"once@npm:1.4.0" = { filename = "once-npm-1.4.0-ccf03ef07a-cd0a885013.zip"; sha512 = "cd0a88501333edd640d95f0d2700fbde6bff20b3d4d9bdc521bdd31af0656b5706570d6c6afe532045a20bb8dc0849f8332d6f2a416e0ba6d3d3b98806c7db68"; };
@ -271,7 +275,6 @@ cacheEntries = {
"graceful-fs@npm:4.2.9" = { filename = "graceful-fs-npm-4.2.9-ee48e00aaa-68ea4e07ff.zip"; sha512 = "68ea4e07ff2c041ada184f9278b830375f8e0b75154e3f080af6b70f66172fabb4108d19b3863a96b53fc068a310b9b6493d86d1291acc5f3861eb4b79d26ad6"; };
"async-mutex@npm:0.3.2" = { filename = "async-mutex-npm-0.3.2-600f6c46a1-620b771dfd.zip"; sha512 = "620b771dfdea1cad0a6b712915c31a1e3ca880a8cf1eae92b4590f435995e0260929c6ebaae0b9126b1456790ea498064b5bb9a506948cda760f48d3d0dcc4c8"; };
"node-localstorage@npm:2.2.1" = { filename = "node-localstorage-npm-2.2.1-bc01536b9e-c6b2637e1c.zip"; sha512 = "c6b2637e1c0957dcd78581de104530be57600c8b9fd13af50a61203e6ffa1f75ddd931162b2afd85d45c599f4e153811e27f1039748da89226edcc951f250fb8"; };
"debug@npm:2.6.9" = { filename = "debug-npm-2.6.9-7d4cb597dc-d2f51589ca.zip"; sha512 = "d2f51589ca66df60bf36e1fa6e4386b318c3f1e06772280eea5b1ae9fd3d05e9c2b7fd8a7d862457d00853c75b00451aa2d7459b924629ee385287a650f58fe6"; };
"nopt@npm:5.0.0" = { filename = "nopt-npm-5.0.0-304b40fbfe-d35fdec187.zip"; sha512 = "d35fdec187269503843924e0114c0c6533fb54bbf1620d0f28b4b60ba01712d6687f62565c55cc20a504eff0fbe5c63e22340c3fad549ad40469ffb611b04f2f"; };
"semver@npm:7.3.5" = { filename = "semver-npm-7.3.5-618cf5db6a-5eafe6102b.zip"; sha512 = "5eafe6102bea2a7439897c1856362e31cc348ccf96efd455c8b5bc2c61e6f7e7b8250dc26b8828c1d76a56f818a7ee907a36ae9fb37a599d3d24609207001d60"; };
"which@npm:2.0.2" = { filename = "which-npm-2.0.2-320ddf72f7-1a5c563d3c.zip"; sha512 = "1a5c563d3c1b52d5f893c8b61afe11abc3bab4afac492e8da5bde69d550de701cf9806235f20a47b5c8fa8a1d6a9135841de2596535e998027a54589000e66d1"; };
@ -280,7 +283,6 @@ cacheEntries = {
"socks@npm:2.7.0" = { filename = "socks-npm-2.7.0-cc1cb019db-0b5d94e2b3.zip"; sha512 = "0b5d94e2b3c11e7937b40fc5dac1e80d8b92a330e68c51f1d271ce6980c70adca42a3f8cd47c4a5769956bada074823b53374f2dc5f2ea5c2121b222dec6eadf"; };
"utf-8-validate@npm:5.0.8" = { filename = "utf-8-validate-npm-5.0.8-a36435e0ec-cb1be3fa4e.zip"; sha512 = "cb1be3fa4eb896be17945a2e46c25f47ef9344d5955703a09d9d831efef681ce120bddfe02a8ebf3a96580ffa8f70edda55623e4d021adff70cb81cd0c8a885e"; };
"universalify@npm:0.1.2" = { filename = "universalify-npm-0.1.2-9b22d31d2d-40cdc60f6e.zip"; sha512 = "40cdc60f6e61070fe658ca36016a8f4ec216b29bf04a55dce14e3710cc84c7448538ef4dad3728d0bfe29975ccd7bfb5f414c45e7b78883567fb31b246f02dff"; };
"sax@npm:1.2.4" = { filename = "sax-npm-1.2.4-178f05f12f-d3df7d32b8.zip"; sha512 = "d3df7d32b897a2c2f28e941f732c71ba90e27c24f62ee918bd4d9a8cfb3553f2f81e5493c7f0be94a11c1911b643a9108f231dd6f60df3fa9586b5d2e3e9e1fe"; };
"yallist@npm:4.0.0" = { filename = "yallist-npm-4.0.0-b493d9e907-343617202a.zip"; sha512 = "343617202af32df2a15a3be36a5a8c0c8545208f3d3dfbc6bb7c3e3b7e8c6f8e7485432e4f3b88da3031a6e20afa7c711eded32ddfb122896ac5d914e75848d5"; };
"pump@npm:3.0.0" = { filename = "pump-npm-3.0.0-0080bf6a7a-e42e9229fb.zip"; sha512 = "e42e9229fba14732593a718b04cb5e1cfef8254544870997e0ecd9732b189a48e1256e4e5478148ecb47c8511dca2b09eae56b4d0aad8009e6fac8072923cfc9"; };
"dotenv@npm:7.0.0" = { filename = "dotenv-npm-7.0.0-9fbf3b4fd8-18a7b3ef0e.zip"; sha512 = "18a7b3ef0e90fd6fcce7c7cbdd48d923b0cb180807540b80c797bda4a098097e17820d6315ae28eec22f73954cd0ab9d81904d46370183817c09f694d40566ff"; };
@ -290,9 +292,13 @@ cacheEntries = {
"lottie-web@npm:5.10.1" = { filename = "lottie-web-npm-5.10.1-b546f02492-5da7d0804b.zip"; sha512 = "5da7d0804b4b895d795e3eb299e45a0dfd1c7a5268784668ff72965d4c6e0806e0b60984fade74dd681909cc325d45b13d4a8e24c96e73472a00646e16b628b4"; };
"runes@npm:0.4.3" = { filename = "runes-npm-0.4.3-2276541661-8bb7a16eb7.zip"; sha512 = "8bb7a16eb75799fe8a3a9cb06fa622f3ee3e3d1116897ac48e8238fc40aeba74d77232d6a7b1afedc9fa96fd6075b4dbbed6c85d4e66df9b727c5056225fc177"; };
"jsonfile@npm:4.0.0" = { filename = "jsonfile-npm-4.0.0-10ce3aea15-6447d6224f.zip"; sha512 = "6447d6224f0d31623eef9b51185af03ac328a7553efcee30fa423d98a9e276ca08db87d71e17f2310b0263fd3ffa6c2a90a6308367f661dc21580f9469897c9e"; };
"debug@npm:3.2.7" = { filename = "debug-npm-3.2.7-754e818c7a-b3d8c59407.zip"; sha512 = "b3d8c5940799914d30314b7c3304a43305fd0715581a919dacb8b3176d024a782062368405b47491516d2091d6462d4d11f2f4974a405048094f8bfebfa3071c"; };
"iconv-lite@npm:0.4.24" = { filename = "iconv-lite-npm-0.4.24-c5c4ac6695-bd9f120f5a.zip"; sha512 = "bd9f120f5a5b306f0bc0b9ae1edeb1577161503f5f8252a20f1a9e56ef8775c9959fd01c55f2d3a39d9a8abaf3e30c1abeb1895f367dcbbe0a8fd1c9ca01c4f6"; };
"color-name@npm:1.1.4" = { filename = "color-name-npm-1.1.4-025792b0ea-b044585952.zip"; sha512 = "b0445859521eb4021cd0fb0cc1a75cecf67fceecae89b63f62b201cca8d345baf8b952c966862a9d9a2632987d4f6581f0ec8d957dfacece86f0a7919316f610"; };
"browser-stdout@npm:1.3.0" = { filename = "browser-stdout-npm-1.3.0-8a02999980-026565e63b.zip"; sha512 = "026565e63b5f41d4815b7bba8a0f0e1824d6536b6c386ac82d666f2bb5071b843ffa0bf543a17819d37b93ca74c9dcadcc4cac3a2cbafbbe86b95228d9bee555"; };
"commander@npm:2.11.0" = { filename = "commander-npm-2.11.0-c1edb3e469-0d0c622d12.zip"; sha512 = "0d0c622d129a801699b9bbf6fa518108c7e221e51ae12457119aec52f1142ab759b6cd3348ee253604e934639e200c8f0e1cf8342a2ba4b28b3565a7322ead14"; };
"diff@npm:3.3.1" = { filename = "diff-npm-3.3.1-da371ee113-0df303cbb5.zip"; sha512 = "0df303cbb54c386acee049c563a7f5c5e1f7f72386b8dbff2ae2a9eaaa550287d7e4a3b58423f9654ae9b677873ef8c73f9d3132a0deda67597b62a910c708be"; };
"escape-string-regexp@npm:1.0.5" = { filename = "escape-string-regexp-npm-1.0.5-3284de402f-6092fda75c.zip"; sha512 = "6092fda75c63b110c706b6a9bfde8a612ad595b628f0bd2147eea1d3406723020810e591effc7db1da91d80a71a737a313567c5abb3813e8d9c71f4aa595b410"; };
"growl@npm:1.10.3" = { filename = "growl-npm-1.10.3-c8685091de-2eb23819fa.zip"; sha512 = "2eb23819fad34801ac889e0031c247474917fa869f998f18391b64914a1c9c38a00547ba4f291a9b5e5f20f156bcd5e72785a833df0ffbdae737fe3f110cd5b5"; };
"he@npm:1.1.1" = { filename = "he-npm-1.1.1-441b4d33c6-714f98d831.zip"; sha512 = "714f98d831e912202d67d4e0b456c8b63747220e11d847069d1c3eead7c1e3ed7be28e56fd7ca3425a7ef8e857340801e8f3cec036bf00f8ebe4a2519235112f"; };
"@jridgewell/trace-mapping@npm:0.3.9" = { filename = "@jridgewell-trace-mapping-npm-0.3.9-91625cd7fb-d89597752f.zip"; sha512 = "d89597752fd88d3f3480845691a05a44bd21faac18e2185b6f436c3b0fd0c5a859fbbd9aaa92050c4052caf325ad3e10e2e1d1b64327517471b7d51babc0ddef"; };
"lru-cache@npm:5.1.1" = { filename = "lru-cache-npm-5.1.1-f475882a51-c154ae1cbb.zip"; sha512 = "c154ae1cbb0c2206d1501a0e94df349653c92c8cbb25236d7e85190bcaf4567a03ac6eb43166fabfa36fd35623694da7233e88d9601fbf411a9a481d85dbd2cb"; };
"object-sizeof@npm:1.6.3" = { filename = "object-sizeof-npm-1.6.3-ff0c5cc6ce-a1195e0e0c.zip"; sha512 = "a1195e0e0caa80504e7ff20da54c73b4ed57c1f36482743436c7014c615bdc1528f3751e928bb9efa6f1960cd7f039aeb44b19f9dda63686b9995e1bbe4538af"; };
@ -302,9 +308,11 @@ cacheEntries = {
"path-is-absolute@npm:1.0.1" = { filename = "path-is-absolute-npm-1.0.1-31bc695ffd-060840f92c.zip"; sha512 = "060840f92cf8effa293bcc1bea81281bd7d363731d214cbe5c227df207c34cd727430f70c6037b5159c8a870b9157cba65e775446b0ab06fd5ecc7e54615a3b8"; };
"mimic-response@npm:3.1.0" = { filename = "mimic-response-npm-3.1.0-a4a24b4e96-25739fee32.zip"; sha512 = "25739fee32c17f433626bf19f016df9036b75b3d84a3046c7d156e72ec963dd29d7fc8a302f55a3d6c5a4ff24259676b15d915aad6480815a969ff2ec0836867"; };
"wrappy@npm:1.0.2" = { filename = "wrappy-npm-1.0.2-916de4d4b3-159da4805f.zip"; sha512 = "159da4805f7e84a3d003d8841557196034155008f817172d4e986bd591f74aa82aa7db55929a54222309e01079a65a92a9e6414da5a6aa4b01ee44a511ac3ee5"; };
"debug@npm:3.1.0" = { filename = "debug-npm-3.1.0-9f0accb99b-0b52718ab9.zip"; sha512 = "0b52718ab957254a5b3ca07fc34543bc778f358620c206a08452251eb7fc193c3ea3505072acbf4350219c14e2d71ceb7bdaa0d3370aa630b50da790458d08b3"; };
"mkdirp@npm:0.5.1" = { filename = "mkdirp-npm-0.5.1-33a164c39d-ed1ab49bb1.zip"; sha512 = "ed1ab49bb1d06c88dba7cfe930a3186f2605b5465aab7c8f24119baaba6e38f9ab4ac1695c68f476c65a48df2a69a8495049cd6e26c360ea082151a0771343d2"; };
"supports-color@npm:4.4.0" = { filename = "supports-color-npm-4.4.0-085056598d-b57ff1b7ed.zip"; sha512 = "b57ff1b7ed9bae527fda95b51bf892dfac6ab669b884b3d5194bf27acaf0a0af2c2ffd666208f42b00ce08c42e4a9aae44c662819726e727d2b147b7843bceec"; };
"npmlog@npm:6.0.1" = { filename = "npmlog-npm-6.0.1-f597f2e057-f1a4078a73.zip"; sha512 = "f1a4078a73ebc89896a832bbf869f491c32ecb12e0434b9a7499878ce8f29f22e72befe3c53cd8cdc9dbf4b4057297e783ab0b6746a8b067734de6205af4d538"; };
"tslib@npm:2.3.1" = { filename = "tslib-npm-2.3.1-0e21e18015-de17a98d46.zip"; sha512 = "de17a98d4614481f7fcb5cd53ffc1aaf8654313be0291e1bfaee4b4bb31a20494b7d218ff2e15017883e8ea9626599b3b0e0229c18383ba9dce89da2adf15cb9"; };
"ms@npm:2.0.0" = { filename = "ms-npm-2.0.0-9e1101a471-0e6a22b8b7.zip"; sha512 = "0e6a22b8b746d2e0b65a430519934fefd41b6db0682e3477c10f60c76e947c4c0ad06f63ffdf1d78d335f83edee8c0aa928aa66a36c7cd95b69b26f468d527f4"; };
"koa-bodyparser@npm:4.3.0" = { filename = "koa-bodyparser-npm-4.3.0-1bf6ca26ab-c227fe0fb5.zip"; sha512 = "c227fe0fb5a55b98fc91d865e80229b60178d216d53b732b07833eb38f48a7ed6aa768a083bc06e359db33298547e9a65842fbe9d3f0fdaf5149fe0becafc88f"; };
"prebuild-install@npm:7.1.1" = { filename = "prebuild-install-npm-7.1.1-cb9fc9d341-dbf96d0146.zip"; sha512 = "dbf96d0146b6b5827fc8f67f72074d2e19c69628b9a7a0a17d0fad1bf37e9f06922896972e074197fc00a52eae912993e6ef5a0d471652f561df5cb516f3f467"; };
"minimatch@npm:3.1.1" = { filename = "minimatch-npm-3.1.1-38a381be52-e9e3772e4e.zip"; sha512 = "e9e3772e4ea06ea3a888d39bc7690d3c812ee7e5a70c2d2f568ccadac0249a027f865589d19ad03ed937e6ca3b4ad35f85411db9670f7877d8fc2ed452f1cd37"; };
@ -319,11 +327,8 @@ cacheEntries = {
"websocket@npm:1.0.34" = { filename = "websocket-npm-1.0.34-3aaa6c5dc0-8a0ce6d79c.zip"; sha512 = "8a0ce6d79cc1334bb6ea0d607f0092f3d32700b4dd19e4d5540f2a85f3b50e1f8110da0e4716737056584dde70bbebcb40bbd94bbb437d7468c71abfbfa077d8"; };
"inflight@npm:1.0.6" = { filename = "inflight-npm-1.0.6-ccedb4b908-f4f76aa072.zip"; sha512 = "f4f76aa072ce19fae87ce1ef7d221e709afb59d445e05d47fba710e85470923a75de35bfae47da6de1b18afc3ce83d70facf44cfb0aff89f0a3f45c0a0244dfd"; };
"tar@npm:6.1.11" = { filename = "tar-npm-6.1.11-e6ac3cba9c-a04c07bb9e.zip"; sha512 = "a04c07bb9e2d8f46776517d4618f2406fb977a74d914ad98b264fc3db0fe8224da5bec11e5f8902c5b9bcb8ace22d95fbe3c7b36b8593b7dfc8391a25898f32f"; };
"ms@npm:2.1.3" = { filename = "ms-npm-2.1.3-81ff3cfac1-aa92de6080.zip"; sha512 = "aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d"; };
"safer-buffer@npm:2.1.2" = { filename = "safer-buffer-npm-2.1.2-8d5c0b705e-cab8f25ae6.zip"; sha512 = "cab8f25ae6f1434abee8d80023d7e72b598cf1327164ddab31003c51215526801e40b66c5e65d658a0af1e9d6478cadcb4c745f4bd6751f97d8644786c0978b0"; };
"koa-logger@npm:3.2.1" = { filename = "koa-logger-npm-3.2.1-c647362edb-b29ba25eb4.zip"; sha512 = "b29ba25eb433452bfda48e51acd5d206128411966acc09bb13ce3a0cec9192f78bb27e23efd615d0e7f46eeb2588ee8d2541d72665a4aa18d27a177e78dca909"; };
"koa-ratelimit@npm:4.3.0" = { filename = "koa-ratelimit-npm-4.3.0-632b6ab913-54d3235941.zip"; sha512 = "54d3235941319c3938b5f40c0837eab12b1c25a0d182f439d7b0b0324dbd20a3085121bef842172358d6505a9ec1c1dad42e64920ce8c43a19272584b60400e4"; };
"fs-extra@npm:10.0.0" = { filename = "fs-extra-npm-10.0.0-4f8c704115-5285a3d8f3.zip"; sha512 = "5285a3d8f34b917cf2b66af8c231a40c1623626e9d701a20051d3337be16c6d7cac94441c8b3732d47a92a2a027886ca93c69b6a4ae6aee3c89650d2a8880c0a"; };
"end-of-stream@npm:1.4.4" = { filename = "end-of-stream-npm-1.4.4-497fc6dee1-530a5a5a1e.zip"; sha512 = "530a5a5a1e517e962854a31693dbb5c0b2fc40b46dad2a56a2deec656ca040631124f4795823acc68238147805f8b021abbe221f4afed5ef3c8e8efc2024908b"; };
"@jridgewell/resolve-uri@npm:3.1.0" = { filename = "@jridgewell-resolve-uri-npm-3.1.0-6ff2351e61-b5ceaaf9a1.zip"; sha512 = "b5ceaaf9a110fcb2780d1d8f8d4a0bfd216702f31c988d8042e5f8fbe353c55d9b0f55a1733afdc64806f8e79c485d2464680ac48a0d9fcadb9548ee6b81d267"; };
"@jridgewell/sourcemap-codec@npm:1.4.14" = { filename = "@jridgewell-sourcemap-codec-npm-1.4.14-f5f0630788-61100637b6.zip"; sha512 = "61100637b6d173d3ba786a5dff019e1a74b1f394f323c1fee337ff390239f053b87266c7a948777f4b1ee68c01a8ad0ab61e5ff4abb5a012a0b091bec391ab97"; };
@ -333,6 +338,8 @@ cacheEntries = {
"entities@npm:2.2.0" = { filename = "entities-npm-2.2.0-0fc8d5b2f7-19010dacaf.zip"; sha512 = "19010dacaf0912c895ea262b4f6128574f9ccf8d4b3b65c7e8334ad0079b3706376360e28d8843ff50a78aabcb8f08f0a32dbfacdc77e47ed77ca08b713669b3"; };
"write-file-atomic@npm:1.3.4" = { filename = "write-file-atomic-npm-1.3.4-485bffebbc-ed5a1fc812.zip"; sha512 = "ed5a1fc812abe99dd03cd42be145a5e13af42609e19873244510c71b2e261a169db6d06cb9a92b6b0489dd05f045e53bf464d9ad7713e443934af9b81a9cc65d"; };
"jimp@npm:0.16.2" = { filename = "jimp-npm-0.16.2-d033c62f70-da1ee6a6e5.zip"; sha512 = "da1ee6a6e5cabc9dc86c68542e3d21ac1e485162811ff59105db972fc7a73ed07c5f77f996a8095a34b826aab54c786d2958205c82b05d39cdc67f4af0ca853f"; };
"minimist@npm:0.0.8" = { filename = "minimist-npm-0.0.8-8139f8b2f5-042f8b626b.zip"; sha512 = "042f8b626b1fa44dffc23bac55771425ac4ee9d267b56f9064c07713e516e1799f3ba933bb628d2475a210caf7dcdb98161611baa1f0daf49309a944cb4bc48f"; };
"has-flag@npm:2.0.0" = { filename = "has-flag-npm-2.0.0-afbe649c60-7d060d142e.zip"; sha512 = "7d060d142ef6740c79991cb99afe5962b267e6e95538bf8b607026b9b1e7451288927bc8e7b4a9484a8b99935c0af023070f91ee49faef791ecd401dc58b2e8d"; };
"console-control-strings@npm:1.1.0" = { filename = "console-control-strings-npm-1.1.0-e3160e5275-8755d76787.zip"; sha512 = "8755d76787f94e6cf79ce4666f0c5519906d7f5b02d4b884cf41e11dcd759ed69c57da0670afd9236d229a46e0f9cf519db0cd829c6dca820bb5a5c3def584ed"; };
"set-blocking@npm:2.0.0" = { filename = "set-blocking-npm-2.0.0-49e2cffa24-6e65a05f7c.zip"; sha512 = "6e65a05f7cf7ebdf8b7c75b101e18c0b7e3dff4940d480efed8aad3a36a4005140b660fa1d804cb8bce911cac290441dc728084a30504d3516ac2ff7ad607b02"; };
"copy-to@npm:2.0.1" = { filename = "copy-to-npm-2.0.1-474b7b678b-05ea12875b.zip"; sha512 = "05ea12875bdc96ae053a3b30148e9d992026035ff2bfcc0b615e8d49d1cf8fc3d1f40843f9a4b7b1b6d9118eeebcba31e621076d7de525828aa9c07d22a81dab"; };
@ -345,9 +352,11 @@ cacheEntries = {
"telegraf@npm:3.40.0" = { filename = "telegraf-npm-3.40.0-11c701c123-59cef0a275.zip"; sha512 = "59cef0a275685189d632f6843080f6b3e20d9d13def0b3c673b6000a52ca407165b6c2074ec0dacf5e270c64142d830da03b90f27de3a7671e69735801cc018d"; };
"is-arrayish@npm:0.3.2" = { filename = "is-arrayish-npm-0.3.2-f856180f79-977e64f54d.zip"; sha512 = "977e64f54d91c8f169b59afcd80ff19227e9f5c791fa28fa2e5bce355cbaf6c2c356711b734656e80c9dd4a854dd7efcf7894402f1031dfc5de5d620775b4d5f"; };
"fs-constants@npm:1.0.0" = { filename = "fs-constants-npm-1.0.0-59576b2177-18f5b71837.zip"; sha512 = "18f5b718371816155849475ac36c7d0b24d39a11d91348cfcb308b4494824413e03572c403c86d3a260e049465518c4f0d5bd00f0371cdfcad6d4f30a85b350d"; };
"glob@npm:7.1.2" = { filename = "glob-npm-7.1.2-bc8e861435-821460a6cb.zip"; sha512 = "821460a6cbd4e1f7feff8c24fb3eaecc2014569bd7dfd80c411fe15a5ec6f23cfdb7181574220fb52f8164cb8e9c558b68a36def4aa2a6b971641e838b8b7675"; };
"buffer@npm:5.7.1" = { filename = "buffer-npm-5.7.1-513ef8259e-e2cf8429e1.zip"; sha512 = "e2cf8429e1c4c7b8cbd30834ac09bd61da46ce35f5c22a78e6c2f04497d6d25541b16881e30a019c6fd3154150650ccee27a308eff3e26229d788bbdeb08ab84"; };
"node-abi@npm:3.8.0" = { filename = "node-abi-npm-3.8.0-bba572a0b8-3644dd51f4.zip"; sha512 = "3644dd51f4f189358ef56055407501aa698632d67448585b38c46c81a482a0c3bfb06da513ac4060a12ce5f607f208ba9d9c8280f1c38329670b709bd735fcae"; };
"yaeti@npm:0.0.6" = { filename = "yaeti-npm-0.0.6-cffd01e35a-6db12c152f.zip"; sha512 = "6db12c152f7c363b80071086a3ebf5032e03332604eeda988872be50d6c8469e1f13316175544fa320f72edad696c2d83843ad0ff370659045c1a68bcecfcfea"; };
"request@npm:2.88.2" = { filename = "request-npm-2.88.2-f4a57c72c4-4e112c087f.zip"; sha512 = "4e112c087f6eabe7327869da2417e9d28fcd0910419edd2eb17b6acfc4bfa1dad61954525949c228705805882d8a98a86a0ea12d7f739c01ee92af7062996983"; };
"are-we-there-yet@npm:3.0.0" = { filename = "are-we-there-yet-npm-3.0.0-1391430190-348edfdd93.zip"; sha512 = "348edfdd931b0b50868b55402c01c3f64df1d4c229ab6f063539a5025fd6c5f5bb8a0cab409bbed8d75d34762d22aa91b7c20b4204eb8177063158d9ba792981"; };
"chownr@npm:2.0.0" = { filename = "chownr-npm-2.0.0-638f1c9c61-c57cf9dd07.zip"; sha512 = "c57cf9dd0791e2f18a5ee9c1a299ae6e801ff58fee96dc8bfd0dcb4738a6ce58dd252a3605b1c93c6418fe4f9d5093b28ffbf4d66648cb2a9c67eaef9679be2f"; };
"mkdirp@npm:1.0.4" = { filename = "mkdirp-npm-1.0.4-37f6ef56b9-a96865108c.zip"; sha512 = "a96865108c6c3b1b8e1d5e9f11843de1e077e57737602de1b82030815f311be11f96f09cce59bd5b903d0b29834733e5313f9301e3ed6d6f6fba2eae0df4298f"; };
@ -356,16 +365,17 @@ cacheEntries = {
"humanize-number@npm:0.0.2" = { filename = "humanize-number-npm-0.0.2-ac26ad7632-9c98c9d06b.zip"; sha512 = "9c98c9d06b0f3d801960be3957199232a5df52377e2502acae92e4f71de633fa62c315a83f24bf96bef76f47b2e3e0e1e4f4157c891e27074fd3272cad6724bb"; };
"passthrough-counter@npm:1.0.0" = { filename = "passthrough-counter-npm-1.0.0-cbb2a89ced-942a0addeb.zip"; sha512 = "942a0addeb677e24ddb154b04cc29ce1c5720032efc268689446420f9350d47e94f2f1f76d469686bc87c1543c2f2165f2d004d265fe1b81465c76e02d272c63"; };
"lodash.defaults@npm:4.2.0" = { filename = "lodash.defaults-npm-4.2.0-c5dea025ab-8492325823.zip"; sha512 = "84923258235592c8886e29de5491946ff8c2ae5c82a7ac5cddd2e3cb697e6fbdfbbb6efcca015795c86eec2bb953a5a2ee4016e3735a3f02720428a40efbb8f1"; };
"ms@npm:2.1.3" = { filename = "ms-npm-2.1.3-81ff3cfac1-aa92de6080.zip"; sha512 = "aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d"; };
"ratelimiter@npm:3.4.1" = { filename = "ratelimiter-npm-3.4.1-5ba5f26b13-e445142387.zip"; sha512 = "e4451423871405aafa300399063d3a0aefef3eb42704d09cf95a0d3f70bdd74865397e408cd78aeb695cbf7afc7e5a34481e412bd2a04eeabdf7c52a48bae87e"; };
"domutils@npm:2.8.0" = { filename = "domutils-npm-2.8.0-0325139e5c-abf7434315.zip"; sha512 = "abf7434315283e9aadc2a24bac0e00eab07ae4313b40cc239f89d84d7315ebdfd2fb1b5bf750a96bc1b4403d7237c7b2ebf60459be394d625ead4ca89b934391"; };
"typedarray-to-buffer@npm:3.1.5" = { filename = "typedarray-to-buffer-npm-3.1.5-aadc11995e-99c11aaa8f.zip"; sha512 = "99c11aaa8f45189fcfba6b8a4825fd684a321caa9bd7a76a27cf0c7732c174d198b99f449c52c3818107430b5f41c0ccbbfb75cb2ee3ca4a9451710986d61a60"; };
"brace-expansion@npm:1.1.11" = { filename = "brace-expansion-npm-1.1.11-fb95eb05ad-faf34a7bb0.zip"; sha512 = "faf34a7bb0c3fcf4b59c7808bc5d2a96a40988addf2e7e09dfbb67a2251800e0d14cd2bfc1aa79174f2f5095c54ff27f46fb1289fe2d77dac755b5eb3434cc07"; };
"universalify@npm:2.0.0" = { filename = "universalify-npm-2.0.0-03b8b418a8-2406a4edf4.zip"; sha512 = "2406a4edf4a8830aa6813278bab1f953a8e40f2f63a37873ffa9a3bc8f9745d06cc8e88f3572cb899b7e509013f7f6fcc3e37e8a6d914167a5381d8440518c44"; };
"fs-minipass@npm:2.1.0" = { filename = "fs-minipass-npm-2.1.0-501ef87306-1b8d128dae.zip"; sha512 = "1b8d128dae2ac6cc94230cc5ead341ba3e0efaef82dab46a33d171c044caaa6ca001364178d42069b2809c35a1c3c35079a32107c770e9ffab3901b59af8c8b1"; };
"minipass@npm:3.1.6" = { filename = "minipass-npm-3.1.6-f032df1661-57a0404141.zip"; sha512 = "57a04041413a3531a65062452cb5175f93383ef245d6f4a2961d34386eb9aa8ac11ac7f16f791f5e8bbaf1dfb1ef01596870c88e8822215db57aa591a5bb0a77"; };
"imurmurhash@npm:0.1.4" = { filename = "imurmurhash-npm-0.1.4-610c5068a0-7cae75c8cd.zip"; sha512 = "7cae75c8cd9a50f57dadd77482359f659eaebac0319dd9368bcd1714f55e65badd6929ca58569da2b6494ef13fdd5598cd700b1eba23f8b79c5f19d195a3ecf7"; };
"slide@npm:1.1.6" = { filename = "slide-npm-1.1.6-14e4650dea-5768635d22.zip"; sha512 = "5768635d227172e215b7a1a91d32f8781f5783b4961feaaf3d536bbf83cc51878928c137508cde7659fea6d7c04074927cab982731302771ee0051518ff24896"; };
"regenerator-runtime@npm:0.13.11" = { filename = "regenerator-runtime-npm-0.13.11-90bf536060-27481628d2.zip"; sha512 = "27481628d22a1c4e3ff551096a683b424242a216fee44685467307f14d58020af1e19660bf2e26064de946bad7eff28950eae9f8209d55723e2d9351e632bbb4"; };
"debug@npm:4.3.3" = { filename = "debug-npm-4.3.3-710fd4cc7f-14472d56fe.zip"; sha512 = "14472d56fe4a94dbcfaa6dbed2dd3849f1d72ba78104a1a328047bb564643ca49df0224c3a17fa63533fd11dd3d4c8636cd861191232a2c6735af00cc2d4de16"; };
"sharp@npm:0.30.7" = { filename = "sharp-npm-0.30.7-6db6fef43e-bbc63ca3c7.zip"; sha512 = "bbc63ca3c7ea8a5bff32cd77022cfea30e25a03f5bd031e935924bf6cf0e11e3388e8b0e22b3137bf8816aa73407f1e4fbeb190f3a35605c27ffca9f32b91601"; };
"bl@npm:4.1.0" = { filename = "bl-npm-4.1.0-7f94cdcf3f-9e8521fa7e.zip"; sha512 = "9e8521fa7e83aa9427c6f8ccdcba6e8167ef30cc9a22df26effcc5ab682ef91d2cbc23a239f945d099289e4bbcfae7a192e9c28c84c6202e710a0dfec3722662"; };
"minizlib@npm:2.1.2" = { filename = "minizlib-npm-2.1.2-ea89cd0cfb-f1fdeac0b0.zip"; sha512 = "f1fdeac0b07cf8f30fcf12f4b586795b97be856edea22b5e9072707be51fc95d41487faec3f265b42973a304fe3a64acd91a44a3826a963e37b37bafde0212c3"; };
@ -379,25 +389,39 @@ cacheEntries = {
"typegram@npm:3.12.0" = { filename = "typegram-npm-3.12.0-75cc7a1e63-30f1579777.zip"; sha512 = "30f1579777a8c84f62d65b335490e1186e56179d37d622baa00d7be57bbbcb2b4d1dd9d1a6a081f012ef56c2fb9cdf8098733dbce4b2d98f824d109a5b2dc846"; };
"rc@npm:1.2.8" = { filename = "rc-npm-1.2.8-d6768ac936-2e26e052f8.zip"; sha512 = "2e26e052f8be2abd64e6d1dabfbd7be03f80ec18ccbc49562d31f617d0015fbdbcf0f9eed30346ea6ab789e0fdfe4337f033f8016efdbee0df5354751842080e"; };
"es5-ext@npm:0.10.53" = { filename = "es5-ext-npm-0.10.53-18c0039c41-24ec223692.zip"; sha512 = "24ec22369260cf98605cb2f51eae9d7df5dc621bc5d3b311f6f5c3d0fcdb7bafae888270f3083ee6e9af27350a5ea49f1fe2dd6406a9017247ca40f091f529b2"; };
"jsonfile@npm:6.1.0" = { filename = "jsonfile-npm-6.1.0-20a4796cee-7af3b8e1ac.zip"; sha512 = "7af3b8e1ac8fe7f1eccc6263c6ca14e1966fcbc74b618d3c78a0a2075579487547b94f72b7a1114e844a1e15bb00d440e5d1720bfc4612d790a6f285d5ea8354"; };
"aws-sign2@npm:0.7.0" = { filename = "aws-sign2-npm-0.7.0-656c6cb84d-b148b0bb07.zip"; sha512 = "b148b0bb0778098ad8cf7e5fc619768bcb51236707ca1d3e5b49e41b171166d8be9fdc2ea2ae43d7decf02989d0aaa3a9c4caa6f320af95d684de9b548a71525"; };
"aws4@npm:1.12.0" = { filename = "aws4-npm-1.12.0-af8e48a2ab-68f79708ac.zip"; sha512 = "68f79708ac7c335992730bf638286a3ee0a645cf12575d557860100767c500c08b30e24726b9f03265d74116417f628af78509e1333575e9f8d52a80edfe8cbc"; };
"caseless@npm:0.12.0" = { filename = "caseless-npm-0.12.0-e83bc5df83-b43bd4c440.zip"; sha512 = "b43bd4c440aa1e8ee6baefee8063b4850fd0d7b378f6aabc796c9ec8cb26d27fb30b46885350777d9bd079c5256c0e1329ad0dc7c2817e0bb466810ebb353751"; };
"extend@npm:3.0.2" = { filename = "extend-npm-3.0.2-e1ca07ac54-a50a8309ca.zip"; sha512 = "a50a8309ca65ea5d426382ff09f33586527882cf532931cb08ca786ea3146c0553310bda688710ff61d7668eba9f96b923fe1420cdf56a2c3eaf30fcab87b515"; };
"forever-agent@npm:0.6.1" = { filename = "forever-agent-npm-0.6.1-01dae53bf9-766ae6e220.zip"; sha512 = "766ae6e220f5fe23676bb4c6a99387cec5b7b62ceb99e10923376e27bfea72f3c3aeec2ba5f45f3f7ba65d6616965aa7c20b15002b6860833bb6e394dea546a8"; };
"is-typedarray@npm:1.0.0" = { filename = "is-typedarray-npm-1.0.0-bbd99de5b6-3508c6cd0a.zip"; sha512 = "3508c6cd0a9ee2e0df2fa2e9baabcdc89e911c7bd5cf64604586697212feec525aa21050e48affb5ffc3df20f0f5d2e2cf79b08caa64e1ccc9578e251763aef7"; };
"isstream@npm:0.1.2" = { filename = "isstream-npm-0.1.2-8581c75385-1eb2fe63a7.zip"; sha512 = "1eb2fe63a729f7bdd8a559ab552c69055f4f48eb5c2f03724430587c6f450783c8f1cd936c1c952d0a927925180fcc892ebd5b174236cf1065d4bd5bdb37e963"; };
"json-stringify-safe@npm:5.0.1" = { filename = "json-stringify-safe-npm-5.0.1-064ddd6ab4-48ec0adad5.zip"; sha512 = "48ec0adad5280b8a96bb93f4563aa1667fd7a36334f79149abd42446d0989f2ddc58274b479f4819f1f00617957e6344c886c55d05a4e15ebb4ab931e4a6a8ee"; };
"oauth-sign@npm:0.9.0" = { filename = "oauth-sign-npm-0.9.0-7aa9422221-8f5497a127.zip"; sha512 = "8f5497a127967866a3c67094c21efd295e46013a94e6e828573c62220e9af568cc1d2d04b16865ba583e430510fa168baf821ea78f355146d8ed7e350fc44c64"; };
"performance-now@npm:2.1.0" = { filename = "performance-now-npm-2.1.0-45e3ce7e49-534e641aa8.zip"; sha512 = "534e641aa8f7cba160f0afec0599b6cecefbb516a2e837b512be0adbe6c1da5550e89c78059c7fabc5c9ffdf6627edabe23eb7c518c4500067a898fa65c2b550"; };
"qs@npm:6.5.3" = { filename = "qs-npm-6.5.3-90b2635484-6f20bf08ca.zip"; sha512 = "6f20bf08cabd90c458e50855559539a28d00b2f2e7dddcb66082b16a43188418cb3cb77cbd09268bcef6022935650f0534357b8af9eeb29bf0f27ccb17655692"; };
"uuid@npm:3.4.0" = { filename = "uuid-npm-3.4.0-4fd8ef88ad-58de2feed6.zip"; sha512 = "58de2feed61c59060b40f8203c0e4ed7fd6f99d42534a499f1741218a1dd0c129f4aa1de797bcf822c8ea5da7e4137aa3673431a96dae729047f7aca7b27866f"; };
"@jimp/custom@npm:0.16.2" = { filename = "@jimp-custom-npm-0.16.2-e0de91039c-2edca54cc8.zip"; sha512 = "2edca54cc87144e7668b1e154150abfe6663baa83d609035ae5f2412cc767345c33c0b7700b7b1a4995e1d975301712568f1b548f55a6dc03634bd4bfd4492e9"; };
"chalk@npm:2.4.2" = { filename = "chalk-npm-2.4.2-3ea16dd91e-ec3661d38f.zip"; sha512 = "ec3661d38fe77f681200f878edbd9448821924e0f93a9cefc0e26a33b145f1027a2084bf19967160d11e1f03bfe4eaffcabf5493b89098b2782c3fe0b03d80c2"; };
"debug@npm:3.2.7" = { filename = "debug-npm-3.2.7-754e818c7a-b3d8c59407.zip"; sha512 = "b3d8c5940799914d30314b7c3304a43305fd0715581a919dacb8b3176d024a782062368405b47491516d2091d6462d4d11f2f4974a405048094f8bfebfa3071c"; };
"koa-compose@npm:3.2.1" = { filename = "koa-compose-npm-3.2.1-0020b997fa-ff8e5fc034.zip"; sha512 = "ff8e5fc0348455acf751179c6c613eb030a5fac6406d3b49ae9e00460b7ee8770db3ef62633fd3db0306cd4a6d2a0b5152399ebd5bb5e684418f9eeeb251c2de"; };
"path-to-regexp@npm:1.8.0" = { filename = "path-to-regexp-npm-1.8.0-a1904f5c44-709f6f083c.zip"; sha512 = "709f6f083c0552514ef4780cb2e7e4cf49b0cc89a97439f2b7cc69a608982b7690fb5d1720a7473a59806508fc2dae0be751ba49f495ecf89fd8fbc62abccbcd"; };
"node-fetch@npm:2.6.8" = { filename = "node-fetch-npm-2.6.8-ddb8bfc274-91f57be68e.zip"; sha512 = "91f57be68e29f9b1382750693619e199733a6936998e6d618f1aa779853ad8fc4a2facf170db7957bf1d2510bad33449edf74b5802713d81b63de5986fa3be00"; };
"delegates@npm:1.0.0" = { filename = "delegates-npm-1.0.0-9b1942d75f-a51744d9b5.zip"; sha512 = "a51744d9b53c164ba9c0492471a1a2ffa0b6727451bdc89e31627fdf4adda9d51277cfcbfb20f0a6f08ccb3c436f341df3e92631a3440226d93a8971724771fd"; };
"is-typedarray@npm:1.0.0" = { filename = "is-typedarray-npm-1.0.0-bbd99de5b6-3508c6cd0a.zip"; sha512 = "3508c6cd0a9ee2e0df2fa2e9baabcdc89e911c7bd5cf64604586697212feec525aa21050e48affb5ffc3df20f0f5d2e2cf79b08caa64e1ccc9578e251763aef7"; };
"balanced-match@npm:1.0.2" = { filename = "balanced-match-npm-1.0.2-a53c126459-9706c088a2.zip"; sha512 = "9706c088a283058a8a99e0bf91b0a2f75497f185980d9ffa8b304de1d9e58ebda7c72c07ebf01dadedaac5b2907b2c6f566f660d62bd336c3468e960403b9d65"; };
"concat-map@npm:0.0.1" = { filename = "concat-map-npm-0.0.1-85a921b7ee-902a9f5d89.zip"; sha512 = "902a9f5d8967a3e2faf138d5cb784b9979bad2e6db5357c5b21c568df4ebe62bcb15108af1b2253744844eb964fc023fbd9afbbbb6ddd0bcc204c6fb5b7bf3af"; };
"har-validator@npm:5.1.5" = { filename = "har-validator-npm-5.1.5-bd9ac162f5-b998a7269c.zip"; sha512 = "b998a7269ca560d7f219eedc53e2c664cd87d487e428ae854a6af4573fc94f182fe9d2e3b92ab968249baec7ebaf9ead69cf975c931dc2ab282ec182ee988280"; };
"tough-cookie@npm:2.5.0" = { filename = "tough-cookie-npm-2.5.0-79a2fe43fe-16a8cd0902.zip"; sha512 = "16a8cd090224dd176eee23837cbe7573ca0fa297d7e468ab5e1c02d49a4e9a97bb05fef11320605eac516f91d54c57838a25864e8680e27b069a5231d8264977"; };
"inflation@npm:2.0.0" = { filename = "inflation-npm-2.0.0-e638c91672-a0494871b1.zip"; sha512 = "a0494871b12275afdef9e2710ee1af1e0fc642b04613a9be69c05ef8b5e9627f3bd7d358a937fa47aa20235ee7313a4f30255048533add0ad4918beb918a586e"; };
"deep-extend@npm:0.6.0" = { filename = "deep-extend-npm-0.6.0-e182924219-7be7e5a8d4.zip"; sha512 = "7be7e5a8d468d6b10e6a67c3de828f55001b6eb515d014f7aeb9066ce36bd5717161eb47d6a0f7bed8a9083935b465bc163ee2581c8b128d29bf61092fdf57a7"; };
"ini@npm:1.3.8" = { filename = "ini-npm-1.3.8-fb5040b4c0-dfd98b0ca3.zip"; sha512 = "dfd98b0ca3a4fc1e323e38a6c8eb8936e31a97a918d3b377649ea15bdb15d481207a0dda1021efbd86b464cae29a0d33c1d7dcaf6c5672bee17fa849bc50a1b3"; };
"strip-json-comments@npm:2.0.1" = { filename = "strip-json-comments-npm-2.0.1-e7883b2d04-1074ccb632.zip"; sha512 = "1074ccb63270d32ca28edfb0a281c96b94dc679077828135141f27d52a5a398ef5e78bcf22809d23cadc2b81dfbe345eb5fd8699b385c8b1128907dec4a7d1e1"; };
"next-tick@npm:1.0.0" = { filename = "next-tick-npm-1.0.0-0c0dd4bec1-83fcb3d4f8.zip"; sha512 = "83fcb3d4f8d9380210b1c2b8a610463602d80283f0c0c8571c1688e1ad6cbf3a16b345f5bb7212617d4898bedcfa10dff327dc09ec20a112a5bf43a0271375fb"; };
"form-data@npm:2.3.3" = { filename = "form-data-npm-2.3.3-c016cc11c0-10c1780fa1.zip"; sha512 = "10c1780fa13dbe1ff3100114c2ce1f9307f8be10b14bf16e103815356ff567b6be39d70fc4a40f8990b9660012dc24b0f5e1dde1b6426166eb23a445ba068ca3"; };
"http-signature@npm:1.2.0" = { filename = "http-signature-npm-1.2.0-ee92426f34-3324598712.zip"; sha512 = "3324598712266a9683585bb84a75dec4fd550567d5e0dd4a0fff6ff3f74348793404d3eeac4918fa0902c810eeee1a86419e4a2e92a164132dfe6b26743fb47c"; };
"make-fetch-happen@npm:9.1.0" = { filename = "make-fetch-happen-npm-9.1.0-23184ad7f6-0eb371c85f.zip"; sha512 = "0eb371c85fdd0b1584fcfdf3dc3c62395761b3c14658be02620c310305a9a7ecf1617a5e6fb30c1d081c5c8aaf177fa133ee225024313afabb7aa6a10f1e3d04"; };
"decompress-response@npm:4.2.1" = { filename = "decompress-response-npm-4.2.1-abe5b4ebe4-4e783ca4df.zip"; sha512 = "4e783ca4dfe9417354d61349750fe05236f565a4415a6ca20983a311be2371debaedd9104c0b0e7b36e5f167aeaae04f84f1a0b3f8be4162f1d7d15598b8fdba"; };
"qs@npm:6.11.0" = { filename = "qs-npm-6.11.0-caf1bc9dea-6e1f29dd53.zip"; sha512 = "6e1f29dd5385f7488ec74ac7b6c92f4d09a90408882d0c208414a34dd33badc1a621019d4c799a3df15ab9b1d0292f97c1dd71dc7c045e69f81a8064e5af7297"; };
"escape-string-regexp@npm:1.0.5" = { filename = "escape-string-regexp-npm-1.0.5-3284de402f-6092fda75c.zip"; sha512 = "6092fda75c63b110c706b6a9bfde8a612ad595b628f0bd2147eea1d3406723020810e591effc7db1da91d80a71a737a313567c5abb3813e8d9c71f4aa595b410"; };
"any-promise@npm:1.3.0" = { filename = "any-promise-npm-1.3.0-f34eeaa7e7-0ee8a9bdbe.zip"; sha512 = "0ee8a9bdbe882c90464d75d1f55cf027f5458650c4bd1f0467e65aec38ccccda07ca5844969ee77ed46d04e7dded3eaceb027e8d32f385688523fe305fa7e1de"; };
"isarray@npm:0.0.1" = { filename = "isarray-npm-0.0.1-92e37e0a70-49191f1425.zip"; sha512 = "49191f1425681df4a18c2f0f93db3adb85573bcdd6a4482539d98eac9e705d8961317b01175627e860516a2fc45f8f9302db26e5a380a97a520e272e2a40a8d4"; };
"gauge@npm:4.0.0" = { filename = "gauge-npm-4.0.0-962bc1259b-637b34c84f.zip"; sha512 = "637b34c84f518defa89319dbef68211a24e9302182ad2a619e3be1be5b7dcf2a962c8359e889294af667440f4722e7e6e61671859e00bd8ec280a136ded89b25"; };
@ -409,8 +433,12 @@ cacheEntries = {
"es6-symbol@npm:3.1.3" = { filename = "es6-symbol-npm-3.1.3-34d72f2a23-cd49722c2a.zip"; sha512 = "cd49722c2a70f011eb02143ef1c8c70658d2660dead6641e160b94619f408b9cf66425515787ffe338affdf0285ad54f4eae30ea5bd510e33f8659ec53bcaa70"; };
"@mapbox/node-pre-gyp@npm:1.0.10" = { filename = "@mapbox-node-pre-gyp-npm-1.0.10-1811160047-1a98db05d9.zip"; sha512 = "1a98db05d955b74dad3814679593df293b9194853698f3f5f1ed00ecd93128cdd4b14fb8767fe44ac6981ef05c23effcfdc88710e7c1de99ccb6f647890597c8"; };
"@jimp/types@npm:0.16.2" = { filename = "@jimp-types-npm-0.16.2-57bff72cff-529e234a4c.zip"; sha512 = "529e234a4c8ee3470dbedeef8c41bde702e5aebb4049c0b7b66fda6972039d74618236fd36e316b7393670106264011ae89e55b370b9589a6a4b6cddcca26eff"; };
"har-schema@npm:2.0.0" = { filename = "har-schema-npm-2.0.0-3a318c0ca5-d8946348f3.zip"; sha512 = "d8946348f333fb09e2bf24cc4c67eabb47c8e1d1aa1c14184c7ffec1140a49ec8aa78aa93677ae452d71d5fc0fdeec20f0c8c1237291fc2bcb3f502a5d204f9b"; };
"psl@npm:1.9.0" = { filename = "psl-npm-1.9.0-a546edad1a-20c4277f64.zip"; sha512 = "20c4277f640c93d393130673f392618e9a8044c6c7bf61c53917a0fddb4952790f5f362c6c730a9c32b124813e173733f9895add8d26f566ed0ea0654b2e711d"; };
"punycode@npm:2.2.0" = { filename = "punycode-npm-2.2.0-9eb533dae1-32f291c1b1.zip"; sha512 = "32f291c1b1e8bef8a7d351a369579565bc17530ee5224d2f2b5c37b2647aa0ec7f1972294e2de1b632812f90c8080a7c0c5645c14758aadc0f27b35dd4906d89"; };
"whatwg-url@npm:5.0.0" = { filename = "whatwg-url-npm-5.0.0-374fb45e60-b8daed4ad3.zip"; sha512 = "b8daed4ad3356cc4899048a15b2c143a9aed0dfae1f611ebd55073310c7b910f522ad75d727346ad64203d7e6c79ef25eafd465f4d12775ca44b90fa82ed9e2c"; };
"es6-iterator@npm:2.0.3" = { filename = "es6-iterator-npm-2.0.3-4dadb0ccc1-6e48b1c2d9.zip"; sha512 = "6e48b1c2d962c21dee604b3d9f0bc3889f11ed5a8b33689155a2065d20e3107e2a69cc63a71bd125aeee3a589182f8bbcb5c8a05b6a8f38fa4205671b6d09697"; };
"assert-plus@npm:1.0.0" = { filename = "assert-plus-npm-1.0.0-cac95ef098-19b4340cb8.zip"; sha512 = "19b4340cb8f0e6a981c07225eacac0e9d52c2644c080198765d63398f0075f83bbc0c8e95474d54224e297555ad0d631c1dcd058adb1ddc2437b41a6b424ac64"; };
"raw-body@npm:2.5.1" = { filename = "raw-body-npm-2.5.1-9dd1d9fff9-5362adff15.zip"; sha512 = "5362adff1575d691bb3f75998803a0ffed8c64eabeaa06e54b4ada25a0cd1b2ae7f4f5ec46565d1bec337e08b5ac90c76eaa0758de6f72a633f025d754dec29e"; };
"http-cache-semantics@npm:4.1.0" = { filename = "http-cache-semantics-npm-4.1.0-860520a31f-974de94a81.zip"; sha512 = "974de94a81c5474be07f269f9fd8383e92ebb5a448208223bfb39e172a9dbc26feff250192ecc23b9593b3f92098e010406b0f24bd4d588d631f80214648ed42"; };
"is-lambda@npm:1.0.1" = { filename = "is-lambda-npm-1.0.1-7ab55bc8a8-93a32f0194.zip"; sha512 = "93a32f01940220532e5948538699ad610d5924ac86093fcee83022252b363eb0cc99ba53ab084a04e4fb62bf7b5731f55496257a4c38adf87af9c4d352c71c35"; };
@ -438,6 +466,7 @@ cacheEntries = {
"tr46@npm:0.0.3" = { filename = "tr46-npm-0.0.3-de53018915-726321c5ea.zip"; sha512 = "726321c5eaf41b5002e17ffbd1fb7245999a073e8979085dacd47c4b4e8068ff5777142fc6726d6ca1fd2ff16921b48788b87225cbc57c72636f6efa8efbffe3"; };
"webidl-conversions@npm:3.0.1" = { filename = "webidl-conversions-npm-3.0.1-60310f6a2b-c92a0a6ab9.zip"; sha512 = "c92a0a6ab95314bde9c32e1d0a6dfac83b578f8fa5f21e675bc2706ed6981bc26b7eb7e6a1fab158e5ce4adf9caa4a0aee49a52505d4d13c7be545f15021b17c"; };
"ext@npm:1.6.0" = { filename = "ext-npm-1.6.0-d724ecc103-ca3ef4619e.zip"; sha512 = "ca3ef4619e838f441a92238a98b77ac873da2175ace746c64303ffe2c3208e79a3acf3bf7004e40b720f3c2a83bf0143e6dd4a7cdfae6e73f54a3bfc7a14b5c2"; };
"ajv@npm:6.12.6" = { filename = "ajv-npm-6.12.6-4b5105e2b2-874972efe5.zip"; sha512 = "874972efe5c4202ab0a68379481fbd3d1b5d0a7bd6d3cc21d40d3536ebff3352a2a1fabb632d4fd2cc7fe4cbdcd5ed6782084c9bbf7f32a1536d18f9da5007d4"; };
"make-dir@npm:3.1.0" = { filename = "make-dir-npm-3.1.0-d1d7505142-484200020a.zip"; sha512 = "484200020ab5a1fdf12f393fe5f385fc8e4378824c940fba1729dcd198ae4ff24867bc7a5646331e50cead8abff5d9270c456314386e629acec6dff4b8016b78"; };
"agentkeepalive@npm:4.2.0" = { filename = "agentkeepalive-npm-4.2.0-e5e72b8ce4-89806f83ce.zip"; sha512 = "89806f83ceebbcaabf6bd581a8dce4870910fd2a11f66df8f505b4cd4ce4ca5ab9e6eec8d11ce8531a6b60f6748b75b0775e0e2fa33871503ef00d535418a19a"; };
"http-proxy-agent@npm:4.0.1" = { filename = "http-proxy-agent-npm-4.0.1-ce9ef61788-c6a5da5a19.zip"; sha512 = "c6a5da5a1929416b6bbdf77b1aca13888013fe7eb9d59fc292e25d18e041bb154a8dfada58e223fc7b76b9b2d155a87e92e608235201f77d34aa258707963a82"; };
@ -445,6 +474,7 @@ cacheEntries = {
"side-channel@npm:1.0.4" = { filename = "side-channel-npm-1.0.4-e1f38b9e06-351e41b947.zip"; sha512 = "351e41b947079c10bd0858364f32bb3a7379514c399edb64ab3dce683933483fc63fb5e4efe0a15a2e8a7e3c436b6a91736ddb8d8c6591b0460a24bb4a1ee245"; };
"unpipe@npm:1.0.0" = { filename = "unpipe-npm-1.0.0-2ed2a3c2bf-4fa18d8d8d.zip"; sha512 = "4fa18d8d8d977c55cb09715385c203197105e10a6d220087ec819f50cb68870f02942244f1017565484237f1f8c5d3cd413631b1ae104d3096f24fdfde1b4aa2"; };
"d@npm:1.0.1" = { filename = "d-npm-1.0.1-64afbbc689-49ca0639c7.zip"; sha512 = "49ca0639c7b822db670de93d4fbce44b4aa072cd848c76292c9978a8cd0fff1028763020ff4b0f147bd77bfe29b4c7f82e0f71ade76b2a06100543cdfd948d19"; };
"jsprim@npm:1.4.2" = { filename = "jsprim-npm-1.4.2-1ae6cade9a-2ad1b9fdcc.zip"; sha512 = "2ad1b9fdcccae8b3d580fa6ced25de930eaa1ad154db21bbf8478a4d30bbbec7925b5f5ff29b933fba9412b16a17bd484a8da4fdb3663b5e27af95dd693bab2a"; };
"@jimp/tiff@npm:0.16.2" = { filename = "@jimp-tiff-npm-0.16.2-092d9857c1-7fc11c13c1.zip"; sha512 = "7fc11c13c1ca8e65659b798af4ef8d06a2e2bce825805c1b448ccc9376999a7da051d33c64497c44d75dfc6127cd3d15753716c9e8e6678acf8efdf54b9d088a"; };
"minipass-fetch@npm:1.4.1" = { filename = "minipass-fetch-npm-1.4.1-2d67357feb-ec93697bdb.zip"; sha512 = "ec93697bdb62129c4e6c0104138e681e30efef8c15d9429dd172f776f83898471bc76521b539ff913248cc2aa6d2b37b652c993504a51cc53282563640f29216"; };
"@jimp/bmp@npm:0.16.2" = { filename = "@jimp-bmp-npm-0.16.2-dfc8dc8414-e52d2f77d5.zip"; sha512 = "e52d2f77d5d32678f0245b7a77fa0a4d52b37ec198b9605e78c0c3de63b1cc3c7ef06fefc2732d675edac9e941ca4c95bbced81ff5a698f2073e8ec2e2258f4c"; };
@ -457,11 +487,17 @@ cacheEntries = {
"@jimp/gif@npm:0.16.2" = { filename = "@jimp-gif-npm-0.16.2-a645e3f4b2-0699df7170.zip"; sha512 = "0699df7170b3e11e7a1738205404cfe4a9bf54ad30e405826aa7539c4f389bbca2d9576bc03769e8d52ce474fd19ec392725420fc373fb47986a90fc5680b52e"; };
"color-name@npm:1.1.3" = { filename = "color-name-npm-1.1.3-728b7b5d39-09c5d3e33d.zip"; sha512 = "09c5d3e33d2105850153b14466501f2bfb30324a2f76568a408763a3b7433b0e50e5b4ab1947868e65cb101bb7cb75029553f2c333b6d4b8138a73fcc133d69d"; };
"type@npm:2.6.0" = { filename = "type-npm-2.6.0-bc8cf9ff15-80da01fcc0.zip"; sha512 = "80da01fcc0f6ed5a253dc326530e134000a8f66ea44b6d9687cde2f894f0d0b2486595b0cd040a64f7f79dc3120784236f8c9ef667a8aef03984e049b447cfb4"; };
"fast-deep-equal@npm:3.1.3" = { filename = "fast-deep-equal-npm-3.1.3-790edcfcf5-e21a9d8d84.zip"; sha512 = "e21a9d8d84f53493b6aa15efc9cfd53dd5b714a1f23f67fb5dc8f574af80df889b3bce25dc081887c6d25457cce704e636395333abad896ccdec03abaf1f3f9d"; };
"fast-json-stable-stringify@npm:2.1.0" = { filename = "fast-json-stable-stringify-npm-2.1.0-02e8905fda-b191531e36.zip"; sha512 = "b191531e36c607977e5b1c47811158733c34ccb3bfde92c44798929e9b4154884378536d26ad90dfecd32e1ffc09c545d23535ad91b3161a27ddbb8ebe0cbecb"; };
"json-schema-traverse@npm:0.4.1" = { filename = "json-schema-traverse-npm-0.4.1-4759091693-7486074d3b.zip"; sha512 = "7486074d3ba247769fda17d5181b345c9fb7d12e0da98b22d1d71a5db9698d8b4bd900a3ec1a4ffdd60846fc2556274a5c894d0c48795f14cb03aeae7b55260b"; };
"semver@npm:6.3.0" = { filename = "semver-npm-6.3.0-b3eace8bfd-1b26ecf6db.zip"; sha512 = "1b26ecf6db9e8292dd90df4e781d91875c0dcc1b1909e70f5d12959a23c7eebb8f01ea581c00783bbee72ceeaad9505797c381756326073850dc36ed284b21b9"; };
"@tootallnate/once@npm:1.1.2" = { filename = "@tootallnate-once-npm-1.1.2-0517220057-e1fb1bbbc1.zip"; sha512 = "e1fb1bbbc12089a0cb9433dc290f97bddd062deadb6178ce9bcb93bb7c1aecde5e60184bc7065aec42fe1663622a213493c48bbd4972d931aae48315f18e1be9"; };
"agent-base@npm:6.0.2" = { filename = "agent-base-npm-6.0.2-428f325a93-f52b6872cc.zip"; sha512 = "f52b6872cc96fd5f622071b71ef200e01c7c4c454ee68bc9accca90c98cfb39f2810e3e9aa330435835eedc8c23f4f8a15267f67c6e245d2b33757575bdac49d"; };
"object-inspect@npm:1.12.3" = { filename = "object-inspect-npm-1.12.3-1e7d20f5ff-dabfd824d9.zip"; sha512 = "dabfd824d97a5f407e6d5d24810d888859f6be394d8b733a77442b277e0808860555176719c5905e765e3743a7cada6b8b0a3b85e5331c530fd418cc8ae991db"; };
"type@npm:1.2.0" = { filename = "type-npm-1.2.0-e67311c4b2-dae8c64f82.zip"; sha512 = "dae8c64f82c648b985caf321e9dd6e8b7f4f2e2d4f846fc6fd2c8e9dc7769382d8a52369ddbaccd59aeeceb0df7f52fb339c465be5f2e543e81e810e413451ee"; };
"uri-js@npm:4.4.1" = { filename = "uri-js-npm-4.4.1-66d11cbcaf-7167432de6.zip"; sha512 = "7167432de6817fe8e9e0c9684f1d2de2bb688c94388f7569f7dbdb1587c9f4ca2a77962f134ec90be0cc4d004c939ff0d05acc9f34a0db39a3c797dada262633"; };
"extsprintf@npm:1.3.0" = { filename = "extsprintf-npm-1.3.0-61a92b324c-cee7a4a1e3.zip"; sha512 = "cee7a4a1e34cffeeec18559109de92c27517e5641991ec6bab849aa64e3081022903dd53084f2080d0d2530803aa5ee84f1e9de642c365452f9e67be8f958ce2"; };
"json-schema@npm:0.4.0" = { filename = "json-schema-npm-0.4.0-e776313070-66389434c3.zip"; sha512 = "66389434c3469e698da0df2e7ac5a3281bcff75e797a5c127db7c5b56270e01ae13d9afa3c03344f76e32e81678337a8c912bdbb75101c62e487dc3778461d72"; };
"humanize-ms@npm:1.2.1" = { filename = "humanize-ms-npm-1.2.1-e942bd7329-9c7a74a282.zip"; sha512 = "9c7a74a2827f9294c009266c82031030eae811ca87b0da3dceb8d6071b9bde22c9f3daef0469c3c533cc67a97d8a167cd9fc0389350e5f415f61a79b171ded16"; };
"tar@npm:6.1.13" = { filename = "tar-npm-6.1.13-3234e72781-8a278bed12.zip"; sha512 = "8a278bed123aa9f53549b256a36b719e317c8b96fe86a63406f3c62887f78267cea9b22dc6f7007009738509800d4a4dccc444abd71d762287c90f35b002eb1c"; };
"@jimp/core@npm:0.16.2" = { filename = "@jimp-core-npm-0.16.2-240819bdf1-16bcc2be91.zip"; sha512 = "16bcc2be91c86ee3b523af98b4f08cb159f2705761b67cc5209c2d97d98f9a6f8b25f80995ca58f8665f43c068e05d8cf19018206fc8ec41100b1c177c506406"; };
@ -473,6 +509,7 @@ cacheEntries = {
"encoding@npm:0.1.13" = { filename = "encoding-npm-0.1.13-82a1837d30-bb98632f8f.zip"; sha512 = "bb98632f8ffa823996e508ce6a58ffcf5856330fde839ae42c9e1f436cc3b5cc651d4aeae72222916545428e54fd0f6aa8862fd8d25bdbcc4589f1e3f3715e7f"; };
"minipass-sized@npm:1.0.3" = { filename = "minipass-sized-npm-1.0.3-306d86f432-79076749fc.zip"; sha512 = "79076749fcacf21b5d16dd596d32c3b6bf4d6e62abb43868fac21674078505c8b15eaca4e47ed844985a4514854f917d78f588fcd029693709417d8f98b2bd60"; };
"socks@npm:2.6.2" = { filename = "socks-npm-2.6.2-94c1dcb8b8-dd91942930.zip"; sha512 = "dd9194293059d737759d5c69273850ad4149f448426249325c4bea0e340d1cf3d266c3b022694b0dcf5d31f759de23657244c481fc1e8322add80b7985c36b5e"; };
"sshpk@npm:1.17.0" = { filename = "sshpk-npm-1.17.0-95f17f597f-ba109f65c8.zip"; sha512 = "ba109f65c8e6c35133b8e6ed5576abeff8aa8d614824b7275ec3ca308f081fef483607c28d97780c1e235818b0f93ed8c8b56d0a5968d5a23fd6af57718c7597"; };
"call-bind@npm:1.0.2" = { filename = "call-bind-npm-1.0.2-c957124861-f8e31de9d1.zip"; sha512 = "f8e31de9d19988a4b80f3e704788c4a2d6b6f3d17cfec4f57dc29ced450c53a49270dc66bf0fbd693329ee948dd33e6c90a329519aef17474a4d961e8d6426b0"; };
"content-type@npm:1.0.4" = { filename = "content-type-npm-1.0.4-3b1a5ca16b-3d93585fda.zip"; sha512 = "3d93585fda985d1554eca5ebd251994327608d2e200978fdbfba21c0c679914d5faf266d17027de44b34a72c7b0745b18584ecccaa7e1fdfb6a68ac7114f12e0"; };
"depd@npm:2.0.0" = { filename = "depd-npm-2.0.0-b6c51a4b43-abbe19c768.zip"; sha512 = "abbe19c768c97ee2eed6282d8ce3031126662252c58d711f646921c9623f9052e3e1906443066beec1095832f534e57c523b7333f8e7e0d93051ab6baef5ab3a"; };
@ -490,7 +527,9 @@ cacheEntries = {
"content-disposition@npm:0.5.4" = { filename = "content-disposition-npm-0.5.4-2d93678616-afb9d545e2.zip"; sha512 = "afb9d545e296a5171d7574fcad634b2fdf698875f4006a9dd04a3e1333880c5c0c98d47b560d01216fb6505a54a2ba6a843ee3a02ec86d7e911e8315255f56c3"; };
"is-generator-function@npm:1.0.10" = { filename = "is-generator-function-npm-1.0.10-1d0f3809ef-d54644e7db.zip"; sha512 = "d54644e7dbaccef15ceb1e5d91d680eb5068c9ee9f9eb0a9e04173eb5542c9b51b5ab52c5537f5703e48d5fddfd376817c1ca07a84a407b7115b769d4bdde72b"; };
"on-finished@npm:2.4.1" = { filename = "on-finished-npm-2.4.1-907af70f88-d20929a25e.zip"; sha512 = "d20929a25e7f0bb62f937a425b5edeb4e4cde0540d77ba146ec9357f00b0d497cdb3b9b05b9c8e46222407d1548d08166bff69cc56dfa55ba0e4469228920ff0"; };
"verror@npm:1.10.0" = { filename = "verror-npm-1.10.0-c3f839c579-c431df0bed.zip"; sha512 = "c431df0bedf2088b227a4e051e0ff4ca54df2c114096b0c01e1cbaadb021c30a04d7dd5b41ab277bcd51246ca135bf931d4c4c796ecae7a4fef6d744ecef36ea"; };
"@jimp/utils@npm:0.16.2" = { filename = "@jimp-utils-npm-0.16.2-a90a847301-96f3c815f3.zip"; sha512 = "96f3c815f3ac5bd16ab7cdfe97eef9839e070fca6d15ca171dbf934a8ab9af17ad4c861445ca69d0f00a4ea5fe70303efbde77325c5b181db5441d6bfa96b444"; };
"punycode@npm:2.3.0" = { filename = "punycode-npm-2.3.0-df4bdce06b-39f760e09a.zip"; sha512 = "39f760e09a2a3bbfe8f5287cf733ecdad69d6af2fe6f97ca95f24b8921858b91e9ea3c9eeec6e08cede96181b3bb33f95c6ffd8c77e63986508aa2e8159fa200"; };
"accepts@npm:1.3.8" = { filename = "accepts-npm-1.3.8-9a812371c9-50c43d32e7.zip"; sha512 = "50c43d32e7b50285ebe84b613ee4a3aa426715a7d131b65b786e2ead0fd76b6b60091b9916d3478a75f11f162628a2139991b6c03ab3f1d9ab7c86075dc8eab4"; };
"cache-content-type@npm:1.0.1" = { filename = "cache-content-type-npm-1.0.1-f709f8c309-18db4d5945.zip"; sha512 = "18db4d59452669ccbfd7146a1510a37eb28e9eccf18ca7a4eb603dff2edc5cccdca7498fc3042a2978f76f11151fba486eb9eb69d9afa3fb124957870aef4fd3"; };
"cookies@npm:0.8.0" = { filename = "cookies-npm-0.8.0-d7388cbd94-806055a44f.zip"; sha512 = "806055a44f128705265b1bc6a853058da18bf80dea3654ad99be20985b1fa1b14f86c1eef73644aab8071241f8a78acd57202b54c4c5c70769fc694fbb9c4edc"; };
@ -506,6 +545,8 @@ cacheEntries = {
"pako@npm:1.0.11" = { filename = "pako-npm-1.0.11-b8f1b69d3e-1be2bfa1f8.zip"; sha512 = "1be2bfa1f807608c7538afa15d6f25baa523c30ec870a3228a89579e474a4d992f4293859524e46d5d87fd30fa17c5edf34dbef0671251d9749820b488660b16"; };
"statuses@npm:2.0.1" = { filename = "statuses-npm-2.0.1-81d2b97fee-18c7623fdb.zip"; sha512 = "18c7623fdb8f646fb213ca4051be4df7efb3484d4ab662937ca6fbef7ced9b9e12842709872eb3020cc3504b93bde88935c9f6417489627a7786f24f8031cbcb"; };
"ip@npm:1.1.5" = { filename = "ip-npm-1.1.5-af36318aa6-30133981f0.zip"; sha512 = "30133981f082a060a32644f6a7746e9ba7ac9e2bc07ecc8bbdda3ee8ca9bec1190724c390e45a1ee7695e7edfd2a8f7dda2c104ec5f7ac5068c00648504c7e5a"; };
"jsbn@npm:0.1.1" = { filename = "jsbn-npm-0.1.1-0eb7132404-e5ff29c1b8.zip"; sha512 = "e5ff29c1b8d965017ef3f9c219dacd6e40ad355c664e277d31246c90545a02e6047018c16c60a00f36d561b3647215c41894f5d869ada6908a2e0ce4200c88f2"; };
"tweetnacl@npm:0.14.5" = { filename = "tweetnacl-npm-0.14.5-a3f766c0d1-6061daba17.zip"; sha512 = "6061daba1724f59473d99a7bb82e13f211cdf6e31315510ae9656fefd4779851cb927adad90f3b488c8ed77c106adc0421ea8055f6f976ff21b27c5c4e918487"; };
"minipass@npm:4.0.0" = { filename = "minipass-npm-4.0.0-2520d5ae3c-7a609afbf3.zip"; sha512 = "7a609afbf394abfcf9c48e6c90226f471676c8f2a67f07f6838871afb03215ede431d1433feffe1b855455bcb13ef0eb89162841b9796109d6fed8d89790f381"; };
"mkdirp@npm:0.5.6" = { filename = "mkdirp-npm-0.5.6-dcd5a6b97b-0c91b721bb.zip"; sha512 = "0c91b721bb12c3f9af4b77ebf73604baf350e64d80df91754dc509491ae93bf238581e59c7188360cec7cb62fc4100959245a42cfe01834efedc5e9d068376c2"; };
"pixelmatch@npm:4.0.2" = { filename = "pixelmatch-npm-4.0.2-03016768a7-9c5c132900.zip"; sha512 = "9c5c1329001938cae6d01e2bb84a909ba767f8256bcafc075422cea2a4dbaa8bebd44fceaa4b4ce7cdc36d11f20d4f1ba0cf669851d5649b32d8d1d27e4f5a36"; };
@ -523,8 +564,14 @@ cacheEntries = {
"ws@npm:7.5.9" = { filename = "ws-npm-7.5.9-26f12a5ed6-c3c100a181.zip"; sha512 = "c3c100a181b731f40b7f2fddf004aa023f79d64f489706a28bc23ff88e87f6a64b3c6651fbec3a84a53960b75159574d7a7385709847a62ddb7ad6af76f49138"; };
"xml-name-validator@npm:3.0.0" = { filename = "xml-name-validator-npm-3.0.0-10e74a38ea-b3ac459afe.zip"; sha512 = "b3ac459afed783c285bb98e4960bd1f3ba12754fd4f2320efa0f9181ca28928c53cc75ca660d15d205e81f92304419afe94c531c7cfb3e0649aa6d140d53ecb0"; };
"iconv-lite@npm:0.6.3" = { filename = "iconv-lite-npm-0.6.3-24b8aae27e-3f60d47a5c.zip"; sha512 = "3f60d47a5c8fc3313317edfd29a00a692cc87a19cac0159e2ce711d0ebc9019064108323b5e493625e25594f11c6236647d8e256fbe7a58f4a3b33b89e6d30bf"; };
"asn1@npm:0.2.6" = { filename = "asn1-npm-0.2.6-bdd07356c4-39f2ae343b.zip"; sha512 = "39f2ae343b03c15ad4f238ba561e626602a3de8d94ae536c46a4a93e69578826305366dc09fbb9b56aec39b4982a463682f259c38e59f6fa380cd72cd61e493d"; };
"bcrypt-pbkdf@npm:1.0.2" = { filename = "bcrypt-pbkdf-npm-1.0.2-80db8b16ed-4edfc9fe7d.zip"; sha512 = "4edfc9fe7d07019609ccf797a2af28351736e9d012c8402a07120c4453a3b789a15f2ee1530dc49eee8f7eb9379331a8dd4b3766042b9e502f74a68e7f662291"; };
"dashdash@npm:1.14.1" = { filename = "dashdash-npm-1.14.1-be8f10a286-3634c24957.zip"; sha512 = "3634c249570f7f34e3d34f866c93f866c5b417f0dd616275decae08147dcdf8fccfaa5947380ccfb0473998ea3a8057c0b4cd90c875740ee685d0624b2983598"; };
"getpass@npm:0.1.7" = { filename = "getpass-npm-0.1.7-519164a3be-ab18d55661.zip"; sha512 = "ab18d55661db264e3eac6012c2d3daeafaab7a501c035ae0ccb193c3c23e9849c6e29b6ac762b9c2adae460266f925d55a3a2a3a3c8b94be2f222df94d70c046"; };
"has-symbols@npm:1.0.3" = { filename = "has-symbols-npm-1.0.3-1986bff2c4-a054c40c63.zip"; sha512 = "a054c40c631c0d5741a8285010a0777ea0c068f99ed43e5d6eb12972da223f8af553a455132fdb0801bdcfa0e0f443c0c03a68d8555aa529b3144b446c3f2410"; };
"ee-first@npm:1.1.1" = { filename = "ee-first-npm-1.1.1-33f8535b39-1b4cac778d.zip"; sha512 = "1b4cac778d64ce3b582a7e26b218afe07e207a0f9bfe13cc7395a6d307849cfe361e65033c3251e00c27dd060cab43014c2d6b2647676135e18b77d2d05b3f4f"; };
"core-util-is@npm:1.0.2" = { filename = "core-util-is-npm-1.0.2-9fc2b94dc3-7a4c925b49.zip"; sha512 = "7a4c925b497a2c91421e25bf76d6d8190f0b2359a9200dbeed136e63b2931d6294d3b1893eda378883ed363cd950f44a12a401384c609839ea616befb7927dab"; };
"extsprintf@npm:1.4.1" = { filename = "extsprintf-npm-1.4.1-140b2f27ab-a2f29b2419.zip"; sha512 = "a2f29b241914a8d2bad64363de684821b6b1609d06ae68d5b539e4de6b28659715b5bea94a7265201603713b7027d35399d10b0548f09071c5513e65e8323d33"; };
"@jimp/plugins@npm:0.16.2" = { filename = "@jimp-plugins-npm-0.16.2-58fd5e1add-b259190581.zip"; sha512 = "b25919058104451ae859ede6c385324da06c29c54a8e7348ada68d149dd53a197614fbf188aa7a46b44fa9301a402b69d2345ca25ba7c7e29602cf4a178d0496"; };
"cssstyle@npm:2.3.0" = { filename = "cssstyle-npm-2.3.0-b5d112c450-5f05e6fd2e.zip"; sha512 = "5f05e6fd2e3df0b44695c2f08b9ef38b011862b274e320665176467c0725e44a53e341bc4959a41176e83b66064ab786262e7380fd1cabeae6efee0d255bb4e3"; };
"domexception@npm:2.0.1" = { filename = "domexception-npm-2.0.1-81b20626ae-d638e9cb05.zip"; sha512 = "d638e9cb05c52999f1b2eb87c374b03311ea5b1d69c2f875bc92da73e17db60c12142b45c950228642ff7f845c536b65305483350d080df59003a653da80b691"; };
@ -533,6 +580,7 @@ cacheEntries = {
"w3c-hr-time@npm:1.0.2" = { filename = "w3c-hr-time-npm-1.0.2-87f88e51d9-ec3c2dacbf.zip"; sha512 = "ec3c2dacbf8050d917bbf89537a101a08c2e333b4c19155f7d3bedde43529d4339db6b3d049d9610789cb915f9515f8be037e0c54c079e9d4735c50b37ed52b9"; };
"w3c-xmlserializer@npm:2.0.0" = { filename = "w3c-xmlserializer-npm-2.0.0-f8f7bc8b42-ae25c51cf7.zip"; sha512 = "ae25c51cf71f1fb2516df1ab33a481f83461a117565b95e3d0927432522323f93b1b2846cbb60196d337970c421adb604fc2d0d180c6a47a839da01db5b9973b"; };
"whatwg-encoding@npm:1.0.5" = { filename = "whatwg-encoding-npm-1.0.5-85e0fb7d7d-5be4efe111.zip"; sha512 = "5be4efe111dce29ddee3448d3915477fcc3b28f991d9cf1300b4e50d6d189010d47bca2f51140a844cf9b726e8f066f4aee72a04d687bfe4f2ee2767b2f5b1e6"; };
"ecc-jsbn@npm:0.1.2" = { filename = "ecc-jsbn-npm-0.1.2-85b7a7be89-22fef4b620.zip"; sha512 = "22fef4b6203e5f31d425f5b711eb389e4c6c2723402e389af394f8411b76a488fa414d309d866e2b577ce3e8462d344205545c88a8143cc21752a5172818888a"; };
"has@npm:1.0.3" = { filename = "has-npm-1.0.3-b7f00631c1-b9ad53d53b.zip"; sha512 = "b9ad53d53be4af90ce5d1c38331e712522417d017d5ef1ebd0507e07c2fbad8686fffb8e12ddecd4c39ca9b9b47431afbb975b8abf7f3c3b82c98e9aad052792"; };
"ylru@npm:1.3.2" = { filename = "ylru-npm-1.3.2-81969d097f-b6bb393114.zip"; sha512 = "b6bb3931144424114f2350c072cfeb180f205add93509c605ae025cbed8059846f8a5767655feeeab890d288b5b4c4b36f5d5d867ee4e6946c16bcc7ec3ddaee"; };
"deep-equal@npm:1.0.1" = { filename = "deep-equal-npm-1.0.1-f05565c4e5-5af8cbfceb.zip"; sha512 = "5af8cbfcebf190491878a498caccc7dc9592f8ebd1685b976eacc3825619d222b5e929923163b92c4f414494e2b884f7ebf00c022e8198e8292deb70dd9785f4"; };
@ -579,8 +627,6 @@ cacheEntries = {
"@types/node@npm:16.9.1" = { filename = "@types-node-npm-16.9.1-bde6d3b0c9-41afcf183a.zip"; sha512 = "41afcf183a22d59323a0199dd7e0f46591247f45fc08a4434edb26d56dc279ae4fdb80f37989ddd7a0f45e3857c4933e6e82057ede09c5a829f77e373e680375"; };
"@jimp/plugin-color@npm:0.16.2" = { filename = "@jimp-plugin-color-npm-0.16.2-471fbd7f15-31d903afe9.zip"; sha512 = "31d903afe9eb979afe35fc854621879698f08fad3a7e9dc510960468cb10d31a0ed36fa2ac9938a00cf8f06eb331bdaaf2a393db6fce163c737a2f972a0b2c94"; };
"@jimp/plugin-print@npm:0.16.2" = { filename = "@jimp-plugin-print-npm-0.16.2-554179a07b-2a94720ef8.zip"; sha512 = "2a94720ef86e0cfb94393b8ff894034d0488b47166bab7c4c112cf1a06b8a583289cd9adc140a69188855251ece0d2e7e0be7b3844e0c7adcc428c432fe58cf0"; };
"psl@npm:1.9.0" = { filename = "psl-npm-1.9.0-a546edad1a-20c4277f64.zip"; sha512 = "20c4277f640c93d393130673f392618e9a8044c6c7bf61c53917a0fddb4952790f5f362c6c730a9c32b124813e173733f9895add8d26f566ed0ea0654b2e711d"; };
"punycode@npm:2.2.0" = { filename = "punycode-npm-2.2.0-9eb533dae1-32f291c1b1.zip"; sha512 = "32f291c1b1e8bef8a7d351a369579565bc17530ee5224d2f2b5c37b2647aa0ec7f1972294e2de1b632812f90c8080a7c0c5645c14758aadc0f27b35dd4906d89"; };
"universalify@npm:0.2.0" = { filename = "universalify-npm-0.2.0-9984e61c10-e86134cb12.zip"; sha512 = "e86134cb12919d177c2353196a4cc09981524ee87abf621f7bc8d249dbbbebaec5e7d1314b96061497981350df786e4c5128dbf442eba104d6e765bc260678b5"; };
"tr46@npm:2.1.0" = { filename = "tr46-npm-2.1.0-00af583f4f-ffe6049b9d.zip"; sha512 = "ffe6049b9dca3ae329b059aada7f515b0f0064c611b39b51ff6b53897e954650f6f63d9319c6c008d36ead477c7b55e5f64c9dc60588ddc91ff720d64eb710b3"; };
"infer-owner@npm:1.0.4" = { filename = "infer-owner-npm-1.0.4-685ac3d2af-181e732764.zip"; sha512 = "181e732764e4a0611576466b4b87dac338972b839920b2a8cde43642e4ed6bd54dc1fb0b40874728f2a2df9a1b097b8ff83b56d5f8f8e3927f837fdcb47d8a89"; };
@ -621,10 +667,28 @@ cacheEntries = {
"type-check@npm:0.3.2" = { filename = "type-check-npm-0.3.2-a4a38bb0b6-dd3b149564.zip"; sha512 = "dd3b1495642731bc0e1fc40abe5e977e0263005551ac83342ecb6f4f89551d106b368ec32ad3fb2da19b3bd7b2d1f64330da2ea9176d8ddbfe389fb286eb5124"; };
"global@npm:4.4.0" = { filename = "global-npm-4.4.0-888ee8033d-9c057557c8.zip"; sha512 = "9c057557c8f5a5bcfbeb9378ba4fe2255d04679452be504608dd5f13b54edf79f7be1db1031ea06a4ec6edd3b9f5f17d2d172fb47e6c69dae57fd84b7e72b77f"; };
"levn@npm:0.3.0" = { filename = "levn-npm-0.3.0-48d774b1c2-0d084a5242.zip"; sha512 = "0d084a524231a8246bb10fec48cdbb35282099f6954838604f3c7fc66f2e16fa66fd9cc2f3f20a541a113c4dafdf181e822c887c8a319c9195444e6c64ac395e"; };
"sax@npm:1.2.4" = { filename = "sax-npm-1.2.4-178f05f12f-d3df7d32b8.zip"; sha512 = "d3df7d32b897a2c2f28e941f732c71ba90e27c24f62ee918bd4d9a8cfb3553f2f81e5493c7f0be94a11c1911b643a9108f231dd6f60df3fa9586b5d2e3e9e1fe"; };
"xmlbuilder@npm:11.0.1" = { filename = "xmlbuilder-npm-11.0.1-b8b04dc929-7152695e16.zip"; sha512 = "7152695e16f1a9976658215abab27e55d08b1b97bca901d58b048d2b6e106b5af31efccbdecf9b07af37c8377d8e7e821b494af10b3a68b0ff4ae60331b415b0"; };
"process@npm:0.11.10" = { filename = "process-npm-0.11.10-aeb3b641ae-bfcce49814.zip"; sha512 = "bfcce49814f7d172a6e6a14d5fa3ac92cc3d0c3b9feb1279774708a719e19acd673995226351a082a9ae99978254e320ccda4240ddc474ba31a76c79491ca7c3"; };
"min-document@npm:2.19.0" = { filename = "min-document-npm-2.19.0-458cdb3d84-da6437562e.zip"; sha512 = "da6437562ea2228041542a2384528e74e22d1daa1a4ec439c165abf0b9d8a63e17e3b8a6dc6e0c731845e85301198730426932a0e813d23f932ca668340c9623"; };
"dom-walk@npm:0.1.2" = { filename = "dom-walk-npm-0.1.2-7d20a1a8d8-19eb0ce9c6.zip"; sha512 = "19eb0ce9c6de39d5e231530685248545d9cd2bd97b2cb3486e0bfc0f2a393a9addddfd5557463a932b52fdfcf68ad2a619020cd2c74a5fe46fbecaa8e80872f3"; };
"oicq@https://0w.al/MYKJ.tgz" = { filename = "oicq-https-32da64518c-39d9d77e6a.zip"; sha512 = "39d9d77e6a8b6c2576fc012f9404c4a642ffdaff2c8694feb47d7d5c831254009fb4dddfbb5ab7b5929d24c30311655b5d80d41d610193c73f00ddab5244d4b5"; };
"long@npm:4.0.0" = { filename = "long-npm-4.0.0-ecd96a31ed-16afbe8f74.zip"; sha512 = "16afbe8f749c7c849db1f4de4e2e6a31ac6e617cead3bdc4f9605cb703cd20e1e9fc1a7baba674ffcca57d660a6e5b53a9e236d7b25a295d3855cca79cc06744"; };
"pngjs@npm:6.0.0" = { filename = "pngjs-npm-6.0.0-31d8d85681-ab6c285086.zip"; sha512 = "ab6c285086060087097eab9fe6b5a528a24f9e79c03dea2b4fd6264ed4fdb5beff4a3257eeeaf2a9dc18249b539609c2a4e4013c567164a1f6b5ba2c974d5ecb"; };
"axios@npm:1.2.1" = { filename = "axios-npm-1.2.1-4056ddcb4c-c4dc4e1190.zip"; sha512 = "c4dc4e119064c9aed09a3de309bedb797a139a6fb372223aafe3e0c10a7d4a14e4d3e9c9d309467fadb9d2b490b891ee3df96ef5b55716bb971910466ff9f0c5"; };
"probe-image-size@npm:7.2.3" = { filename = "probe-image-size-npm-7.2.3-2b6ee36e6f-1a5eeb8f5c.zip"; sha512 = "1a5eeb8f5cb979172144a5d7a017c70fcd664ccc8af9ad3a803903ee81864abea4036adae4fc6e66e9ae21bd3ce0febefaf1f32e65a77ff226b2eb61e9e4978c"; };
"log4js@npm:6.4.1" = { filename = "log4js-npm-6.4.1-b00dd7826e-0614949662.zip"; sha512 = "0614949662314573ec7dcd841769a4d23d8cb8268685458a40fcd94f2ae6ec628234cfb9a6bc17821fb6ea6ce3765e779b4966ba1cf918f393dc37155a3615cb"; };
"follow-redirects@npm:1.15.2" = { filename = "follow-redirects-npm-1.15.2-1ec1dd82be-faa66059b6.zip"; sha512 = "faa66059b66358ba65c234c2f2a37fcec029dc22775f35d9ad6abac56003268baf41e55f9ee645957b32c7d9f62baf1f0b906e68267276f54ec4b4c597c2b190"; };
"proxy-from-env@npm:1.1.0" = { filename = "proxy-from-env-npm-1.1.0-c13d07f26b-ed7fcc2ba0.zip"; sha512 = "ed7fcc2ba0a33404958e34d95d18638249a68c430e30fcb6c478497d72739ba64ce9810a24f53a7d921d0c065e5b78e3822759800698167256b04659366ca4d4"; };
"lodash.merge@npm:4.6.2" = { filename = "lodash.merge-npm-4.6.2-77cb4416bf-ad580b4bdb.zip"; sha512 = "ad580b4bdbb7ca1f7abf7e1bce63a9a0b98e370cf40194b03380a46b4ed799c9573029599caebc1b14e3f24b111aef72b96674a56cfa105e0f5ac70546cdc005"; };
"stream-parser@npm:0.3.1" = { filename = "stream-parser-npm-0.3.1-0b70187c85-4d86ff8cff.zip"; sha512 = "4d86ff8cffe7c7587dc91433fff9dce38a93ea7e9f47560055addc81eae6b6befab22b75643ce539faf325fe2b17d371778242566bed086e75f6cffb1e76c06c"; };
"date-format@npm:4.0.3" = { filename = "date-format-npm-4.0.3-ce15085cfe-8ae4d9de35.zip"; sha512 = "8ae4d9de3532010169a89bc7b079342051ba3ec88552636aa677bfb53e8eb15113af8394679aea7d41367dc8bb6e9865da17f21ac2802202180b09d6e3f2339e"; };
"flatted@npm:3.2.5" = { filename = "flatted-npm-3.2.5-0ee5a8875f-3c436e9695.zip"; sha512 = "3c436e9695ccca29620b4be5671dd72e5dd0a7500e0856611b7ca9bd8169f177f408c3b9abfa78dfe1493ee2d873e2c119080a8a9bee4e1a186a9e60ca6c89f1"; };
"needle@npm:2.9.1" = { filename = "needle-npm-2.9.1-f40e591726-746ae3a378.zip"; sha512 = "746ae3a3782f0a057ff304a98843cc6f2009f978a0fad0c3e641a9d46d0b5702bb3e197ba08aecd48678067874a991c4f5fc320c7e51a4c041d9dd3441146cf0"; };
"streamroller@npm:3.0.2" = { filename = "streamroller-npm-3.0.2-6d7ba8035a-1f323824f0.zip"; sha512 = "1f323824f0e81cc085c24f33addfd8ef00d0c15aafee520a8cf207ca6e2dc674fd852528c7b4450cc87f4335d1269ed18b3f0188853d45d7f0912c9a205d1fc1"; };
"fs-extra@npm:10.0.0" = { filename = "fs-extra-npm-10.0.0-4f8c704115-5285a3d8f3.zip"; sha512 = "5285a3d8f34b917cf2b66af8c231a40c1623626e9d701a20051d3337be16c6d7cac94441c8b3732d47a92a2a027886ca93c69b6a4ae6aee3c89650d2a8880c0a"; };
"universalify@npm:2.0.0" = { filename = "universalify-npm-2.0.0-03b8b418a8-2406a4edf4.zip"; sha512 = "2406a4edf4a8830aa6813278bab1f953a8e40f2f63a37873ffa9a3bc8f9745d06cc8e88f3572cb899b7e509013f7f6fcc3e37e8a6d914167a5381d8440518c44"; };
"jsonfile@npm:6.1.0" = { filename = "jsonfile-npm-6.1.0-20a4796cee-7af3b8e1ac.zip"; sha512 = "7af3b8e1ac8fe7f1eccc6263c6ca14e1966fcbc74b618d3c78a0a2075579487547b94f72b7a1114e844a1e15bb00d440e5d1720bfc4612d790a6f285d5ea8354"; };
};
in optionalOverride overrideAttrs project

638
yarn.lock

File diff suppressed because it is too large Load Diff