├── .gitignore ├── README.md ├── index.js ├── package.json ├── public ├── Build │ ├── Build.data.unityweb │ ├── Build.framework.js.unityweb │ ├── Build.loader.js │ └── Build.wasm.unityweb ├── TemplateData │ ├── favicon.ico │ ├── fullscreen-button.png │ ├── progress-bar-empty-dark.png │ ├── progress-bar-empty-light.png │ ├── progress-bar-full-dark.png │ ├── progress-bar-full-light.png │ ├── style.css │ ├── unity-logo-dark.png │ ├── unity-logo-light.png │ └── webgl-logo.png └── index.html └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | .env -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Unity Telegram Game - Backend 2 | 3 | > For complete overview of the project, please visit the [Unity package GitHub repository](https://github.com/asynkr/unity-telegram-game). 4 | 5 | This is a Node.js app that serves two purposes: 6 | 1. Run a Telegram bot 7 | 2. Serve a game (actually, an `index.html` file) 8 | 9 | Note that this repo is essentially only that. So it isn't mandatory to be used with a Unity game. 10 | Actually, the project from which this project has been forked implements a [fully js T-Rex game](https://github.com/fercarcedo/T-Rex-Telegram-game). 11 | 12 | This project contains a very simple Unity Game, which uses the [unity-telegram-game](https://github.com/asynkr/unity-telegram-game) package. 13 | 14 | ## Create a Telegram bot 15 | 16 | The first step is to create a Telegram bot. Talk to the [BotFather]([t.me/botfather](https://t.me/botfather)) and store the token it will give you. 17 | 18 | In this app, we will only do two things related to the bot: 19 | * Listen for commands and serve the game when asked with `/game` 20 | * Listen for inline queries (this enables you to type "@YourNameBot" in any chat and get prompted with the game) 21 | 22 | ## Installation 23 | 24 | * Deploy a Node.js app. This documentation will not cover this part (this is because it is out of the scope of the project, not at all because I already forgot how I did it). However, here are some steps to deploy it on a VPS (something like [that](https://blog.tericcabrel.com/deploy-a-node-js-application-with-pm2-and-nginx/)) : 25 | * Install Node and yarn 26 | * Install pm2 and use it to start the Node app 27 | * Configure a nginx server (pay attention to how you're declaring the `public` folder in the config) 28 | * Don't forget to cry because your nginx config is not working 29 | * Pay attention to which ports are used and need to be opened: don't forget you have two services running, the express server and the telegram bot. 30 | * Add a SSL certificate 31 | * Upload your WebGL game in the `public` folder 32 | * Add a `.env` file with the following content: 33 | ``` 34 | BOT_TOKEN= 35 | SCORE_TOKEN = ";;..." 36 | ``` 37 | The score tokens are the numbers you will use to obfuscate the score. They must be also set in the Unity game. 38 | * You're good to go. 39 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | require("dotenv").config(); 2 | const express = require("express"); 3 | const path = require("path"); 4 | const TelegramBot = require("node-telegram-bot-api"); 5 | 6 | const gameName = "YOUR_GAME_NAME_GOES_HERE"; 7 | const webURL = "www.YOUR_URL.com"; 8 | 9 | const server = express(); 10 | const bot = new TelegramBot(process.env.BOT_TOKEN, { polling: true }); 11 | 12 | const port = process.env.PORT || 5000; 13 | 14 | const SCORE_TOKEN = process.env.SCORE_TOKEN.split(";").map((t) => BigInt(t)); 15 | 16 | const queries = {}; 17 | 18 | function addAllNumbers(number) { 19 | const strNumber = number.toString(); 20 | 21 | if (strNumber.length === 1) return number; 22 | 23 | const numbers = strNumber.split(""); 24 | var sum = 0; 25 | for (var i = 0; i < numbers.length; i++) { 26 | sum += parseInt(numbers[i], 10); 27 | } 28 | return addAllNumbers(sum); 29 | } 30 | 31 | bot.onText(/\/help/, (msg) => 32 | bot.sendMessage( 33 | msg.from.id, 34 | "This bot implements a simple game. Say /game if you want to play." 35 | ) 36 | ); 37 | bot.onText(/\/start|\/game/, (msg) => bot.sendGame(msg.from.id, gameName)); 38 | bot.on("callback_query", function (query) { 39 | if (query.game_short_name !== gameName) { 40 | bot.answerCallbackQuery( 41 | query.id, 42 | "Sorry, '" + query.game_short_name + "' is not available." 43 | ); 44 | } else { 45 | queries[query.id] = query; 46 | const gameurl = `https://${webURL}/index.html?id=${query.id}`; 47 | bot.answerCallbackQuery(query.id, { url: gameurl }); 48 | } 49 | }); 50 | bot.on("inline_query", function (iq) { 51 | bot.answerInlineQuery(iq.id, [ 52 | { type: "game", id: "0", game_short_name: gameName }, 53 | ]); 54 | }); 55 | 56 | server.use(express.static(path.join(__dirname, "public"))); 57 | 58 | server.get("/highscore/:score", function (req, res, next) { 59 | if (!Object.hasOwnProperty.call(queries, req.query.id)) return next(); 60 | 61 | const token = SCORE_TOKEN[addAllNumbers(BigInt(req.query.id)) - 1]; 62 | 63 | let query = queries[req.query.id]; 64 | 65 | let options; 66 | if (query.message) { 67 | options = { 68 | chat_id: query.message.chat.id, 69 | message_id: query.message.message_id, 70 | }; 71 | } else { 72 | options = { 73 | inline_message_id: query.inline_message_id, 74 | }; 75 | } 76 | 77 | // ===== Obfuscation decoding starts ===== 78 | // Change this part if you want to use your own obfuscation method 79 | const obfuscatedScore = BigInt(req.params.score); 80 | 81 | const realScore = Math.round(Number(obfuscatedScore / token)); 82 | 83 | // If the score is valid 84 | if (BigInt(realScore) * token == obfuscatedScore) { 85 | // ===== Obfuscation decoding ends ===== 86 | bot 87 | .setGameScore(query.from.id, realScore, options) 88 | .then((b) => { 89 | return res.status(200).send("Score added successfully"); 90 | }) 91 | .catch((err) => { 92 | if ( 93 | err.response.body.description === 94 | "Bad Request: BOT_SCORE_NOT_MODIFIED" 95 | ) { 96 | return res 97 | .status(204) 98 | .send("New score is inferior to user's previous one"); 99 | } else { 100 | return res.status(500); 101 | } 102 | }); 103 | return; 104 | } else { 105 | return res.status(400).send("Are you cheating ?"); 106 | } 107 | }); 108 | 109 | server.listen(port); 110 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "telegramgame", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1", 8 | "start": "node index.js" 9 | }, 10 | "author": "", 11 | "license": "ISC", 12 | "dependencies": { 13 | "dotenv": "^16.0.1", 14 | "express": "^4.16.2", 15 | "node-telegram-bot-api": "^0.30.0" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /public/Build/Build.data.unityweb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asynkr/unity-telegram-game-backend/ff4b3102fa1decc3638061d130cd3ba26cea85ee/public/Build/Build.data.unityweb -------------------------------------------------------------------------------- /public/Build/Build.framework.js.unityweb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asynkr/unity-telegram-game-backend/ff4b3102fa1decc3638061d130cd3ba26cea85ee/public/Build/Build.framework.js.unityweb -------------------------------------------------------------------------------- /public/Build/Build.loader.js: -------------------------------------------------------------------------------- 1 | function createUnityInstance(e,t,r){function n(e,r){if(!n.aborted&&t.showBanner)return"error"==r&&(n.aborted=!0),t.showBanner(e,r);switch(r){case"error":console.error(e);break;case"warning":console.warn(e);break;default:console.log(e)}}function o(e){var t=e.reason||e.error,r=t?t.toString():e.message||e.reason||"",n=t&&t.stack?t.stack.toString():"";if(n.startsWith(r)&&(n=n.substring(r.length)),r+="\n"+n.trim(),r&&l.stackTraceRegExp&&l.stackTraceRegExp.test(r)){var o=e.filename||t&&(t.fileName||t.sourceURL)||"",i=e.lineno||t&&(t.lineNumber||t.line)||0;s(r,o,i)}}function i(e){e.preventDefault()}function s(e,t,r){if(l.startupErrorHandler)return void l.startupErrorHandler(e,t,r);if(!(l.errorHandler&&l.errorHandler(e,t,r)||(console.log("Invoking error handler due to\n"+e),"function"==typeof dump&&dump("Invoking error handler due to\n"+e),e.indexOf("UnknownError")!=-1||e.indexOf("Program terminated with exit(0)")!=-1||s.didShowErrorMessage))){var e="An error occurred running the Unity content on this page. See your browser JavaScript console for more info. The error was:\n"+e;e.indexOf("DISABLE_EXCEPTION_CATCHING")!=-1?e="An exception has occurred, but exception handling has been disabled in this build. If you are the developer of this content, enable exceptions in your project WebGL player settings to be able to catch the exception or see the stack trace.":e.indexOf("Cannot enlarge memory arrays")!=-1?e="Out of memory. If you are the developer of this content, try allocating more memory to your WebGL build in the WebGL player settings.":e.indexOf("Invalid array buffer length")==-1&&e.indexOf("Invalid typed array length")==-1&&e.indexOf("out of memory")==-1&&e.indexOf("could not allocate memory")==-1||(e="The browser could not allocate enough memory for the WebGL content. If you are the developer of this content, try allocating less memory to your WebGL build in the WebGL player settings."),alert(e),s.didShowErrorMessage=!0}}function a(e,t){if("symbolsUrl"!=e){var n=l.downloadProgress[e];n||(n=l.downloadProgress[e]={started:!1,finished:!1,lengthComputable:!1,total:0,loaded:0}),"object"!=typeof t||"progress"!=t.type&&"load"!=t.type||(n.started||(n.started=!0,n.lengthComputable=t.lengthComputable,n.total=t.total),n.loaded=t.loaded,"load"==t.type&&(n.finished=!0));var o=0,i=0,s=0,a=0,d=0;for(var e in l.downloadProgress){var n=l.downloadProgress[e];if(!n.started)return 0;s++,n.lengthComputable?(o+=n.loaded,i+=n.total,a++):n.finished||d++}var u=s?(s-d-(i?a*(i-o)/i:0))/s:0;r(.9*u)}}function d(e,t,r){for(var n in v)if(v[n].hasUnityMarker(e)){t&&console.log('You can reduce startup time if you configure your web server to add "Content-Encoding: '+n+'" response header when serving "'+t+'" file.');var o=v[n];if(!o.worker){var i=URL.createObjectURL(new Blob(["this.require = ",o.require.toString(),"; this.decompress = ",o.decompress.toString(),"; this.onmessage = ",function(e){var t={id:e.data.id,decompressed:this.decompress(e.data.compressed)};postMessage(t,t.decompressed?[t.decompressed.buffer]:[])}.toString(),"; postMessage({ ready: true });"],{type:"application/javascript"}));o.worker=new Worker(i),o.worker.onmessage=function(e){return e.data.ready?void URL.revokeObjectURL(i):(this.callbacks[e.data.id](e.data.decompressed),void delete this.callbacks[e.data.id])},o.worker.callbacks={},o.worker.nextCallbackId=0}var s=o.worker.nextCallbackId++;return o.worker.callbacks[s]=r,void o.worker.postMessage({id:s,compressed:e},[e.buffer])}r(e)}function u(e){return new Promise(function(t,r){a(e);var o=l.companyName&&l.productName?new l.XMLHttpRequest({companyName:l.companyName,productName:l.productName,cacheControl:l.cacheControl(l[e])}):new XMLHttpRequest;o.open("GET",l[e]),o.responseType="arraybuffer",o.addEventListener("progress",function(t){a(e,t)}),o.addEventListener("load",function(r){a(e,r),d(new Uint8Array(o.response),l[e],t)}),o.addEventListener("error",function(t){var r="Failed to download file "+l[e];"file:"==location.protocol?n(r+". Loading web pages via a file:// URL without a web server is not supported by this browser. Please use a local development web server to host Unity content, or use the Unity Build and Run option.","error"):console.error(r)}),o.send()})}function f(){return u("frameworkUrl").then(function(e){var t=URL.createObjectURL(new Blob([e],{type:"application/javascript"}));return new Promise(function(e,r){var o=document.createElement("script");o.src=t,o.onload=function(){if("undefined"==typeof unityFramework||!unityFramework){var r=[["br","br"],["gz","gzip"]];for(var i in r){var s=r[i];if(l.frameworkUrl.endsWith("."+s[0])){var a="Unable to parse "+l.frameworkUrl+"!";if("file:"==location.protocol)return void n(a+" Loading pre-compressed (brotli or gzip) content via a file:// URL without a web server is not supported by this browser. Please use a local development web server to host compressed Unity content, or use the Unity Build and Run option.","error");if(a+=' This can happen if build compression was enabled but web server hosting the content was misconfigured to not serve the file with HTTP Response Header "Content-Encoding: '+s[1]+'" present. Check browser Console and Devtools Network tab to debug.',"br"==s[0]&&"http:"==location.protocol){var d=["localhost","127.0.0.1"].indexOf(location.hostname)!=-1?"":"Migrate your server to use HTTPS.";a=/Firefox/.test(navigator.userAgent)?"Unable to parse "+l.frameworkUrl+'!
If using custom web server, verify that web server is sending .br files with HTTP Response Header "Content-Encoding: br". Brotli compression may not be supported in Firefox over HTTP connections. '+d+' See https://bugzilla.mozilla.org/show_bug.cgi?id=1670675 for more information.':"Unable to parse "+l.frameworkUrl+'!
If using custom web server, verify that web server is sending .br files with HTTP Response Header "Content-Encoding: br". Brotli compression may not be supported over HTTP connections. Migrate your server to use HTTPS.'}return void n(a,"error")}}n("Unable to parse "+l.frameworkUrl+"! The file is corrupt, or compression was misconfigured? (check Content-Encoding HTTP Response Header on web server)","error")}var u=unityFramework;unityFramework=null,o.onload=null,URL.revokeObjectURL(t),e(u)},o.onerror=function(e){n("Unable to load file "+l.frameworkUrl+"! Check that the file exists on the remote server. (also check browser Console and Devtools Network tab to debug)","error")},document.body.appendChild(o),l.deinitializers.push(function(){document.body.removeChild(o)})})})}function c(){Promise.all([f(),u("codeUrl")]).then(function(e){l.wasmBinary=e[1],e[0](l)});var e=u("dataUrl");l.preRun.push(function(){l.addRunDependency("dataUrl"),e.then(function(e){var t=new DataView(e.buffer,e.byteOffset,e.byteLength),r=0,n="UnityWebData1.0\0";if(!String.fromCharCode.apply(null,e.subarray(r,r+n.length))==n)throw"unknown data format";r+=n.length;var o=t.getUint32(r,!0);for(r+=4;r0;u=f,f=d.indexOf("/",u)+1)l.FS_createPath(d.substring(0,u),d.substring(u,f-1),!0,!0);l.FS_createDataFile(d,null,e.subarray(i,i+s),!0,!0,!0)}l.removeRunDependency("dataUrl")})})}r=r||function(){};var l={canvas:e,webglContextAttributes:{preserveDrawingBuffer:!1},cacheControl:function(e){return e==l.dataUrl?"must-revalidate":"no-store"},streamingAssetsUrl:"StreamingAssets",downloadProgress:{},deinitializers:[],intervals:{},setInterval:function(e,t){var r=window.setInterval(e,t);return this.intervals[r]=!0,r},clearInterval:function(e){delete this.intervals[e],window.clearInterval(e)},preRun:[],postRun:[],print:function(e){console.log(e)},printErr:function(e){console.error(e),"string"==typeof e&&e.indexOf("wasm streaming compile failed")!=-1&&(e.toLowerCase().indexOf("mime")!=-1?n('HTTP Response Header "Content-Type" configured incorrectly on the server for file '+l.codeUrl+' , should be "application/wasm". Startup time performance will suffer.',"warning"):n('WebAssembly streaming compilation failed! This can happen for example if "Content-Encoding" HTTP header is incorrectly enabled on the server for file '+l.codeUrl+", but the file is not pre-compressed on disk (or vice versa). Check the Network tab in browser Devtools to debug server header configuration.","warning"))},locateFile:function(e){return e},disabledCanvasEvents:["contextmenu","dragstart"]};for(var p in t)l[p]=t[p];l.streamingAssetsUrl=new URL(l.streamingAssetsUrl,document.URL).href;var h=l.disabledCanvasEvents.slice();h.forEach(function(t){e.addEventListener(t,i)}),window.addEventListener("error",o),window.addEventListener("unhandledrejection",o);var w="",b="";document.addEventListener("webkitfullscreenchange",function(t){var r=document.webkitCurrentFullScreenElement;r===e?e.style.width&&(w=e.style.width,b=e.style.height,e.style.width="100%",e.style.height="100%"):w&&(e.style.width=w,e.style.height=b,w="",b="")});var m={Module:l,SetFullscreen:function(){return l.SetFullscreen?l.SetFullscreen.apply(l,arguments):void l.print("Failed to set Fullscreen mode: Player not loaded yet.")},SendMessage:function(){return l.SendMessage?l.SendMessage.apply(l,arguments):void l.print("Failed to execute SendMessage: Player not loaded yet.")},Quit:function(){return new Promise(function(t,r){l.shouldQuit=!0,l.onQuit=t,h.forEach(function(t){e.removeEventListener(t,i)}),window.removeEventListener("error",o),window.removeEventListener("unhandledrejection",o)})}};l.SystemInfo=function(){function e(e,t,r){return e=RegExp(e,"i").exec(t),e&&e[r]}for(var t,r,n,o,i,s,a=navigator.userAgent+" ",d=[["Firefox","Firefox"],["OPR","Opera"],["Edg","Edge"],["SamsungBrowser","Samsung Browser"],["Trident","Internet Explorer"],["MSIE","Internet Explorer"],["Chrome","Chrome"],["CriOS","Chrome on iOS Safari"],["FxiOS","Firefox on iOS Safari"],["Safari","Safari"]],u=0;u0},n.prototype.readMoreInput=function(){if(!(this.bit_end_pos_>256))if(this.eos_){if(this.bit_pos_>this.bit_end_pos_)throw new Error("Unexpected end of input "+this.bit_pos_+" "+this.bit_end_pos_)}else{var e=this.buf_ptr_,t=this.input_.read(this.buf_,e,o);if(t<0)throw new Error("Unexpected end of input");if(t=8;)this.val_>>>=8,this.val_|=this.buf_[this.pos_&s]<<24,++this.pos_,this.bit_pos_=this.bit_pos_-8>>>0,this.bit_end_pos_=this.bit_end_pos_-8>>>0},n.prototype.readBits=function(e){32-this.bit_pos_>>this.bit_pos_&a[e];return this.bit_pos_+=e,t},t.exports=n},"dec/context.js":function(e,t,r){r.lookup=new Uint8Array([0,0,0,0,0,0,0,0,0,4,4,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,12,16,12,12,20,12,16,24,28,12,12,32,12,36,12,44,44,44,44,44,44,44,44,44,44,32,32,24,40,28,12,12,48,52,52,52,48,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,24,12,28,12,12,12,56,60,60,60,56,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,24,12,28,12,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,43,43,43,43,44,44,44,44,45,45,45,45,46,46,46,46,47,47,47,47,48,48,48,48,49,49,49,49,50,50,50,50,51,51,51,51,52,52,52,52,53,53,53,53,54,54,54,54,55,55,55,55,56,56,56,56,57,57,57,57,58,58,58,58,59,59,59,59,60,60,60,60,61,61,61,61,62,62,62,62,63,63,63,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),r.lookupOffsets=new Uint16Array([1024,1536,1280,1536,0,256,768,512])},"dec/decode.js":function(e,t,r){function n(e){var t;return 0===e.readBits(1)?16:(t=e.readBits(3),t>0?17+t:(t=e.readBits(3),t>0?8+t:17))}function o(e){if(e.readBits(1)){var t=e.readBits(3);return 0===t?1:e.readBits(t)+(1<1&&0===s)throw new Error("Invalid size byte");o.meta_block_length|=s<<8*n}}else for(n=0;n4&&0===a)throw new Error("Invalid size nibble");o.meta_block_length|=a<<4*n}return++o.meta_block_length,o.input_end||o.is_metadata||(o.is_uncompressed=e.readBits(1)),o}function a(e,t,r){var n;return r.fillBitWindow(),t+=r.val_>>>r.bit_pos_&Y,n=e[t].bits-F,n>0&&(r.bit_pos_+=F,t+=e[t].value,t+=r.val_>>>r.bit_pos_&(1<0;){var c,l=0;if(n.readMoreInput(),n.fillBitWindow(),l+=n.val_>>>n.bit_pos_&31,n.bit_pos_+=u[l].bits,c=255&u[l].value,c>c);else{var p,h,w=c-14,b=0;if(c===q&&(b=i),a!==b&&(s=0,a=b),p=s,s>0&&(s-=2,s<<=w),s+=n.readBits(w)+3,h=s-p,o+h>t)throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");for(var m=0;m0;++a){var m,v=G[a],y=0;n.fillBitWindow(),y+=n.val_>>>n.bit_pos_&15,n.bit_pos_+=b[y].bits,m=b[y].value,p[v]=m,0!==m&&(h-=32>>m,++w)}if(1!==w&&0!==h)throw new Error("[ReadHuffmanCode] invalid num_codes or space");d(p,e,s,n)}if(i=k(t,r,F,s,e),0===i)throw new Error("[ReadHuffmanCode] BuildHuffmanTable failed: ");return i}function f(e,t,r){var n,o;return n=a(e,t,r),o=N.kBlockLengthPrefixCode[n].nbits,N.kBlockLengthPrefixCode[n].offset+r.readBits(o)}function c(e,t,r){var n;return e>>5]),this.htrees=new Uint32Array(t)}function w(e,t){var r,n,i,s={num_htrees:null,context_map:null},d=0;t.readMoreInput();var f=s.num_htrees=o(t)+1,c=s.context_map=new Uint8Array(e);if(f<=1)return s;for(r=t.readBits(1),r&&(d=t.readBits(4)+1),n=[],i=0;i=e)throw new Error("[DecodeContextMap] i >= context_map_size");c[i]=0,++i}else c[i]=l-d,++i}return t.readBits(1)&&p(c,e),s}function b(e,t,r,n,o,i,s){var d,u=2*r,f=r,c=a(t,r*I,s);d=0===c?o[u+(1&i[f])]:1===c?o[u+(i[f]-1&1)]+1:c-2,d>=e&&(d-=e),n[r]=d,o[u+(1&i[f])]=d,++i[f]}function m(e,t,r,n,o,i){var s,a=o+1,d=r&o,u=i.pos_&W.IBUF_MASK;if(t<8||i.bit_pos_+(t<<3)0;)i.readMoreInput(),n[d++]=i.readBits(8),d===a&&(e.write(n,a),d=0);else{if(i.bit_end_pos_<32)throw new Error("[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32");for(;i.bit_pos_<32;)n[d]=i.val_>>>i.bit_pos_,i.bit_pos_+=8,++d,--t;if(s=i.bit_end_pos_-i.bit_pos_>>3,u+s>W.IBUF_MASK){for(var f=W.IBUF_MASK+1-u,c=0;c=a){e.write(n,a),d-=a;for(var c=0;c=a;){if(s=a-d,i.input_.read(n,d,s)t.buffer.length){var ge=new Uint8Array(E+re);ge.set(t.buffer),t.buffer=ge}if(k=ye.input_end,C=ye.is_uncompressed,ye.is_metadata)for(v(U);re>0;--re)U.readMoreInput(),U.readBits(8);else if(0!==re)if(C)U.bit_pos_=U.bit_pos_+7&-8,m(t,re,E,p,l,U),E+=re;else{for(r=0;r<3;++r)ie[r]=o(U)+1,ie[r]>=2&&(u(ie[r]+2,g,r*I,U),u(P,x,r*I,U),ne[r]=f(x,r*I,U),ae[r]=1);for(U.readMoreInput(),j=U.readBits(2),z=X+(U.readBits(4)<0;){var Ee,We,Oe,Re,ke,He,Ne,Be,Ve,qe,Me;for(U.readMoreInput(),0===ne[1]&&(b(ie[1],g,1,oe,se,ae,U),ne[1]=f(x,I,U),te=D[1].htrees[oe[1]]),--ne[1],Ee=a(D[1].codes,te,U),We=Ee>>6,We>=2?(We-=2,Ne=-1):Ne=0,Oe=N.kInsertRangeLut[We]+(Ee>>3&7),Re=N.kCopyRangeLut[We]+(7&Ee),ke=N.kInsertLengthPrefixCode[Oe].offset+U.readBits(N.kInsertLengthPrefixCode[Oe].nbits),He=N.kCopyLengthPrefixCode[Re].offset+U.readBits(N.kCopyLengthPrefixCode[Re].nbits),Z=p[E-1&l],G=p[E-2&l],qe=0;qe4?3:He-2),be=fe[we+Ve],Ne=a(D[2].codes,D[2].htrees[be],U),Ne>=z){var Le,Pe,Te;Ne-=z,Pe=Ne&J,Ne>>=j,Le=(Ne>>1)+1,Te=(2+(1&Ne)<q){if(!(He>=O.minDictionaryWordLength&&He<=O.maxDictionaryWordLength))throw new Error("Invalid backward reference. pos: "+E+" distance: "+Be+" len: "+He+" bytes left: "+re);var Te=O.offsetsByLength[He],Ae=Be-q-1,Fe=O.sizeBitsByLength[He],Ye=(1<>Fe;if(Te+=Ie*He,!(Ze=y){t.write(p,d);for(var Xe=0;Xe0&&(F[3&Y]=Be,++Y),He>re)throw new Error("Invalid backward reference. pos: "+E+" distance: "+Be+" len: "+He+" bytes left: "+re);for(qe=0;qe>=1;return(e&r-1)+r}function i(e,t,r,o,i){do o-=r,e[t+o]=new n(i.bits,i.value);while(o>0)}function s(e,t,r){for(var n=1<0;--U[c])f=new n(255&c,65535&g[l++]),i(e,t+p,h,v,f),p=o(p,c);for(b=y-1,w=-1,c=r+1,h=2;c<=a;++c,h<<=1)for(;U[c]>0;--U[c])(p&b)!==w&&(t+=v,m=s(U,c,r),v=1<>r),h,v,f),p=o(p,c);return y}},"dec/prefix.js":function(e,t,r){function n(e,t){this.offset=e,this.nbits=t}r.kBlockLengthPrefixCode=[new n(1,2),new n(5,2),new n(9,2),new n(13,2),new n(17,3),new n(25,3),new n(33,3),new n(41,3),new n(49,4),new n(65,4),new n(81,4),new n(97,4),new n(113,5),new n(145,5),new n(177,5),new n(209,5),new n(241,6),new n(305,6),new n(369,7),new n(497,8),new n(753,9),new n(1265,10),new n(2289,11),new n(4337,12),new n(8433,13),new n(16625,24)],r.kInsertLengthPrefixCode=[new n(0,0),new n(1,0),new n(2,0),new n(3,0),new n(4,0),new n(5,0),new n(6,1),new n(8,1),new n(10,2),new n(14,2),new n(18,3),new n(26,3),new n(34,4),new n(50,4),new n(66,5),new n(98,5),new n(130,6),new n(194,7),new n(322,8),new n(578,9),new n(1090,10),new n(2114,12),new n(6210,14),new n(22594,24)],r.kCopyLengthPrefixCode=[new n(2,0),new n(3,0),new n(4,0),new n(5,0),new n(6,0),new n(7,0),new n(8,0),new n(9,0),new n(10,1),new n(12,1),new n(14,2),new n(18,2),new n(22,3),new n(30,3),new n(38,4),new n(54,4),new n(70,5),new n(102,5),new n(134,6),new n(198,7),new n(326,8),new n(582,9),new n(1094,10),new n(2118,24)],r.kInsertRangeLut=[0,0,8,8,0,16,8,16,16],r.kCopyRangeLut=[0,8,0,8,16,0,16,8,16]},"dec/streams.js":function(e,t,r){function n(e){this.buffer=e,this.pos=0}function o(e){this.buffer=e,this.pos=0}n.prototype.read=function(e,t,r){this.pos+r>this.buffer.length&&(r=this.buffer.length-this.pos);for(var n=0;nthis.buffer.length)throw new Error("Output buffer is not large enough");return this.buffer.set(e.subarray(0,t),this.pos),this.pos+=t,t},r.BrotliOutput=o},"dec/transform.js":function(e,t,r){function n(e,t,r){this.prefix=new Uint8Array(e.length),this.transform=t,this.suffix=new Uint8Array(r.length);for(var n=0;n=97&&e[t]<=122&&(e[t]^=32),1):e[t]<224?(e[t+1]^=32,2):(e[t+2]^=5,3)}var i=e("./dictionary");const s=0,a=1,d=2,u=3,f=4,c=5,l=6,p=7,h=8,w=9,b=10,m=11,v=12,y=13,g=14,x=15,U=16,E=17,W=18,O=20;var R=[new n("",s,""),new n("",s," "),new n(" ",s," "),new n("",v,""),new n("",b," "),new n("",s," the "),new n(" ",s,""),new n("s ",s," "),new n("",s," of "),new n("",b,""),new n("",s," and "),new n("",y,""),new n("",a,""),new n(", ",s," "),new n("",s,", "),new n(" ",b," "),new n("",s," in "),new n("",s," to "),new n("e ",s," "),new n("",s,'"'),new n("",s,"."),new n("",s,'">'),new n("",s,"\n"),new n("",u,""),new n("",s,"]"),new n("",s," for "),new n("",g,""),new n("",d,""),new n("",s," a "),new n("",s," that "),new n(" ",b,""),new n("",s,". "),new n(".",s,""),new n(" ",s,", "),new n("",x,""),new n("",s," with "),new n("",s,"'"),new n("",s," from "),new n("",s," by "),new n("",U,""),new n("",E,""),new n(" the ",s,""),new n("",f,""),new n("",s,". The "),new n("",m,""),new n("",s," on "),new n("",s," as "),new n("",s," is "),new n("",p,""),new n("",a,"ing "),new n("",s,"\n\t"),new n("",s,":"),new n(" ",s,". "),new n("",s,"ed "),new n("",O,""),new n("",W,""),new n("",l,""),new n("",s,"("),new n("",b,", "),new n("",h,""),new n("",s," at "),new n("",s,"ly "),new n(" the ",s," of "),new n("",c,""),new n("",w,""),new n(" ",b,", "),new n("",b,'"'),new n(".",s,"("),new n("",m," "),new n("",b,'">'),new n("",s,'="'),new n(" ",s,"."),new n(".com/",s,""),new n(" the ",s," of the "),new n("",b,"'"),new n("",s,". This "),new n("",s,","),new n(".",s," "),new n("",b,"("),new n("",b,"."),new n("",s," not "),new n(" ",s,'="'),new n("",s,"er "),new n(" ",m," "),new n("",s,"al "),new n(" ",m,""),new n("",s,"='"),new n("",m,'"'),new n("",b,". "),new n(" ",s,"("),new n("",s,"ful "),new n(" ",b,". "),new n("",s,"ive "),new n("",s,"less "),new n("",m,"'"),new n("",s,"est "),new n(" ",b,"."),new n("",m,'">'),new n(" ",s,"='"),new n("",b,","),new n("",s,"ize "),new n("",m,"."),new n("\xc2\xa0",s,""),new n(" ",s,","),new n("",b,'="'),new n("",m,'="'),new n("",s,"ous "),new n("",m,", "),new n("",b,"='"),new n(" ",b,","),new n(" ",m,'="'),new n(" ",m,", "),new n("",m,","),new n("",m,"("),new n("",m,". "),new n(" ",m,"."),new n("",m,"='"),new n(" ",m,". "),new n(" ",b,'="'),new n(" ",m,"='"),new n(" ",b,"='")];r.kTransforms=R,r.kNumTransforms=R.length,r.transformDictionaryWord=function(e,t,r,n,s){var a,d=R[s].prefix,u=R[s].suffix,f=R[s].transform,c=fn&&(c=n);for(var h=0;h0;){var y=o(e,a);a+=y,n-=y}for(var g=0;g0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===e[t-2]?2:"="===e[t-1]?1:0}function o(e){return 3*e.length/4-n(e)}function i(e){var t,r,o,i,s,a,d=e.length;s=n(e),a=new c(3*d/4-s),o=s>0?d-4:d;var u=0;for(t=0,r=0;t>16&255,a[u++]=i>>8&255,a[u++]=255&i;return 2===s?(i=f[e.charCodeAt(t)]<<2|f[e.charCodeAt(t+1)]>>4,a[u++]=255&i):1===s&&(i=f[e.charCodeAt(t)]<<10|f[e.charCodeAt(t+1)]<<4|f[e.charCodeAt(t+2)]>>2,a[u++]=i>>8&255,a[u++]=255&i),a}function s(e){return u[e>>18&63]+u[e>>12&63]+u[e>>6&63]+u[63&e]}function a(e,t,r){for(var n,o=[],i=t;if?f:d+s));return 1===n?(t=e[r-1],o+=u[t>>2],o+=u[t<<4&63],o+="=="):2===n&&(t=(e[r-2]<<8)+e[r-1],o+=u[t>>10],o+=u[t>>4&63],o+=u[t<<2&63],o+="="),i.push(o),i.join("")}r.byteLength=o,r.toByteArray=i,r.fromByteArray=d;for(var u=[],f=[],c="undefined"!=typeof Uint8Array?Uint8Array:Array,l="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",p=0,h=l.length;p>3);if(commentOffset=r+1+2+1+2+(o<<3)+7>>3,17==n||commentOffset>e.length)return!1;for(var i=n+(6+(o<<4)+(t.length-1<<6)<>>=8)if(e[s]!=(255&i))return!1;return String.fromCharCode.apply(null,e.subarray(commentOffset,commentOffset+t.length))==t}}};return new Promise(function(e,t){l.SystemInfo.hasWebGL?l.SystemInfo.hasWasm?(1==l.SystemInfo.hasWebGL&&l.print('Warning: Your browser does not support "WebGL 2.0" Graphics API, switching to "WebGL 1.0"'),l.startupErrorHandler=t,r(0),l.postRun.push(function(){r(1),delete l.startupErrorHandler,e(m)}),c()):t("Your browser does not support WebAssembly."):t("Your browser does not support WebGL.")})} -------------------------------------------------------------------------------- /public/Build/Build.wasm.unityweb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asynkr/unity-telegram-game-backend/ff4b3102fa1decc3638061d130cd3ba26cea85ee/public/Build/Build.wasm.unityweb -------------------------------------------------------------------------------- /public/TemplateData/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asynkr/unity-telegram-game-backend/ff4b3102fa1decc3638061d130cd3ba26cea85ee/public/TemplateData/favicon.ico -------------------------------------------------------------------------------- /public/TemplateData/fullscreen-button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asynkr/unity-telegram-game-backend/ff4b3102fa1decc3638061d130cd3ba26cea85ee/public/TemplateData/fullscreen-button.png -------------------------------------------------------------------------------- /public/TemplateData/progress-bar-empty-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asynkr/unity-telegram-game-backend/ff4b3102fa1decc3638061d130cd3ba26cea85ee/public/TemplateData/progress-bar-empty-dark.png -------------------------------------------------------------------------------- /public/TemplateData/progress-bar-empty-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asynkr/unity-telegram-game-backend/ff4b3102fa1decc3638061d130cd3ba26cea85ee/public/TemplateData/progress-bar-empty-light.png -------------------------------------------------------------------------------- /public/TemplateData/progress-bar-full-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asynkr/unity-telegram-game-backend/ff4b3102fa1decc3638061d130cd3ba26cea85ee/public/TemplateData/progress-bar-full-dark.png -------------------------------------------------------------------------------- /public/TemplateData/progress-bar-full-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asynkr/unity-telegram-game-backend/ff4b3102fa1decc3638061d130cd3ba26cea85ee/public/TemplateData/progress-bar-full-light.png -------------------------------------------------------------------------------- /public/TemplateData/style.css: -------------------------------------------------------------------------------- 1 | body { padding: 0; margin: 0 } 2 | #unity-container { position: absolute } 3 | #unity-container.unity-desktop { left: 50%; top: 50%; transform: translate(-50%, -50%) } 4 | #unity-container.unity-mobile { width: 100%; height: 100% } 5 | #unity-canvas { background: #231F20 } 6 | .unity-mobile #unity-canvas { width: 100%; height: 100% } 7 | #unity-loading-bar { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: none } 8 | #unity-logo { width: 154px; height: 130px; background: url('unity-logo-dark.png') no-repeat center } 9 | #unity-progress-bar-empty { width: 141px; height: 18px; margin-top: 10px; background: url('progress-bar-empty-dark.png') no-repeat center } 10 | #unity-progress-bar-full { width: 0%; height: 18px; margin-top: 10px; background: url('progress-bar-full-dark.png') no-repeat center } 11 | #unity-footer { position: relative } 12 | .unity-mobile #unity-footer { display: none } 13 | #unity-webgl-logo { float:left; width: 204px; height: 38px; background: url('webgl-logo.png') no-repeat center } 14 | #unity-build-title { float: right; margin-right: 10px; line-height: 38px; font-family: arial; font-size: 18px } 15 | #unity-fullscreen-button { float: right; width: 38px; height: 38px; background: url('fullscreen-button.png') no-repeat center } 16 | #unity-warning { position: absolute; left: 50%; top: 5%; transform: translate(-50%); background: white; padding: 10px; display: none } 17 | -------------------------------------------------------------------------------- /public/TemplateData/unity-logo-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asynkr/unity-telegram-game-backend/ff4b3102fa1decc3638061d130cd3ba26cea85ee/public/TemplateData/unity-logo-dark.png -------------------------------------------------------------------------------- /public/TemplateData/unity-logo-light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asynkr/unity-telegram-game-backend/ff4b3102fa1decc3638061d130cd3ba26cea85ee/public/TemplateData/unity-logo-light.png -------------------------------------------------------------------------------- /public/TemplateData/webgl-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asynkr/unity-telegram-game-backend/ff4b3102fa1decc3638061d130cd3ba26cea85ee/public/TemplateData/webgl-logo.png -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Unity WebGL Player | Test 7 | 8 | 9 | 10 | 11 |
12 | 13 |
14 | 15 |
16 |
17 |
18 |
19 |
20 | 25 |
26 | 106 | 107 | 108 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | accepts@~1.3.8: 6 | version "1.3.8" 7 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" 8 | integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== 9 | dependencies: 10 | mime-types "~2.1.34" 11 | negotiator "0.6.3" 12 | 13 | ajv@^6.12.3: 14 | version "6.12.6" 15 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" 16 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 17 | dependencies: 18 | fast-deep-equal "^3.1.1" 19 | fast-json-stable-stringify "^2.0.0" 20 | json-schema-traverse "^0.4.1" 21 | uri-js "^4.2.2" 22 | 23 | array-flatten@1.1.1: 24 | version "1.1.1" 25 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" 26 | integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== 27 | 28 | array.prototype.findindex@^2.0.2: 29 | version "2.2.0" 30 | resolved "https://registry.yarnpkg.com/array.prototype.findindex/-/array.prototype.findindex-2.2.0.tgz#caf2dc7cd2581f8a8459a5d50b7068ccd0c2f4c5" 31 | integrity sha512-z5Q/aHCBv0xdHV/8ObdpPNWNFNepIojIfwc5Z4Um3S9IdzT7MRnOKDZE6CFLf5lyWeCxzRiEMoz1vHgbumygRQ== 32 | dependencies: 33 | call-bind "^1.0.2" 34 | define-properties "^1.1.3" 35 | es-abstract "^1.19.4" 36 | es-shim-unscopables "^1.0.0" 37 | 38 | asn1@~0.2.3: 39 | version "0.2.6" 40 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" 41 | integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== 42 | dependencies: 43 | safer-buffer "~2.1.0" 44 | 45 | assert-plus@1.0.0, assert-plus@^1.0.0: 46 | version "1.0.0" 47 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 48 | integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== 49 | 50 | asynckit@^0.4.0: 51 | version "0.4.0" 52 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 53 | integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== 54 | 55 | aws-sign2@~0.7.0: 56 | version "0.7.0" 57 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" 58 | integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== 59 | 60 | aws4@^1.8.0: 61 | version "1.11.0" 62 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" 63 | integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== 64 | 65 | bcrypt-pbkdf@^1.0.0: 66 | version "1.0.2" 67 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" 68 | integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== 69 | dependencies: 70 | tweetnacl "^0.14.3" 71 | 72 | bl@^1.2.1: 73 | version "1.2.3" 74 | resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7" 75 | integrity sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww== 76 | dependencies: 77 | readable-stream "^2.3.5" 78 | safe-buffer "^5.1.1" 79 | 80 | bluebird@^3.5.0, bluebird@^3.5.1: 81 | version "3.7.2" 82 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" 83 | integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== 84 | 85 | body-parser@1.20.0: 86 | version "1.20.0" 87 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5" 88 | integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg== 89 | dependencies: 90 | bytes "3.1.2" 91 | content-type "~1.0.4" 92 | debug "2.6.9" 93 | depd "2.0.0" 94 | destroy "1.2.0" 95 | http-errors "2.0.0" 96 | iconv-lite "0.4.24" 97 | on-finished "2.4.1" 98 | qs "6.10.3" 99 | raw-body "2.5.1" 100 | type-is "~1.6.18" 101 | unpipe "1.0.0" 102 | 103 | bytes@3.1.2: 104 | version "3.1.2" 105 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" 106 | integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== 107 | 108 | call-bind@^1.0.0, call-bind@^1.0.2: 109 | version "1.0.2" 110 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 111 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 112 | dependencies: 113 | function-bind "^1.1.1" 114 | get-intrinsic "^1.0.2" 115 | 116 | caseless@~0.12.0: 117 | version "0.12.0" 118 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 119 | integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== 120 | 121 | combined-stream@^1.0.6, combined-stream@~1.0.6: 122 | version "1.0.8" 123 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 124 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 125 | dependencies: 126 | delayed-stream "~1.0.0" 127 | 128 | content-disposition@0.5.4: 129 | version "0.5.4" 130 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" 131 | integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== 132 | dependencies: 133 | safe-buffer "5.2.1" 134 | 135 | content-type@~1.0.4: 136 | version "1.0.4" 137 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" 138 | integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== 139 | 140 | cookie-signature@1.0.6: 141 | version "1.0.6" 142 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" 143 | integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== 144 | 145 | cookie@0.5.0: 146 | version "0.5.0" 147 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" 148 | integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== 149 | 150 | core-util-is@1.0.2: 151 | version "1.0.2" 152 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 153 | integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== 154 | 155 | core-util-is@~1.0.0: 156 | version "1.0.3" 157 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" 158 | integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== 159 | 160 | dashdash@^1.12.0: 161 | version "1.14.1" 162 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 163 | integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== 164 | dependencies: 165 | assert-plus "^1.0.0" 166 | 167 | debug@2.6.9: 168 | version "2.6.9" 169 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 170 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 171 | dependencies: 172 | ms "2.0.0" 173 | 174 | debug@^3.1.0: 175 | version "3.2.7" 176 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" 177 | integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== 178 | dependencies: 179 | ms "^2.1.1" 180 | 181 | define-properties@^1.1.3, define-properties@^1.1.4: 182 | version "1.1.4" 183 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" 184 | integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== 185 | dependencies: 186 | has-property-descriptors "^1.0.0" 187 | object-keys "^1.1.1" 188 | 189 | delayed-stream@~1.0.0: 190 | version "1.0.0" 191 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 192 | integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== 193 | 194 | depd@2.0.0: 195 | version "2.0.0" 196 | resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" 197 | integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== 198 | 199 | depd@^1.1.1: 200 | version "1.1.2" 201 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" 202 | integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== 203 | 204 | destroy@1.2.0: 205 | version "1.2.0" 206 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" 207 | integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== 208 | 209 | dotenv@^16.0.1: 210 | version "16.0.1" 211 | resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.1.tgz#8f8f9d94876c35dac989876a5d3a82a267fdce1d" 212 | integrity sha512-1K6hR6wtk2FviQ4kEiSjFiH5rpzEVi8WW0x96aztHVMhEspNpc4DVOUTEHtEva5VThQ8IaBX1Pe4gSzpVVUsKQ== 213 | 214 | ecc-jsbn@~0.1.1: 215 | version "0.1.2" 216 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" 217 | integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== 218 | dependencies: 219 | jsbn "~0.1.0" 220 | safer-buffer "^2.1.0" 221 | 222 | ee-first@1.1.1: 223 | version "1.1.1" 224 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 225 | integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== 226 | 227 | encodeurl@~1.0.2: 228 | version "1.0.2" 229 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" 230 | integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== 231 | 232 | end-of-stream@^1.1.0: 233 | version "1.4.4" 234 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" 235 | integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== 236 | dependencies: 237 | once "^1.4.0" 238 | 239 | es-abstract@^1.19.0, es-abstract@^1.19.4, es-abstract@^1.19.5: 240 | version "1.20.1" 241 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.1.tgz#027292cd6ef44bd12b1913b828116f54787d1814" 242 | integrity sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA== 243 | dependencies: 244 | call-bind "^1.0.2" 245 | es-to-primitive "^1.2.1" 246 | function-bind "^1.1.1" 247 | function.prototype.name "^1.1.5" 248 | get-intrinsic "^1.1.1" 249 | get-symbol-description "^1.0.0" 250 | has "^1.0.3" 251 | has-property-descriptors "^1.0.0" 252 | has-symbols "^1.0.3" 253 | internal-slot "^1.0.3" 254 | is-callable "^1.2.4" 255 | is-negative-zero "^2.0.2" 256 | is-regex "^1.1.4" 257 | is-shared-array-buffer "^1.0.2" 258 | is-string "^1.0.7" 259 | is-weakref "^1.0.2" 260 | object-inspect "^1.12.0" 261 | object-keys "^1.1.1" 262 | object.assign "^4.1.2" 263 | regexp.prototype.flags "^1.4.3" 264 | string.prototype.trimend "^1.0.5" 265 | string.prototype.trimstart "^1.0.5" 266 | unbox-primitive "^1.0.2" 267 | 268 | es-shim-unscopables@^1.0.0: 269 | version "1.0.0" 270 | resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" 271 | integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== 272 | dependencies: 273 | has "^1.0.3" 274 | 275 | es-to-primitive@^1.2.1: 276 | version "1.2.1" 277 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" 278 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== 279 | dependencies: 280 | is-callable "^1.1.4" 281 | is-date-object "^1.0.1" 282 | is-symbol "^1.0.2" 283 | 284 | escape-html@~1.0.3: 285 | version "1.0.3" 286 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 287 | integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== 288 | 289 | etag@~1.8.1: 290 | version "1.8.1" 291 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 292 | integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== 293 | 294 | eventemitter3@^3.0.0: 295 | version "3.1.2" 296 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" 297 | integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== 298 | 299 | express@^4.16.2: 300 | version "4.18.1" 301 | resolved "https://registry.yarnpkg.com/express/-/express-4.18.1.tgz#7797de8b9c72c857b9cd0e14a5eea80666267caf" 302 | integrity sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q== 303 | dependencies: 304 | accepts "~1.3.8" 305 | array-flatten "1.1.1" 306 | body-parser "1.20.0" 307 | content-disposition "0.5.4" 308 | content-type "~1.0.4" 309 | cookie "0.5.0" 310 | cookie-signature "1.0.6" 311 | debug "2.6.9" 312 | depd "2.0.0" 313 | encodeurl "~1.0.2" 314 | escape-html "~1.0.3" 315 | etag "~1.8.1" 316 | finalhandler "1.2.0" 317 | fresh "0.5.2" 318 | http-errors "2.0.0" 319 | merge-descriptors "1.0.1" 320 | methods "~1.1.2" 321 | on-finished "2.4.1" 322 | parseurl "~1.3.3" 323 | path-to-regexp "0.1.7" 324 | proxy-addr "~2.0.7" 325 | qs "6.10.3" 326 | range-parser "~1.2.1" 327 | safe-buffer "5.2.1" 328 | send "0.18.0" 329 | serve-static "1.15.0" 330 | setprototypeof "1.2.0" 331 | statuses "2.0.1" 332 | type-is "~1.6.18" 333 | utils-merge "1.0.1" 334 | vary "~1.1.2" 335 | 336 | extend@~3.0.2: 337 | version "3.0.2" 338 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" 339 | integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== 340 | 341 | extsprintf@1.3.0: 342 | version "1.3.0" 343 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" 344 | integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== 345 | 346 | extsprintf@^1.2.0: 347 | version "1.4.1" 348 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" 349 | integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== 350 | 351 | fast-deep-equal@^3.1.1: 352 | version "3.1.3" 353 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 354 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 355 | 356 | fast-json-stable-stringify@^2.0.0: 357 | version "2.1.0" 358 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 359 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 360 | 361 | file-type@^3.9.0: 362 | version "3.9.0" 363 | resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" 364 | integrity sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA== 365 | 366 | finalhandler@1.2.0: 367 | version "1.2.0" 368 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" 369 | integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== 370 | dependencies: 371 | debug "2.6.9" 372 | encodeurl "~1.0.2" 373 | escape-html "~1.0.3" 374 | on-finished "2.4.1" 375 | parseurl "~1.3.3" 376 | statuses "2.0.1" 377 | unpipe "~1.0.0" 378 | 379 | forever-agent@~0.6.1: 380 | version "0.6.1" 381 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 382 | integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== 383 | 384 | form-data@~2.3.2: 385 | version "2.3.3" 386 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" 387 | integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== 388 | dependencies: 389 | asynckit "^0.4.0" 390 | combined-stream "^1.0.6" 391 | mime-types "^2.1.12" 392 | 393 | forwarded@0.2.0: 394 | version "0.2.0" 395 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" 396 | integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== 397 | 398 | fresh@0.5.2: 399 | version "0.5.2" 400 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" 401 | integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== 402 | 403 | function-bind@^1.1.1: 404 | version "1.1.1" 405 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 406 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 407 | 408 | function.prototype.name@^1.1.5: 409 | version "1.1.5" 410 | resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" 411 | integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== 412 | dependencies: 413 | call-bind "^1.0.2" 414 | define-properties "^1.1.3" 415 | es-abstract "^1.19.0" 416 | functions-have-names "^1.2.2" 417 | 418 | functions-have-names@^1.2.2: 419 | version "1.2.3" 420 | resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" 421 | integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== 422 | 423 | get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: 424 | version "1.1.2" 425 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598" 426 | integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA== 427 | dependencies: 428 | function-bind "^1.1.1" 429 | has "^1.0.3" 430 | has-symbols "^1.0.3" 431 | 432 | get-symbol-description@^1.0.0: 433 | version "1.0.0" 434 | resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" 435 | integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== 436 | dependencies: 437 | call-bind "^1.0.2" 438 | get-intrinsic "^1.1.1" 439 | 440 | getpass@^0.1.1: 441 | version "0.1.7" 442 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" 443 | integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== 444 | dependencies: 445 | assert-plus "^1.0.0" 446 | 447 | har-schema@^2.0.0: 448 | version "2.0.0" 449 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" 450 | integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q== 451 | 452 | har-validator@~5.1.3: 453 | version "5.1.5" 454 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" 455 | integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== 456 | dependencies: 457 | ajv "^6.12.3" 458 | har-schema "^2.0.0" 459 | 460 | has-bigints@^1.0.1, has-bigints@^1.0.2: 461 | version "1.0.2" 462 | resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" 463 | integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== 464 | 465 | has-property-descriptors@^1.0.0: 466 | version "1.0.0" 467 | resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" 468 | integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== 469 | dependencies: 470 | get-intrinsic "^1.1.1" 471 | 472 | has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: 473 | version "1.0.3" 474 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" 475 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== 476 | 477 | has-tostringtag@^1.0.0: 478 | version "1.0.0" 479 | resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" 480 | integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== 481 | dependencies: 482 | has-symbols "^1.0.2" 483 | 484 | has@^1.0.3: 485 | version "1.0.3" 486 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 487 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 488 | dependencies: 489 | function-bind "^1.1.1" 490 | 491 | http-errors@2.0.0: 492 | version "2.0.0" 493 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" 494 | integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== 495 | dependencies: 496 | depd "2.0.0" 497 | inherits "2.0.4" 498 | setprototypeof "1.2.0" 499 | statuses "2.0.1" 500 | toidentifier "1.0.1" 501 | 502 | http-signature@~1.2.0: 503 | version "1.2.0" 504 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" 505 | integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ== 506 | dependencies: 507 | assert-plus "^1.0.0" 508 | jsprim "^1.2.2" 509 | sshpk "^1.7.0" 510 | 511 | iconv-lite@0.4.24: 512 | version "0.4.24" 513 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 514 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 515 | dependencies: 516 | safer-buffer ">= 2.1.2 < 3" 517 | 518 | inherits@2.0.4, inherits@~2.0.3: 519 | version "2.0.4" 520 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 521 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 522 | 523 | internal-slot@^1.0.3: 524 | version "1.0.3" 525 | resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" 526 | integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== 527 | dependencies: 528 | get-intrinsic "^1.1.0" 529 | has "^1.0.3" 530 | side-channel "^1.0.4" 531 | 532 | ipaddr.js@1.9.1: 533 | version "1.9.1" 534 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" 535 | integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== 536 | 537 | is-bigint@^1.0.1: 538 | version "1.0.4" 539 | resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" 540 | integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== 541 | dependencies: 542 | has-bigints "^1.0.1" 543 | 544 | is-boolean-object@^1.1.0: 545 | version "1.1.2" 546 | resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" 547 | integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== 548 | dependencies: 549 | call-bind "^1.0.2" 550 | has-tostringtag "^1.0.0" 551 | 552 | is-callable@^1.1.4, is-callable@^1.2.4: 553 | version "1.2.4" 554 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" 555 | integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== 556 | 557 | is-date-object@^1.0.1: 558 | version "1.0.5" 559 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" 560 | integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== 561 | dependencies: 562 | has-tostringtag "^1.0.0" 563 | 564 | is-negative-zero@^2.0.2: 565 | version "2.0.2" 566 | resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" 567 | integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== 568 | 569 | is-number-object@^1.0.4: 570 | version "1.0.7" 571 | resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" 572 | integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== 573 | dependencies: 574 | has-tostringtag "^1.0.0" 575 | 576 | is-regex@^1.1.4: 577 | version "1.1.4" 578 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" 579 | integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== 580 | dependencies: 581 | call-bind "^1.0.2" 582 | has-tostringtag "^1.0.0" 583 | 584 | is-shared-array-buffer@^1.0.2: 585 | version "1.0.2" 586 | resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" 587 | integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== 588 | dependencies: 589 | call-bind "^1.0.2" 590 | 591 | is-string@^1.0.5, is-string@^1.0.7: 592 | version "1.0.7" 593 | resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" 594 | integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== 595 | dependencies: 596 | has-tostringtag "^1.0.0" 597 | 598 | is-symbol@^1.0.2, is-symbol@^1.0.3: 599 | version "1.0.4" 600 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" 601 | integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== 602 | dependencies: 603 | has-symbols "^1.0.2" 604 | 605 | is-typedarray@~1.0.0: 606 | version "1.0.0" 607 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 608 | integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== 609 | 610 | is-weakref@^1.0.2: 611 | version "1.0.2" 612 | resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" 613 | integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== 614 | dependencies: 615 | call-bind "^1.0.2" 616 | 617 | isarray@~1.0.0: 618 | version "1.0.0" 619 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 620 | integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== 621 | 622 | isstream@~0.1.2: 623 | version "0.1.2" 624 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 625 | integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== 626 | 627 | jsbn@~0.1.0: 628 | version "0.1.1" 629 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 630 | integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== 631 | 632 | json-schema-traverse@^0.4.1: 633 | version "0.4.1" 634 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 635 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 636 | 637 | json-schema@0.4.0: 638 | version "0.4.0" 639 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" 640 | integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== 641 | 642 | json-stringify-safe@~5.0.1: 643 | version "5.0.1" 644 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 645 | integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== 646 | 647 | jsprim@^1.2.2: 648 | version "1.4.2" 649 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" 650 | integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== 651 | dependencies: 652 | assert-plus "1.0.0" 653 | extsprintf "1.3.0" 654 | json-schema "0.4.0" 655 | verror "1.10.0" 656 | 657 | lodash@^4.17.19: 658 | version "4.17.21" 659 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 660 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 661 | 662 | media-typer@0.3.0: 663 | version "0.3.0" 664 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" 665 | integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== 666 | 667 | merge-descriptors@1.0.1: 668 | version "1.0.1" 669 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" 670 | integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== 671 | 672 | methods@~1.1.2: 673 | version "1.1.2" 674 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" 675 | integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== 676 | 677 | mime-db@1.52.0: 678 | version "1.52.0" 679 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" 680 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 681 | 682 | mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: 683 | version "2.1.35" 684 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" 685 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 686 | dependencies: 687 | mime-db "1.52.0" 688 | 689 | mime@1.6.0, mime@^1.6.0: 690 | version "1.6.0" 691 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 692 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== 693 | 694 | ms@2.0.0: 695 | version "2.0.0" 696 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 697 | integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== 698 | 699 | ms@2.1.3, ms@^2.1.1: 700 | version "2.1.3" 701 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 702 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 703 | 704 | negotiator@0.6.3: 705 | version "0.6.3" 706 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" 707 | integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== 708 | 709 | node-telegram-bot-api@^0.30.0: 710 | version "0.30.0" 711 | resolved "https://registry.yarnpkg.com/node-telegram-bot-api/-/node-telegram-bot-api-0.30.0.tgz#17541935f2a56382d8ef7f91d9e544b530be717c" 712 | integrity sha512-+EeM+fe3Xt81KIPqN3L6s6eK+FK4QaqyDcwCwkY/jqsleERXwwjGlVbf4lJCOZ0uJuF5PfqTmvVNtua7AZfBXg== 713 | dependencies: 714 | array.prototype.findindex "^2.0.2" 715 | bl "^1.2.1" 716 | bluebird "^3.5.1" 717 | debug "^3.1.0" 718 | depd "^1.1.1" 719 | eventemitter3 "^3.0.0" 720 | file-type "^3.9.0" 721 | mime "^1.6.0" 722 | pump "^2.0.0" 723 | request "^2.83.0" 724 | request-promise "^4.2.2" 725 | 726 | oauth-sign@~0.9.0: 727 | version "0.9.0" 728 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" 729 | integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== 730 | 731 | object-inspect@^1.12.0, object-inspect@^1.9.0: 732 | version "1.12.2" 733 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" 734 | integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== 735 | 736 | object-keys@^1.1.1: 737 | version "1.1.1" 738 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 739 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 740 | 741 | object.assign@^4.1.2: 742 | version "4.1.2" 743 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" 744 | integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== 745 | dependencies: 746 | call-bind "^1.0.0" 747 | define-properties "^1.1.3" 748 | has-symbols "^1.0.1" 749 | object-keys "^1.1.1" 750 | 751 | on-finished@2.4.1: 752 | version "2.4.1" 753 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" 754 | integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== 755 | dependencies: 756 | ee-first "1.1.1" 757 | 758 | once@^1.3.1, once@^1.4.0: 759 | version "1.4.0" 760 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 761 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 762 | dependencies: 763 | wrappy "1" 764 | 765 | parseurl@~1.3.3: 766 | version "1.3.3" 767 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" 768 | integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== 769 | 770 | path-to-regexp@0.1.7: 771 | version "0.1.7" 772 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" 773 | integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== 774 | 775 | performance-now@^2.1.0: 776 | version "2.1.0" 777 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" 778 | integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== 779 | 780 | process-nextick-args@~2.0.0: 781 | version "2.0.1" 782 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" 783 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== 784 | 785 | proxy-addr@~2.0.7: 786 | version "2.0.7" 787 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" 788 | integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== 789 | dependencies: 790 | forwarded "0.2.0" 791 | ipaddr.js "1.9.1" 792 | 793 | psl@^1.1.28: 794 | version "1.9.0" 795 | resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" 796 | integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== 797 | 798 | pump@^2.0.0: 799 | version "2.0.1" 800 | resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" 801 | integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== 802 | dependencies: 803 | end-of-stream "^1.1.0" 804 | once "^1.3.1" 805 | 806 | punycode@^2.1.0, punycode@^2.1.1: 807 | version "2.1.1" 808 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 809 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 810 | 811 | qs@6.10.3: 812 | version "6.10.3" 813 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e" 814 | integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ== 815 | dependencies: 816 | side-channel "^1.0.4" 817 | 818 | qs@~6.5.2: 819 | version "6.5.3" 820 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" 821 | integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== 822 | 823 | range-parser@~1.2.1: 824 | version "1.2.1" 825 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" 826 | integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== 827 | 828 | raw-body@2.5.1: 829 | version "2.5.1" 830 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" 831 | integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== 832 | dependencies: 833 | bytes "3.1.2" 834 | http-errors "2.0.0" 835 | iconv-lite "0.4.24" 836 | unpipe "1.0.0" 837 | 838 | readable-stream@^2.3.5: 839 | version "2.3.7" 840 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" 841 | integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== 842 | dependencies: 843 | core-util-is "~1.0.0" 844 | inherits "~2.0.3" 845 | isarray "~1.0.0" 846 | process-nextick-args "~2.0.0" 847 | safe-buffer "~5.1.1" 848 | string_decoder "~1.1.1" 849 | util-deprecate "~1.0.1" 850 | 851 | regexp.prototype.flags@^1.4.3: 852 | version "1.4.3" 853 | resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" 854 | integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== 855 | dependencies: 856 | call-bind "^1.0.2" 857 | define-properties "^1.1.3" 858 | functions-have-names "^1.2.2" 859 | 860 | request-promise-core@1.1.4: 861 | version "1.1.4" 862 | resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" 863 | integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== 864 | dependencies: 865 | lodash "^4.17.19" 866 | 867 | request-promise@^4.2.2: 868 | version "4.2.6" 869 | resolved "https://registry.yarnpkg.com/request-promise/-/request-promise-4.2.6.tgz#7e7e5b9578630e6f598e3813c0f8eb342a27f0a2" 870 | integrity sha512-HCHI3DJJUakkOr8fNoCc73E5nU5bqITjOYFMDrKHYOXWXrgD/SBaC7LjwuPymUprRyuF06UK7hd/lMHkmUXglQ== 871 | dependencies: 872 | bluebird "^3.5.0" 873 | request-promise-core "1.1.4" 874 | stealthy-require "^1.1.1" 875 | tough-cookie "^2.3.3" 876 | 877 | request@^2.83.0: 878 | version "2.88.2" 879 | resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" 880 | integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== 881 | dependencies: 882 | aws-sign2 "~0.7.0" 883 | aws4 "^1.8.0" 884 | caseless "~0.12.0" 885 | combined-stream "~1.0.6" 886 | extend "~3.0.2" 887 | forever-agent "~0.6.1" 888 | form-data "~2.3.2" 889 | har-validator "~5.1.3" 890 | http-signature "~1.2.0" 891 | is-typedarray "~1.0.0" 892 | isstream "~0.1.2" 893 | json-stringify-safe "~5.0.1" 894 | mime-types "~2.1.19" 895 | oauth-sign "~0.9.0" 896 | performance-now "^2.1.0" 897 | qs "~6.5.2" 898 | safe-buffer "^5.1.2" 899 | tough-cookie "~2.5.0" 900 | tunnel-agent "^0.6.0" 901 | uuid "^3.3.2" 902 | 903 | safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@^5.1.2: 904 | version "5.2.1" 905 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 906 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 907 | 908 | safe-buffer@~5.1.0, safe-buffer@~5.1.1: 909 | version "5.1.2" 910 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 911 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 912 | 913 | "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: 914 | version "2.1.2" 915 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 916 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 917 | 918 | send@0.18.0: 919 | version "0.18.0" 920 | resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" 921 | integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== 922 | dependencies: 923 | debug "2.6.9" 924 | depd "2.0.0" 925 | destroy "1.2.0" 926 | encodeurl "~1.0.2" 927 | escape-html "~1.0.3" 928 | etag "~1.8.1" 929 | fresh "0.5.2" 930 | http-errors "2.0.0" 931 | mime "1.6.0" 932 | ms "2.1.3" 933 | on-finished "2.4.1" 934 | range-parser "~1.2.1" 935 | statuses "2.0.1" 936 | 937 | serve-static@1.15.0: 938 | version "1.15.0" 939 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" 940 | integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== 941 | dependencies: 942 | encodeurl "~1.0.2" 943 | escape-html "~1.0.3" 944 | parseurl "~1.3.3" 945 | send "0.18.0" 946 | 947 | setprototypeof@1.2.0: 948 | version "1.2.0" 949 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" 950 | integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== 951 | 952 | side-channel@^1.0.4: 953 | version "1.0.4" 954 | resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" 955 | integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== 956 | dependencies: 957 | call-bind "^1.0.0" 958 | get-intrinsic "^1.0.2" 959 | object-inspect "^1.9.0" 960 | 961 | sshpk@^1.7.0: 962 | version "1.17.0" 963 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" 964 | integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== 965 | dependencies: 966 | asn1 "~0.2.3" 967 | assert-plus "^1.0.0" 968 | bcrypt-pbkdf "^1.0.0" 969 | dashdash "^1.12.0" 970 | ecc-jsbn "~0.1.1" 971 | getpass "^0.1.1" 972 | jsbn "~0.1.0" 973 | safer-buffer "^2.0.2" 974 | tweetnacl "~0.14.0" 975 | 976 | statuses@2.0.1: 977 | version "2.0.1" 978 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" 979 | integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== 980 | 981 | stealthy-require@^1.1.1: 982 | version "1.1.1" 983 | resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" 984 | integrity sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g== 985 | 986 | string.prototype.trimend@^1.0.5: 987 | version "1.0.5" 988 | resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz#914a65baaab25fbdd4ee291ca7dde57e869cb8d0" 989 | integrity sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog== 990 | dependencies: 991 | call-bind "^1.0.2" 992 | define-properties "^1.1.4" 993 | es-abstract "^1.19.5" 994 | 995 | string.prototype.trimstart@^1.0.5: 996 | version "1.0.5" 997 | resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz#5466d93ba58cfa2134839f81d7f42437e8c01fef" 998 | integrity sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg== 999 | dependencies: 1000 | call-bind "^1.0.2" 1001 | define-properties "^1.1.4" 1002 | es-abstract "^1.19.5" 1003 | 1004 | string_decoder@~1.1.1: 1005 | version "1.1.1" 1006 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 1007 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 1008 | dependencies: 1009 | safe-buffer "~5.1.0" 1010 | 1011 | toidentifier@1.0.1: 1012 | version "1.0.1" 1013 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" 1014 | integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== 1015 | 1016 | tough-cookie@^2.3.3, tough-cookie@~2.5.0: 1017 | version "2.5.0" 1018 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" 1019 | integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== 1020 | dependencies: 1021 | psl "^1.1.28" 1022 | punycode "^2.1.1" 1023 | 1024 | tunnel-agent@^0.6.0: 1025 | version "0.6.0" 1026 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 1027 | integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== 1028 | dependencies: 1029 | safe-buffer "^5.0.1" 1030 | 1031 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 1032 | version "0.14.5" 1033 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 1034 | integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== 1035 | 1036 | type-is@~1.6.18: 1037 | version "1.6.18" 1038 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" 1039 | integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== 1040 | dependencies: 1041 | media-typer "0.3.0" 1042 | mime-types "~2.1.24" 1043 | 1044 | unbox-primitive@^1.0.2: 1045 | version "1.0.2" 1046 | resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" 1047 | integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== 1048 | dependencies: 1049 | call-bind "^1.0.2" 1050 | has-bigints "^1.0.2" 1051 | has-symbols "^1.0.3" 1052 | which-boxed-primitive "^1.0.2" 1053 | 1054 | unpipe@1.0.0, unpipe@~1.0.0: 1055 | version "1.0.0" 1056 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" 1057 | integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== 1058 | 1059 | uri-js@^4.2.2: 1060 | version "4.4.1" 1061 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" 1062 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== 1063 | dependencies: 1064 | punycode "^2.1.0" 1065 | 1066 | util-deprecate@~1.0.1: 1067 | version "1.0.2" 1068 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 1069 | integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== 1070 | 1071 | utils-merge@1.0.1: 1072 | version "1.0.1" 1073 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" 1074 | integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== 1075 | 1076 | uuid@^3.3.2: 1077 | version "3.4.0" 1078 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" 1079 | integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== 1080 | 1081 | vary@~1.1.2: 1082 | version "1.1.2" 1083 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" 1084 | integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== 1085 | 1086 | verror@1.10.0: 1087 | version "1.10.0" 1088 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" 1089 | integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== 1090 | dependencies: 1091 | assert-plus "^1.0.0" 1092 | core-util-is "1.0.2" 1093 | extsprintf "^1.2.0" 1094 | 1095 | which-boxed-primitive@^1.0.2: 1096 | version "1.0.2" 1097 | resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" 1098 | integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== 1099 | dependencies: 1100 | is-bigint "^1.0.1" 1101 | is-boolean-object "^1.1.0" 1102 | is-number-object "^1.0.4" 1103 | is-string "^1.0.5" 1104 | is-symbol "^1.0.3" 1105 | 1106 | wrappy@1: 1107 | version "1.0.2" 1108 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1109 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 1110 | --------------------------------------------------------------------------------