From b7b3dd82572381a06e757c2adddd0fea6c842c05 Mon Sep 17 00:00:00 2001 From: otaku Date: Sun, 14 Jun 2020 16:06:20 -0400 Subject: [PATCH 01/54] 2.0.0-alpha.0 - First public release of 2.0.x series. --- .browserslistrc | 3 + .eslintrc.js | 14 + .gitignore | 25 +- Dockerfile | 2 + README.md | 289 +- app.js | 386 - babel.config.js | 3 + backend/app.js | 498 + backend/public/index.html | 10 + config/default.json | 5 - config/local.json.EXAMPLE | 7 - package-lock.json | 13705 +++++++++++++++- package.json | 51 +- public/css/library.css | 150 - public/css/nowplaying.css | 323 - public/css/site.css | 231 +- public/favicon.ico | Bin 0 -> 4286 bytes public/favicons/android-icon-144x144.png | Bin 10070 -> 0 bytes public/favicons/android-icon-192x192.png | Bin 15440 -> 0 bytes public/favicons/android-icon-36x36.png | Bin 1995 -> 0 bytes public/favicons/android-icon-48x48.png | Bin 2685 -> 0 bytes public/favicons/android-icon-72x72.png | Bin 3975 -> 0 bytes public/favicons/android-icon-96x96.png | Bin 5765 -> 0 bytes public/favicons/apple-icon-114x114.png | Bin 7328 -> 0 bytes public/favicons/apple-icon-120x120.png | Bin 7799 -> 0 bytes public/favicons/apple-icon-144x144.png | Bin 10070 -> 0 bytes public/favicons/apple-icon-152x152.png | Bin 10894 -> 0 bytes public/favicons/apple-icon-180x180.png | Bin 14479 -> 0 bytes public/favicons/apple-icon-57x57.png | Bin 3105 -> 0 bytes public/favicons/apple-icon-60x60.png | Bin 3295 -> 0 bytes public/favicons/apple-icon-72x72.png | Bin 3975 -> 0 bytes public/favicons/apple-icon-76x76.png | Bin 4262 -> 0 bytes public/favicons/apple-icon-precomposed.png | Bin 16014 -> 0 bytes public/favicons/apple-icon.png | Bin 16014 -> 0 bytes public/favicons/browserconfig.xml | 2 - public/favicons/favicon-16x16.png | Bin 1350 -> 0 bytes public/favicons/favicon-32x32.png | Bin 1803 -> 0 bytes public/favicons/favicon-96x96.png | Bin 5765 -> 0 bytes public/favicons/favicon.ico | Bin 1150 -> 0 bytes public/favicons/manifest.json | 45 - public/favicons/ms-icon-144x144.png | Bin 10070 -> 0 bytes public/favicons/ms-icon-150x150.png | Bin 10703 -> 0 bytes public/favicons/ms-icon-310x310.png | Bin 29928 -> 0 bytes public/favicons/ms-icon-70x70.png | Bin 3891 -> 0 bytes public/fullscreen.html | 127 - public/img/icons/android-chrome-192x192.png | Bin 0 -> 9416 bytes public/img/icons/android-chrome-512x512.png | Bin 0 -> 29808 bytes .../icons/android-chrome-maskable-192x192.png | Bin 0 -> 6401 bytes .../icons/android-chrome-maskable-512x512.png | Bin 0 -> 23038 bytes public/img/icons/apple-touch-icon-120x120.png | Bin 0 -> 3369 bytes public/img/icons/apple-touch-icon-152x152.png | Bin 0 -> 4046 bytes public/img/icons/apple-touch-icon-180x180.png | Bin 0 -> 4678 bytes public/img/icons/apple-touch-icon-60x60.png | Bin 0 -> 1491 bytes public/img/icons/apple-touch-icon-76x76.png | Bin 0 -> 1823 bytes public/img/icons/apple-touch-icon.png | Bin 0 -> 4678 bytes public/img/icons/favicon-16x16.png | Bin 0 -> 799 bytes public/img/icons/favicon-32x32.png | Bin 0 -> 1271 bytes .../img/icons/msapplication-icon-144x144.png | Bin 0 -> 1169 bytes public/img/icons/mstile-150x150.png | Bin 0 -> 4282 bytes public/img/icons/safari-pinned-tab.svg | 3 + public/img/transparent.png | Bin 167 -> 0 bytes public/index.html | 18 + public/js/NoSleep.min.js | 2 - public/js/color-thief.js | 657 - public/js/fullscreen.js | 62 - public/js/jquery.simplemarquee.js | 355 - public/js/library.js | 344 - public/js/nowplaying.js | 923 -- public/library.html | 86 - public/nowplaying.html | 277 - public/robots.txt | 2 + public/side-by-side.html | 65 - src/App.vue | 42 + src/components/SvgSpriteMediaControls.vue | 25 + src/components/SvgSpriteMiscIcons.vue | 116 + .../TouchscreenBackgroundCoverArt.vue | 61 + .../TouchscreenControlsLibraryNav.vue | 25 + src/components/TouchscreenControlsMedia.vue | 61 + .../TouchscreenControlsOverlays.vue | 25 + .../TouchscreenControlsPlaySettings.vue | 22 + src/components/TouchscreenControlsViews.vue | 50 + src/components/TouchscreenLibraryItem.vue | 42 + .../TouchscreenLibraryItemSearch.vue | 54 + src/components/TouchscreenLibraryPager.vue | 79 + src/components/TouchscreenOverlaySettings.vue | 30 + src/components/TouchscreenOverlayVolume.vue | 30 + .../TouchscreenOverlayZoneSelect.vue | 81 + src/components/globals/ButtonLibraryNav.vue | 24 + .../globals/ButtonOverlayToggle.vue | 26 + src/components/globals/ButtonPlayCommand.vue | 24 + src/components/globals/ButtonPlaySetting.vue | 48 + src/components/globals/FormLibrarySearch.vue | 48 + src/components/globals/ImageCover.vue | 35 + src/components/globals/ImageList.vue | 40 + src/components/globals/globals.js | 24 + src/layouts/SelectLayout.vue | 56 + src/layouts/Touchscreen.vue | 278 + src/main.js | 62 + src/registerServiceWorker.js | 34 + src/router/index.js | 37 + src/store/index.js | 191 + src/views/TouchscreenLibrary.vue | 152 + src/views/TouchscreenNowPlaying.vue | 229 + src/views/TouchscreenQueue.vue | 127 + vue.config.js | 7 + 105 files changed, 15861 insertions(+), 4994 deletions(-) create mode 100644 .browserslistrc create mode 100644 .eslintrc.js create mode 100644 Dockerfile delete mode 100644 app.js create mode 100644 babel.config.js create mode 100644 backend/app.js create mode 100644 backend/public/index.html delete mode 100644 config/default.json delete mode 100644 config/local.json.EXAMPLE delete mode 100644 public/css/library.css delete mode 100644 public/css/nowplaying.css create mode 100644 public/favicon.ico delete mode 100644 public/favicons/android-icon-144x144.png delete mode 100644 public/favicons/android-icon-192x192.png delete mode 100644 public/favicons/android-icon-36x36.png delete mode 100644 public/favicons/android-icon-48x48.png delete mode 100644 public/favicons/android-icon-72x72.png delete mode 100644 public/favicons/android-icon-96x96.png delete mode 100644 public/favicons/apple-icon-114x114.png delete mode 100644 public/favicons/apple-icon-120x120.png delete mode 100644 public/favicons/apple-icon-144x144.png delete mode 100644 public/favicons/apple-icon-152x152.png delete mode 100644 public/favicons/apple-icon-180x180.png delete mode 100644 public/favicons/apple-icon-57x57.png delete mode 100644 public/favicons/apple-icon-60x60.png delete mode 100644 public/favicons/apple-icon-72x72.png delete mode 100644 public/favicons/apple-icon-76x76.png delete mode 100644 public/favicons/apple-icon-precomposed.png delete mode 100644 public/favicons/apple-icon.png delete mode 100644 public/favicons/browserconfig.xml delete mode 100644 public/favicons/favicon-16x16.png delete mode 100644 public/favicons/favicon-32x32.png delete mode 100644 public/favicons/favicon-96x96.png delete mode 100644 public/favicons/favicon.ico delete mode 100644 public/favicons/manifest.json delete mode 100644 public/favicons/ms-icon-144x144.png delete mode 100644 public/favicons/ms-icon-150x150.png delete mode 100644 public/favicons/ms-icon-310x310.png delete mode 100644 public/favicons/ms-icon-70x70.png delete mode 100644 public/fullscreen.html create mode 100644 public/img/icons/android-chrome-192x192.png create mode 100644 public/img/icons/android-chrome-512x512.png create mode 100644 public/img/icons/android-chrome-maskable-192x192.png create mode 100644 public/img/icons/android-chrome-maskable-512x512.png create mode 100644 public/img/icons/apple-touch-icon-120x120.png create mode 100644 public/img/icons/apple-touch-icon-152x152.png create mode 100644 public/img/icons/apple-touch-icon-180x180.png create mode 100644 public/img/icons/apple-touch-icon-60x60.png create mode 100644 public/img/icons/apple-touch-icon-76x76.png create mode 100644 public/img/icons/apple-touch-icon.png create mode 100644 public/img/icons/favicon-16x16.png create mode 100644 public/img/icons/favicon-32x32.png create mode 100644 public/img/icons/msapplication-icon-144x144.png create mode 100644 public/img/icons/mstile-150x150.png create mode 100644 public/img/icons/safari-pinned-tab.svg delete mode 100644 public/img/transparent.png create mode 100644 public/index.html delete mode 100644 public/js/NoSleep.min.js delete mode 100644 public/js/color-thief.js delete mode 100644 public/js/fullscreen.js delete mode 100644 public/js/jquery.simplemarquee.js delete mode 100644 public/js/library.js delete mode 100644 public/js/nowplaying.js delete mode 100644 public/library.html delete mode 100644 public/nowplaying.html create mode 100644 public/robots.txt delete mode 100644 public/side-by-side.html create mode 100644 src/App.vue create mode 100644 src/components/SvgSpriteMediaControls.vue create mode 100644 src/components/SvgSpriteMiscIcons.vue create mode 100644 src/components/TouchscreenBackgroundCoverArt.vue create mode 100644 src/components/TouchscreenControlsLibraryNav.vue create mode 100644 src/components/TouchscreenControlsMedia.vue create mode 100644 src/components/TouchscreenControlsOverlays.vue create mode 100644 src/components/TouchscreenControlsPlaySettings.vue create mode 100644 src/components/TouchscreenControlsViews.vue create mode 100644 src/components/TouchscreenLibraryItem.vue create mode 100644 src/components/TouchscreenLibraryItemSearch.vue create mode 100644 src/components/TouchscreenLibraryPager.vue create mode 100644 src/components/TouchscreenOverlaySettings.vue create mode 100644 src/components/TouchscreenOverlayVolume.vue create mode 100644 src/components/TouchscreenOverlayZoneSelect.vue create mode 100644 src/components/globals/ButtonLibraryNav.vue create mode 100644 src/components/globals/ButtonOverlayToggle.vue create mode 100644 src/components/globals/ButtonPlayCommand.vue create mode 100644 src/components/globals/ButtonPlaySetting.vue create mode 100644 src/components/globals/FormLibrarySearch.vue create mode 100644 src/components/globals/ImageCover.vue create mode 100644 src/components/globals/ImageList.vue create mode 100644 src/components/globals/globals.js create mode 100644 src/layouts/SelectLayout.vue create mode 100644 src/layouts/Touchscreen.vue create mode 100644 src/main.js create mode 100644 src/registerServiceWorker.js create mode 100644 src/router/index.js create mode 100644 src/store/index.js create mode 100644 src/views/TouchscreenLibrary.vue create mode 100644 src/views/TouchscreenNowPlaying.vue create mode 100644 src/views/TouchscreenQueue.vue create mode 100644 vue.config.js diff --git a/.browserslistrc b/.browserslistrc new file mode 100644 index 0000000..214388f --- /dev/null +++ b/.browserslistrc @@ -0,0 +1,3 @@ +> 1% +last 2 versions +not dead diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..37e04a1 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,14 @@ +module.exports = { + root: true, + env: { + node: true, + }, + extends: ["plugin:vue/essential", "eslint:recommended", "@vue/prettier"], + parserOptions: { + parser: "babel-eslint", + }, + rules: { + "no-console": process.env.NODE_ENV === "production" ? "warn" : "off", + "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off", + }, +}; diff --git a/.gitignore b/.gitignore index 73fd6a9..a32e8a9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,23 @@ -# Dependency directory +.DS_Store node_modules +/dist +/backend/config.json -# Roon Core configuration file -config.json +# local env files +.env.local +.env.*.local -# Local server configuration file -config/local.json +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..b49db56 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,2 @@ +# for npm install to production: +# npm install --only=production diff --git a/README.md b/README.md index c581c9f..7f4444e 100644 --- a/README.md +++ b/README.md @@ -1,212 +1,77 @@ -# Roon Web Controller 1.2.13 - -This is an extension for the Roon music player that provides a web based remote. - -NOTE: this is the final release of the 1.x series. - -## New features - -Security -- updated dependencies for security issues. - -See the [CHANGELOG.md](CHANGELOG.md) for complete list of changes - -### Upgrade notes - -The package dependencies have been updated to the latest versions. It is recommended to perform an update. - -If you followed the [Diet Pi installation](https://github.com/pluggemi/roon-web-controller/wiki/Diet-Pi-Installation) guide, follow these [update instructions](https://github.com/pluggemi/roon-web-controller/wiki/Diet-Pi-Installation#updating-the-web-controller-software) - -Otherwise, on the Node.js server: - -1. Stop the extension -1. Run `git pull` -1. Run `npm install` -1. Run `npm update` -1. Start the extension - -## Screenshots - -### Dark Theme - -![Dark Theme](https://raw.githubusercontent.com/pluggemi/project-screenshots/master/roon-web-controller/dark-Portrait.png) -![Dark Theme](https://raw.githubusercontent.com/pluggemi/project-screenshots/master/roon-web-controller/dark-Landscape.png) - -Album Credit: [Julia Kent, Asperities](http://music.juliakent.com/album/asperities) - -### Cover Art Theme - -![Cover Art Theme](https://raw.githubusercontent.com/pluggemi/project-screenshots/master/roon-web-controller/cover-Portrait.png) -![Cover Art Theme](https://raw.githubusercontent.com/pluggemi/project-screenshots/master/roon-web-controller/cover-Landscape.png) - -Album Credit: [Beats Antique, Blind Threshold](https://beatsantique.bandcamp.com/album/blind-threshold) - -### Dominant Color Theme - -The icons and text in this theme automatically adjust to show light or dark depending on which would be more readable. -![Dominant Color Theme](https://raw.githubusercontent.com/pluggemi/project-screenshots/master/roon-web-controller/color-Portrait.png) -![Dominant Color Theme](https://raw.githubusercontent.com/pluggemi/project-screenshots/master/roon-web-controller/color-Landscape.png) - -Album Credit: [Carbon Based Lifeforms, Twentythree](https://carbonbasedlifeforms.bandcamp.com/album/twentythree) - -### Library Browser - Home Screen - -![Library - Home](https://raw.githubusercontent.com/pluggemi/project-screenshots/master/roon-web-controller/library-Portrait-home.png) -![Library - Home](https://raw.githubusercontent.com/pluggemi/project-screenshots/master/roon-web-controller/library-Landscape-home.png) - -### Library Browser - Artist Screen - -![Library - Artist](https://raw.githubusercontent.com/pluggemi/project-screenshots/master/roon-web-controller/library-Portrait-artist.png) -![Library - Artist](https://raw.githubusercontent.com/pluggemi/project-screenshots/master/roon-web-controller/library-Landscape-artist.png) - -### Library Browser - Album Screen - -![Library - Album](https://raw.githubusercontent.com/pluggemi/project-screenshots/master/roon-web-controller/library-Portrait-album.png) -![Library - Album](https://raw.githubusercontent.com/pluggemi/project-screenshots/master/roon-web-controller/library-Landscape-album.png) - -## Installation - -Ensure that Node.js version 6.x or higher is installed. - -Grab the software: - -- Via git (preferred): `git clone https://github.com/pluggemi/roon-web-controller.git` -- Or download and extract the zip file. - -Change directory into the software: -`cd roon-web-controller` - -Install the Node.js modules -`npm install` - -Run the application: -`node app.js` - -On an existing Roon client, go to "Settings" then "Extensions". Click "Enable" beside "Web Controller". - -Open a web browser to your server at either "http://localhost:8080" or "http://(IP of Device):8080". - -### Firewall ports - -Many operating systems now have a firewall enabled by default. Make sure that the port that this is running is open on the firewall. By default, this is TCP port 8080. But this can be changed with the configuration file or command line options below. - -### (Optional) Local configuration file - -Simply copy `config/local.json.EXAMPLE` to `config/local.json` and edit `config/local.json` as needed. - -- `config/local.json` is not tracked by `git`, so it will not be clobbered with updates -- `config/local.json.EXAMPLE` is tracked by `git` and will be updated in the future as new options are available - -Content of `config/local.json.EXAMPLE` - -``` -// Copy this file to "local.json" and change the port as desired. -{ - "server": { - "port": "1234" - } -} -``` - -### (Optional) Command Line Options - -This is the output `node app.js -h` which shows usage of the command line options. - -``` -Roon Web Controller - - A web based controller for the Roon Media System. - - Usage: node app.js - -Options - - -h, --help Display this usage guide. - -p, --port number Specify the port the server listens on. - - Project home: https://github.com/pluggemi/roon-web-controller -``` - -### (Optional) Sample systemd unit file - -[systemd](https://www.freedesktop.org/wiki/Software/systemd/) is the init system used by modern Linux systems. Here is a sample systemd unit file which can be used to automatically start this application at Linux system boot time. - -``` -[Unit] -Description=NodeJS app - Roon Web Controller -After=network.target - -[Service] -User=node -WorkingDirectory=/srv/node/roon-web-controller -ExecStart=/usr/bin/node app.js - -[Install] -WantedBy=multi-user.target -``` - -#### Usage - -To use this unit file: - -- Save this template to a file called `roon-web-controller.service` -- Edit the `user` field to be the user running the application -- Edit the `WorkingDirectory` field to be the location where the application is installed (**NOTE**: the `user` must have read and write access to this location!) -- Using either `sudo` or as `root`, copy the edited `roon-web-controller.service` file to `/usr/lib/systemd/system` -- Reload systemd: `sudo systemctl daemon-reload` -- Start the application: `sudo systemctl start roon-web-controller.service` -- Enable the application at boot up: `sudo systemctl enable roon-web-controller.service` - -You can monitor the output of this application using `journalctl`. - -- To show the application output: `sudo journalctl -u roon-web-controller` -- To follow the application output: `sudo journalctl -f -u roon-web-controller` - -**NOTE:** -Some Linux distributions - including [DietPi](http://dietpi.com/) and [Software Collections](http://www.softwarecollections.org/) (addon repository for Red Hat, Centos, and Fedora) - install the Node.js binaries in a different location. You can find the executable by running `which node`. Adjust the `ExecStart` line accordingly. - -Here is a list of common locations: - -- `/usr/bin/node` -- `/usr/local/bin/node` -- `/opt/rh/rh-nodejs6/root/usr/bin/node` -- `/opt/rh/rh-nodejs8/root/usr/bin/node` - -## Credits - -In addition to those packages installed via npm, this project uses: - -- [jquery.simplemarquee.js](https://github.com/IndigoUnited/jquery.simplemarquee) to automatically scroll the long text -- Color palette from the KDE Visual Design Group [Human Interface Guidelines](https://community.kde.org/KDE_Visual_Design_Group/HIG/Color) -- Icons from [Material Design Icons](https://materialdesignicons.com/) -- [Color Thief](https://github.com/lokesh/color-thief) to calculate the dominant color of the album art - -Thanks go to [st0g1e](https://github.com/st0g1e) for doing one of the first [web clients](https://github.com/st0g1e/roon-extension-ws-player) for the Roon API. - -Thanks go to [jcharr1](https://github.com/jcharr1) for suggesting and doing the initial implementation of OS native song notifications. - -And of course thanks go to [Roon Labs](https://roonlabs.com/) for making the music player and the [APIs](https://github.com/RoonLabs). - -## License - -# The MIT License (MIT) - -Copyright (c) 2019 Mike Plugge - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +# Roon Web Controller ALPHA + +NOTE: This is alpha software. There is missing functionality. + +## What works +- Touchscreen layout +- Library functionality +- Now Playing functionality +- Queue display +- Zone selection overlay +- Loop, Shuffle, and Radio controls on the Queue page + +## What does not work +- Volume overlay is empty, no volume controls +- Settings overlay is empty, no settings controls +- Queue "Play from Here" is not functional +- Track seek controls + +## TODO - 2.0.0 +- App global: Screen reader layout +- App global: Change favicons from default Vue icons to Roon Web Controller icons +- App global: enable Service Worker, configure app manifest colors and icons +- App global: Desktop notifications +- App global: Keyboard shortcuts +- UI: Now Playing: Track seek controls +- UI: Now Playing: Clock +- UI: Queue: "play from here" +- UI: Touchscreen Global: Volume overlay +- UI: Touchscreen Global:Settings overlay +- UI: Settings Overlay: Save settings, including current zone id to browser local storage +- UI: Settings Overlay: Clock enable/disable and Moment.js format option +- UI: Settings Overlay: Desktop Notifications enable/disable +- UI: Settings Overlay: Enable/disable keyboard shortcuts +- UI: Settings Overlay: Configure keyboard shortcuts +- Backend: Environmental variables for Roon Host/port +- Backend: Environmental variables to enable / disable Health checks +- Backend: Environmental variables to configure Health check port +- Backend: Dockerfile +- Backend: Track Seek support +- Backend: Play from here support + +## TODO - 2.1.0 +- Multi-touch gestures using Hammer.js? +- Dominant color theme? +- 10 foot / TV layout? + +## To use: +Using this alpha requires git, Node JS 10+ and npm. + +1. Clone / update the git repository: + + `git clone https://github.com/pluggemi/roon-web-controller.git` + +2. Switch to the alpha branch: + + `git checkout alpha` + +3. Install the dependencies; + + `npm install` + +4. Build the application: + + `npm run build` + +5. Start the application: + + `npm start` + +6. Enable the extension in an official Roon client + +7. View the application by opening a browser to [http://localhost:8080](http://localhost:8080) + +## To develop: +This application is compatible with Vue UI Graphical User Interface and the Vue devtools browser extensions. + +For more information, visit [https://cli.vuejs.org/](https://cli.vuejs.org/) diff --git a/app.js b/app.js deleted file mode 100644 index 9e7a26e..0000000 --- a/app.js +++ /dev/null @@ -1,386 +0,0 @@ -"use strict"; -// Setup general variables -var defaultListenPort = 8080; - -var core, transport; -var pairStatus = 0; -var zoneStatus = []; -var zoneList = []; - -// Change to working directory -try { - process.chdir(__dirname); - console.log(`Working directory: ${process.cwd()}`); -} catch (err) { - console.error(`chdir: ${err}`); -} - -// Read command line options -var commandLineArgs = require("command-line-args"); -var getUsage = require("command-line-usage"); - -var optionDefinitions = [ - { - name: "help", - alias: "h", - description: "Display this usage guide.", - type: Boolean - }, - { - name: "port", - alias: "p", - description: "Specify the port the server listens on.", - type: Number - } -]; - -var options = commandLineArgs(optionDefinitions, { partial: true }); - -var usage = getUsage([ - { - header: "Roon Web Controller", - content: - "A web based controller for the Roon Music Player.\n\nUsage: {bold node app.js }" - }, - { - header: "Options", - optionList: optionDefinitions - }, - { - content: - "Project home: {underline https://github.com/pluggemi/roon-web-controller}" - } -]); - -if (options.help) { - console.log(usage); - process.exit(); -} - -// Read config file -var config = require("config"); - -var configPort = config.get("server.port"); - -// Determine listen port -if (options.port) { - var listenPort = options.port; -} else if (configPort) { - var listenPort = configPort; -} else { - var listenPort = defaultListenPort; -} -// Setup Express -var express = require("express"); -var http = require("http"); -var bodyParser = require("body-parser"); - -var app = express(); -app.use(express.static("public")); -app.use(bodyParser.json()); - -app.use(function(req, res, next) { - res.header("Access-Control-Allow-Origin", "*"); - res.header( - "Access-Control-Allow-Headers", - "Origin, X-Requested-With, Content-Type, Accept" - ); - next(); -}); - -// Setup Socket IO -var server = http.createServer(app); -var io = require("socket.io").listen(server); - -server.listen(listenPort, function() { - console.log("Listening on port " + listenPort); -}); - -// Setup Roon -var RoonApi = require("node-roon-api"); -var RoonApiImage = require("node-roon-api-image"); -var RoonApiStatus = require("node-roon-api-status"); -var RoonApiTransport = require("node-roon-api-transport"); -var RoonApiBrowse = require("node-roon-api-browse"); - -var roon = new RoonApi({ - extension_id: "com.pluggemi.web.controller", - display_name: "Web Controller", - display_version: "1.2.13", - publisher: "Mike Plugge", - // log_level: "none", - email: "masked", - website: "https://github.com/pluggemi/roon-web-controller", - - core_paired: function(core_) { - core = core_; - - pairStatus = true; - io.emit("pairStatus", JSON.parse('{"pairEnabled": ' + pairStatus + "}")); - - transport = core_.services.RoonApiTransport; - - transport.subscribe_zones(function(response, data) { - var i, x, y, zone_id, display_name; - if (response == "Subscribed") { - for (x in data.zones) { - zone_id = data.zones[x].zone_id; - display_name = data.zones[x].display_name; - var item = {}; - item.zone_id = zone_id; - item.display_name = display_name; - - zoneList.push(item); - zoneStatus.push(data.zones[x]); - } - - removeDuplicateList(zoneList, "zone_id"); - removeDuplicateStatus(zoneStatus, "zone_id"); - } else if (response == "Changed") { - for (i in data) { - if (i == "zones_changed" || i == "zones_seek_changed") { - for (x in data.zones_changed) { - for (y in zoneStatus) { - if (zoneStatus[y].zone_id == data.zones_changed[x].zone_id) { - zoneStatus[y] = data.zones_changed[x]; - } - } - } - io.emit("zoneStatus", zoneStatus); - } else if (i == "zones_added") { - for (x in data.zones_added) { - zone_id = data.zones_added[x].zone_id; - display_name = data.zones_added[x].display_name; - - item = {}; - item.zone_id = zone_id; - item.display_name = display_name; - - zoneList.push(item); - zoneStatus.push(data.zones_added[x]); - } - - removeDuplicateList(zoneList, "zone_id"); - removeDuplicateStatus(zoneStatus, "zone_id"); - } else if (i == "zones_removed") { - for (x in data.zones_removed) { - zoneList = zoneList.filter(function(zone) { - return zone.zone_id != data.zones_removed[x]; - }); - zoneStatus = zoneStatus.filter(function(zone) { - return zone.zone_id != data.zones_removed[x]; - }); - } - removeDuplicateList(zoneList, "zone_id"); - removeDuplicateStatus(zoneStatus, "zone_id"); - } - } - } - }); - }, - - core_unpaired: function(core_) { - pairStatus = false; - io.emit("pairStatus", JSON.parse('{"pairEnabled": ' + pairStatus + "}")); - } -}); - -var svc_status = new RoonApiStatus(roon); - -roon.init_services({ - required_services: [RoonApiTransport, RoonApiImage, RoonApiBrowse], - provided_services: [svc_status] -}); - -svc_status.set_status("Extension enabled", false); - -roon.start_discovery(); - -// Remove duplicates from zoneList array -function removeDuplicateList(array, property) { - var x; - var new_array = []; - var lookup = {}; - for (x in array) { - lookup[array[x][property]] = array[x]; - } - - for (x in lookup) { - new_array.push(lookup[x]); - } - - zoneList = new_array; - io.emit("zoneList", zoneList); -} - -// Remove duplicates from zoneStatus array -function removeDuplicateStatus(array, property) { - var x; - var new_array = []; - var lookup = {}; - for (x in array) { - lookup[array[x][property]] = array[x]; - } - - for (x in lookup) { - new_array.push(lookup[x]); - } - - zoneStatus = new_array; - io.emit("zoneStatus", zoneStatus); -} - -function refresh_browse(zone_id, options, callback) { - options = Object.assign( - { - hierarchy: "browse", - zone_or_output_id: zone_id - }, - options - ); - - core.services.RoonApiBrowse.browse(options, function(error, payload) { - if (error) { - console.log(error, payload); - return; - } - - if (payload.action == "list") { - var items = []; - if (payload.list.display_offset > 0) { - var listoffset = payload.list.display_offset; - } else { - var listoffset = 0; - } - core.services.RoonApiBrowse.load( - { - hierarchy: "browse", - offset: listoffset, - set_display_offset: listoffset - }, - function(error, payload) { - callback(payload); - } - ); - } - }); -} - -function load_browse(listoffset, callback) { - core.services.RoonApiBrowse.load( - { - hierarchy: "browse", - offset: listoffset, - set_display_offset: listoffset - }, - function(error, payload) { - callback(payload); - } - ); -} - -// ---------------------------- WEB SOCKET -------------- -io.on("connection", function(socket) { - io.emit("pairStatus", JSON.parse('{"pairEnabled": ' + pairStatus + "}")); - io.emit("zoneList", zoneList); - io.emit("zoneStatus", zoneStatus); - - socket.on("getZone", function() { - io.emit("zoneStatus", zoneStatus); - }); - - socket.on("changeVolume", function(msg) { - transport.change_volume(msg.output_id, "absolute", msg.volume); - }); - - socket.on("changeSetting", function(msg) { - var settings = []; - - if (msg.setting == "shuffle") { - settings.shuffle = msg.value; - } else if (msg.setting == "auto_radio") { - settings.auto_radio = msg.value; - } else if (msg.setting == "loop") { - settings.loop = msg.value; - } - - transport.change_settings(msg.zone_id, settings, function(error) {}); - }); - - socket.on("goPrev", function(msg) { - transport.control(msg, "previous"); - }); - - socket.on("goNext", function(msg) { - transport.control(msg, "next"); - }); - - socket.on("goPlayPause", function(msg) { - transport.control(msg, "playpause"); - }); - - socket.on("goPlay", function(msg) { - transport.control(msg, "play"); - }); - - socket.on("goPause", function(msg) { - transport.control(msg, "pause"); - }); - - socket.on("goStop", function(msg) { - transport.control(msg, "stop"); - }); -}); - -// Web Routes -app.get("/", function(req, res) { - res.sendFile(__dirname + "/public/fullscreen.html"); -}); - -app.get("/roonapi/getImage", function(req, res) { - core.services.RoonApiImage.get_image( - req.query.image_key, - { scale: "fit", width: 1080, height: 1080, format: "image/jpeg" }, - function(cb, contentType, body) { - res.contentType = contentType; - - res.writeHead(200, { "Content-Type": "image/jpeg" }); - res.end(body, "binary"); - } - ); -}); - -app.get("/roonapi/getImage4k", function(req, res) { - core.services.RoonApiImage.get_image( - req.query.image_key, - { scale: "fit", width: 2160, height: 2160, format: "image/jpeg" }, - function(cb, contentType, body) { - res.contentType = contentType; - - res.writeHead(200, { "Content-Type": "image/jpeg" }); - res.end(body, "binary"); - } - ); -}); - -app.post("/roonapi/goRefreshBrowse", function(req, res) { - refresh_browse(req.body.zone_id, req.body.options, function(payload) { - res.send({ data: payload }); - }); -}); - -app.post("/roonapi/goLoadBrowse", function(req, res) { - load_browse(req.body.listoffset, function(payload) { - res.send({ data: payload }); - }); -}); - -app.use( - "/jquery/jquery.min.js", - express.static(__dirname + "/node_modules/jquery/dist/jquery.min.js") -); - -app.use( - "/js-cookie/js.cookie.js", - express.static(__dirname + "/node_modules/js-cookie/src/js.cookie.js") -); diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..162a3ea --- /dev/null +++ b/babel.config.js @@ -0,0 +1,3 @@ +module.exports = { + presets: ["@vue/cli-plugin-babel/preset"], +}; diff --git a/backend/app.js b/backend/app.js new file mode 100644 index 0000000..a69a4fe --- /dev/null +++ b/backend/app.js @@ -0,0 +1,498 @@ +/* +The MIT License (MIT) +===================== + +Copyright (c) 2019 Mike Plugge + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +/* eslint-disable no-console */ + +"use strict"; + +const sw = {}; +sw.name = "Roon Web Controller"; +sw.version = "2.0.0-alpha.0"; +sw.publisher = "Mike Plugge"; + +const setting = {}; +setting.roon = {}; +// TODO: Set these with environmental settings to support docker +setting.roon.host = ""; +setting.roon.port = 9100; // default port is 9100 +// end TODO +setting.express = {}; +if (process.env.NODE_ENV === "development") { + setting.express.port = 10000; + setting.express.public = "/public"; +} else { + setting.express.port = 8080; + setting.express.public = "../dist"; +} + +const health = {}; +// TODO: environmental setting to enable/disable health +//// TODO: environment setting to set health port +health.port = 9090; +health.express = "initializing"; +health.roon = "initializing"; +health.socketio = "initializing"; + +const state = {}; +state.queue_list = {}; +state.zone_list = {}; + +const api = {}; +api.socketio = ""; +api.roon = ""; +api.roon_browse = ""; +api.roon_image = ""; +api.roon_status = ""; +api.roon_transport = ""; + +function setupExpress() { + const express = require("express"); + const http = require("http"); + const app = express(); + const server = http.createServer(app); + const body_parser = require("body-parser"); + const morgan = require("morgan"); + + // Setup express body_parser + app.use(body_parser.json()); + + // Setup httpd style logging + if (process.env.NODE_ENV !== "development") { + app.use(morgan("combined")); + } + + // Setup static file hosting + app.use(express.static(setting.express.public)); + + // Setup server headers + app.use((req, res, next) => { + res.set("Access-Control-Allow-Origin", "*"); + res.set( + "Access-Control-Allow-Headers", + "Origin, X-Requested-With, Content-Type, Accept" + ); + next(); + }); + + // Setup static routes + app.get("/", (req, res) => { + res.sendFile(__dirname + setting.express.public + "/index.html"); + }); + + app.get("/api/img", (req, res) => { + let widthString = req.query.width; + let heightString = req.query.height; + let width = 480; + let height = 480; + let original = false; + + if (widthString) { + width = parseInt(widthString); + } + + if (heightString) { + height = parseInt(heightString); + } + + if (!(widthString && heightString)) { + original = true; + } + + if (req.query.id) { + res.type("image/jpeg"); + res.set("Content-disposition", "inline; "); + roonGetImage( + { id: req.query.id, width: width, height: height, original: original }, + (data) => { + res.send(data); + } + ); + } else { + res.sendStatus(204); + } + }); + + app.get("/api/cmd", (req, res) => { + let zone_id = req.query.id; + let command = req.query.command; + let value = req.query.value; + + if (zone_id !== undefined && command !== undefined) { + switch (command) { + case "previous": + case "next": + case "playpause": + case "play": + case "pause": + case "stop": + api.roon_transport.control(zone_id, command); + break; + + case "shuffle": + case "loop": + case "auto_radio": + if (value !== undefined) { + let settings = {}; + settings[command] = value; + api.roon_transport.change_settings(zone_id, settings); + } + break; + + default: + break; + } + } + res.sendStatus(204); + }); + + app.get("/api/volume", (req, res) => { + let output_id = req.query.id; + let value = parseInt(req.query.value) || 0; + + if (output_id && value !== 0) { + api.roon_transport.change_volume(output_id, "absolute", value); + } + + res.sendStatus(204); + }); + + app.get("/api/mute", (req, res) => { + if (req.query.id) { + if (req.query.mute === "true") { + api.roon_transport.mute(req.query.id, "mute"); + } else { + api.roon_transport.mute(req.query.id, "unmute"); + } + } + res.sendStatus(204); + }); + + app.post("/api/browse", (req, res) => { + res.set("Content-Type", "application/json"); + res.set("Cache-Control", "no-cache"); + roonLibraryBrowse(req.body, (payload) => { + res.send(payload); + }); + }); + + app.post("/api/load", (req, res) => { + res.set("Content-Type", "application/json"); + res.set("Cache-Control", "no-cache"); + roonLibraryLoad(req.body, (payload) => { + res.send(payload); + }); + }); + + app.get("/api/queue_list", (req, res) => { + res.json(state.queue_list); + }); + + app.get("/api/zone_list", (req, res) => { + res.json(state.zone_list); + }); + + // Start Server + server.listen(setting.express.port, () => { + console.log(sw.name + " listening on port " + setting.express.port); + health.express = "ready"; + setupSocketIO(server); + }); +} + +function setupSocketIO(server) { + api.socketio = require("socket.io").listen(server); + + // Add sockets + api.socketio.on("connection", () => { + api.socketio.emit("zone_list", JSON.stringify(state.zone_list)); + api.socketio.emit("queue_list", JSON.stringify(state.queue_list)); + }); + health.socketio = "ready"; +} + +function setupRoon() { + const RoonApi = require("node-roon-api"); + const RoonApiImage = require("node-roon-api-image"); + const RoonApiStatus = require("node-roon-api-status"); + const RoonApiTransport = require("node-roon-api-transport"); + const RoonApiBrowse = require("node-roon-api-browse"); + + api.roon = new RoonApi({ + extension_id: "com.pluggemi.roonapi", + display_name: sw.name, + display_version: sw.version, + publisher: sw.publisher, + log_level: "none", + email: "masked", + website: "https://github.com/pluggemi/roon-web-controller", + core_paired: (core) => { + api.roon_browse = core.services.RoonApiBrowse; + api.roon_image = core.services.RoonApiImage; + api.roon_transport = core.services.RoonApiTransport; + + api.roon_transport.subscribe_zones((response, data) => { + if (response == "Subscribed") { + data.zones.forEach((zone) => { + try { + state.zone_list[zone.zone_id] = zone; + roonGetZoneQueue(zone.zone_id); + } catch (err) { + console.error(err); + } + }); + } else if (response == "Changed") { + if (data.zones_removed) { + data.zones_removed.forEach((zone_id) => { + try { + delete state.zone_list[zone_id]; + delete state.queue_list[zone_id]; + } catch (err) { + console.error(err); + } + }); + } + if (data.zones_added) { + data.zones_added.forEach((zone) => { + try { + state.zone_list[zone.zone_id] = zone; + roonGetZoneQueue(zone.zone_id); + } catch (err) { + console.error(err); + } + }); + } + if (data.zones_changed) { + data.zones_changed.forEach((zone) => { + try { + state.zone_list[zone.zone_id] = zone; + } catch (err) { + console.error(err); + } + }); + } + api.socketio.emit("zone_list", JSON.stringify(state.zone_list)); + } + }); + }, + core_unpaired: () => {}, + }); + + api.roon_status = new RoonApiStatus(api.roon); + api.roon_status.set_status("Extension enabled", false); + + api.roon.init_services({ + required_services: [RoonApiTransport, RoonApiImage, RoonApiBrowse], + provided_services: [api.roon_status], + }); + if (setting.roon.host !== "" || setting.roon.host === undefined) { + api.roon.ws_connect({ + host: setting.roon.host, + port: setting.roon.port || 9100, + onclose: () => setTimeout(setupRoon, 1000 * 3), + }); + } else { + api.roon.start_discovery(); + } + + health.roon = "ready"; +} + +function roonGetZoneQueue(zone_id) { + api.roon_transport.subscribe_queue(zone_id, 100, (response, data) => { + if (response === "Subscribed") { + state.queue_list[zone_id] = {}; + state.queue_list[zone_id].queue = data.items; + } else if (response === "Changed") { + data.changes.forEach((change) => { + if (change.operation === "remove") { + try { + delete state.queue_list[zone_id]; + } catch (err) { + console.error(err); + } + } + if (change.operation === "insert") { + try { + state.queue_list[zone_id] = {}; + state.queue_list[zone_id].queue = change.items; + } catch (err) { + console.error(err); + } + } + }); + } + api.socketio.emit("queue_list", JSON.stringify(state.queue_list)); + }); +} + +function roonGetImage(options, cb) { + if (options.original === true) { + try { + api.roon_image.get_image( + options.id, + { format: "image/jpeg" }, + (cb_, contentType, body) => { + cb(body); + } + ); + } catch (err) { + console.error(err); + } + } else { + try { + api.roon_image.get_image( + options.id, + { + scale: "fit", + width: options.width, + height: options.height, + format: "image/jpeg", + }, + (cb_, contentType, body) => { + cb(body); + } + ); + } catch (err) { + console.error(err); + } + } +} + +function roonLibraryBrowse(data, cb) { + api.roon_browse.browse(data.options, (err, payload) => { + if (err) { + console.log(err, payload); + cb({}); + return; + } + + if (payload.action == "list") { + let listoffset = 0; + if (payload.list.display_offset > 0) { + listoffset = payload.list.display_offset; + } + api.roon_browse.load( + { + hierarchy: "browse", + count: data.pager.count, + offset: listoffset, + }, + (error, payload) => { + cb(payload); + } + ); + } else { + console.log(payload.action); + } + }); +} + +function roonLibraryLoad(options, cb) { + // console.log(options); + api.roon_browse.load( + { + hierarchy: "browse", + count: options.count, + offset: options.offset, + }, + (error, payload) => { + cb(payload); + } + ); +} + +function healthCheck() { + const express = require("express"); + const http = require("http"); + const app = express(); + const server = http.createServer(app); + + var os = require("os"); + + var interfaces = os.networkInterfaces(); + var addresses = []; + for (var k in interfaces) { + for (var k2 in interfaces[k]) { + var address = interfaces[k][k2]; + if (address.family === "IPv4" && !address.internal) { + addresses.push(address.address); + } + } + } + + // Setup health check endpoint + app.get("/live", (req, res) => { + res.header("Cache-Control", "private, no-cache, no-store, must-revalidate"); + if (health.express === "ready") { + res.sendStatus(200); + } else { + res.sendStatus(503); + } + }); + app.get("/ready", (req, res) => { + res.header("Cache-Control", "private, no-cache, no-store, must-revalidate"); + if ( + health.roon === "ready" && + health.express === "ready" && + health.socketio === "ready" + ) { + res.sendStatus(200); + } else { + res.sendStatus(503); + } + }); + app.get("/health", (req, res) => { + res.header("Cache-Control", "private, no-cache, no-store, must-revalidate"); + let item = {}; + item.app = {}; + item.app.name = sw.name; + item.app.version = sw.version; + item.app.address = addresses; + item.health = {}; + item.health.roon = health.roon; + item.health.express = health.express; + item.health.socketio = health.socketio; + + res.json(item); + }); + + // Start Server + server.listen(health.port, () => { + console.log(sw.name + " health checks listening on port " + health.port); + }); +} + +function init() { + try { + process.chdir(__dirname); + healthCheck(); + setupExpress(); + setupRoon(); + } catch (err) { + console.error(err); + } +} + +init(); diff --git a/backend/public/index.html b/backend/public/index.html new file mode 100644 index 0000000..49733c2 --- /dev/null +++ b/backend/public/index.html @@ -0,0 +1,10 @@ + + + + + Roon Web Controller - DEV MODE + + + This application is running in DEV MODE + + diff --git a/config/default.json b/config/default.json deleted file mode 100644 index 0b07cce..0000000 --- a/config/default.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "server": { - "port": "8080" - } -} diff --git a/config/local.json.EXAMPLE b/config/local.json.EXAMPLE deleted file mode 100644 index 59debbc..0000000 --- a/config/local.json.EXAMPLE +++ /dev/null @@ -1,7 +0,0 @@ -// Copy this file to "local.json" and change the port as desired. - -{ - "server": { - "port": "1234" - } -} diff --git a/package-lock.json b/package-lock.json index b65063d..c384f60 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,930 +1,13173 @@ { "name": "roon-web-controller", - "version": "1.2.12", + "version": "2.0.0-alpha.0", "lockfileVersion": 1, "requires": true, "dependencies": { - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "@babel/code-frame": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz", + "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==", + "dev": true, "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" + "@babel/highlight": "^7.10.1" } }, - "after": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", - "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=" - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "@babel/compat-data": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.1.tgz", + "integrity": "sha512-CHvCj7So7iCkGKPRFUfryXIkU2gSBw7VSZFYLsqVhrS47269VK2Hfi9S/YcublPMW8k1u2bQBlbDruoQEm4fgw==", + "dev": true, "requires": { - "color-convert": "^1.9.0" + "browserslist": "^4.12.0", + "invariant": "^2.2.4", + "semver": "^5.5.0" } }, - "array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==" - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + "@babel/core": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.10.2.tgz", + "integrity": "sha512-KQmV9yguEjQsXqyOUGKjS4+3K8/DlOCE2pZcq4augdQmtTy5iv5EHtmMSJ7V4c1BIPjuwtZYqYLCq9Ga+hGBRQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.1", + "@babel/generator": "^7.10.2", + "@babel/helper-module-transforms": "^7.10.1", + "@babel/helpers": "^7.10.1", + "@babel/parser": "^7.10.2", + "@babel/template": "^7.10.1", + "@babel/traverse": "^7.10.1", + "@babel/types": "^7.10.2", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + } }, - "arraybuffer.slice": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", - "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==" + "@babel/generator": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.2.tgz", + "integrity": "sha512-AxfBNHNu99DTMvlUPlt1h2+Hn7knPpH5ayJ8OqDWSeLld+Fi2AYBTC/IejWDM9Edcii4UzZRCsbUt0WlSDsDsA==", + "dev": true, + "requires": { + "@babel/types": "^7.10.2", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + "@babel/helper-annotate-as-pure": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.1.tgz", + "integrity": "sha512-ewp3rvJEwLaHgyWGe4wQssC2vjks3E80WiUe2BpMb0KhreTjMROCbxXcEovTrbeGVdQct5VjQfrv9EgC+xMzCw==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } }, - "backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.1.tgz", + "integrity": "sha512-cQpVq48EkYxUU0xozpGCLla3wlkdRRqLWu1ksFMXA9CM5KQmyyRpSEsYXbao7JUkOw/tAaYKCaYyZq6HOFYtyw==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.10.1", + "@babel/types": "^7.10.1" + } }, - "base64-arraybuffer": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", - "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=" + "@babel/helper-compilation-targets": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.2.tgz", + "integrity": "sha512-hYgOhF4To2UTB4LTaZepN/4Pl9LD4gfbJx8A34mqoluT8TLbof1mhUlYuNWTEebONa8+UlCC4X0TEXu7AOUyGA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.10.1", + "browserslist": "^4.12.0", + "invariant": "^2.2.4", + "levenary": "^1.1.1", + "semver": "^5.5.0" + } }, - "base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" + "@babel/helper-create-class-features-plugin": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.2.tgz", + "integrity": "sha512-5C/QhkGFh1vqcziq1vAL6SI9ymzUp8BCYjFpvYVhWP4DlATIb3u5q3iUd35mvlyGs8fO7hckkW7i0tmH+5+bvQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.1", + "@babel/helper-member-expression-to-functions": "^7.10.1", + "@babel/helper-optimise-call-expression": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-replace-supers": "^7.10.1", + "@babel/helper-split-export-declaration": "^7.10.1" + } }, - "better-assert": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", - "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "@babel/helper-create-regexp-features-plugin": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.1.tgz", + "integrity": "sha512-Rx4rHS0pVuJn5pJOqaqcZR4XSgeF9G/pO/79t+4r7380tXFJdzImFnxMU19f83wjSrmKHq6myrM10pFHTGzkUA==", + "dev": true, "requires": { - "callsite": "1.0.0" + "@babel/helper-annotate-as-pure": "^7.10.1", + "@babel/helper-regex": "^7.10.1", + "regexpu-core": "^4.7.0" } }, - "blob": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", - "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==" + "@babel/helper-define-map": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.1.tgz", + "integrity": "sha512-+5odWpX+OnvkD0Zmq7panrMuAGQBu6aPUgvMzuMGo4R+jUOvealEj2hiqI6WhxgKrTpFoFj0+VdsuA8KDxHBDg==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.1", + "@babel/types": "^7.10.1", + "lodash": "^4.17.13" + } }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "@babel/helper-explode-assignable-expression": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.1.tgz", + "integrity": "sha512-vcUJ3cDjLjvkKzt6rHrl767FeE7pMEYfPanq5L16GRtrXIoznc0HykNW2aEYkcnP76P0isoqJ34dDMFZwzEpJg==", + "dev": true, "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" + "@babel/traverse": "^7.10.1", + "@babel/types": "^7.10.1" } }, - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + "@babel/helper-function-name": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz", + "integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/types": "^7.10.1" + } }, - "callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=" + "@babel/helper-get-function-arity": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz", + "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "@babel/helper-hoist-variables": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.1.tgz", + "integrity": "sha512-vLm5srkU8rI6X3+aQ1rQJyfjvCBLXP8cAGeuw04zeAM2ItKb1e7pmVmLyHb4sDaAYnLL13RHOZPLEtcGZ5xvjg==", + "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "@babel/types": "^7.10.1" } }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "@babel/helper-member-expression-to-functions": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.1.tgz", + "integrity": "sha512-u7XLXeM2n50gb6PWJ9hoO5oO7JFPaZtrh35t8RqKLT1jFKj9IWeD1zrcrYp1q1qiZTdEarfDWfTIP8nGsu0h5g==", + "dev": true, "requires": { - "color-name": "1.1.3" + "@babel/types": "^7.10.1" } }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "@babel/helper-module-imports": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.1.tgz", + "integrity": "sha512-SFxgwYmZ3HZPyZwJRiVNLRHWuW2OgE5k2nrVs6D9Iv4PPnXVffuEHy83Sfx/l4SqF+5kyJXjAyUmrG7tNm+qVg==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } }, - "command-line-args": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.1.1.tgz", - "integrity": "sha512-hL/eG8lrll1Qy1ezvkant+trihbGnaKaeEjj6Scyr3DN+RC7iQ5Rz84IeLERfAWDGo0HBSNAakczwgCilDXnWg==", + "@babel/helper-module-transforms": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.1.tgz", + "integrity": "sha512-RLHRCAzyJe7Q7sF4oy2cB+kRnU4wDZY/H2xJFGof+M+SJEGhZsb+GFj5j1AD8NiSaVBJ+Pf0/WObiXu/zxWpFg==", + "dev": true, "requires": { - "array-back": "^3.0.1", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" + "@babel/helper-module-imports": "^7.10.1", + "@babel/helper-replace-supers": "^7.10.1", + "@babel/helper-simple-access": "^7.10.1", + "@babel/helper-split-export-declaration": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/types": "^7.10.1", + "lodash": "^4.17.13" } }, - "command-line-usage": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.0.tgz", - "integrity": "sha512-Ew1clU4pkUeo6AFVDFxCbnN7GIZfXl48HIOQeFQnkO3oOqvpI7wdqtLRwv9iOCZ/7A+z4csVZeiDdEcj8g6Wiw==", + "@babel/helper-optimise-call-expression": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.1.tgz", + "integrity": "sha512-a0DjNS1prnBsoKx83dP2falChcs7p3i8VMzdrSbfLhuQra/2ENC4sbri34dz/rWmDADsmF1q5GbfaXydh0Jbjg==", + "dev": true, "requires": { - "array-back": "^4.0.0", - "chalk": "^2.4.2", - "table-layout": "^1.0.0", - "typical": "^5.2.0" - }, - "dependencies": { - "array-back": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.1.tgz", - "integrity": "sha512-Z/JnaVEXv+A9xabHzN43FiiiWEE7gPCRXMrVmRm00tWbjZRul1iHm7ECzlyNq1p4a4ATXz+G9FJ3GqGOkOV3fg==" - }, - "typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==" - } + "@babel/types": "^7.10.1" } }, - "component-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" + "@babel/helper-plugin-utils": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.1.tgz", + "integrity": "sha512-fvoGeXt0bJc7VMWZGCAEBEMo/HAjW2mP8apF5eXK0wSqwLAVHAISCWRoLMBMUs2kqeaG77jltVqu4Hn8Egl3nA==", + "dev": true }, - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + "@babel/helper-regex": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.1.tgz", + "integrity": "sha512-7isHr19RsIJWWLLFn21ubFt223PjQyg1HY7CZEMRr820HttHPpVvrsIN3bUOo44DEfFV4kBXO7Abbn9KTUZV7g==", + "dev": true, + "requires": { + "lodash": "^4.17.13" + } }, - "component-inherit": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", - "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" + "@babel/helper-remap-async-to-generator": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.1.tgz", + "integrity": "sha512-RfX1P8HqsfgmJ6CwaXGKMAqbYdlleqglvVtht0HGPMSsy2V6MqLlOJVF/0Qyb/m2ZCi2z3q3+s6Pv7R/dQuZ6A==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.1", + "@babel/helper-wrap-function": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/traverse": "^7.10.1", + "@babel/types": "^7.10.1" + } }, - "config": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/config/-/config-3.3.1.tgz", - "integrity": "sha512-+2/KaaaAzdwUBE3jgZON11L1ggLLhpf2FsGrfqYFHZW22ySGv/HqYIXrBwKKvn+XZh1UBUjHwAcrfsSkSygT+Q==", + "@babel/helper-replace-supers": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.1.tgz", + "integrity": "sha512-SOwJzEfpuQwInzzQJGjGaiG578UYmyi2Xw668klPWV5n07B73S0a9btjLk/52Mlcxa+5AdIYqws1KyXRfMoB7A==", + "dev": true, "requires": { - "json5": "^2.1.1" + "@babel/helper-member-expression-to-functions": "^7.10.1", + "@babel/helper-optimise-call-expression": "^7.10.1", + "@babel/traverse": "^7.10.1", + "@babel/types": "^7.10.1" } }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "@babel/helper-simple-access": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.1.tgz", + "integrity": "sha512-VSWpWzRzn9VtgMJBIWTZ+GP107kZdQ4YplJlCmIrjoLVSi/0upixezHCDG8kpPVTBJpKfxTH01wDhh+jS2zKbw==", + "dev": true, "requires": { - "safe-buffer": "5.1.2" + "@babel/template": "^7.10.1", + "@babel/types": "^7.10.1" } }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + "@babel/helper-split-export-declaration": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz", + "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==", + "dev": true, + "requires": { + "@babel/types": "^7.10.1" + } }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + "@babel/helper-validator-identifier": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.1.tgz", + "integrity": "sha512-5vW/JXLALhczRCWP0PnFDMCJAchlBvM7f4uk/jXritBnIa6E1KmqmtrS3yn1LAnxFBypQ3eneLuXjsnfQsgILw==", + "dev": true }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + "@babel/helper-wrap-function": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.1.tgz", + "integrity": "sha512-C0MzRGteVDn+H32/ZgbAv5r56f2o1fZSA/rj/TYo8JEJNHg+9BdSmKBUND0shxWRztWhjlT2cvHYuynpPsVJwQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.1", + "@babel/template": "^7.10.1", + "@babel/traverse": "^7.10.1", + "@babel/types": "^7.10.1" + } }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "@babel/helpers": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.1.tgz", + "integrity": "sha512-muQNHF+IdU6wGgkaJyhhEmI54MOZBKsFfsXFhboz1ybwJ1Kl7IHlbm2a++4jwrmY5UYsgitt5lfqo1wMFcHmyw==", + "dev": true, "requires": { - "ms": "2.0.0" + "@babel/template": "^7.10.1", + "@babel/traverse": "^7.10.1", + "@babel/types": "^7.10.1" } }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + "@babel/highlight": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz", + "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + "@babel/parser": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz", + "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==", + "dev": true }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.1.tgz", + "integrity": "sha512-vzZE12ZTdB336POZjmpblWfNNRpMSua45EYnRigE2XsZxcXcIyly2ixnTJasJE4Zq3U7t2d8rRF7XRUuzHxbOw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-remap-async-to-generator": "^7.10.1", + "@babel/plugin-syntax-async-generators": "^7.8.0" + } }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + "@babel/plugin-proposal-class-properties": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.10.1.tgz", + "integrity": "sha512-sqdGWgoXlnOdgMXU+9MbhzwFRgxVLeiGBqTrnuS7LC2IBU31wSsESbTUreT2O418obpfPdGUR2GbEufZF1bpqw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" + } }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + "@babel/plugin-proposal-decorators": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.10.1.tgz", + "integrity": "sha512-xBfteh352MTke2U1NpclzMDmAmCdQ2fBZjhZQQfGTjXw6qcRYMkt528sA1U8o0ThDCSeuETXIj5bOGdxN+5gkw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/plugin-syntax-decorators": "^7.10.1" + } }, - "engine.io": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.4.0.tgz", - "integrity": "sha512-XCyYVWzcHnK5cMz7G4VTu2W7zJS7SM1QkcelghyIk/FmobWBtXE7fwhBusEKvCSqc3bMh8fNFMlUkCKTFRxH2w==", + "@babel/plugin-proposal-dynamic-import": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.1.tgz", + "integrity": "sha512-Cpc2yUVHTEGPlmiQzXj026kqwjEQAD9I4ZC16uzdbgWgitg/UHKHLffKNCQZ5+y8jpIZPJcKcwsr2HwPh+w3XA==", + "dev": true, "requires": { - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "0.3.1", - "debug": "~4.1.0", - "engine.io-parser": "~2.2.0", - "ws": "^7.1.2" - }, - "dependencies": { - "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.0" } }, - "engine.io-client": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.4.0.tgz", - "integrity": "sha512-a4J5QO2k99CM2a0b12IznnyQndoEvtA4UAldhGzKqnHf42I3Qs2W5SPnDvatZRcMaNZs4IevVicBPayxYt6FwA==", + "@babel/plugin-proposal-json-strings": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.1.tgz", + "integrity": "sha512-m8r5BmV+ZLpWPtMY2mOKN7wre6HIO4gfIiV+eOmsnZABNenrt/kzYBwrh+KOfgumSWpnlGs5F70J8afYMSJMBg==", + "dev": true, "requires": { - "component-emitter": "1.2.1", - "component-inherit": "0.0.3", - "debug": "~4.1.0", - "engine.io-parser": "~2.2.0", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "ws": "~6.1.0", - "xmlhttprequest-ssl": "~1.5.4", - "yeast": "0.1.2" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "ws": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz", - "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==", - "requires": { - "async-limiter": "~1.0.0" - } - } + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/plugin-syntax-json-strings": "^7.8.0" } }, - "engine.io-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.0.tgz", - "integrity": "sha512-6I3qD9iUxotsC5HEMuuGsKA0cXerGz+4uGcXQEkfBidgKf0amsjrrtwcbwK/nzpZBxclXlV7gGl9dgWvu4LF6w==", + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.1.tgz", + "integrity": "sha512-56cI/uHYgL2C8HVuHOuvVowihhX0sxb3nnfVRzUeVHTWmRHTZrKuAh/OBIMggGU/S1g/1D2CRCXqP+3u7vX7iA==", + "dev": true, "requires": { - "after": "0.8.2", - "arraybuffer.slice": "~0.0.7", - "base64-arraybuffer": "0.1.5", - "blob": "0.0.5", - "has-binary2": "~1.0.2" + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" } }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + "@babel/plugin-proposal-numeric-separator": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.1.tgz", + "integrity": "sha512-jjfym4N9HtCiNfyyLAVD8WqPYeHUrw4ihxuAynWj6zzp2gf9Ey2f7ImhFm6ikB3CLf5Z/zmcJDri6B4+9j9RsA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/plugin-syntax-numeric-separator": "^7.10.1" + } }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.1.tgz", + "integrity": "sha512-Z+Qri55KiQkHh7Fc4BW6o+QBuTagbOp9txE+4U1i79u9oWlf2npkiDx+Rf3iK3lbcHBuNy9UOkwuR5wOMH3LIQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.10.1" + } }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.1.tgz", + "integrity": "sha512-VqExgeE62YBqI3ogkGoOJp1R6u12DFZjqwJhqtKc2o5m1YTUuUWnos7bZQFBhwkxIFpWYJ7uB75U7VAPPiKETA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + } }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "@babel/plugin-proposal-optional-chaining": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.1.tgz", + "integrity": "sha512-dqQj475q8+/avvok72CF3AOSV/SGEcH29zT5hhohqqvvZ2+boQoOr7iGldBG5YXTO2qgCgc2B3WvVLUdbeMlGA==", + "dev": true, "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/plugin-syntax-optional-chaining": "^7.8.0" } }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "@babel/plugin-proposal-private-methods": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.10.1.tgz", + "integrity": "sha512-RZecFFJjDiQ2z6maFprLgrdnm0OzoC23Mx89xf1CcEsxmHuzuXOdniEuI+S3v7vjQG4F5sa6YtUp+19sZuSxHg==", + "dev": true, "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" + "@babel/helper-create-class-features-plugin": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" } }, - "find-replace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", - "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.1.tgz", + "integrity": "sha512-JjfngYRvwmPwmnbRZyNiPFI8zxCZb8euzbCG/LxyKdeTb59tVciKo9GK9bi6JYKInk1H11Dq9j/zRqIH4KigfQ==", + "dev": true, "requires": { - "array-back": "^3.0.1" + "@babel/helper-create-regexp-features-plugin": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" } }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + "@babel/plugin-syntax-class-properties": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.1.tgz", + "integrity": "sha512-Gf2Yx/iRs1JREDtVZ56OrjjgFHCaldpTnuy9BHla10qyVT3YkIIGEtoDWhyop0ksu1GvNjHIoYRBqm3zoR1jyQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } }, - "has-binary2": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", - "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", + "@babel/plugin-syntax-decorators": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.10.1.tgz", + "integrity": "sha512-a9OAbQhKOwSle1Vr0NJu/ISg1sPfdEkfRKWpgPuzhnWWzForou2gIeUIIwjAMHRekhhpJ7eulZlYs0H14Cbi+g==", + "dev": true, "requires": { - "isarray": "2.0.1" + "@babel/helper-plugin-utils": "^7.10.1" } }, - "has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "@babel/plugin-syntax-jsx": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.10.1.tgz", + "integrity": "sha512-+OxyOArpVFXQeXKLO9o+r2I4dIoVoy6+Uu0vKELrlweDM3QJADZj+Z+5ERansZqIZBcLj42vHnDI8Rz9BnRIuQ==", + "dev": true, "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" + "@babel/helper-plugin-utils": "^7.10.1" } }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "@babel/helper-plugin-utils": "^7.8.0" } }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.1.tgz", + "integrity": "sha512-uTd0OsHrpe3tH5gRPTxG8Voh99/WCU78vIm5NMRYPAqC8lR4vajt6KkCAknCHrx24vkPdd/05yfdGSB4EIY2mg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "ipaddr.js": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", - "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==" + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } }, - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + "@babel/plugin-syntax-top-level-await": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.1.tgz", + "integrity": "sha512-hgA5RYkmZm8FTFT3yu2N9Bx7yVVOKYT6yEdXXo6j2JTm0wNxgqaGeQVaSHRjhfnQbX91DtjFB6McRFSlcJH3xQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } }, - "jquery": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz", - "integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg==" + "@babel/plugin-transform-arrow-functions": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.1.tgz", + "integrity": "sha512-6AZHgFJKP3DJX0eCNJj01RpytUa3SOGawIxweHkNX2L6PYikOZmoh5B0d7hIHaIgveMjX990IAa/xK7jRTN8OA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } }, - "js-cookie": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz", - "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==" + "@babel/plugin-transform-async-to-generator": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.1.tgz", + "integrity": "sha512-XCgYjJ8TY2slj6SReBUyamJn3k2JLUIiiR5b6t1mNCMSvv7yx+jJpaewakikp0uWFQSF7ChPPoe3dHmXLpISkg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-remap-async-to-generator": "^7.10.1" + } }, - "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.1.tgz", + "integrity": "sha512-B7K15Xp8lv0sOJrdVAoukKlxP9N59HS48V1J3U/JGj+Ad+MHq+am6xJVs85AgXrQn4LV8vaYFOB+pr/yIuzW8Q==", + "dev": true, "requires": { - "minimist": "^1.2.5" + "@babel/helper-plugin-utils": "^7.10.1" } }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" + "@babel/plugin-transform-block-scoping": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.1.tgz", + "integrity": "sha512-8bpWG6TtF5akdhIm/uWTyjHqENpy13Fx8chg7pFH875aNLwX8JxIxqm08gmAT+Whe6AOmaTeLPe7dpLbXt+xUw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1", + "lodash": "^4.17.13" + } }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + "@babel/plugin-transform-classes": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.1.tgz", + "integrity": "sha512-P9V0YIh+ln/B3RStPoXpEQ/CoAxQIhRSUn7aXqQ+FZJ2u8+oCtjIXR3+X0vsSD8zv+mb56K7wZW1XiDTDGiDRQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.1", + "@babel/helper-define-map": "^7.10.1", + "@babel/helper-function-name": "^7.10.1", + "@babel/helper-optimise-call-expression": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-replace-supers": "^7.10.1", + "@babel/helper-split-export-declaration": "^7.10.1", + "globals": "^11.1.0" + } }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + "@babel/plugin-transform-computed-properties": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.1.tgz", + "integrity": "sha512-mqSrGjp3IefMsXIenBfGcPXxJxweQe2hEIwMQvjtiDQ9b1IBvDUjkAtV/HMXX47/vXf14qDNedXsIiNd1FmkaQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + "@babel/plugin-transform-destructuring": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.1.tgz", + "integrity": "sha512-V/nUc4yGWG71OhaTH705pU8ZSdM6c1KmmLP8ys59oOYbT7RpMYAR3MsVOt6OHL0WzG7BlTU076va9fjJyYzJMA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + "@babel/plugin-transform-dotall-regex": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.1.tgz", + "integrity": "sha512-19VIMsD1dp02RvduFUmfzj8uknaO3uiHHF0s3E1OHnVsNj8oge8EQ5RzHRbJjGSetRnkEuBYO7TG1M5kKjGLOA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" + } }, - "mime-db": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", - "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" + "@babel/plugin-transform-duplicate-keys": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.1.tgz", + "integrity": "sha512-wIEpkX4QvX8Mo9W6XF3EdGttrIPZWozHfEaDTU0WJD/TDnXMvdDh30mzUl/9qWhnf7naicYartcEfUghTCSNpA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } }, - "mime-types": { - "version": "2.1.24", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", - "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.1.tgz", + "integrity": "sha512-lr/przdAbpEA2BUzRvjXdEDLrArGRRPwbaF9rvayuHRvdQ7lUTTkZnhZrJ4LE2jvgMRFF4f0YuPQ20vhiPYxtA==", + "dev": true, "requires": { - "mime-db": "1.40.0" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + "@babel/plugin-transform-for-of": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.1.tgz", + "integrity": "sha512-US8KCuxfQcn0LwSCMWMma8M2R5mAjJGsmoCBVwlMygvmDUMkTCykc84IqN1M7t+agSfOmLYTInLCHJM+RUoz+w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "@babel/plugin-transform-function-name": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.1.tgz", + "integrity": "sha512-//bsKsKFBJfGd65qSNNh1exBy5Y9gD9ZN+DvrJ8f7HXr4avE5POW6zB7Rj6VnqHV33+0vXWUwJT0wSHubiAQkw==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" + } }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + "@babel/plugin-transform-literals": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.1.tgz", + "integrity": "sha512-qi0+5qgevz1NHLZroObRm5A+8JJtibb7vdcPQF1KQE12+Y/xxl8coJ+TpPW9iRq+Mhw/NKLjm+5SHtAHCC7lAw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } }, - "node-roon-api": { - "version": "github:roonlabs/node-roon-api#b09c875738360a9413518a8a51ac70294745a926", - "from": "github:roonlabs/node-roon-api", + "@babel/plugin-transform-member-expression-literals": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.1.tgz", + "integrity": "sha512-UmaWhDokOFT2GcgU6MkHC11i0NQcL63iqeufXWfRy6pUOGYeCGEKhvfFO6Vz70UfYJYHwveg62GS83Rvpxn+NA==", + "dev": true, "requires": { - "ip": "^1.1.3", - "node-uuid": "^1.4.7", - "ws": ">=3.3.1" + "@babel/helper-plugin-utils": "^7.10.1" } }, - "node-roon-api-browse": { - "version": "github:roonlabs/node-roon-api-browse#98adcbaba3a30fd6ce109c1f04cd361536143222", - "from": "github:roonlabs/node-roon-api-browse" + "@babel/plugin-transform-modules-amd": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.1.tgz", + "integrity": "sha512-31+hnWSFRI4/ACFr1qkboBbrTxoBIzj7qA69qlq8HY8p7+YCzkCT6/TvQ1a4B0z27VeWtAeJd6pr5G04dc1iHw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1", + "babel-plugin-dynamic-import-node": "^2.3.3" + } }, - "node-roon-api-image": { - "version": "github:roonlabs/node-roon-api-image#a5f0efaf2dfb5457e91abe326c3a40d865131d32", - "from": "github:roonlabs/node-roon-api-image" + "@babel/plugin-transform-modules-commonjs": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.1.tgz", + "integrity": "sha512-AQG4fc3KOah0vdITwt7Gi6hD9BtQP/8bhem7OjbaMoRNCH5Djx42O2vYMfau7QnAzQCa+RJnhJBmFFMGpQEzrg==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-simple-access": "^7.10.1", + "babel-plugin-dynamic-import-node": "^2.3.3" + } }, - "node-roon-api-status": { - "version": "github:roonlabs/node-roon-api-status#504c918d6da267e03fbb4337befa71ca3d3c7526", - "from": "github:roonlabs/node-roon-api-status" + "@babel/plugin-transform-modules-systemjs": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.1.tgz", + "integrity": "sha512-ewNKcj1TQZDL3YnO85qh9zo1YF1CHgmSTlRQgHqe63oTrMI85cthKtZjAiZSsSNjPQ5NCaYo5QkbYqEw1ZBgZA==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.10.1", + "@babel/helper-module-transforms": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1", + "babel-plugin-dynamic-import-node": "^2.3.3" + } }, - "node-roon-api-transport": { - "version": "github:roonlabs/node-roon-api-transport#0e6189de2935eac81e1d9fcc2e8d12c654fcb87a", - "from": "github:roonlabs/node-roon-api-transport" + "@babel/plugin-transform-modules-umd": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.1.tgz", + "integrity": "sha512-EIuiRNMd6GB6ulcYlETnYYfgv4AxqrswghmBRQbWLHZxN4s7mupxzglnHqk9ZiUpDI4eRWewedJJNj67PWOXKA==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" + } }, - "node-uuid": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", - "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=" + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz", + "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.8.3" + } }, - "object-component": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", - "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=" + "@babel/plugin-transform-new-target": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.1.tgz", + "integrity": "sha512-MBlzPc1nJvbmO9rPr1fQwXOM2iGut+JC92ku6PbiJMMK7SnQc1rytgpopveE3Evn47gzvGYeCdgfCDbZo0ecUw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "@babel/plugin-transform-object-super": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.1.tgz", + "integrity": "sha512-WnnStUDN5GL+wGQrJylrnnVlFhFmeArINIR9gjhSeYyvroGhBrSAXYg/RHsnfzmsa+onJrTJrEClPzgNmmQ4Gw==", + "dev": true, "requires": { - "ee-first": "1.1.1" + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-replace-supers": "^7.10.1" } }, - "parseqs": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", - "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", + "@babel/plugin-transform-parameters": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.1.tgz", + "integrity": "sha512-tJ1T0n6g4dXMsL45YsSzzSDZCxiHXAQp/qHrucOq5gEHncTA3xDxnd5+sZcoQp+N1ZbieAaB8r/VUCG0gqseOg==", + "dev": true, "requires": { - "better-assert": "~1.0.0" + "@babel/helper-get-function-arity": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" } }, - "parseuri": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", - "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", + "@babel/plugin-transform-property-literals": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.1.tgz", + "integrity": "sha512-Kr6+mgag8auNrgEpbfIWzdXYOvqDHZOF0+Bx2xh4H2EDNwcbRb9lY6nkZg8oSjsX+DH9Ebxm9hOqtKW+gRDeNA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.1.tgz", + "integrity": "sha512-B3+Y2prScgJ2Bh/2l9LJxKbb8C8kRfsG4AdPT+n7ixBHIxJaIG8bi8tgjxUMege1+WqSJ+7gu1YeoMVO3gPWzw==", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.1.tgz", + "integrity": "sha512-qN1OMoE2nuqSPmpTqEM7OvJ1FkMEV+BjVeZZm9V9mq/x1JLKQ4pcv8riZJMNN3u2AUGl0ouOMjRr2siecvHqUQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.10.1.tgz", + "integrity": "sha512-4w2tcglDVEwXJ5qxsY++DgWQdNJcCCsPxfT34wCUwIf2E7dI7pMpH8JczkMBbgBTNzBX62SZlNJ9H+De6Zebaw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1", + "resolve": "^1.8.1", + "semver": "^5.5.1" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.1.tgz", + "integrity": "sha512-AR0E/lZMfLstScFwztApGeyTHJ5u3JUKMjneqRItWeEqDdHWZwAOKycvQNCasCK/3r5YXsuNG25funcJDu7Y2g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.1.tgz", + "integrity": "sha512-8wTPym6edIrClW8FI2IoaePB91ETOtg36dOkj3bYcNe7aDMN2FXEoUa+WrmPc4xa1u2PQK46fUX2aCb+zo9rfw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.1.tgz", + "integrity": "sha512-j17ojftKjrL7ufX8ajKvwRilwqTok4q+BjkknmQw9VNHnItTyMP5anPFzxFJdCQs7clLcWpCV3ma+6qZWLnGMA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-regex": "^7.10.1" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.1.tgz", + "integrity": "sha512-t7B/3MQf5M1T9hPCRG28DNGZUuxAuDqLYS03rJrIk2prj/UV7Z6FOneijhQhnv/Xa039vidXeVbvjK2SK5f7Gg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.1.tgz", + "integrity": "sha512-qX8KZcmbvA23zDi+lk9s6hC1FM7jgLHYIjuLgULgc8QtYnmB3tAVIYkNoKRQ75qWBeyzcoMoK8ZQmogGtC/w0g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.10.1.tgz", + "integrity": "sha512-zZ0Poh/yy1d4jeDWpx/mNwbKJVwUYJX73q+gyh4bwtG0/iUlzdEu0sLMda8yuDFS6LBQlT/ST1SJAR6zYwXWgw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.1.tgz", + "integrity": "sha512-Y/2a2W299k0VIUdbqYm9X2qS6fE0CUBhhiPpimK6byy7OJ/kORLlIX+J6UrjgNu5awvs62k+6RSslxhcvVw2Tw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1" + } + }, + "@babel/preset-env": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.10.2.tgz", + "integrity": "sha512-MjqhX0RZaEgK/KueRzh+3yPSk30oqDKJ5HP5tqTSB1e2gzGS3PLy7K0BIpnp78+0anFuSwOeuCf1zZO7RzRvEA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.10.1", + "@babel/helper-compilation-targets": "^7.10.2", + "@babel/helper-module-imports": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.1", + "@babel/plugin-proposal-async-generator-functions": "^7.10.1", + "@babel/plugin-proposal-class-properties": "^7.10.1", + "@babel/plugin-proposal-dynamic-import": "^7.10.1", + "@babel/plugin-proposal-json-strings": "^7.10.1", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.1", + "@babel/plugin-proposal-numeric-separator": "^7.10.1", + "@babel/plugin-proposal-object-rest-spread": "^7.10.1", + "@babel/plugin-proposal-optional-catch-binding": "^7.10.1", + "@babel/plugin-proposal-optional-chaining": "^7.10.1", + "@babel/plugin-proposal-private-methods": "^7.10.1", + "@babel/plugin-proposal-unicode-property-regex": "^7.10.1", + "@babel/plugin-syntax-async-generators": "^7.8.0", + "@babel/plugin-syntax-class-properties": "^7.10.1", + "@babel/plugin-syntax-dynamic-import": "^7.8.0", + "@babel/plugin-syntax-json-strings": "^7.8.0", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", + "@babel/plugin-syntax-numeric-separator": "^7.10.1", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.0", + "@babel/plugin-syntax-top-level-await": "^7.10.1", + "@babel/plugin-transform-arrow-functions": "^7.10.1", + "@babel/plugin-transform-async-to-generator": "^7.10.1", + "@babel/plugin-transform-block-scoped-functions": "^7.10.1", + "@babel/plugin-transform-block-scoping": "^7.10.1", + "@babel/plugin-transform-classes": "^7.10.1", + "@babel/plugin-transform-computed-properties": "^7.10.1", + "@babel/plugin-transform-destructuring": "^7.10.1", + "@babel/plugin-transform-dotall-regex": "^7.10.1", + "@babel/plugin-transform-duplicate-keys": "^7.10.1", + "@babel/plugin-transform-exponentiation-operator": "^7.10.1", + "@babel/plugin-transform-for-of": "^7.10.1", + "@babel/plugin-transform-function-name": "^7.10.1", + "@babel/plugin-transform-literals": "^7.10.1", + "@babel/plugin-transform-member-expression-literals": "^7.10.1", + "@babel/plugin-transform-modules-amd": "^7.10.1", + "@babel/plugin-transform-modules-commonjs": "^7.10.1", + "@babel/plugin-transform-modules-systemjs": "^7.10.1", + "@babel/plugin-transform-modules-umd": "^7.10.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3", + "@babel/plugin-transform-new-target": "^7.10.1", + "@babel/plugin-transform-object-super": "^7.10.1", + "@babel/plugin-transform-parameters": "^7.10.1", + "@babel/plugin-transform-property-literals": "^7.10.1", + "@babel/plugin-transform-regenerator": "^7.10.1", + "@babel/plugin-transform-reserved-words": "^7.10.1", + "@babel/plugin-transform-shorthand-properties": "^7.10.1", + "@babel/plugin-transform-spread": "^7.10.1", + "@babel/plugin-transform-sticky-regex": "^7.10.1", + "@babel/plugin-transform-template-literals": "^7.10.1", + "@babel/plugin-transform-typeof-symbol": "^7.10.1", + "@babel/plugin-transform-unicode-escapes": "^7.10.1", + "@babel/plugin-transform-unicode-regex": "^7.10.1", + "@babel/preset-modules": "^0.1.3", + "@babel/types": "^7.10.2", + "browserslist": "^4.12.0", + "core-js-compat": "^3.6.2", + "invariant": "^2.2.2", + "levenary": "^1.1.1", + "semver": "^5.5.0" + } + }, + "@babel/preset-modules": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz", + "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/runtime": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.2.tgz", + "integrity": "sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz", + "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1" + } + }, + "@babel/traverse": { + "version": "7.10.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.1.tgz", + "integrity": "sha512-C/cTuXeKt85K+p08jN6vMDz8vSV0vZcI0wmQ36o6mjbuo++kPMdpOYw23W2XH04dbRt9/nMEfA4W3eR21CD+TQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.1", + "@babel/generator": "^7.10.1", + "@babel/helper-function-name": "^7.10.1", + "@babel/helper-split-export-declaration": "^7.10.1", + "@babel/parser": "^7.10.1", + "@babel/types": "^7.10.1", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.10.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz", + "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.1", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + }, + "@hapi/address": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", + "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==", + "dev": true + }, + "@hapi/bourne": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", + "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==", + "dev": true + }, + "@hapi/hoek": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", + "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==", + "dev": true + }, + "@hapi/joi": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", + "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", + "dev": true, + "requires": { + "@hapi/address": "2.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/topo": "3.x.x" + } + }, + "@hapi/topo": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", + "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", + "dev": true, + "requires": { + "@hapi/hoek": "^8.3.0" + } + }, + "@intervolga/optimize-cssnano-plugin": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz", + "integrity": "sha512-zN69TnSr0viRSU6cEDIcuPcP67QcpQ6uHACg58FiN9PDrU6SLyGW3MR4tiISbYxy1kDWAVPwD+XwQTWE5cigAA==", + "dev": true, + "requires": { + "cssnano": "^4.0.0", + "cssnano-preset-default": "^4.0.0", + "postcss": "^7.0.0" + } + }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dev": true, + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + } + }, + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "dev": true + }, + "@sindresorhus/is": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", + "dev": true + }, + "@soda/friendly-errors-webpack-plugin": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.1.tgz", + "integrity": "sha512-cWKrGaFX+rfbMrAxVv56DzhPNqOJPZuNIS2HGMELtgGzb+vsMzyig9mml5gZ/hr2BGtSLV+dP2LUEuAL8aG2mQ==", + "dev": true, + "requires": { + "chalk": "^1.1.3", + "error-stack-parser": "^2.0.0", + "string-width": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "@soda/get-current-script": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@soda/get-current-script/-/get-current-script-1.0.1.tgz", + "integrity": "sha512-zeOomWIE52M9JpYXlsR3iOf7TXTTmNQHnSbqjMsQZ5phzfAenHzL/1+vQ0ZoJfagocK11LNf8vnn2JG0ufRMUQ==", + "dev": true + }, + "@szmarczak/http-timer": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", + "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", + "dev": true, + "requires": { + "defer-to-connect": "^1.0.1" + } + }, + "@types/color-name": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", + "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "dev": true + }, + "@types/glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-VgNIkxK+j7Nz5P7jvUZlRvhuPSmsEfS03b0alKcq5V/STUKAa3Plemsn5mrQUO7am6OErJ4rhGEGJbACclrtRA==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/json-schema": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.5.tgz", + "integrity": "sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ==", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, + "@types/node": { + "version": "14.0.13", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.13.tgz", + "integrity": "sha512-rouEWBImiRaSJsVA+ITTFM6ZxibuAlTuNOCyxVbwreu6k6+ujs7DfnU9o+PShFhET78pMBl3eH+AGSI5eOTkPA==", + "dev": true + }, + "@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", + "dev": true + }, + "@types/q": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", + "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==", + "dev": true + }, + "@vue/babel-helper-vue-jsx-merge-props": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.0.0.tgz", + "integrity": "sha512-6tyf5Cqm4m6v7buITuwS+jHzPlIPxbFzEhXR5JGZpbrvOcp1hiQKckd305/3C7C36wFekNTQSxAtgeM0j0yoUw==", + "dev": true + }, + "@vue/babel-plugin-transform-vue-jsx": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.1.2.tgz", + "integrity": "sha512-YfdaoSMvD1nj7+DsrwfTvTnhDXI7bsuh+Y5qWwvQXlD24uLgnsoww3qbiZvWf/EoviZMrvqkqN4CBw0W3BWUTQ==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", + "html-tags": "^2.0.0", + "lodash.kebabcase": "^4.1.1", + "svg-tags": "^1.0.0" + } + }, + "@vue/babel-preset-app": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.4.4.tgz", + "integrity": "sha512-9b74d/lz4GEc9zkF3C+vjgEXYqu9ITq1DimUT+IVRJDvhgnV+a3C+pQY4Kl4PZSOyqkTHM7jE6eG2K5DUwKpWg==", + "dev": true, + "requires": { + "@babel/core": "^7.9.6", + "@babel/helper-compilation-targets": "^7.9.6", + "@babel/helper-module-imports": "^7.8.3", + "@babel/plugin-proposal-class-properties": "^7.8.3", + "@babel/plugin-proposal-decorators": "^7.8.3", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-jsx": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.9.6", + "@babel/preset-env": "^7.9.6", + "@babel/runtime": "^7.9.6", + "@vue/babel-preset-jsx": "^1.1.2", + "babel-plugin-dynamic-import-node": "^2.3.3", + "core-js": "^3.6.5", + "core-js-compat": "^3.6.5", + "semver": "^6.1.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@vue/babel-preset-jsx": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.1.2.tgz", + "integrity": "sha512-zDpVnFpeC9YXmvGIDSsKNdL7qCG2rA3gjywLYHPCKDT10erjxF4U+6ay9X6TW5fl4GsDlJp9bVfAVQAAVzxxvQ==", + "dev": true, + "requires": { + "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.1.2", + "@vue/babel-sugar-functional-vue": "^1.1.2", + "@vue/babel-sugar-inject-h": "^1.1.2", + "@vue/babel-sugar-v-model": "^1.1.2", + "@vue/babel-sugar-v-on": "^1.1.2" + } + }, + "@vue/babel-sugar-functional-vue": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.1.2.tgz", + "integrity": "sha512-YhmdJQSVEFF5ETJXzrMpj0nkCXEa39TvVxJTuVjzvP2rgKhdMmQzlJuMv/HpadhZaRVMCCF3AEjjJcK5q/cYzQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-inject-h": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.1.2.tgz", + "integrity": "sha512-VRSENdTvD5htpnVp7i7DNuChR5rVMcORdXjvv5HVvpdKHzDZAYiLSD+GhnhxLm3/dMuk8pSzV+k28ECkiN5m8w==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-v-model": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.1.2.tgz", + "integrity": "sha512-vLXPvNq8vDtt0u9LqFdpGM9W9IWDmCmCyJXuozlq4F4UYVleXJ2Fa+3JsnTZNJcG+pLjjfnEGHci2339Kj5sGg==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.0.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.1.2", + "camelcase": "^5.0.0", + "html-tags": "^2.0.0", + "svg-tags": "^1.0.0" + } + }, + "@vue/babel-sugar-v-on": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.1.2.tgz", + "integrity": "sha512-T8ZCwC8Jp2uRtcZ88YwZtZXe7eQrJcfRq0uTFy6ShbwYJyz5qWskRFoVsdTi9o0WEhmQXxhQUewodOSCUPVmsQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.1.2", + "camelcase": "^5.0.0" + } + }, + "@vue/cli-overlay": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.4.4.tgz", + "integrity": "sha512-cTvtifIpsSVF2dPF+ibUoAq+hMkEbg4EYTsf6dUuUrBKi1G2tyZ3Pnx54U2NpqXjJMykqMGX+i+BxpIG5tJCGw==", + "dev": true + }, + "@vue/cli-plugin-babel": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-4.4.4.tgz", + "integrity": "sha512-VctlKy5oEYhI+AiPpzlorjDmuhbpoRQcKXpBdf2bXvq0+uuTQg7UXmPX0RKJejnFTKSJZvuPTihgfCWiyh9C3Q==", + "dev": true, + "requires": { + "@babel/core": "^7.9.6", + "@vue/babel-preset-app": "^4.4.4", + "@vue/cli-shared-utils": "^4.4.4", + "babel-loader": "^8.1.0", + "cache-loader": "^4.1.0", + "thread-loader": "^2.1.3", + "webpack": "^4.0.0" + } + }, + "@vue/cli-plugin-eslint": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-4.4.4.tgz", + "integrity": "sha512-B+l3smq3Lyob9qiuywC/IymCCyV2Gm/l1ZtxRzQI98RDTKei1PrRriIi3Hrg/AkK59HirwR7P7wiNhF2Pqg3VA==", + "dev": true, + "requires": { + "@vue/cli-shared-utils": "^4.4.4", + "eslint-loader": "^2.2.1", + "globby": "^9.2.0", + "inquirer": "^7.1.0", + "webpack": "^4.0.0", + "yorkie": "^2.0.0" + } + }, + "@vue/cli-plugin-pwa": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-pwa/-/cli-plugin-pwa-4.4.4.tgz", + "integrity": "sha512-V9MdKP5WPo0W/0eGmml93U2bdh4gyfaiZAWOD4BZQDBN/hk0Q32VaImVtYorLNU5uw66XbUHtsIseOSPOSR7PQ==", + "dev": true, + "requires": { + "@vue/cli-shared-utils": "^4.4.4", + "webpack": "^4.0.0", + "workbox-webpack-plugin": "^4.3.1" + } + }, + "@vue/cli-plugin-router": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.4.4.tgz", + "integrity": "sha512-jZTupo+zFz1YHH3Q4WC5nJW5wlNEDqX//m+atwUISPahVEG6/EV8HwJnQDT7EQ9re4v78xI27eOtyNw+qSyiSA==", + "dev": true, + "requires": { + "@vue/cli-shared-utils": "^4.4.4" + } + }, + "@vue/cli-plugin-vuex": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.4.4.tgz", + "integrity": "sha512-A2SZD0B5yPz60W7go2ZYTIHooQse7bhhNUlinGQrdYeQCuURKUqqUbl/zF8u/8Qqo6nZ4F469fHNH6XWRN9Nnw==", + "dev": true + }, + "@vue/cli-service": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-4.4.4.tgz", + "integrity": "sha512-AKWpBpBAB+LHJ8JpArM2BJ0I2REy9lG7xIkJn9k3Vw9gadejx+y74P0bJh/J8hY65kDTFltO1BW1Kv3URw/ifQ==", + "dev": true, + "requires": { + "@intervolga/optimize-cssnano-plugin": "^1.0.5", + "@soda/friendly-errors-webpack-plugin": "^1.7.1", + "@soda/get-current-script": "^1.0.0", + "@vue/cli-overlay": "^4.4.4", + "@vue/cli-plugin-router": "^4.4.4", + "@vue/cli-plugin-vuex": "^4.4.4", + "@vue/cli-shared-utils": "^4.4.4", + "@vue/component-compiler-utils": "^3.1.2", + "@vue/preload-webpack-plugin": "^1.1.0", + "@vue/web-component-wrapper": "^1.2.0", + "acorn": "^7.2.0", + "acorn-walk": "^7.1.1", + "address": "^1.1.2", + "autoprefixer": "^9.8.0", + "browserslist": "^4.12.0", + "cache-loader": "^4.1.0", + "case-sensitive-paths-webpack-plugin": "^2.3.0", + "cli-highlight": "^2.1.4", + "clipboardy": "^2.3.0", + "cliui": "^6.0.0", + "copy-webpack-plugin": "^5.1.1", + "css-loader": "^3.5.3", + "cssnano": "^4.1.10", + "debug": "^4.1.1", + "default-gateway": "^5.0.5", + "dotenv": "^8.2.0", + "dotenv-expand": "^5.1.0", + "file-loader": "^4.2.0", + "fs-extra": "^7.0.1", + "globby": "^9.2.0", + "hash-sum": "^2.0.0", + "html-webpack-plugin": "^3.2.0", + "launch-editor-middleware": "^2.2.1", + "lodash.defaultsdeep": "^4.6.1", + "lodash.mapvalues": "^4.6.0", + "lodash.transform": "^4.6.0", + "mini-css-extract-plugin": "^0.9.0", + "minimist": "^1.2.5", + "pnp-webpack-plugin": "^1.6.4", + "portfinder": "^1.0.26", + "postcss-loader": "^3.0.0", + "ssri": "^7.1.0", + "terser-webpack-plugin": "^2.3.6", + "thread-loader": "^2.1.3", + "url-loader": "^2.2.0", + "vue-loader": "^15.9.2", + "vue-style-loader": "^4.1.2", + "webpack": "^4.0.0", + "webpack-bundle-analyzer": "^3.8.0", + "webpack-chain": "^6.4.0", + "webpack-dev-server": "^3.11.0", + "webpack-merge": "^4.2.2" + }, + "dependencies": { + "acorn": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz", + "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==", + "dev": true + }, + "cacache": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz", + "integrity": "sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==", + "dev": true, + "requires": { + "chownr": "^1.1.2", + "figgy-pudding": "^3.5.1", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.2", + "infer-owner": "^1.0.4", + "lru-cache": "^5.1.1", + "minipass": "^3.0.0", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "p-map": "^3.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^2.7.1", + "ssri": "^7.0.0", + "unique-filename": "^1.1.1" + } + }, + "find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "ssri": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz", + "integrity": "sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1", + "minipass": "^3.1.1" + } + }, + "terser-webpack-plugin": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.7.tgz", + "integrity": "sha512-xzYyaHUNhzgaAdBsXxk2Yvo/x1NJdslUaussK3fdpBbvttm1iIwU+c26dj9UxJcwk2c5UWt5F55MUTIA8BE7Dg==", + "dev": true, + "requires": { + "cacache": "^13.0.1", + "find-cache-dir": "^3.3.1", + "jest-worker": "^25.4.0", + "p-limit": "^2.3.0", + "schema-utils": "^2.6.6", + "serialize-javascript": "^3.1.0", + "source-map": "^0.6.1", + "terser": "^4.6.12", + "webpack-sources": "^1.4.3" + } + } + } + }, + "@vue/cli-shared-utils": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.4.4.tgz", + "integrity": "sha512-ccMZtTMSutR35V5nrU/eyj+zRMomTRGBTLwJPmaJ2sRiW/93MTggQGXDWC8JRAA8yiU1N8xza8mjBxS0O2wIAA==", + "dev": true, + "requires": { + "@hapi/joi": "^15.0.1", + "chalk": "^2.4.2", + "execa": "^1.0.0", + "launch-editor": "^2.2.1", + "lru-cache": "^5.1.1", + "node-ipc": "^9.1.1", + "open": "^6.3.0", + "ora": "^3.4.0", + "read-pkg": "^5.1.1", + "request": "^2.88.2", + "request-promise-native": "^1.0.8", + "semver": "^6.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@vue/component-compiler-utils": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.1.2.tgz", + "integrity": "sha512-QLq9z8m79mCinpaEeSURhnNCN6djxpHw0lpP/bodMlt5kALfONpryMthvnrQOlTcIKoF+VoPi+lPHUYeDFPXug==", + "dev": true, + "requires": { + "consolidate": "^0.15.1", + "hash-sum": "^1.0.2", + "lru-cache": "^4.1.2", + "merge-source-map": "^1.1.0", + "postcss": "^7.0.14", + "postcss-selector-parser": "^6.0.2", + "prettier": "^1.18.2", + "source-map": "~0.6.1", + "vue-template-es2015-compiler": "^1.9.0" + }, + "dependencies": { + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "dev": true, + "optional": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + }, + "@vue/eslint-config-prettier": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-6.0.0.tgz", + "integrity": "sha512-wFQmv45c3ige5EA+ngijq40YpVcIkAy0Lihupnsnd1Dao5CBbPyfCzqtejFLZX1EwH/kCJdpz3t6s+5wd3+KxQ==", + "dev": true, + "requires": { + "eslint-config-prettier": "^6.0.0" + } + }, + "@vue/preload-webpack-plugin": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.1.tgz", + "integrity": "sha512-8VCoJeeH8tCkzhkpfOkt+abALQkS11OIHhte5MBzYaKMTqK0A3ZAKEUVAffsOklhEv7t0yrQt696Opnu9oAx+w==", + "dev": true + }, + "@vue/web-component-wrapper": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@vue/web-component-wrapper/-/web-component-wrapper-1.2.0.tgz", + "integrity": "sha512-Xn/+vdm9CjuC9p3Ae+lTClNutrVhsXpzxvoTXXtoys6kVRX9FkueSUAqSWAyZntmVLlR4DosBV4pH8y5Z/HbUw==", + "dev": true + }, + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", + "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", + "dev": true + }, + "acorn-jsx": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", + "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", + "dev": true + }, + "acorn-walk": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.1.1.tgz", + "integrity": "sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ==", + "dev": true + }, + "address": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", + "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", + "dev": true + }, + "after": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", + "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=" + }, + "aggregate-error": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", + "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "6.12.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", + "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true + }, + "ajv-keywords": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", + "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", + "dev": true + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, + "ansi-align": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", + "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", + "dev": true, + "requires": { + "string-width": "^3.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "requires": { + "type-fest": "^0.11.0" + }, + "dependencies": { + "type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true + } + } + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", + "dev": true + }, + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "arch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.1.2.tgz", + "integrity": "sha512-NTBIIbAfkJeIletyABbVtdPgeKfDafR+1mZV/AyyfC1UkVkp9iUjV+wwmqtUgphHYajbI86jejBJp5e+jkGTiQ==", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "arraybuffer.slice": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", + "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==" + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", + "dev": true + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "autoprefixer": { + "version": "9.8.0", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.0.tgz", + "integrity": "sha512-D96ZiIHXbDmU02dBaemyAg53ez+6F5yZmapmgKcjm35yEe1uVDYI8hGW3VYoGRaG290ZFf91YxHrR518vC0u/A==", + "dev": true, + "requires": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001061", + "chalk": "^2.4.2", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.30", + "postcss-value-parser": "^4.1.0" + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.0.tgz", + "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==", + "dev": true + }, + "babel-eslint": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", + "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.0", + "@babel/traverse": "^7.7.0", + "@babel/types": "^7.7.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + } + }, + "babel-extract-comments": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz", + "integrity": "sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ==", + "dev": true, + "requires": { + "babylon": "^6.18.0" + } + }, + "babel-loader": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz", + "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==", + "dev": true, + "requires": { + "find-cache-dir": "^2.1.0", + "loader-utils": "^1.4.0", + "mkdirp": "^0.5.3", + "pify": "^4.0.1", + "schema-utils": "^2.6.5" + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true + }, + "babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", + "dev": true, + "requires": { + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "core-js": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", + "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + } + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-arraybuffer": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=" + }, + "base64-js": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", + "dev": true + }, + "base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" + }, + "basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "better-assert": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", + "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "requires": { + "callsite": "1.0.0" + } + }, + "bfj": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz", + "integrity": "sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "check-types": "^8.0.3", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", + "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", + "dev": true + }, + "blob": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", + "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==" + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "bn.js": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz", + "integrity": "sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==", + "dev": true + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + }, + "dependencies": { + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + } + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "boxen": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz", + "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==", + "dev": true, + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^3.0.0", + "cli-boxes": "^2.2.0", + "string-width": "^4.1.0", + "term-size": "^2.1.0", + "type-fest": "^0.8.1", + "widest-line": "^3.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "browserify-sign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz", + "integrity": "sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==", + "dev": true, + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.2", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz", + "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001043", + "electron-to-chromium": "^1.3.413", + "node-releases": "^1.1.53", + "pkg-up": "^2.0.0" + } + }, + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true + }, + "buffer-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/buffer-json/-/buffer-json-2.0.0.tgz", + "integrity": "sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cache-loader": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-4.1.0.tgz", + "integrity": "sha512-ftOayxve0PwKzBF/GLsZNC9fJBXl8lkZE3TOsjkboHfVHVkL39iUEs1FO07A33mizmci5Dudt38UZrrYXDtbhw==", + "dev": true, + "requires": { + "buffer-json": "^2.0.0", + "find-cache-dir": "^3.0.0", + "loader-utils": "^1.2.3", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "schema-utils": "^2.0.0" + }, + "dependencies": { + "find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "cacheable-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", + "dev": true, + "requires": { + "clone-response": "^1.0.2", + "get-stream": "^5.1.0", + "http-cache-semantics": "^4.0.0", + "keyv": "^3.0.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", + "responselike": "^1.0.2" + }, + "dependencies": { + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", + "dev": true + }, + "normalize-url": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", + "dev": true + } + } + }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "dev": true + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "requires": { + "callsites": "^2.0.0" + } + }, + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + }, + "callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=" + }, + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001081", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001081.tgz", + "integrity": "sha512-iZdh3lu09jsUtLE6Bp8NAbJskco4Y3UDtkR3GTCJGsbMowBU5IWDFF79sV2ws7lSqTzWyKazxam2thasHymENQ==", + "dev": true + }, + "case-sensitive-paths-webpack-plugin": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz", + "integrity": "sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "check-types": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz", + "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==", + "dev": true + }, + "chokidar": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", + "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.2", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.4.0" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cli-boxes": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.0.tgz", + "integrity": "sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==", + "dev": true + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-highlight": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.4.tgz", + "integrity": "sha512-s7Zofobm20qriqDoU9sXptQx0t2R9PEgac92mENNm7xaEe1hn71IIMsXMK+6encA6WRCWWxIGQbipr3q998tlQ==", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "highlight.js": "^9.6.0", + "mz": "^2.4.0", + "parse5": "^5.1.1", + "parse5-htmlparser2-tree-adapter": "^5.1.1", + "yargs": "^15.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "cli-spinners": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.3.0.tgz", + "integrity": "sha512-Xs2Hf2nzrvJMFKimOR7YR0QwZ8fc0u98kdtwN1eNAZzNQgH3vK2pXzff6GJtKh7S5hoJ87ECiAiZFS2fb5Ii2w==", + "dev": true + }, + "cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "dev": true + }, + "clipboardy": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz", + "integrity": "sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==", + "dev": true, + "requires": { + "arch": "^2.1.1", + "execa": "^1.0.0", + "is-wsl": "^2.1.1" + }, + "dependencies": { + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + } + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dev": true, + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", + "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", + "dev": true, + "requires": { + "color-convert": "^1.9.1", + "color-string": "^1.5.2" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "color-string": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", + "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", + "dev": true, + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "common-tags": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz", + "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", + "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "component-inherit": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", + "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "configstore": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz", + "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "graceful-fs": "^4.1.2", + "make-dir": "^3.0.0", + "unique-string": "^2.0.0", + "write-file-atomic": "^3.0.0", + "xdg-basedir": "^4.0.0" + }, + "dependencies": { + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "consolidate": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", + "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", + "dev": true, + "requires": { + "bluebird": "^3.1.1" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "copy-webpack-plugin": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.1.tgz", + "integrity": "sha512-P15M5ZC8dyCjQHWwd4Ia/dm0SgVvZJMYeykVIVYXbGyqO4dWB5oyPHp9i7wjwo5LhtlhKbiBCdS2NvM07Wlybg==", + "dev": true, + "requires": { + "cacache": "^12.0.3", + "find-cache-dir": "^2.1.0", + "glob-parent": "^3.1.0", + "globby": "^7.1.1", + "is-glob": "^4.0.1", + "loader-utils": "^1.2.3", + "minimatch": "^3.0.4", + "normalize-path": "^3.0.0", + "p-limit": "^2.2.1", + "schema-utils": "^1.0.0", + "serialize-javascript": "^2.1.2", + "webpack-log": "^2.0.0" + }, + "dependencies": { + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + } + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "serialize-javascript": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", + "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + } + } + }, + "core-js": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", + "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==", + "dev": true + }, + "core-js-compat": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz", + "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==", + "dev": true, + "requires": { + "browserslist": "^4.8.5", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + }, + "dependencies": { + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + } + } + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "dev": true + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true + }, + "css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "dev": true, + "requires": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + } + }, + "css-loader": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.5.3.tgz", + "integrity": "sha512-UEr9NH5Lmi7+dguAm+/JSPovNjYbm2k3TK58EiwQHzOHH5Jfq1Y+XoP2bQO6TMn7PptMd0opxxedAWcaSTRKHw==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "cssesc": "^3.0.0", + "icss-utils": "^4.1.1", + "loader-utils": "^1.2.3", + "normalize-path": "^3.0.0", + "postcss": "^7.0.27", + "postcss-modules-extract-imports": "^2.0.0", + "postcss-modules-local-by-default": "^3.0.2", + "postcss-modules-scope": "^2.2.0", + "postcss-modules-values": "^3.0.0", + "postcss-value-parser": "^4.0.3", + "schema-utils": "^2.6.6", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "dev": true + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dev": true, + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "css-what": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.3.0.tgz", + "integrity": "sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "cssnano": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", + "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.7", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "cssnano-preset-default": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", + "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", + "dev": true, + "requires": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.2", + "postcss-unique-selectors": "^4.0.1" + } + }, + "cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", + "dev": true + }, + "cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", + "dev": true + }, + "cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", + "dev": true + }, + "csso": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", + "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", + "dev": true, + "requires": { + "css-tree": "1.0.0-alpha.39" + }, + "dependencies": { + "css-tree": { + "version": "1.0.0-alpha.39", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", + "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", + "dev": true, + "requires": { + "mdn-data": "2.0.6", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", + "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", + "dev": true + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "dev": true, + "requires": { + "mimic-response": "^1.0.0" + } + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dev": true, + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", + "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", + "dev": true + }, + "default-gateway": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-5.0.5.tgz", + "integrity": "sha512-z2RnruVmj8hVMmAnEJMTIJNijhKCDiGjbLP+BHJFOT7ld3Bo5qcIBpVYDniqhbMIIf+jZDlkP2MkPXiQy/DBLA==", + "dev": true, + "requires": { + "execa": "^3.3.0" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "defer-to-connect": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + }, + "dependencies": { + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, + "requires": { + "path-type": "^3.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "dev": true, + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "requires": { + "utila": "~0.4" + } + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", + "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==", + "dev": true + } + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-prop": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", + "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + }, + "dependencies": { + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true + } + } + }, + "dotenv": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", + "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==", + "dev": true + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true + }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", + "dev": true + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "easy-stack": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.0.tgz", + "integrity": "sha1-EskbMIWjfwuqM26UhurEv5Tj54g=", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.469", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.469.tgz", + "integrity": "sha512-O9JM6ZsFhS0uy0S2Y3G8EoNfqio3srdxCuwuJh8tKgQKa6rf7je/xQ3TIoiEaEtpf2/qFFLAGt/xB4MjuUZqRw==", + "dev": true + }, + "elliptic": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", + "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", + "dev": true, + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "engine.io": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.4.1.tgz", + "integrity": "sha512-8MfIfF1/IIfxuc2gv5K+XlFZczw/BpTvqBdl0E2fBLkYQp4miv4LuDTVtYt4yMyaIFLEr4vtaSgV4mjvll8Crw==", + "requires": { + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "0.3.1", + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", + "ws": "^7.1.2" + }, + "dependencies": { + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + }, + "ws": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.0.tgz", + "integrity": "sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w==" + } + } + }, + "engine.io-client": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.4.2.tgz", + "integrity": "sha512-AWjc1Xg06a6UPFOBAzJf48W1UR/qKYmv/ubgSCumo9GXgvL/xGIvo05dXoBL+2NTLMipDI7in8xK61C17L25xg==", + "requires": { + "component-emitter": "~1.3.0", + "component-inherit": "0.0.3", + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "ws": "~6.1.0", + "xmlhttprequest-ssl": "~1.5.4", + "yeast": "0.1.2" + }, + "dependencies": { + "ws": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz", + "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==", + "requires": { + "async-limiter": "~1.0.0" + } + } + } + }, + "engine.io-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.0.tgz", + "integrity": "sha512-6I3qD9iUxotsC5HEMuuGsKA0cXerGz+4uGcXQEkfBidgKf0amsjrrtwcbwK/nzpZBxclXlV7gGl9dgWvu4LF6w==", + "requires": { + "after": "0.8.2", + "arraybuffer.slice": "~0.0.7", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.5", + "has-binary2": "~1.0.2" + } + }, + "enhanced-resolve": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", + "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, + "entities": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", + "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", + "dev": true + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", + "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", + "dev": true, + "requires": { + "stackframe": "^1.1.1" + } + }, + "es-abstract": { + "version": "1.17.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", + "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escape-goat": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", + "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "eslint": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.2.0.tgz", + "integrity": "sha512-B3BtEyaDKC5MlfDa2Ha8/D6DsS4fju95zs0hjS3HdGazw+LNayai38A25qMppK37wWGWNYSPOR6oYzlz5MHsRQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.1.0", + "eslint-utils": "^2.0.0", + "eslint-visitor-keys": "^1.2.0", + "espree": "^7.1.0", + "esquery": "^1.2.0", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "acorn": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.2.0.tgz", + "integrity": "sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "eslint-scope": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz", + "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.2.0.tgz", + "integrity": "sha512-WFb4ihckKil6hu3Dp798xdzSfddwKKU3+nGniKF6HfeW6OLd2OUDEPP7TcHtB5+QXOKg2s6B2DaMPE1Nn/kxKQ==", + "dev": true + }, + "espree": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.1.0.tgz", + "integrity": "sha512-dcorZSyfmm4WTuTnE5Y7MEN1DyoPYy1ZR783QW1FJoenn7RailyWFsq/UL6ZAAA7uXurN9FIpYyUs3OfiIW+Qw==", + "dev": true, + "requires": { + "acorn": "^7.2.0", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.2.0" + } + }, + "globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "requires": { + "type-fest": "^0.8.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", + "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "semver": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "eslint-config-prettier": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz", + "integrity": "sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA==", + "dev": true, + "requires": { + "get-stdin": "^6.0.0" + } + }, + "eslint-loader": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-2.2.1.tgz", + "integrity": "sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==", + "dev": true, + "requires": { + "loader-fs-cache": "^1.0.0", + "loader-utils": "^1.0.2", + "object-assign": "^4.0.1", + "object-hash": "^1.1.4", + "rimraf": "^2.6.1" + } + }, + "eslint-plugin-prettier": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.3.tgz", + "integrity": "sha512-+HG5jmu/dN3ZV3T6eCD7a4BlAySdN7mLIbJYo0z1cFQuI+r2DiTJEFeF68ots93PsnrMxbzIZ2S/ieX+mkrBeQ==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0" + } + }, + "eslint-plugin-vue": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-6.2.2.tgz", + "integrity": "sha512-Nhc+oVAHm0uz/PkJAWscwIT4ijTrK5fqNqz9QB1D35SbbuMG1uB6Yr5AJpvPSWg+WOw7nYNswerYh0kOk64gqQ==", + "dev": true, + "requires": { + "natural-compare": "^1.4.0", + "semver": "^5.6.0", + "vue-eslint-parser": "^7.0.0" + } + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.0.0.tgz", + "integrity": "sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", + "dev": true + }, + "espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "acorn": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.2.0.tgz", + "integrity": "sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==", + "dev": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz", + "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "event-pubsub": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.3.0.tgz", + "integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==", + "dev": true + }, + "eventemitter3": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", + "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", + "dev": true + }, + "events": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", + "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", + "dev": true + }, + "eventsource": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", + "dev": true, + "requires": { + "original": "^1.0.0" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", + "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "dev": true + }, + "fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "dev": true, + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + }, + "dependencies": { + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "file-loader": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.3.0.tgz", + "integrity": "sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA==", + "dev": true, + "requires": { + "loader-utils": "^1.2.3", + "schema-utils": "^2.5.0" + } + }, + "filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", + "dev": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "follow-redirects": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.11.0.tgz", + "integrity": "sha512-KZm0V+ll8PfBrKwMzdo5D13b1bur9Iq9Zd/RMmAoQQcl2PxxFml8cxXPaaPYVbV0RjNjq1CU7zIzAOqtUPudmA==", + "dev": true, + "requires": { + "debug": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", + "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.1", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", + "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "dev": true + }, + "get-stdin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz", + "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==", + "dev": true + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", + "dev": true + }, + "global-dirs": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.0.1.tgz", + "integrity": "sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A==", + "dev": true, + "requires": { + "ini": "^1.3.5" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globby": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + } + }, + "got": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", + "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", + "dev": true, + "requires": { + "@sindresorhus/is": "^0.14.0", + "@szmarczak/http-timer": "^1.1.2", + "cacheable-request": "^6.0.0", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^4.1.0", + "lowercase-keys": "^1.0.1", + "mimic-response": "^1.0.1", + "p-cancelable": "^1.0.0", + "to-readable-stream": "^1.0.0", + "url-parse-lax": "^3.0.0" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "dev": true + }, + "gzip-size": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", + "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", + "dev": true, + "requires": { + "duplexer": "^0.1.1", + "pify": "^4.0.1" + } + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "dev": true, + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + } + } + }, + "has-binary2": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", + "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", + "requires": { + "isarray": "2.0.1" + }, + "dependencies": { + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + } + } + }, + "has-cors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "has-yarn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz", + "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", + "dev": true + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", + "dev": true + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", + "dev": true + }, + "highlight.js": { + "version": "9.18.1", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.1.tgz", + "integrity": "sha512-OrVKYz70LHsnCgmbXctv/bfuvntIKDz177h0Co37DQ5jamGZLVmoCVMtjMtNZY3X9DrCcKfklHPNeA0uPZhSJg==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "dev": true + }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", + "dev": true + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "dev": true + }, + "html-comment-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", + "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", + "dev": true + }, + "html-entities": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz", + "integrity": "sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==", + "dev": true + }, + "html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", + "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", + "dev": true, + "requires": { + "camel-case": "3.0.x", + "clean-css": "4.2.x", + "commander": "2.17.x", + "he": "1.2.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" + }, + "dependencies": { + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + } + } + }, + "html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", + "dev": true + }, + "html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", + "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", + "dev": true, + "requires": { + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "tapable": "^1.0.0", + "toposort": "^1.0.0", + "util.promisify": "1.0.0" + }, + "dependencies": { + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + } + } + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "dev": true, + "requires": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-utils": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", + "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", + "dev": true, + "requires": { + "postcss": "^7.0.14" + } + }, + "ieee754": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", + "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", + "dev": true + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "dev": true, + "requires": { + "import-from": "^2.1.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "import-lazy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", + "dev": true + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "inquirer": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz", + "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^3.0.0", + "cli-cursor": "^3.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.15", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.5.3", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "dev": true, + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + }, + "dependencies": { + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + } + } + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "^1.0.0" + } + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arguments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", + "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", + "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", + "dev": true + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "requires": { + "ci-info": "^1.5.0" + } + }, + "is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dev": true, + "requires": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-docker": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz", + "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==", + "dev": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-installed-globally": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz", + "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==", + "dev": true, + "requires": { + "global-dirs": "^2.0.1", + "is-path-inside": "^3.0.1" + }, + "dependencies": { + "is-path-inside": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz", + "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==", + "dev": true + } + } + }, + "is-npm": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz", + "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==", + "dev": true + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "requires": { + "is-path-inside": "^2.1.0" + } + }, + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true, + "requires": { + "path-is-inside": "^1.0.2" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", + "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "dev": true + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-svg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", + "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", + "dev": true, + "requires": { + "html-comment-regex": "^1.1.0" + } + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "is-yarn-global": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz", + "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "javascript-stringify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.0.1.tgz", + "integrity": "sha512-yV+gqbd5vaOYjqlbk16EG89xB5udgjqQF3C5FAORDg4f/IS1Yc5ERCv5e/57yBcfJYw05V5JyIXabhwb75Xxow==", + "dev": true + }, + "jest-worker": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.5.0.tgz", + "integrity": "sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw==", + "dev": true, + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-message": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.5.tgz", + "integrity": "sha1-IwDSSxrwjondCVvBpMnJz8uJLRU=", + "dev": true + }, + "js-queue": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/js-queue/-/js-queue-2.0.0.tgz", + "integrity": "sha1-NiITz4YPRo8BJfxslqvBdCUx+Ug=", + "dev": true, + "requires": { + "easy-stack": "^1.0.0" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "~0.0.0" + } + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", + "dev": true + }, + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "keyv": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", + "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", + "dev": true, + "requires": { + "json-buffer": "3.0.0" + } + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "latest-version": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz", + "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==", + "dev": true, + "requires": { + "package-json": "^6.3.0" + } + }, + "launch-editor": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.2.1.tgz", + "integrity": "sha512-On+V7K2uZK6wK7x691ycSUbLD/FyKKelArkbaAMSSJU8JmqmhwN2+mnJDNINuJWSrh2L0kDk+ZQtbC/gOWUwLw==", + "dev": true, + "requires": { + "chalk": "^2.3.0", + "shell-quote": "^1.6.1" + } + }, + "launch-editor-middleware": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.2.1.tgz", + "integrity": "sha512-s0UO2/gEGiCgei3/2UN3SMuUj1phjQN8lcpnvgLSz26fAzNWPQ6Nf/kF5IFClnfU2ehp6LrmKdMU/beveO+2jg==", + "dev": true, + "requires": { + "launch-editor": "^2.2.1" + } + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true + }, + "levenary": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz", + "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==", + "dev": true, + "requires": { + "leven": "^3.1.0" + } + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "loader-fs-cache": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz", + "integrity": "sha512-ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA==", + "dev": true, + "requires": { + "find-cache-dir": "^0.1.1", + "mkdirp": "^0.5.1" + }, + "dependencies": { + "find-cache-dir": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "pkg-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "dev": true, + "requires": { + "find-up": "^1.0.0" + } + } + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", + "dev": true + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, + "lodash.defaultsdeep": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", + "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", + "dev": true + }, + "lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=", + "dev": true + }, + "lodash.mapvalues": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz", + "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0" + } + }, + "lodash.transform": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz", + "integrity": "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "^2.0.1" + } + }, + "loglevel": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.8.tgz", + "integrity": "sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA==", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", + "dev": true + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "dev": true + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "mime": { + "version": "2.4.6", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", + "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", + "dev": true + }, + "mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" + }, + "mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "requires": { + "mime-db": "1.44.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", + "dev": true + }, + "mini-css-extract-plugin": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz", + "integrity": "sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "normalize-url": "1.9.1", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + }, + "dependencies": { + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + }, + "dependencies": { + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.3.tgz", + "integrity": "sha512-cFOknTvng5vqnwOpDsZTWhNll6Jf8o2x+/diplafmxpuIymAjzoOolZG0VvQf3V2HgqzJNhnuKHYp2BqDgz8IQ==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "morgan": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz", + "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", + "requires": { + "basic-auth": "~2.0.1", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-finished": "~2.3.0", + "on-headers": "~1.0.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "requires": { + "lower-case": "^1.1.1" + } + }, + "node-forge": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", + "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", + "dev": true + }, + "node-ipc": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/node-ipc/-/node-ipc-9.1.1.tgz", + "integrity": "sha512-FAyICv0sIRJxVp3GW5fzgaf9jwwRQxAKDJlmNFUL5hOy+W4X/I5AypyHoq0DXXbo9o/gt79gj++4cMr4jVWE/w==", + "dev": true, + "requires": { + "event-pubsub": "4.3.0", + "js-message": "1.0.5", + "js-queue": "2.0.0" + } + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "node-releases": { + "version": "1.1.58", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.58.tgz", + "integrity": "sha512-NxBudgVKiRh/2aPWMgPR7bPTX0VPmGx5QBwCtdHitnqFE5/O8DeBXuIMH1nwNnw/aMo6AjOrpsHzfY3UbUJ7yg==", + "dev": true + }, + "node-roon-api": { + "version": "github:roonlabs/node-roon-api#b09c875738360a9413518a8a51ac70294745a926", + "from": "github:roonlabs/node-roon-api", + "requires": { + "ip": "^1.1.3", + "node-uuid": "^1.4.7", + "ws": ">=3.3.1" + }, + "dependencies": { + "node-uuid": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", + "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=" + } + } + }, + "node-roon-api-browse": { + "version": "github:roonlabs/node-roon-api-browse#98adcbaba3a30fd6ce109c1f04cd361536143222", + "from": "github:roonlabs/node-roon-api-browse" + }, + "node-roon-api-image": { + "version": "github:roonlabs/node-roon-api-image#a5f0efaf2dfb5457e91abe326c3a40d865131d32", + "from": "github:roonlabs/node-roon-api-image" + }, + "node-roon-api-status": { + "version": "github:roonlabs/node-roon-api-status#504c918d6da267e03fbb4337befa71ca3d3c7526", + "from": "github:roonlabs/node-roon-api-status" + }, + "node-roon-api-transport": { + "version": "github:roonlabs/node-roon-api-transport#0e6189de2935eac81e1d9fcc2e8d12c654fcb87a", + "from": "github:roonlabs/node-roon-api-transport" + }, + "nodemon": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.4.tgz", + "integrity": "sha512-Ltced+hIfTmaS28Zjv1BM552oQ3dbwPqI4+zI0SLgq+wpJhSyqgYude/aZa/3i31VCQWMfXJVxvu86abcam3uQ==", + "dev": true, + "requires": { + "chokidar": "^3.2.2", + "debug": "^3.2.6", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.0.4", + "pstree.remy": "^1.1.7", + "semver": "^5.7.1", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.2", + "update-notifier": "^4.0.0" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", + "dev": true + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, + "requires": { + "boolbase": "~1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-component": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", + "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-hash": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz", + "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==", + "dev": true + }, + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "dev": true + }, + "object-is": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.2.tgz", + "integrity": "sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", + "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "opener": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz", + "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==", + "dev": true + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "ora": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", + "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "dev": true, + "requires": { + "url-parse": "^1.4.3" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-cancelable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "dev": true, + "requires": { + "retry": "^0.12.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "package-json": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", + "dev": true, + "requires": { + "got": "^9.6.0", + "registry-auth-token": "^4.0.0", + "registry-url": "^5.0.0", + "semver": "^6.2.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + }, + "dependencies": { + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + } + } + }, + "parse-asn1": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "dev": true, + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-json": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz", + "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1", + "lines-and-columns": "^1.1.6" + } + }, + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "dev": true + }, + "parse5-htmlparser2-tree-adapter": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-5.1.1.tgz", + "integrity": "sha512-CF+TKjXqoqyDwHqBhFQ+3l5t83xYi6fVT1tQNg+Ye0JRLnTxWvIroCjEp1A0k4lneHNBGnICUf0cfYVYGEazqw==", + "dev": true, + "requires": { + "parse5": "^5.1.1" + } + }, + "parseqs": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", + "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", + "requires": { + "better-assert": "~1.0.0" + } + }, + "parseuri": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", + "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", + "requires": { + "better-assert": "~1.0.0" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "pbkdf2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", + "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + } + } + }, + "pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + }, + "pnp-webpack-plugin": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", + "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", + "dev": true, + "requires": { + "ts-pnp": "^1.1.6" + } + }, + "portfinder": { + "version": "1.0.26", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.26.tgz", + "integrity": "sha512-Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ==", + "dev": true, + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.1" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "7.0.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", + "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-calc": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.2.tgz", + "integrity": "sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ==", + "dev": true, + "requires": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + } + }, + "postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", + "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-load-config": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz", + "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + } + }, + "postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", + "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "dev": true, + "requires": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", + "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-modules-extract-imports": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", + "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", + "dev": true, + "requires": { + "postcss": "^7.0.5" + } + }, + "postcss-modules-local-by-default": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz", + "integrity": "sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==", + "dev": true, + "requires": { + "icss-utils": "^4.1.1", + "postcss": "^7.0.16", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.0" + } + }, + "postcss-modules-scope": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", + "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", + "dev": true, + "requires": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^6.0.0" + } + }, + "postcss-modules-values": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", + "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", + "dev": true, + "requires": { + "icss-utils": "^4.0.0", + "postcss": "^7.0.6" + } + }, + "postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "dev": true, + "requires": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "dev": true, + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-selector-parser": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", + "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "postcss-svgo": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", + "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", + "dev": true, + "requires": { + "is-svg": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + } + }, + "postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "prettier": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.0.5.tgz", + "integrity": "sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg==", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "pretty-bytes": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.3.0.tgz", + "integrity": "sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0/lQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg==", + "dev": true + }, + "pretty-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", + "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", + "dev": true, + "requires": { + "renderkid": "^2.0.1", + "utila": "~0.4" + } + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", + "dev": true + } + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "pupa": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.0.1.tgz", + "integrity": "sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA==", + "dev": true, + "requires": { + "escape-goat": "^2.0.0" + } + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "querystringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", + "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + } + } + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", + "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "regenerate": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz", + "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "dev": true, + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", + "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", + "dev": true + }, + "regenerator-transform": { + "version": "0.14.4", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz", + "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4", + "private": "^0.1.8" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexp.prototype.flags": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", + "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "regexpp": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz", + "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==", + "dev": true + }, + "regexpu-core": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", + "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + } + }, + "register-service-worker": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/register-service-worker/-/register-service-worker-1.7.1.tgz", + "integrity": "sha512-IdTfUZ4u8iJL8o1w8es8l6UMGPmkwHolUdT+UmM1UypC80IB4KbpuIlvwWVj8UDS7eJwkEYRcKRgfRX+oTmJsw==", + "dev": true + }, + "registry-auth-token": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.1.1.tgz", + "integrity": "sha512-9bKS7nTl9+/A1s7tnPeGrUpRcVY+LUh7bfFgzpndALdPfXQBfQV77rQVtqgUV3ti4vc/Ik81Ex8UJDWDQ12zQA==", + "dev": true, + "requires": { + "rc": "^1.2.8" + } + }, + "registry-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz", + "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==", + "dev": true, + "requires": { + "rc": "^1.2.8" + } + }, + "regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "dev": true + }, + "regjsparser": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", + "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "renderkid": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz", + "integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==", + "dev": true, + "requires": { + "css-select": "^1.1.0", + "dom-converter": "^0.2", + "htmlparser2": "^3.3.0", + "strip-ansi": "^3.0.0", + "utila": "^0.4.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "dev": true, + "requires": { + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" + } + }, + "css-what": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", + "dev": true + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "request-promise-core": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz", + "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } + }, + "request-promise-native": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz", + "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==", + "dev": true, + "requires": { + "request-promise-core": "1.1.3", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "dev": true, + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true + }, + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", + "dev": true + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, + "rxjs": { + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", + "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selfsigned": { + "version": "1.10.7", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", + "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", + "dev": true, + "requires": { + "node-forge": "0.9.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "semver-diff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", + "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", + "dev": true, + "requires": { + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "serialize-javascript": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz", + "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", + "dev": true + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dev": true, + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + } + } + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + } + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "socket.io": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.3.0.tgz", + "integrity": "sha512-2A892lrj0GcgR/9Qk81EaY2gYhCBxurV0PfmmESO6p27QPrUK1J3zdns+5QPqvUYK2q657nSj0guoIil9+7eFg==", + "requires": { + "debug": "~4.1.0", + "engine.io": "~3.4.0", + "has-binary2": "~1.0.2", + "socket.io-adapter": "~1.1.0", + "socket.io-client": "2.3.0", + "socket.io-parser": "~3.4.0" + }, + "dependencies": { + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + }, + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + }, + "socket.io-parser": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.1.tgz", + "integrity": "sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A==", + "requires": { + "component-emitter": "1.2.1", + "debug": "~4.1.0", + "isarray": "2.0.1" + } + } + } + }, + "socket.io-adapter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz", + "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==" + }, + "socket.io-client": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.3.0.tgz", + "integrity": "sha512-cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA==", + "requires": { + "backo2": "1.0.2", + "base64-arraybuffer": "0.1.5", + "component-bind": "1.0.0", + "component-emitter": "1.2.1", + "debug": "~4.1.0", + "engine.io-client": "~3.4.0", + "has-binary2": "~1.0.2", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "object-component": "0.0.3", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "socket.io-parser": "~3.3.0", + "to-array": "0.1.4" + }, + "dependencies": { + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + } + } + }, + "socket.io-parser": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.0.tgz", + "integrity": "sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng==", + "requires": { + "component-emitter": "1.2.1", + "debug": "~3.1.0", + "isarray": "2.0.1" + }, + "dependencies": { + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "sockjs": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz", + "integrity": "sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==", + "dev": true, + "requires": { + "faye-websocket": "^0.10.0", + "uuid": "^3.4.0", + "websocket-driver": "0.6.5" + } + }, + "sockjs-client": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", + "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", + "dev": true, + "requires": { + "debug": "^3.2.5", + "eventsource": "^1.0.7", + "faye-websocket": "~0.11.1", + "inherits": "^2.0.3", + "json3": "^3.3.2", + "url-parse": "^1.4.3" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "dev": true + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "stackframe": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", + "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "string.prototype.trimend": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", + "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "string.prototype.trimleft": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", + "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "string.prototype.trimstart": "^1.0.0" + } + }, + "string.prototype.trimright": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", + "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5", + "string.prototype.trimend": "^1.0.0" + } + }, + "string.prototype.trimstart": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", + "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dev": true, + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + } + } + }, + "strip-comments": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-1.0.2.tgz", + "integrity": "sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw==", + "dev": true, + "requires": { + "babel-extract-comments": "^1.0.0", + "babel-plugin-transform-object-rest-spread": "^6.26.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz", + "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==", + "dev": true + }, + "stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", + "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", + "dev": true + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + } + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, + "term-size": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.0.tgz", + "integrity": "sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==", + "dev": true + }, + "terser": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.7.0.tgz", + "integrity": "sha512-Lfb0RiZcjRDXCC3OSHJpEkxJ9Qeqs6mp2v4jf2MHfy8vGERmVDuvjXdd/EnP5Deme5F2yBRBymKmKHCBg2echw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz", + "integrity": "sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA==", + "dev": true, + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^3.1.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "thenify": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz", + "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=", + "dev": true, + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "dev": true, + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "thread-loader": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/thread-loader/-/thread-loader-2.1.3.tgz", + "integrity": "sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg==", + "dev": true, + "requires": { + "loader-runner": "^2.3.1", + "loader-utils": "^1.1.0", + "neo-async": "^2.6.0" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "timers-browserify": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", + "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-array": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", + "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=" + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-readable-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", + "dev": true + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "toposort": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", + "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", + "dev": true + }, + "touch": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "dev": true, + "requires": { + "nopt": "~1.0.10" + } + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "dev": true + }, + "ts-pnp": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", + "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", + "dev": true + }, + "tslib": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "dev": true + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dev": true, + "requires": { + "is-typedarray": "^1.0.0" + } + }, + "uglify-js": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", + "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", + "dev": true, + "requires": { + "commander": "~2.19.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "undefsafe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.3.tgz", + "integrity": "sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A==", + "dev": true, + "requires": { + "debug": "^2.2.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dev": true, + "requires": { + "crypto-random-string": "^2.0.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true + }, + "update-notifier": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.0.tgz", + "integrity": "sha512-w3doE1qtI0/ZmgeoDoARmI5fjDoT93IfKgEGqm26dGUOh8oNpaSTsGNdYRN/SjOuo10jcJGwkEL3mroKzktkew==", + "dev": true, + "requires": { + "boxen": "^4.2.0", + "chalk": "^3.0.0", + "configstore": "^5.0.1", + "has-yarn": "^2.1.0", + "import-lazy": "^2.1.0", + "is-ci": "^2.0.0", + "is-installed-globally": "^0.3.1", + "is-npm": "^4.0.0", + "is-yarn-global": "^0.3.0", + "latest-version": "^5.0.0", + "pupa": "^2.0.1", + "semver-diff": "^3.1.1", + "xdg-basedir": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, + "requires": { + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "requires": { + "ci-info": "^2.0.0" + } + }, + "supports-color": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", + "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "url-loader": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-2.3.0.tgz", + "integrity": "sha512-goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog==", + "dev": true, + "requires": { + "loader-utils": "^1.2.3", + "mime": "^2.4.4", + "schema-utils": "^2.5.0" + } + }, + "url-parse": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", + "dev": true, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "dev": true, + "requires": { + "prepend-http": "^2.0.0" + }, + "dependencies": { + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", + "dev": true + } + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + }, + "v8-compile-cache": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", + "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "vue": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.11.tgz", + "integrity": "sha512-VfPwgcGABbGAue9+sfrD4PuwFar7gPb1yl1UK1MwXoQPAw0BKSqWfoYCT/ThFrdEVWoI51dBuyCoiNU9bZDZxQ==", + "dev": true + }, + "vue-eslint-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.1.0.tgz", + "integrity": "sha512-Kr21uPfthDc63nDl27AGQEhtt9VrZ9nkYk/NTftJ2ws9XiJwzJJCnCr3AITQ2jpRMA0XPGDECxYH8E027qMK9Q==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "eslint-scope": "^5.0.0", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.2.1", + "esquery": "^1.0.1", + "lodash": "^4.17.15" + }, + "dependencies": { + "eslint-scope": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", + "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + } + } + }, + "vue-hot-reload-api": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", + "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", + "dev": true + }, + "vue-loader": { + "version": "15.9.2", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.2.tgz", + "integrity": "sha512-oXBubaY//CYEISBlHX+c2YPJbmOH68xXPXjFv4MAgPqQvUsnjrBAjCJi8HXZ/r/yfn0tPL5VZj1Zcp8mJPI8VA==", + "dev": true, + "requires": { + "@vue/component-compiler-utils": "^3.1.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "vue-hot-reload-api": "^2.3.0", + "vue-style-loader": "^4.1.0" + }, + "dependencies": { + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + } + } + }, + "vue-router": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.3.4.tgz", + "integrity": "sha512-SdKRBeoXUjaZ9R/8AyxsdTqkOfMcI5tWxPZOUX5Ie1BTL5rPSZ0O++pbiZCeYeythiZIdLEfkDiQPKIaWk5hDg==", + "dev": true + }, + "vue-socket.io": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/vue-socket.io/-/vue-socket.io-3.0.9.tgz", + "integrity": "sha512-imgrZL+UuyMhEyOOD6Cl11eDtEaVn606e3mCD/2s/oUAB511Ckqon4U7y97t6dwQgLCKW+tfA8aFhF5d3Eogdw==", + "dev": true, + "requires": { + "socket.io-client": "^2.1.1" + } + }, + "vue-style-loader": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.2.tgz", + "integrity": "sha512-0ip8ge6Gzz/Bk0iHovU9XAUQaFt/G2B61bnWa2tCcqqdgfHs1lF9xXorFbE55Gmy92okFT+8bfmySuUOu13vxQ==", + "dev": true, + "requires": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + }, + "dependencies": { + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + } + } + }, + "vue-template-compiler": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.11.tgz", + "integrity": "sha512-KIq15bvQDrcCjpGjrAhx4mUlyyHfdmTaoNfeoATHLAiWB+MU3cx4lOzMwrnUh9cCxy0Lt1T11hAFY6TQgroUAA==", + "dev": true, + "requires": { + "de-indent": "^1.0.2", + "he": "^1.1.0" + } + }, + "vue-template-es2015-compiler": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", + "dev": true + }, + "vuex": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.4.0.tgz", + "integrity": "sha512-ajtqwEW/QhnrBZQsZxCLHThZZaa+Db45c92Asf46ZDXu6uHXgbfVuBaJ4gzD2r4UX0oMJHstFwd2r2HM4l8umg==", + "dev": true + }, + "watchpack": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.2.tgz", + "integrity": "sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g==", + "dev": true, + "requires": { + "chokidar": "^3.4.0", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.0" + } + }, + "watchpack-chokidar2": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", + "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", + "dev": true, + "optional": true, + "requires": { + "chokidar": "^2.1.8" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "optional": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "optional": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true, + "optional": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "optional": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "optional": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "optional": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "optional": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "optional": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + } + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "webpack": { + "version": "4.43.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz", + "integrity": "sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.3", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.6.1", + "webpack-sources": "^1.4.1" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "webpack-bundle-analyzer": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.8.0.tgz", + "integrity": "sha512-PODQhAYVEourCcOuU+NiYI7WdR8QyELZGgPvB1y2tjbUpbmcQOt5Q7jEK+ttd5se0KSBKD9SXHCEozS++Wllmw==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1", + "bfj": "^6.1.1", + "chalk": "^2.4.1", + "commander": "^2.18.0", + "ejs": "^2.6.1", + "express": "^4.16.3", + "filesize": "^3.6.1", + "gzip-size": "^5.0.0", + "lodash": "^4.17.15", + "mkdirp": "^0.5.1", + "opener": "^1.5.1", + "ws": "^6.0.0" + }, + "dependencies": { + "acorn": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz", + "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==", + "dev": true + } + } + }, + "webpack-chain": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.4.0.tgz", + "integrity": "sha512-f97PYqxU+9/u0IUqp/ekAHRhBD1IQwhBv3wlJo2nvyELpr2vNnUqO3XQEk+qneg0uWGP54iciotszpjfnEExFA==", + "dev": true, + "requires": { + "deepmerge": "^1.5.2", + "javascript-stringify": "^2.0.1" + } + }, + "webpack-dev-middleware": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", + "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", + "dev": true, + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + } + }, + "webpack-dev-server": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz", + "integrity": "sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.3.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.8", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.26", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.7", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "0.3.20", + "sockjs-client": "1.4.0", + "spdy": "^4.0.2", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "^13.3.2" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "dev": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "dev": true, + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "dev": true, + "optional": true + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + } + }, + "webpack-merge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", + "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "websocket-driver": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", + "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", + "dev": true, + "requires": { + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "widest-line": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz", + "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==", + "dev": true, + "requires": { + "string-width": "^4.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "workbox-background-sync": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz", + "integrity": "sha512-1uFkvU8JXi7L7fCHVBEEnc3asPpiAL33kO495UMcD5+arew9IbKW2rV5lpzhoWcm/qhGB89YfO4PmB/0hQwPRg==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-broadcast-update": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-4.3.1.tgz", + "integrity": "sha512-MTSfgzIljpKLTBPROo4IpKjESD86pPFlZwlvVG32Kb70hW+aob4Jxpblud8EhNb1/L5m43DUM4q7C+W6eQMMbA==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-build": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-4.3.1.tgz", + "integrity": "sha512-UHdwrN3FrDvicM3AqJS/J07X0KXj67R8Cg0waq1MKEOqzo89ap6zh6LmaLnRAjpB+bDIz+7OlPye9iii9KBnxw==", + "dev": true, "requires": { - "better-assert": "~1.0.0" + "@babel/runtime": "^7.3.4", + "@hapi/joi": "^15.0.0", + "common-tags": "^1.8.0", + "fs-extra": "^4.0.2", + "glob": "^7.1.3", + "lodash.template": "^4.4.0", + "pretty-bytes": "^5.1.0", + "stringify-object": "^3.3.0", + "strip-comments": "^1.0.2", + "workbox-background-sync": "^4.3.1", + "workbox-broadcast-update": "^4.3.1", + "workbox-cacheable-response": "^4.3.1", + "workbox-core": "^4.3.1", + "workbox-expiration": "^4.3.1", + "workbox-google-analytics": "^4.3.1", + "workbox-navigation-preload": "^4.3.1", + "workbox-precaching": "^4.3.1", + "workbox-range-requests": "^4.3.1", + "workbox-routing": "^4.3.1", + "workbox-strategies": "^4.3.1", + "workbox-streams": "^4.3.1", + "workbox-sw": "^4.3.1", + "workbox-window": "^4.3.1" } }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + "workbox-cacheable-response": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-4.3.1.tgz", + "integrity": "sha512-Rp5qlzm6z8IOvnQNkCdO9qrDgDpoPNguovs0H8C+wswLuPgSzSp9p2afb5maUt9R1uTIwOXrVQMmPfPypv+npw==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + "workbox-core": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-4.3.1.tgz", + "integrity": "sha512-I3C9jlLmMKPxAC1t0ExCq+QoAMd0vAAHULEgRZ7kieCdUd919n53WC0AfvokHNwqRhGn+tIIj7vcb5duCjs2Kg==", + "dev": true }, - "proxy-addr": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", - "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", + "workbox-expiration": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-4.3.1.tgz", + "integrity": "sha512-vsJLhgQsQouv9m0rpbXubT5jw0jMQdjpkum0uT+d9tTwhXcEZks7qLfQ9dGSaufTD2eimxbUOJfWLbNQpIDMPw==", + "dev": true, "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.0" + "workbox-core": "^4.3.1" } }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + "workbox-google-analytics": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-4.3.1.tgz", + "integrity": "sha512-xzCjAoKuOb55CBSwQrbyWBKqp35yg1vw9ohIlU2wTy06ZrYfJ8rKochb1MSGlnoBfXGWss3UPzxR5QL5guIFdg==", + "dev": true, + "requires": { + "workbox-background-sync": "^4.3.1", + "workbox-core": "^4.3.1", + "workbox-routing": "^4.3.1", + "workbox-strategies": "^4.3.1" + } }, - "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "workbox-navigation-preload": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-4.3.1.tgz", + "integrity": "sha512-K076n3oFHYp16/C+F8CwrRqD25GitA6Rkd6+qAmLmMv1QHPI2jfDwYqrytOfKfYq42bYtW8Pr21ejZX7GvALOw==", + "dev": true, "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "workbox-core": "^4.3.1" } }, - "reduce-flatten": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", - "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==" + "workbox-precaching": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-4.3.1.tgz", + "integrity": "sha512-piSg/2csPoIi/vPpp48t1q5JLYjMkmg5gsXBQkh/QYapCdVwwmKlU9mHdmy52KsDGIjVaqEUMFvEzn2LRaigqQ==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "workbox-range-requests": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-4.3.1.tgz", + "integrity": "sha512-S+HhL9+iTFypJZ/yQSl/x2Bf5pWnbXdd3j57xnb0V60FW1LVn9LRZkPtneODklzYuFZv7qK6riZ5BNyc0R0jZA==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "workbox-routing": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-4.3.1.tgz", + "integrity": "sha512-FkbtrODA4Imsi0p7TW9u9MXuQ5P4pVs1sWHK4dJMMChVROsbEltuE79fBoIk/BCztvOJ7yUpErMKa4z3uQLX+g==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "workbox-strategies": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-4.3.1.tgz", + "integrity": "sha512-F/+E57BmVG8dX6dCCopBlkDvvhg/zj6VDs0PigYwSN23L8hseSRwljrceU2WzTvk/+BSYICsWmRq5qHS2UYzhw==", + "dev": true, "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "dependencies": { - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" - } + "workbox-core": "^4.3.1" } }, - "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "workbox-streams": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-4.3.1.tgz", + "integrity": "sha512-4Kisis1f/y0ihf4l3u/+ndMkJkIT4/6UOacU3A4BwZSAC9pQ9vSvJpIi/WFGQRH/uPXvuVjF5c2RfIPQFSS2uA==", + "dev": true, "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" + "workbox-core": "^4.3.1" } }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + "workbox-sw": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-4.3.1.tgz", + "integrity": "sha512-0jXdusCL2uC5gM3yYFT6QMBzKfBr2XTk0g5TPAV4y8IZDyVNDyj1a8uSXy3/XrvkVTmQvLN4O5k3JawGReXr9w==", + "dev": true }, - "socket.io": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.3.0.tgz", - "integrity": "sha512-2A892lrj0GcgR/9Qk81EaY2gYhCBxurV0PfmmESO6p27QPrUK1J3zdns+5QPqvUYK2q657nSj0guoIil9+7eFg==", + "workbox-webpack-plugin": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-4.3.1.tgz", + "integrity": "sha512-gJ9jd8Mb8wHLbRz9ZvGN57IAmknOipD3W4XNE/Lk/4lqs5Htw4WOQgakQy/o/4CoXQlMCYldaqUg+EJ35l9MEQ==", + "dev": true, "requires": { - "debug": "~4.1.0", - "engine.io": "~3.4.0", - "has-binary2": "~1.0.2", - "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.3.0", - "socket.io-parser": "~3.4.0" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } + "@babel/runtime": "^7.0.0", + "json-stable-stringify": "^1.0.1", + "workbox-build": "^4.3.1" } }, - "socket.io-adapter": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz", - "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=" + "workbox-window": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-4.3.1.tgz", + "integrity": "sha512-C5gWKh6I58w3GeSc0wp2Ne+rqVw8qwcmZnQGpjiek8A2wpbxSJb1FdCoQVO+jDJs35bFgo/WETgl1fqgsxN0Hg==", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } }, - "socket.io-client": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.3.0.tgz", - "integrity": "sha512-cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA==", + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, "requires": { - "backo2": "1.0.2", - "base64-arraybuffer": "0.1.5", - "component-bind": "1.0.0", - "component-emitter": "1.2.1", - "debug": "~4.1.0", - "engine.io-client": "~3.4.0", - "has-binary2": "~1.0.2", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "object-component": "0.0.3", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "socket.io-parser": "~3.3.0", - "to-array": "0.1.4" - }, - "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "socket.io-parser": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.0.tgz", - "integrity": "sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng==", - "requires": { - "component-emitter": "1.2.1", - "debug": "~3.1.0", - "isarray": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - } + "errno": "~0.1.7" } }, - "socket.io-parser": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.0.tgz", - "integrity": "sha512-/G/VOI+3DBp0+DJKW4KesGnQkQPFmUCbA/oO2QGT6CWxU7hLGWqU3tyuzeSK/dqcyeHsQg1vTe9jiZI8GU9SCQ==", + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, "requires": { - "component-emitter": "1.2.1", - "debug": "~4.1.0", - "isarray": "2.0.1" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "dependencies": { - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "ansi-styles": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", + "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "dev": true, "requires": { - "ms": "^2.1.1" + "@types/color-name": "^1.1.1", + "color-convert": "^2.0.1" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true } } }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, "requires": { - "has-flag": "^3.0.0" + "mkdirp": "^0.5.1" } }, - "table-layout": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.1.tgz", - "integrity": "sha512-dEquqYNJiGwY7iPfZ3wbXDI944iqanTSchrACLL2nOB+1r+h1Nzu2eH+DuPPvWvm5Ry7iAPeFlgEtP5bIp5U7Q==", + "write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dev": true, "requires": { - "array-back": "^4.0.1", - "deep-extend": "~0.6.0", - "typical": "^5.2.0", - "wordwrapjs": "^4.0.0" - }, - "dependencies": { - "array-back": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.1.tgz", - "integrity": "sha512-Z/JnaVEXv+A9xabHzN43FiiiWEE7gPCRXMrVmRm00tWbjZRul1iHm7ECzlyNq1p4a4ATXz+G9FJ3GqGOkOV3fg==" - }, - "typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==" - } + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" } }, - "to-array": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", - "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=" - }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" + "async-limiter": "~1.0.0" } }, - "typical": { + "xdg-basedir": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", - "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==" - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz", + "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==", + "dev": true }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + "xmlhttprequest-ssl": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", + "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=" }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true }, - "wordwrapjs": { + "y18n": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.0.tgz", - "integrity": "sha512-Svqw723a3R34KvsMgpjFBYCgNOSdcW3mQFK4wIfhGQhtaFVOJmdYoXgi63ne3dTlWgatVcUc7t4HtQ/+bUVIzQ==", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "yargs": { + "version": "15.3.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz", + "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==", + "dev": true, "requires": { - "reduce-flatten": "^2.0.0", - "typical": "^5.0.0" + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.1" }, "dependencies": { - "typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==" + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true } } }, - "ws": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.1.2.tgz", - "integrity": "sha512-gftXq3XI81cJCgkUiAVixA0raD9IVmXqsylCrjRygw4+UOOGzPoxnQ6r/CnVL9i+mDncJo94tSkyrtuuQVBmrg==", + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, "requires": { - "async-limiter": "^1.0.0" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } }, - "xmlhttprequest-ssl": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", - "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=" - }, "yeast": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" + }, + "yorkie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yorkie/-/yorkie-2.0.0.tgz", + "integrity": "sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw==", + "dev": true, + "requires": { + "execa": "^0.8.0", + "is-ci": "^1.0.10", + "normalize-path": "^1.0.0", + "strip-indent": "^2.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "execa": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "normalize-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz", + "integrity": "sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } } } } diff --git a/package.json b/package.json index 93e4260..0e2765e 100644 --- a/package.json +++ b/package.json @@ -1,33 +1,44 @@ { "name": "roon-web-controller", - "version": "1.2.13", - "description": "Roon Extension to create a web controller.", - "main": "app.js", - "author": "Mike Plugge", - "license": "MIT", - "engines": { - "node": ">=6.x" - }, + "version": "2.0.0-alpha.0", + "private": true, "scripts": { - "start": "node app.js" + "dev": "NODE_ENV=development nodemon -w backend/app.js backend/app.js & vue-cli-service serve", + "build": "vue-cli-service build", + "lint": "vue-cli-service lint", + "start": "node backend/app.js" }, "dependencies": { "body-parser": "^1.19.0", - "command-line-args": "^5.1.1", - "command-line-usage": "^6.1.0", - "config": "^3.3.1", - "express": "4.x", - "jquery": "^3.5.1", - "js-cookie": "^2.2.1", + "express": "^4.17.1", + "morgan": "^1.10.0", + "socket.io": "^2.3.0", "node-roon-api": "github:roonlabs/node-roon-api", "node-roon-api-browse": "github:roonlabs/node-roon-api-browse", "node-roon-api-image": "github:roonlabs/node-roon-api-image", "node-roon-api-status": "github:roonlabs/node-roon-api-status", - "node-roon-api-transport": "github:roonlabs/node-roon-api-transport", - "socket.io": "^2.3.0" + "node-roon-api-transport": "github:roonlabs/node-roon-api-transport" }, - "repository": { - "type": "git", - "url": "https://github.com/pluggemi/roon-web-controller.git" + "devDependencies": { + "core-js": "^3.6.5", + "register-service-worker": "^1.7.1", + "vue": "^2.6.11", + "vue-router": "^3.3.4", + "vue-socket.io": "^3.0.9", + "vuex": "^3.4.0", + "@vue/cli-plugin-babel": "~4.4.4", + "@vue/cli-plugin-eslint": "~4.4.4", + "@vue/cli-plugin-pwa": "~4.4.4", + "@vue/cli-plugin-router": "~4.4.4", + "@vue/cli-plugin-vuex": "~4.4.4", + "@vue/cli-service": "~4.4.4", + "@vue/eslint-config-prettier": "^6.0.0", + "babel-eslint": "^10.1.0", + "eslint": "^7.2.0", + "eslint-plugin-prettier": "^3.1.3", + "eslint-plugin-vue": "^6.2.2", + "nodemon": "^2.0.4", + "prettier": "^2.0.5", + "vue-template-compiler": "^2.6.11" } } diff --git a/public/css/library.css b/public/css/library.css deleted file mode 100644 index 20fba0a..0000000 --- a/public/css/library.css +++ /dev/null @@ -1,150 +0,0 @@ -.navGroup { - height: 100%; - display: flex; - flex-direction: row; - flex-wrap: wrap; - align-items: center; - vertical-align: middle; -} - -.navLeft { - justify-content: flex-start; -} - -.navCenter { - justify-content: center; -} - -.navRight { - justify-content: flex-end; -} - -.navButton { - height: 100%; - background-color: rgba(0,0,0,0); - fill-opacity: 1; - color: #eff0f1; -} - -.navButton:disabled { - fill-opacity: 0.33; -} - -.hidden { - display: none; -} - -.itemListItem { - background-color: #4d4d4d; - fill-opacity: 1; - color: #eff0f1; - min-height: 48px; - width: 100%; - -webkit-filter: drop-shadow(5px 5px 5px black); - filter: drop-shadow(5px 5px 5px black); - margin-bottom: 10px; - font-weight: bold; - text-align: left; -} - -.itemListItem:active { - transform: translateY(4px); - filter:none; -} - -.itemListButton { - height: 100%; - background-color: #4d4d4d; - fill-opacity: 1; - color: #eff0f1; -} - -.itemListButton:active { - transform: translateY(4px); - filter:none; -} - -.listInfoImage { - max-height: 98%; - max-width: 98%; - border-radius: 10px; - width: auto; - height: auto; - object-fit: contain; - filter: drop-shadow(5px 5px 5px black); -} - -.searchGroup { - height: 28px; - width: 100%; - -webkit-filter: drop-shadow(5px 5px 5px black); - filter: drop-shadow(5px 5px 5px black); - margin-bottom: 10px; - display: flex; - flex-direction: row; - flex-wrap: wrap; - align-items: center; - vertical-align: middle; - justify-content: center; -} - -.searchForm { - height: 100%; - width: 80%; - border: 0; - padding: 0; - font-size: 24px; -} - -#navLine1 { - position: absolute; - top: 0; - left: 0; - right: 0; - height: 40px; - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: space-between; - align-items: center; - vertical-align: middle; -} - -#content { - position: absolute; - top: 48px; - left: 0; - right: 0; - bottom: 48px; - overflow: auto; -} -#listContainer { - display: flex; - flex-direction: row; - justify-content: space-around; - max-height: 40%; - margin-bottom: 10px; -} - -#listImage { - display: flex; - justify-content: center; - width: 49%; -} - -#listInfo { - display: flex; - flex-direction: column; - justify-content: center; - align-items: center; - text-align: center; - width: 49%; -} - -#navLine2 { - position: absolute; - left: 0; - right: 0; - bottom: 2px; - height: 40px; -} diff --git a/public/css/nowplaying.css b/public/css/nowplaying.css deleted file mode 100644 index 801fba2..0000000 --- a/public/css/nowplaying.css +++ /dev/null @@ -1,323 +0,0 @@ -.buttonZoneName { - background-color: rgba(0,0,0,0); - width: auto; - -} -.buttonAvailable { - fill-opacity: 1; -} - -.buttonActive { - color: #3daee9; - fill-opacity: 1; -} - -.buttonInactive { - fill-opacity: 0.33; -} - -.itemImage { - border-radius: 10px; - width: auto; - height: auto; - object-fit: contain; - -webkit-filter: drop-shadow(5px 5px 5px black); - filter: drop-shadow(5px 5px 5px black); -} - -@media screen and (orientation:portrait) { - #containerCoverImage { - position: absolute; - top: 0px; - right: 0px; - left: 0px; - height: 59%; - } - - #containerMusicInfo { - position: absolute; - bottom:0px; - left: 0px; - right: 0px; - height: 40%; - text-align: center; - } - - .itemImage { - border-radius: 0; - max-width: 100%; - max-height: 100%; - } -} - -@media screen and (orientation:landscape) { - #containerCoverImage { - position: absolute; - top: 0px; - bottom: 0px; - left: 0px; - width: 49%; - } - - #containerMusicInfo { - position: absolute; - top: 54px; - bottom: 0px; - right: 0px; - width: 49%; - text-align: left; - } - - .itemImage { - border-radius: 10px; - max-width: 98%; - max-height: 98%; - } -} - -#containerCoverImage { - display: flex; - justify-content: center; - align-items: center; -} - -#colorBackground { - position: absolute; - top: 0px; - left: 0px; - right: 0px; - bottom: 0px; - display: none; -} - -#notPlaying { - position: absolute; - top: 0px; - left: 0px; - right: 0px; - bottom: 0px; - display: flex; - flex-wrap: wrap; - justify-content: space-around; -} - -#containerMusicInfo { - display: flex; - flex-direction: column; - justify-content: center; -} - -.lineMusicInfo { - height: 10%; - margin-bottom: 1%; -} - -#controlsPlayer { - height: 20%; - width: 100%; - max-height: 96px; - margin-bottom: 5%; - display:flex; - justify-content: space-around; - align-items: center; - vertical-align: middle; -} - -.playerButton { - width: 33%; -} - -#controlsSettings { - height: 10%; - width: 100%; - max-height: 48px; - margin-bottom: 5%; - display: flex; - justify-content: space-around; - align-items: center; - vertical-align: middle; -} - -.settingsButton { - width: 20%; -} - -#containerTrackSeek { - height: 5%; - display:flex; - justify-content: center; - align-items: center; - vertical-align: middle; -} - -#containerZoneList { - height: 10%; - display:flex; - justify-content: center; - align-items: center; - vertical-align: middle; -} - -#trackSeek { - width: 95%; - height: 5px; - border-radius: 10px; - background-color: rgba(239, 240, 241, 0.33); - position: relative; - display: block; - padding: 0; - align-self: center; -} - -#trackSeekValue { - height: 5px; - background-color: #3daee9; - border-radius: 10px; - padding: 0; - width: 0%; -} - -#trackSeekValue span { - position: absolute; - bottom: -15px; - width: 50%; - margin: 0; - line-height: 10px; - font-size: 10px; -} - -#trackSeekValue span.right { - text-align: right; - right: 0; -} - -#trackSeekValue span.left { - text-align: left; - left: 0; -} - -#notPlaying { - background-color: #232629; - color: #eff0f1; -} - -#volumeList { - display: flex; - flex-direction: column; - align-items: center; -} - -.volumeGroup { - width: 100%; - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: space-around; - align-items: center; - vertical-align: middle; - text-align: center; -} - -.volumeButton { - color: #eff0f1; - width: 15%; -} - -.volumeSlider { - width: 70%; -} - -hr { - width: 85%; -} - -input[type=range] { - height: 25px; - -webkit-appearance: none; - margin: 10px 0; - width: 100%; - background-color: rgba(0,0,0,0); -} -input[type=range]:focus { - outline: none; -} -input[type=range]::-webkit-slider-runnable-track { - width: 100%; - height: 5px; - cursor: pointer; - animate: 0.2s; - box-shadow: 0px 0px 0px #000000; - background: #3daee9; - border-radius: 10px; - border: 0px solid #000000; -} -input[type=range]::-webkit-slider-thumb { - box-shadow: 0px 0px 0px #232629; - border: 1px solid #232629; - height: 18px; - width: 18px; - border-radius: 25px; - background: #eff0f1; - cursor: pointer; - -webkit-appearance: none; - margin-top: -7px; -} -input[type=range]:focus::-webkit-slider-runnable-track { - background: #3daee9; -} -input[type=range]::-moz-range-track { - width: 100%; - height: 5px; - cursor: pointer; - animate: 0.2s; - box-shadow: 0px 0px 0px #000000; - background: #3daee9; - border-radius: 10px; - border: 0px solid #000000; -} -input[type=range]::-moz-range-thumb { - box-shadow: 0px 0px 0px #232629; - border: 1px solid #232629; - height: 18px; - width: 18px; - border-radius: 25px; - background: #eff0f1; - cursor: pointer; -} -input[type=range]::-ms-track { - width: 100%; - height: 5px; - cursor: pointer; - animate: 0.2s; - background: transparent; - border-color: transparent; - color: transparent; -} -input[type=range]::-ms-fill-lower { - background: #3daee9; - border: 0px solid #000000; - border-radius: 2px; - box-shadow: 0px 0px 0px #000000; -} -input[type=range]::-ms-fill-upper { - background: #3daee9; - border: 0px solid #000000; - border-radius: 2px; - box-shadow: 0px 0px 0px #000000; -} -input[type=range]::-ms-thumb { - margin-top: 1px; - box-shadow: 0px 0px 0px #232629; - border: 1px solid #232629; - height: 18px; - width: 18px; - border-radius: 25px; - background: #eff0f1; - cursor: pointer; -} -input[type=range]:focus::-ms-fill-lower { - background: #3daee9; -} -input[type=range]:focus::-ms-fill-upper { - background: #3daee9; -} diff --git a/public/css/site.css b/public/css/site.css index cd25a19..b765b2e 100644 --- a/public/css/site.css +++ b/public/css/site.css @@ -1,217 +1,28 @@ -body { - font-family: sans-serif; - background-color: #232629; - color: #eff0f1; -} - -button { - outline: none; - border: none; -} - -button:focus { - outline: none; - border: none; -} - -button:active { - outline: none; - border: none; -} - -svg { - width: auto; - height: 100%; - fill: currentColor; -} - -.buttonOverlay { - width: 96px; - height: 48px; - font-weight: bold; - border: none; - border-radius: 10px; - -webkit-filter: drop-shadow(5px 5px 5px black); - filter: drop-shadow(5px 5px 5px black); - margin: 24px; - background-color: #eff0f1; - color: #232629; -} - -.buttonOverlay:active { - transform: translateY(4px); - filter:none; -} - -.buttonSettingActive { - background-color: #3daee9; - filter:none; -} - -.buttonFillHeight { - background-color: rgba(0,0,0,0); - height: 100%; -} - -.buttonPartialHeight { - background-color: rgba(0,0,0,0); - height: 75%; -} - -.fullscreenFlex { - position: absolute; - top: 0px; - left: 0px; - right: 0px; - bottom: 0px; - display: flex; - flex-wrap: wrap; - justify-content: space-around; -} - -.messages { - max-width: 90%; - font-size:5vw; - align-self: center; - text-align:center; -} - -.overlay { - display:none; -} - -.overlayBackground { - position: absolute; - top: 0px; - left: 0px; - right: 0px; - bottom: 0px; - background-color: rgba(0,0,0,0.75); - z-index:200; +:root { + --ThemeColor: rgb(44, 62, 80); + --BaseColor: rgb(35, 38, 41); + --AvailableColor: rgb(239, 240, 241); + --ActiveColor: rgb(41, 128, 185); + --DisabledColor: rgba(239, 240, 241, 0.25); + --TransparentColor: rgba(0, 0, 0, 0.75); + --TransparentActiveColor: rgba(41, 128, 185, 0.25); } -.overlayContent { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - background-color: #232629; - color: #eff0f1; - width: auto; - height: auto; - min-width: 50%; - max-height: 95%; - max-width: 95%; - border-radius: 10px; - padding: 5px; - -webkit-filter: drop-shadow(10px 10px 10px black); - filter: drop-shadow(10px 10px 10px black); - z-index:300; -} - -.overlayList { - display: flex; - flex-direction: row; - flex-wrap: wrap; - justify-content: space-around; - align-items: center; -} - -.overlayListRow { - display: flex; - flex-direction: row; - justify-content: space-between; - align-items: center; - width: 85%; -} - -.settingsList { - flex-direction: column; - flex-wrap: nowrap; - justify-content: center; -} - -.textBold { - font-weight: bold; -} - -.textCenter { - text-align: center; -} - -.textSmall { - font-size: 75%; -} - -#coverBackground { - position: absolute; - top: 0px; - left: 0px; - right: 0px; - bottom: 0px; - background-position: center; - background-repeat: no-repeat; - background-size: cover; - -webkit-filter: opacity(33%) blur(20px); - filter: opacity(33%) blur(20px); - display: flex; - text-align: center; - justify-content: center; - align-items: center; - display: none; -} -@media screen and (orientation:portrait) { - .overlayContent { - width: 95%; - } -} - -@media screen and (orientation:landscape) { -} - -.settingsSwitch { - position: relative; - display: inline-block; - width: 60px; - height: 34px; -} - -.settingsSwitch input { - display: none; -} - -.settingsSlider { - position: absolute; - cursor: pointer; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: #4d4d4d; - -webkit-transition: .4s; - transition: .4s; - border-radius: 34px; -} - -.settingsSlider:before { - position: absolute; - content: ""; - height: 26px; - width: 26px; - left: 4px; - bottom: 4px; - background-color: #fcfcfc; - -webkit-transition: .4s; - transition: .4s; - border-radius: 50%; +body { + background: var(--BaseColor); + color: var(--AvailableColor); + font-family: sans-serif; + box-sizing: border-box; + overflow: hidden; } -.settingsSwitch input:checked + .settingsSlider { - background-color: #1d99f3; +*, +*::before, +*::after { + box-sizing: inherit; + font-size: 100%; } -.settingsSwitch input:checked + .settingsSlider:before { - -webkit-transform: translateX(26px); - -ms-transform: translateX(26px); - transform: translateX(26px); +h1 { + font-size: 200%; } diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 0 HcmV?d00001 diff --git a/public/favicons/android-icon-144x144.png b/public/favicons/android-icon-144x144.png deleted file mode 100644 index 6cad457ba0250640c981d4510f716fcc008406fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10070 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 diff --git a/public/favicons/android-icon-192x192.png b/public/favicons/android-icon-192x192.png deleted file mode 100644 index 66aa5315a03a16e80c6a2d57b1aa61b47dbc199b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15440 zcmV-WJg>uvP)HvY?|ynuNCJ%xk^o_Wz%s%H;~|8>Om?tM@G_ZN54BB`^pC8rm6i67c6D|2 zpRU!c)I*xFNmuN;ZRWul+Bi;JJ2A!q>@XMt7GiXb0D}ZU5(vHb-Q7RF@7{ZcJ>B=@ zL3$jPc;CI}oPGA$XP-Tt;RZO;JKpntAXIpHVO-CR7IqOe7a@ep5WbTEf+Y|_{E8G{J+?CpWW*`1@8}y3 zCVfc;ZbQn16hjpdO9cv2&LV�GUTz^wt{?rPPseUpXpVgTXq{`Rx5Qm_hK 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 diff --git a/public/favicons/android-icon-72x72.png b/public/favicons/android-icon-72x72.png deleted file mode 100644 index 97eee9d75dd730c38ccf0e67330aebd0657e749d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3975 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 diff --git a/public/favicons/apple-icon-144x144.png b/public/favicons/apple-icon-144x144.png deleted file mode 100644 index 6cad457ba0250640c981d4510f716fcc008406fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10070 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 diff --git a/public/favicons/apple-icon-152x152.png b/public/favicons/apple-icon-152x152.png deleted file mode 100644 index 28c685559506e5970bf6bf441d10cdbc2e24f7ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10894 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 diff --git a/public/favicons/apple-icon-57x57.png b/public/favicons/apple-icon-57x57.png deleted file mode 100644 index 069a1be02066e710c8be3ac502a42190eac7f20d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3105 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Ⓢ8!Q|rUCHZjVVRP1*%Jn5@x>MJPWw|`- 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Ⓢ8!Q|rUCHZjVVRP1*%Jn5@x>MJPWw|`- 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 -#ffffff \ No newline at end of file diff --git a/public/favicons/favicon-16x16.png b/public/favicons/favicon-16x16.png deleted file mode 100644 index 199a72f887e15783c8cc1d822178b10b39c68279..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1350 zcmZ`%3rtg27(Q%sL5&dz0vcVqB{HY9y|=f|OX=g%+xFUbDQ^@?ds{jvW%L4qZUci8 zoVL8FynNth*qn1Ni;2bzvbo`7x+xQM_?paYZaPqL!#&ukTQX*{oBZed|MP$U_nmvs zZ8RG-ixw7q&}N6=eCA+kB(ozGd11W+wb*nN+xu|6gBk1B!p6H zBMn*m1`gf5H$64|>*Rx9diLyZ2((L6_361zTtV@~3K?mxscpD@ck1W+54(52y>&+$ zWy;zX>`=;+|RhcjKf-U_ttYzVXk+q&c`15czt1SvXe-no&noqhWP ztzE65zUGb||AyC-l@wQy!sSa-RHn6-+?LMXruOd2jdjTiEeA_xW4K&xK5}d*)Z4$k zxwA3Q7HA1c35w0blTe9RPSw1h( z<+C&^pG-HbOHI?|=4z;m(Fjg z%OCvuiz^o|j(u|B^f#Z6o(L)jPss-(S4AbnE{|Cj_uLRGVd=c+$?bv09dDWnqGF8t zr#zIAGU$TmhMiGyCr_P?Sk~3k-I?FioIT8Xp)1{1Qc{v<&B<7A$<8_fm|cYxhWB1s z_iAcl)3sq%BD=r;-I0;;n7*d@6GwQ5BCfn&y!2{EbHuktKEx0|m|5{!bX2vG0|qY3 zmgEfRPs0zfk|DDgr=6j3M>!1v@DNnQMg(l0*oI)Z0KqZI8U(=+#1gbe{Aa-Hb9!9W z|3APwf9W_JP=_7-J{MDEFQ)l4Vp%^?~nyD_M!Q)eL%Szqy!x_dW zbPP7g0w`Z1knk}+CV8OW5dI?<&(TTq)X)GSh_=15pI|FvPAlC?0hgzQhOf`{mNF$i zH`isa^f-K_e(t{)!*z*xb`--l! z7Ks*lSVKT72C|sSq6-B>9y{l?BUKDoLP{-uR~x9Nk!lYHsOXD+)TkZ{6sr`3iPIGW*$`I7_r@8WUi;6qDp&m&9*qMm3~f zZPZTIJgo38)h#X`URVjcn7*W{E}BP8U8ntQ!(f`^mvD=TYE_g-gqwb^} zj+D4aL;MJD(!$2}Joa5AKKfgtdB2V6Pqx>Tn4^YAS#WmYIV_Wu%e`0hdf=k?y6ENS zYMIfhe_Kbms#2C8ku($YN;AsPZ;dj2G^O^QL~I$l+pQmuDd26(LuVGWle=14QizF& z)5h@4sEYC+Om=Q`Y3X#jBFFzyrcCeN>_YLT%%(eyDUFqm9FHd^_~Hs8Q5p9SoA$IT6GU%>Cd&0)ddZz18Rc<6 z5k%s{*|XWgRA{Hj1`r|CnXTp#zi+f*94%=-7)k7$z4!C&qjS#@ z1H(n+@1(-K@qgZZRWBKLK3uQY@9I$av9XLXb4$>d&@&{PtYW1NUoStDv^Lt@^YEeP z!0=T~#K|32DmOx>$J=#Dxzo$0s%?pQLdwSTG zh<(w*?Vr7^Z|5b;%Zj9Dq=s>CCywRGG?dUC4u_Mf1g#amDx~4&DeYxWOD)RZt>~U& z__1zn(CFA7E9+&tSNBvsc>9ptyS!`P)s%jVEp*+DhNjN33HODNHq=arEpkqi!dr2& zL&X7A|3Cy0)%2|WCS}{G%TCl4M!6Ch9p#*q#()|KEV_A8LXc0@fX5VxC;dmU026h|T8)viSmz z5KY8*VMy*|G-TUT&GK&&gW;uNAI z6benuQHZ#Satb9FLS+C>yVi*P1M|U?LW$!F_;GRoNA|D=q$eT9;Uk^@FcE@SdE7ek zpn59|LL5Ir0tF(j{FsCbd^in%+Mq>)#@Q`D*|G diff --git a/public/favicons/favicon-96x96.png b/public/favicons/favicon-96x96.png deleted file mode 100644 index f8ec0ce7c3feab6e7b60bef26b579de15caffd19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5765 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 diff --git a/public/favicons/manifest.json b/public/favicons/manifest.json deleted file mode 100644 index 3b69e17..0000000 --- a/public/favicons/manifest.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "short_name": "Roon Web", - "name": "Roon Web Controller", - "background_color": "#232629", - "display": "standalone", - "start_url": "/", - "icons": [ - { - "src": "/favicons/android-icon-36x36.png", - "sizes": "36x36", - "type": "image/png", - "density": "0.75" - }, - { - "src": "/favicons/android-icon-48x48.png", - "sizes": "48x48", - "type": "image/png", - "density": "1.0" - }, - { - "src": "/favicons/android-icon-72x72.png", - "sizes": "72x72", - "type": "image/png", - "density": "1.5" - }, - { - "src": "/favicons/android-icon-96x96.png", - "sizes": "96x96", - "type": "image/png", - "density": "2.0" - }, - { - "src": "/favicons/android-icon-144x144.png", - "sizes": "144x144", - "type": "image/png", - "density": "3.0" - }, - { - "src": "/favicons/android-icon-192x192.png", - "sizes": "192x192", - "type": "image/png", - "density": "4.0" - } - ] -} diff --git a/public/favicons/ms-icon-144x144.png b/public/favicons/ms-icon-144x144.png deleted file mode 100644 index 6cad457ba0250640c981d4510f716fcc008406fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10070 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 diff --git a/public/favicons/ms-icon-150x150.png b/public/favicons/ms-icon-150x150.png deleted file mode 100644 index c41c9159160b96a00eecca15c5f279eeec2363c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10703 zcmZ{~1x%bz)Hk}gySv-s4hzMKJImtk?oRRI6xZTX+={yvEACc`yA-EDk#GNRZgSuI zB{xsznas>@&KWy0CljNtDu;neiV6S#Fcjpa!O%S8zl4kk{fol5?Lsqn8%Y&O0H7fe z?ZpfMT88le%Si$1rpZsB1!@a$S2(Q zfg&mD+%f!S=MN`W-;uD$!VsR1a0p?#xCO-wxy?lcd8K3~00sw_&&|pYz70?M)0mlHNG+-(?ayJm##TjOgBy~S4KPn!BoF$$(O5#t-J+IqYz7FpO*P&O? z@2_9cAS;0uSm%z_#|aK}ip3$WAY~0es{dKC3Go1oF3h$nK=V~&>)JZ4SER!ZO;v>o z4nUu$3YTEm#M%2fgcIjjQr)ki*Mk6ZvZ_kByH06&a_w@N*^ zKTVaPr8BbfG9{yt+{^9Sj-2r-wfNVUx&_(`5Kp*tKGlF8Q45Y=cjdNzC0$=MmvZdPXft{85@4oFwGJz zT^`Z}GqIVJhOR4&QYLZzCRpF_5j^oc!LXAi(HSYTZmRuX@rCDdz2pZ?7w7149_T}U zVa%$R!ocN0Lh?MrIJ^ep7#Dw{=LegWE~(GL8lZZGikZ&J^VfxZs}3GD05JL7$9dI) z;G=${=+C^Rjq;Iy$(}PIBV)x*B4OehR@$_~B-EVP2izQHqwEu(jmtL%H1eg7qiE!i ziMhlhN2G~m5V9iYdSDvhVaF@6Dz>b!{b)ag7-5ux2*g-e*-h_n-!gcrm<#Bag>?~i z%Vs>OzR6TRH>5nJZbV6i9_%Ub;qTzY%h_IlO*_bL?ijX8soM@xr@T}oi+bR0D`@b$ zNoJN|%J{AWfh>h?mIKWZ%V0&-TF#*;NjL<4Qk9C^?j))0eL*eDm>!}Q%7}EGLfr&^ z6)MKD7X*>LQV^>)_tG~fetATDdtjcC<>DvX46>mZ)Y+TLZ=LQR!_Ih^JL*B*p<9=!mB}~^dZ?FLQ}65O^1}sCfj|A zp;{i~h36eAM_o>A&Eum+r8VAmNFf@h(4t$|jIxvoW@E22)S-J`Sgll$BueN+=a|&M zim~#&iY%KS$#|5LRg!hn1*x4#5e_;m~tL$EVcolH!^1_ofz zu`tX$J>lu-=!hvP2WMxopP&B$U^h2{0hisk9J#DLu9D{NbkRPv?|en`Lbm$!MPt%n z%C7Hic@Fg_s(&Qoo6+H{#dL)hUnP_qYI<|*P(x-j@63FCktZ_Qe{^~|H2B{OE!P@- zj)`f}?es($k(J{X5{ec|NT%m5W**$wAn(1gG5PT`^|F~iQ~bNLe1ssd&N?&fKDs(w z>j8ZerH4-ilYMI~CG;Ds3hwz>qlNZYa3p6~UFEtk-YQ{5Fa5ydBhYcZ9mc>pYY;dFNtFf+yL2??wGE=pj`uzi3qL$)$2Y>Z@vuX;e{lpj( zwJ4R*su_w>_z2W8)3=-X2r|L)3-}5trmvAG8-Amz8%<}b$|}x7+uNqgcls!r!hX3Z z_Aoj}5 z_D?Gm?LL1w9P_h>`uhR%eEi@ zvFU-SbhFeO7A|E*M}VerenpDVB_Ox>760q%_y?BRO5HDR5GZ@;b(w>vos5EFI1&Rd zdQWJ=tyZ_S=DrKN+94ZAKbvd_ulHszbUMPVdHRBrNsZzA-Ri6OCyKTDh))T{k12>W z41*~R+@h}UJ-+)pYNiV#7}3SYZO%7*iXx6Y;v$Nb%Mp1WC7cW?LMng8KQ3A%n$86JSU5VK`|Qfacye7bukXvp@$|pg ziD@O_nJm04$qO=gGsWrUzDx`u0ljg`6Vzoi!V@P3~& z9VYGV_3l?tt=l{6Rt#CerAg_Dg`yb^N|O3^geqlay95HIEYC>KZtwZOAJ5ARh9WV} zV487rs77QE3`JlHYLR>B@ zc=X`)uxjF_xmUb`SkPjlxwyDO)Wq(n^Zj=rS@shdyhCoU-vDbdhBF(8M3?6itdybEK_Qn(9V*$ zzHY_w%kk%3TXS0I&QkZ6Uju?$l0bVSRmC$@tw4Ts+70&!mB-IBq7h5gI_%&g+IRU$ zwiW6ErkQq)XXG^VsqCf4)lsq7(9lry!L=rv>(grS(U+HQ9xzD;4ngd)JQihpK@1xQ zj34l_RrYSB7;Fhw$|6ux&`%Zcz~Z>kZZ?vj>NRR014?lLG` zrvocGs?=qPIchWIwO$!7TVKaNE&6xRDWo_WsN*uh!kYzH5GiG;lcegjD@Yeru~DkL zUMX|08rpA~o8!wsmC0}4?YDo}qt~=VRoR*MUx|l_EqP8Z;@h@nIUaUoGy6XE#{h%> zh?na=ifT*LslqaAmb(^yPxqb3n1V`R6rlzzUsCff=TBMhH$|6`wC(+wW|Xo!&yvd3 z{Jdj8qX`AqMa&}jw#^Y;!6?SqO|n8ZGV1zY!3(_es^}W8loc+?{15XCO@F-Azc``` ztalh{?Pm!f9c;Jf6(nYoCeq|0&wa0x&Wq(l^S>W_XcH{%hK3a)tD0}Vh>*m!5Idg6 zs`njuu8@9!0P#@$CkA#3t7H4fG{?kGSo!o8VWg^9cnWvwP7W z+=a<4{#_aNqLiqWh`Li)21h2RaG24Teuc$#@-(zA5&l7it=Wybg`rDWPNMjO>)8$uj^X~*vVq(c*4C34hf(hr=3}^d;}HS?$za8!AHnTP&%7Cx zkX_D|Zti{}W!wP^j)1dnVvdia9H)t8Fe1N8&g(D#8Q1$$w+){yXQ-oNhqgKjGKx$pN!O{_5@OLvs zU|`_Dm-Bcfx8k)90x%)N=DNiJ-b8}NMEOm47{w3Hs*JOvQ`-l~#GlwMDG^b+ngZRZ zpDJX)BcF#;nO#eKjv0da8zZAHl!cY6dMqr2lvuL1O=R4_#Xz7y(T=_5pLiS@908a7 z!JC5#{}uE`K6^?87L<8FzrB@TNx?EVHq2D=$_67h(6UfxJ37qi2sEF@#m5&tm1AI| zZKM`qr9CGZNo& zU02A6tbzxd4m&T?I_k#!40v;4IU%B`@W0`;zcWyUd@CI$(*F2p*_EL+P9Ac7olb1h za`QZ^ZT0?iO4z%y;iYO<_luY7*#ZrAGFREaIMbD4Neg?7>EajP-d^>0%b&WJXxdW< zE6F04(j)}F*YPLV#tI$~!IJ3>9;wpb3Jf*Py4^8J^xVredhu^>XJdWik2Yt7 z;#_>RA1%;$|0S4&sFkwtv6l9Ke30|J>MfD|+yq=(cH)cA4MEQ6cPZ#3Wke89mTMaf_{AslNrZg>B? zqIUrcHTYKa;KA)#YN%fu_ZIqgKJbcwj6^Q#W08= z5G5ml{UppQ?z*aO-&w5hTWf20gVBnzW{pu7;rof&8}ZqSTH%`GpbTc;^HSI2eDFKZ zbb+{zitGwkFn!wXYxk?}g$WSnJ^<*vpS)v+j)nENH@Gx8pyiv_Qs04fjfr?@Wu*ci zDaMcnJargrU+$oMnAO`2tx5%|Mv=+RW5OvT&xc+PZwA^g@d<_XTVoRs<4fLdqCq~+ zQam}@fm1%PB2*_YuD1x_`xQ<9L#nz-j7XGk6K z!<>IX^crbtM6(pAN9emvr?rxxdrn=f3ehtOe)mdplXIBwiNU%a|7gwmcTwIUGNreY zVTYeD>%M^*214&L`*XzOI@LlS-|Wdwy=Fx~I<3(u6#e7IsV%mYnxsXBYnyy~SBAE}VfTLAV% zU6&H_^dctBJ-jr>;K>5-<5{2Iv=SaR4k;R%qJ-~71ghx*hC9=bzy+*KmlaMnw(ZHU zf9vpg$C5~niIPhjK_J#yTv&icEGwE_CHS`dv=ra+sZgz2|l0GnZHJ3sIIW_xOKa{GL(sogmL zkL3}ECB8BLkpAEaifS3cIk{dbI19_~ED-a1jV`V6aC!#%bw3EO2A_>2Q13ClGx_Oq zZ>3K-kbPm1YF8@?nRRAZ^6(d$@GaoHig8xyhr&had5AiZ8{n*7lu~b6(rbF>$ypL{N!{Flv85KM=e=hlz=) zQ^&TwdcD`~3BCQHWu*7ja53zY^Iy&@(=siGZC7;R<5w<;83HOq>WGhw6hjE56xrc3 zlr6LuN%tPF@gApKtOxx9J{Z!orrV1o$ECM6E}d++!pbE<>M}GgL#oR%0@$_Zbi23Y z201^#?w=yp%3+q11!xqz4ecK$H zv(6N0ax!;dv*7YaYpsDlNKcV*Vq(493-N5HEhy&w$;Lz`mwqiZhL_idOHc%f$P)gi z_zJ{xoBme2u>ZR@t?1~4LNQ8WFfnU={33i6O%_@_;=@}2RnX-C()S>9BbR3bBjEj5 z%O+UN>oiS}ds=wNsj1@0@la^snDrKkPW{&PicA)_f0|RFVo|VfiMiEEuwrVcEwP~g ztp2^2DMHcQzrxICnkK=5Ug4h$dE1sTVk3)SIMd%a--2=FAm9Kg)l)?6H+fj%hr`6A zFR9CtCtV!V!iJpzB;tMt@8*Y-U-S8*(kmA!r9a{L@k?LYo60_mMih#^p9LFaF+vcRg0fRchkLAwf@Lyem@UllDj&uKGfZ%px*qoZr6-1KCwm>>53 z32mCJ1nq(GFL*3@|nH_|x53Wir*u$;bY2Ufi!ZSw~mHPq+U-etYMO z4!(@<3}YTGB}1^p7i@3j2!jWb1m-C(O@ zx`q$dCbGo*aH#@ZVOUzge3!ld9PZK4omQC0{32&pIB;7mi&lx)ko;iT3*uykb(}g= z^(yRa_TP6zwniTxg(%zKjfdR2F_=h`S-+;gWLqzU8Ehm!E<{|0i+dFD2yz8& zeC3p%UeZ~!L_83!Xev5U{HtgJjKJy|#yb2L$?GvU3GVq-H!7-WO9saE!nRjrB?mg> zAH2zfZ-aY7KSpio2fSqvIU|97(|?{joEAp9#G-?w#DOEGCW%@0$Pz$u+S0fdqJ@SX z_?!?5FHQrpZer%Me}`{yk6R}14&)#F9j{R`+j8w~f#&|$NKJ^C-_p>^1}9tN%CZ~# zq&h<%mon^1xOg+udB>xmG8E0p=R)Pv?6P(C7}xj0N*;8U8K>C(;`y;C=@l71bVso( z6#u6r%Z!b@e}^R6H>t1|f2^U~2E6JRZ5({*s%Pd&V8Yo%#voctd*Es5o3*^_3K5TiY^DnK< z54e#WbCS%c8Tj8}ItWuY*xAQfuLtAM*$JjAjaG2K<1H{#`;$X)rYtHoYy`d#(>m zs$xn6(;2rMzo`0)M(++1|l1&0FAHVLlFAsO}pimu%S({+6~o zHdpd^Y7#*4zQ-Dz5Lo{XdwYA^_wiP@?8iU{^Cw+$nL3I!Z+)$flTvP0yfU9 zl?rGm{y@ikM_Lj9r-{0$HolUU(#G`{6~{{LmD8v*{OJ8ch8*-lNcr;k`uGU`U|7izb}KZG&XP@k+z{$wXK(eS#mbl*CJ(6x5q$5#yoyy=o)a~ z`H_I&<7WiWm0mcKQAKlu2jul8VNKZY2EX@us_#d2{TunGhmE)oe=kOchCp}s_g3YX zM%C3{g2-hahjae9UCq+ecYiIjIhq>Ct%YVq7RX<@&7b z2x4j6=1c;$^4%d;O~j{~daJ$#qBy~gd6 zM-qeX@SySV!32t54SQu5S-I=s*ILzFLPD#hj20PTTt8aHl17pB9!qs+9jPGBC|Y)6 zC=$hgz^1I<#$?VknK224FhkD!@u+hLb9qN(aL7YEj;427nlAT<{{6M^w1huft{vXr zXN1Pd2bXIFO)s+fbsH^F5Rs6uN4a-}9-7r58+%fwa4Nc2q`gt zHc+vO-~ft_7VzcygsHS-dKFm(1fWL(BOl6 z4JFlRHopUxST8QrnIBqRC5}Wy;^q>He(M!8>~KdQ;xvS9TTy*;#$bt4C8A`_YS?N% z8JYC((GnGY;#$C1&Z5bVji-$DVVwH?74w29$tB;RGz-~o9jEzL$p4NwI;6K3{`K`$ zJ_X(lpDuQ9nW$ymgeR`J9V8nsBu&)L<+Ykub|WjO=lsEh^RMOth8g_2{kl6dzoPtcrEX($S(8`NQ&WBf~eDQBQ{%Q8*_iukQQe=8;G1<4n!5qs8Qq` z(RGeUH6<(h7~>O@P+GIll1_}@{!OsIHgL8AcwL2txeq z&>pybjXrl5vk~bSimNOa?ZNa90-FPIR=-kg3Xd%~%Vv~egunM;fe&S$qKV1lQz0lm zU>zk!;YkWdO_!FAkEAY1EYr`MpBSV~OTb2;wfjZ5!0%D4E)U0eW^xiPDCUowXaUC-N zvH|8LalR3?&8{9N@v09Nqzv||o$TBbkT{j9RQpFG=Lw`iA8Q$M)2RAa{)5hEbOmhs#j$8RX!Cn1inC!!#k z%`|mMpAkRsQaydI3_pvb;pHpzd|8ylpVYsZG3$j#VHXsdh(D1AtJ>}UAhQHE?Mz9F zDEF_T`=J6f2O|~*7WR+!(F#!pD|(^!O-$}S?Y#=&hHkI|tXc8ET6(B>r6SH!o=!BV z1aVTPcewNn${hzaO<5^b8?|i<@~QefB7>*+yL#dD{RGra0OJ_)D;{!Hc)X-J6=tT* z#ba59P0}x2d(A~xi1nV;s0rNO5nU-6H|-_%z+bg3;tZMt?U3U&iV?jPOuL`43Ux@X zVIi4xQk_`gM97OZJY|-YY{LvS0>3oM&wnhlm9vTwxT*NgYGn|dh7DJ6Y0!^{pR0v; zR2DxuWEw~@U{i&ZY%o#f{4yCB__xK5k+(xM0@9oW~meVD3+Yqi` zoF^D^!W5l+#ei{vjk)Ge5Fo2k*hm9?{3G`v72>Q5yw7}PPwYkI1@iN})}9F=2Pb;I zy^d+XVjIJ3c(}GtN^p2=me)#u1Jw*cDzRb~>OV5IWVkqk_7wBnKn;+i6(z7iX8nly zQa}~9NlP;T)JN{R1~Vf(%NqTRT>x^!Co5|;rYW{N;zHP#ZN@^=5Pb(Ho5Fu_Lbb%^ zeAbLeXS>bOn}XF;Zeq3vf|=;#7nIz+O7ulZaC%#^Clp=?QfF}3%sRoxD)-+ z?Inl*0@IEZZUYcSo}~|=q4h5LG|Q@A9CWr^K0j&V{UhDsSvl@a=mcx=F#BoZ^z0@v zjh}G|K{~j5grPa5fC}$`=(Q9Q?C=vUHTsrldYkCkbI@0`C&Y%~0!jr`vm#^-ra06~a&2env zTl&f|{QypFMKc$9lP$9CML-9#X=Df;;J*iDAuHrNj;MplpX)u82i}n=mbr2=huor} z&*~UFWpq6)%{;9@7VcKi48X(1Ey&Kr&(0$R;o=4HbAfn;S-H4CTwEH7W-$Ms4o)tX zcGiCX{~f63*Lt8GWdGyf;bQISW9DuJP;fG{u~IR!v9oZX7T^%%5MmdmhO*@Qk0mz` zwFb8UwXLV8D~OZR$H#}m?msj%LD3v8?lv2d7f^x#;{PZ@Y`vV!K_F=t3oj=tXHO7F z9SZdTaF@S#asFSJ|KSM&*;?7z*m?rEg?X?5?h#N7(f^|J|6p|NEIn=igDlk0AVVP} z{|lmG=VayS=V}G`pHXqTI@^dhYODTVbW|Wv6o8vgm|vKWmycKYPT7|a3c>ncbTsY! ztpHq7Qfb9v=g=nY|J9@gRsdMrIa)!d&*|js>F8p^X>I0hXW`=P!TJAg45zgqj~O>F zFSmstuayuV7q2BRuLU>1g|(1?r63o-l{E*n2M2U~Rkr{7pd0`SGOE&bQl?@52mWvK AlmGw# diff --git a/public/favicons/ms-icon-310x310.png b/public/favicons/ms-icon-310x310.png deleted file mode 100644 index f750756d8ba43ebbbbf7e6c2e0609751765b8953..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29928 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 diff --git a/public/favicons/ms-icon-70x70.png b/public/favicons/ms-icon-70x70.png deleted file mode 100644 index 4b3d9ad677fc61aa9d6077e739ba96448d16853d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3891 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 - - - Roon Web Controller - - - - - - - - - - - - - - - - - -

- -
- -
- -
- -
-
- This extension is not enabled. Please use a Roon client to enable it. -
-
- -
-
-
-
- - -
-
-
- - - -
 
- - diff --git a/public/img/icons/android-chrome-192x192.png b/public/img/icons/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..b02aa64d97167ad649e496908b35f14c603d9249 GIT binary patch literal 9416 zcmaiaXIK+m6y}7Elz=p)MnHo|M?q?+0v{qpLa)*lLYEGqqjV4i=}jOYT}nWZqF?|) zgh-1tgLI@XT{CZOOrNn4PA94gdt+0swRr0GxtN=oJ9)6$5}Z8vu~a z0suCTT&%u4c!A=HwuTyT`R`r$p*$UIq4d$xQKwvhFj3OT{OH^VTlieG)RYbVr#JIl z(mDIH=Ppe(jQxytM}R(c{bw&opbQ^vZuTtH3D0=B_H|CF-g$>FWnM_E<8xJ;6x|$I z5G`a2B~ocHl=45jx%nT5vR43_%##6zzVX(HLh_o0w@uPo%~p-v-(oDb3R6|P%IEF4 z#wIQfyvY8F!v*IL!3%yDDE;^Uec_bR`)5#5OYHbjmxA;8`ENvd^-LYxm>)hTiEF%U zkN$D_^9{A1x73rnLs#ZZ%a11T;`K@VTo(k}RlVtj?cvL>fxM;LcX~c<-x(7x`pVDM zc{OYct-^Hikf}3ECxUyMMsv<| zf+5!5j#w_e_d*z9^^%|Ht-CMXFE${zR!096`Z0Aze9fEWr}|K9QwaZ1^~WBd|8Z8V z8EP!@Bwgvs--tSLM##X-93mjI^{%RgAmi(oeI>jCWazZd{W@fJ*K1Z>Fg%) z*4xn<5M$Q*0RH%LVB<3zd)|M*sP=1-R8QTAD2HS!B@!5EiXUxo?{m*wfcM7589&n@ z$ygP6irp0@_%d_lrF~Sy#}X3HN=*yFtFbTpWKUO5E%xS4?!uLWNuuQL+VKot=;~g* zC_QORR7Q9{Rspt6SeF|hW}YUK5?9a+5NUhH%MzF!lkhsn=*IY$ea%5V$N-?{!_n_Y zcP_fN@MLsZ>*#8BT48Q>j2NG8jkFohb{L;B8zf@s19ZOY2KFv*oDRB9n}z*SA$_W% z>se>krL-Xo9-hf%TffAoA;Dl>5D{V*+g&c5Khq1nOB!aGvJ<8f!n#GjJyxb|XMW{g zb(sGj?LU-ZtV&jrf9ytjp$zw2(<6bg^~W#`31{KDDP?(VKKRo!D<91yKbWm1F^X0j`%4J-3w1y22K9zf$MZa-{{e4%mk z;9`r1Y|z~HuUH|VudeyK9Fl4Y4dQ>>!BdB){T7ir5o) zB)NVqRY?{>SNu|l&XB2l*J%8#Jq*UZd5Ve>>52qkZ5k884j(Rp^jfQVt}v%qeN{bo zOmcyni(CZv!`K#r!iCJN3SDd;tdgr}7aUI`XkcA-De;-{2q*jvW`?fp$bGN;_-^PG zW7FD8#iI&rH1`87=d*9lv>7CY(QSDnpD+p|r)>am9WoZ}l2ZM#y7BfWeL^Y1TYl&x zPt~*lQgjr+CheE00LQdH+H~A;x$wa>B&}MK_RDHr^1+^I`&vAE5 zH^fGpr9CaI;*!s^vio#F39|D^sP8-Z+hGrj;IJ9kCAYpPL$xG%!T?R5ROj$t(=;4N0K zlW+S?iwOe8{x0(?oAS%6a-x9!GpUfOt$Ak9B5ogKhWJ;m?u`Hgc&=Q`)V|wVm}2@P zm^$^?$)f+?pTI!-vaoMaFlC}AO&INra{&NM=Wylv%O>(jK&}B#`*sA^R8B&=cb}Ug z_yu5`sWmZ3dV!uQ!{%AB)?9{g?GSXv`F@3z+P zAyJc8@-Rvt53m)rxfiNMr^KT4UT;kC>a(v*cqq-4ln$zsp1Uw{+IWKwL#aQ~%zBIm zBnzcYAFf)TIRW;!3p44?6E$|OHd4N(`bF~{7NFRZ|71A8K){8kNc_>aU4T{ABTcEH&nS(WU0FZ+)RVtJTFZ&>bl2qQ=54MsACbrcmU%yF{&Q&WJ8gqB3F#;0-7IGQj*Rbg z3%dW(UbN15y1Hv~!Fi$>QO5k;m75hNbC@rkVA!m^*72Mrap%SJbspLaslGqfPpkmv zBQjn<%R?YsNod`Fi-e4~aSJd=QCb)2@J%mcyH7OOZA$6BTAcTD<2bZKNu^U)k^uQQ zzQ=wd+534W?nAp4Z{8ghS;{UB@rp z7mg;eH;eH}a+9Av_%n^-LPQ}Ti`qq@y~R7FeXxz}nRiREHL*Xk6>K~%B!;ynzx%X| zNAI5Xm9R8Pb#;%yxlgo)#x|ua7Oh}ez`Hn{0@;tO{cYU^Gjq8}hn(hn7TyvdMZs<#RPf&O(+W^S`hK9Jl{AD)hkda8T{xw_^ zHq5%9SQ%+#c`F@F5{*$0lg;QhewpRZyj`TP%6VE}n&^)A@vMIOtw3rGnk7#Q=7L7` zF8WB)bx{}m4-gq-Wz8=Krn@*Sg`fA*^jRC2o4jf@1Z>RU4UG&`9Cuhy_Esbhp+6-f z9ZdG4wCha=3Zs4{^l7H2ru>H5tOd}8ImjN1UyD&7PPu5-?$#f|lgin)o^3nkb3hs1 zU-&k~Dg z-6!Q|#o7bEd^qMLIL}LW=59gBqu7oGy@%wbYknIG9x)J(DNGAev%(NvwZF;Y+~RuE zK{vUG$x<<9!|_~s+x`WcPU1_l8l38KQo6n%_a>a@hKvw!O}z}8Rp!R;iZ zP{-zJo1B*Ix8}NXZT)H!{~QBOxuFoY2bk%>r&?#sd5sEk%V$0%+lfe(e1?=)aQlE) zxCken!LMG7tiqawER;WQwbuz8{3)hvsK%M78yYaiiG=I|Z=2VC>C)1K(SU%r`kv&M zx4KnNekRuB0(q$AMlZb1LmxzeM~Kgra|C7o%zG4<6Kl8jXk{gfjVdVeIOfsSb<`)>?6622$sYI3>yQ+x*$LUfve5+91)bZ+X-)EI zT5E#a)5e&~KEp*d{*=p4j41v`eb{!R^QUJGCf@i_+yS)zqIa-B!KGpA%b3p>rYp}T zw4V%n&PKedPZn@T*Rg$Nci6yd&y{{`mL_6MacC$MKN+O57Zd zZ*Q5=S}*S&Gb$8$d3GL&(@~S|MA9-ICP=XpjU}hnP#HUsfwB zg8W_IWHhw0dg3?Z`->OloxKC!l6y$`qt$x@R3^?1PBJ^}emdey>fxDRS(M*q$Easu z)Gu*fJ351(q^nr}-Zt6YPlLWKL@NZzAVw_v^k>Eh>p1{u$`$QyJq@i_}w&}zBhZV{y}FA&aLatrk6I<%+?nPzXUOX2HbI~&(=B)^BY`*c(FS=27Vl?!nsQ(G5bat<~6g!u6red z{pp|oPA>dHMT=#-Ejfm^d9ei<`f(ij*mGa2{jq_@!hlElFuNMa_L&2a3n_q zTXxTFzrDBt>>>~(JIRw)cPCwwR#7b5u3db{jeh63<0Scw>`^Yeq8y9`of6WtO7zaN z16`#6f4X3T_dTimZPvo$+?eVKgg$<4Fb;p5#Q&p<=Yb;RR4=2d_=cTj)(=I-XJ30g zF7%yfD(2sa+0{-A9 ztzXDvW1m*Edlqjzm*{GC%s4hb;VPUsv>IwrYHpVRkY5O#AXvc5gxh~){-C71$*?! zFxSW*jT317Nj6gnS@B=)_rYbQ6YcX}mhQGwGLEF8(k;OL;_ zeF$)BJNnBjL~i7zvZbJPFVzGg#&(R_gT}i|HS>z<%b&7@=5i;hae_p! zd}QeibUf`j`3Hw#_-8ehWYP*;QIVh@cT~tpso2fPHCH6@ke0mk2TjUIeVfib`kjhO zk<74+5VJG(FR#ruObKq+Zn?1sR^fy*x_&)CinKB(G5P-Lq^@e;u{{s*Z7JJ*eJv6@ zBld9PPo=8K-D7TKhWCdzz7o>f>OIT1_C5Iac;_3C85|wo(B}jf&AA0tf=->nI}i8Y z4IOqjE8BJMZcO2&DE=}gQIQkV^^su0JsEnCCyH!a3O3X^h$89n>;xCWaZm+bd9;SI zt)G8!^hXV@6kF$92p`9~_Wocxh1YM%=lR4oeG}kLb&Q{7PWDmX-PT+x8_=kh(*+|; z7j#LAn@Op@2r<)jsMu)X2A}Q#G#+o+k93$)EY2mWAZrAAXPTA#?u!)AjuSfjQ?WCu zfBjB~aafM;bxxdk(yG^(S!CrCVKGz*loI1*xnMvTHq+CdM)F%f6_@aBv9(DHmr23o z!Y1)MLej+arq4#m8jdlJ$0=XM*k%FXAG)#|h2DGbfb9+R?UwJgrGd`bN%k#X`ahE zrRToVHBh>r9X;?x9S>AAShc5x7?`VgHUAy}y(xT^OjDpB!70A^QQYtM$)DcrWjO>z zW~Sv*1vC%zJ3hXZ;uH^)dDN4C?{~dyZAii)(_FKlDEi$2C0E6PRxiJp+n545DDu`##O z6T73~IM|VDT{)}nv_3NYS(;Xwsjxrh{s7b1!nc>$!Vp;2mN(vwf?QL7cY^iSR5}SP zFNfmxZt7cM@Pe=M8NmIn(BWW-(rVTvu-N|p^=4n9S%YZgKiZ= zm-vlJWsnODC7(2z{66ESx)ou8trzx!au_g zCJ#MI)(z!Pd6o_0s@o52xro#RLDns}?Ml#RTa--t%2n1xTy?u4jQifuKNc88uryZ& zBirV&|Hx-OMJ)iV41i>By?;N)E-0h2)=$)_dDx+8ZuuHp>mq8E>0=`$kcK4k+J2kG zgjxrDO~uS+i&x;t*HBK!`hJh|IevImord@z_7}aDIAUg~N7a!c^3*o-jbfY>?3U7==iX7Zes1Ox%{>rJxuV8k9V z@0y};oI0ReI2@Y(RV0-!vIVj{)h^p)-xDFr6x zNNCvO*9(4gBegZZ9@%2Hq-f6^NkE&i^_3ieDM}LrN|Tm=5%oLO@orDze1B^dm4=Y1 ziM*eGKya&YvLm3CSM(IA`v&3bHS5bazbL*TY9LYlTe`?3lEoI}z+B$K&5hM%W5KTB z+7;{Ko30#D3UnSOAgLLm>}S|-bu9@-3Yy=3-e10VMz+Fy1IkBZiZFAc6LT6LF%ro4MlRb(@_t#}D$; zeMw_V%bT4KUEH)xmmVUw3?G6^@45YToPd97+@Q<1hO&4XL_gS>2T)rTmZU|Q{m!CI5Tvg(su~c z0I)ofW9&unE1BsNB5saoRAp^j@NdbT2Y`5BC2kdz{%`tHF%}+)jP5@~wH(em!7^sd zPur0Yg+HWO=DoJ7MS?$YOkS11$GRjZQI8TqrvQee+bQ==&(79R?XM+A5-HgEDK%*dZyhZd(Bu zT_#T}HH;XP;_n8Tq~R842HEliQH>XtD-=TZognmcDpX@^v)p;)FhL`fKI(vyet--( z6)a$eXc|n^&)$}C8WE`7(^LFH&TO@%e*guSBY6MAu%`uQ=}o;XE8A~(u7c<(4?}LU zOo)1KupG*Ja9)D~w0epzpiU-vpX@NQ$H3}9y;D*4Ke>tlm@~j)PKYt+Zj=+G`?5D` zmS5wf%PiML)?*qTOuygycgi@thwuP{?7j!y9fp*7{ZG)+$XDR%(UVpVPfQOK@ZS9W7l=~pbcx1R5dw(y&y>mSX+=FyMPibx`RwB&T`6N053 zVOfjs+SVIz$JGiVFJWK@0L+Gg1J#sANm`(2%!}ZcHYC!QDmzE^fRZ(=RP_^Lz3cVm52|oaoet<69Tp=*Y4P)$I z1pDMNyk?J9-(8so$dtEHJZ~enT_W9I~kYCCff4&hL(WyTx$-2U$^&2ub&_rhl>RdfcW%vVw~Cva7>ni;y$lYB z*OW-*O<_I1nWNWc32CZJ5VW!(QJ{#V-d{h1gJN;)jco0Qa@T9|nw{f|deI6?oJP=5 z9pod*!rwfGTlW7tMGS!`aiL74pMG~4t`9nZDiMONvHj-UED+6al8?$C$}3MxaUyJe z09k?24ya2FK7~fCe3lMg@m-PXOjUeB0AhTqu2(=tGo0R2;>`X&9u0Bkx?Ry=bZHo1 z6ok$sA`IIu{(1<&KLVg%fzZl}&qdhOgvq2H1=fV%FezIve#aj90{J zU_S5FGjc^k;%T`5_*X;)n93^xDG3h4P)ks|6zv1zpt$;8qxI%qKep&EuM0jGTgb%@ z(w|8-RyPaUYC%6>A~YV_H3d$zFm^;k8~ga*+0?~jopT?W~MU{S6fO zlDH0%r6N#G#;777*jKtSa3vOIteIe#z_l%kbtyj;v01wJh8IB7rc{43Y3*bqj~V^J zRRJ3SDKnFo)_9oU6(fg~xgvVhdK%m=~RY@3Rlz8lc4;YBAAA{Bg=iA_6UT=e}B+ruA#^L7f{a^>v0A?w@zZ>;sp@`686n0E53@b0Su z3j5Qft7I#Yp@VSs-hoDLRKWZ~m71!)dZ~@3#2|x@{vFHmdq2sX z&%DJPbNs$7KC6;ICFQkT6vivm#HY04NJzJ|J{qeIT8ns2n&&Y5 zz3w-arou<=)duF5|ClpBb4&nlP?0rKX3_t2{Kqsg2E^C2y^yi8k$?UE_<(h-Woja~ zQRi1zcI*8!8qg?gZLt}(-}1N9G3|+2J|witV6g#j5Lf)~k=m6|dR=3(UQ5weO;BZh zWuMi5ox**n@A8L$y!wS#v-wJqpvD4NDhR6;$*8>%u#}T2law`1nviMLqHC4v6IA&f zs*U|HuIH!i?w!j3S{)LC!M&hE%KQku5u|9PsAciABA#ds>c`FpUY)uiW27*EikbbZ z1Z2A7+VPvmQ1IK$R~+e=a~B-W7{dIO3Q$|rSCPl$z`fW;1q%3^TO{wboP`m&yji}r z2ZJ`r0{38rS|h55nC^QViA^(~*mh`6NRHqcaJ|k$G&%@UlH6sY4d(df6YDdd{BOD` zS!^qrqGa8Fq=wkM+2XX{FK*^t3M2D$j+qK04kh~U&Uilr_o@#p(WM?j_m0$EoI&g8T!~qy_8m~pZ$iwnUX}w zD~myTA`!6Qm$@}(a5Y)TEj8DxQC*Z#kE_0SBW{2rl~vMVunw}PY4jIgQXc^i`rxXv zD~}ESU#|z{D=5?K;rCPZc5 zvhQWdz7J#OJnzxx`}}^_^A|jIbq#0EIm0>cbKkG+F3i|admqa|76^j&>FQ`)f*>UL z5(zOgf|qsQ?j7(#?{vZ70t9`GVBNjW0KON#sdLEyg8U^R2pb?X&k}L#Cq1SJgX9dJUMkWE|~fb zEKvHR4p{~Ykpd&+Kl<5=e?sQw_PgHEF-3@0<+weod@cR@wU*c`t_NL8g2S$oNv;o< zt|s}V!8b-WRE>O6EqV-!bzg?sAHZ7~vl?57z3Ss4zfL%k_r!hryvEtiy1H|s+~1#a zb5besUr$z9XdI4cX2wiU6BvX=|NrvmZ8BFCg%7vgWV^UCDq+O~ZxE`zr%P;i|wi2S_WNa(!*%gh-ltu9F>a^9=Q7}dNI$D{wGd2*x0HkT7(c70xx z5;RLLzTBSXl3z|xT4qgK)p|yC{)ovKvCvpMHn)#QvL*sn8KRetT}e0qC;!}Oo|rz+ zQewgs!|^!HIw8%nZIoVYM5jaOAvuDVTp9Ni>d4m(ZGY{a%7HDSNNu-Opp0eyDCntg zI+?F>)HNa$BeYUTboMyMEH`9$IIOeVl1Ya?g@gN&L?c6))eZ-BYce0cbW2SQ`;#ho zarK3w%lNR|Bl0!uq+WGIX0(dCI4by3tvugy(XF=#;wY87o{FoTfw$rayIEtBc9mK~ zyBSF}2%@uJ&i!j&j?uGm4noXdrHM5x66?K9?SXmu{u0lPZsW{RB3bxgjyK&LSiYd{ zGVI@4jPF#({dG)<=!!P7O+X#DF_t#%o;lLd2_L(^U<(z)aXQ#cLJ;X)A`gPzfxCL+ zNc$wkG3|Re?%jR06@oRxuDjYrK8oOzIMUW$8!c2B90{ZGu(!_^@i7f4$W6%z)hkwUk&M_=(GbZXwSK_RszBXEa` z)y_1>g!8)l%Czdk0e7?XhuM$p3R)sQpjZR8F{%sCB5aS2v(5*BEN=PAu_KaUws@x}V{el(3ooOp;IKVS=LDahDTjMx7_x zq7X%MLyDQvESv%nrAG-CSjRfQyC!Gg14(5&b94+cymj@0~B2qAsbiQCT3 zi5tEAZbH)To|gDAZA=6beAa4-9Q8ZP&Vr*M?N{RHz4ft|Yl~aWpZ8`?zM{9+k>J!ln+)j~lf|AbC#kGqk_*eSCtY2tIk1 z@=bxtIs@PSnY5p($o%_gkE@OELAx*3k1bC5a+v5Z?OchKyOa8D`G*ky$8&=B$vWg$ zx85yyH(g8OG=y}0*wtHcq*FJb&v)H) zsPiV6KO6@)!=%$L^~P$8Vz5YHllQU$%Cv}^!A@)v2y02}u9HZvdQz2lP zWXFnJJjgEmOyCo_?0!ql7YatZj81En{M$`r8%~}N<%O6P<-H1e8b(p_rDnDPA9S&> zw?M;|Yz-=#xb|DfeY2kZRSGLHnE3FN=!*MHKkR6<+rIIea0#4W3NcCMU3ZV$uE>aA zRvWasvzsy%BFDAm52;a$3oaGxBiGM5gEy$4_*1af`XEUP~g)j2rmvY6o+IsfT&JeRy z>h@+dQzkItr8_dzZTD6FG{Xur)@yAG`uq`Nvyu4Fd})W>l)y||wK|*)D-t8#?}+Tb zBTgOKMR;3s5~YdH2OSy-qWI3x$CzchZ86#{MxtNJUr?zn#`LUzfYbe3&OaZ2;2FS; zR;&_t>lVZN(hJuhX70cq%`ZkWI{nFPO~?b!N1~sw1Y9;u)Oa&D;gk|+X?Kz(az`3( z^E0O%hroX1e%f0p7s$B%g)Ct3h`v;v;m9e+APr+H_p}qr{t?jWz6$w9WyB9=?4}rA zLuk!}6F;(vYe$S(Ya{XUDH{{vwKY5&X^f7RjqKELeF){qi`4oL5J=!Zm$eJNChKVEOP$g6; z8hOXHY~|xrsCBMw^3^Cj)jy$X{pgD7Hk07F6)}5lL_Ei5?FTx$$KBTJBUFv3L4TFx zRZ%mTqI5zlxa*3_L&fHTLeH_EPJBk(jXXkaQ>D-y6~sqNV*|J&o9SkdGtdmLke3^u zkk@%8oMw0D*J-cIq7u0aM*_z$dN9|SK$3Jd$)(HiS{LE?w>RGGgh;O2n##I#+nTw2 zQ4fkq>1%!~7p70$*s@{6z(%sLUMe+cr2yY`5jkmscV_BDv={tZFk1hFv)#yxcI9f{ z&u5p9zU*@_z?Ryo#fJ+Ye}?bQ#A+dm9g?XTQ80E223zOJt3IHjkE4hdmXEyS4`}7i z-hl(l+;ES+CgDmEIwQM{;A6t~VQ*)1z^oH3_)B7l(1r7Iqb@00(hqy&%|`^5WG*}i zDXY9}=Y4HE%3HYRMT*DQWbWmO&K*jl5u63K4B!7_^a&O)ct&4(k@&iT*3U>Xy|>n@F6#_`kw4aLDSedr_Ndq z_uKbZvipv*>U%TWTaNLI{iHG)QlX31*LGd_Czx`3zbvzP3#1$X$656X+KPD)G`(kV z!rStCQi?0vx#d_*jKXgx0^)&v7M=B>jI0CBk5s%uN)yBG)`bkM`)(!| zVJEEBxcM%gO}#Pw;&dr@#21)Ko_H=_V_ZF-fR3X*RH>%lqf~O#s73)cMJvd_LphAD0ea^QrY-ve-WC;(VY--YzvP z7txR6IKQ~Esc`+$gwoOamS;gK{HfoS6l0@I@ZDWFuSw-1?oD~RqSP}JX(}Ifaric> zR4Z5#A1__54j=0B|Jtw`(!##}X^UA!3Z7XPx`Uj^!d3Zi!n;dC<@gg0K`z6HDyTA~ zad@Niacg#@>Vsohh^Z>2rw-r)P*GelpPr{}sd><=nBaXivAZ1tPlg8``N(huG-1Pvy5qEsVeG1<-EL0VFc8$4|TAQ z-r_!4A!DH+FYvIZ0dfM5TBC15W`EuK^L`%_%=j1;)WIk`K#vyTNC?BZaMEfuZj!tj zO?zq)@lvtrhsT00D1qax?~^avkM3@DuS>OjI0YRAzsloBuUmr7YIQv@uj$#*3GTd1 zxiOVO^*%6gq7@a79QOEwyS+W}K&Oz|&T=fhv@wh>0hYB5Xan2ntvmE%=}T`)%($17 zzrH0JZL@7YCzdgLu5OdU^H>m{AB3r5p=jHPe~&sPEq$B?+YPBMj~G-{rZx5I_^mtdoD`;w%M&1>N zB<-!fa;x!MTc(D|#tra$ls=XW=PnDNFt&<@6?v6E{IuNchyR*M@KDA<4=@xu`75($ zaz%yD$QH4t-z*rI4u9vPH~T!;~lI-V4lycw6U4U5{$@J8w|(}yY}~@99kJOV4h_xfTH?<_F2cYPK|F9%O zc@Dsmlrn%NNjk<#oZoH!n6HUdFSrXo>@zB!HR917^#qqJ@XOcEW5`Y}qzY6SBltpZ zN^7b3QE$BHV0F!l%S!3Qwmw}}^#Fh?xx=O%f__Y4S#5daO*WOg*R_!jgI|rn+NMFj zEA4j46Zw&rc5dr(SKJikM7#^@?@o;B#Ze@x@7{b7eg@(4=iG`*P$lyl*T6oH2(y=Z z*P`F;9P5Ja{J`J#WlpQyKK@tQvQ_#OD;sRt8VXU}b8 zkO7+*6E5^f=}rRt$UQJdQTevawE+^bw3^JnxFw{CI5|hPU0-MaVoxueA%i}`pySOv zkDQ5Kyzj;%bf0gs>rUz{vf+or(_>9YDT9mMR$xg-O+el|$oTJ9PTEGrxgsSl|+Z#@X#P84Wn!Y@d9y>;^JC_IUF3VG} z)DL?ljK481{qWJdlZEjkD?%0<1tt8WOE~-bWzFh!M%r(3>r&(=1b`fgNsD`UGm}jc zK6&}wOx+k7!zO9?w*CG}m!YtYwzuV&s3iSMz1`#9$QA$IZ$=^}#(-Bg7{K$9C#4I^ z+v1ZJ#q2TUts+m%!`Wg&CZ!pAt_@8j;hTere{(5WE)QIz9>%zcqn`ftwiK=l;^w1Y zT`*w6Jz94OVm0Ia{JfYj-9d$}2a8nbV0H?KJKrvcVeV41fW$DcytBWy2O zuiDz%o`P<^WANv1X7H^+wI|!<-7BFjVxPB#iZ3J)lT3grcvy|`F!x5mt()~M-U1Bq zjRr(HGKCM~xnq?7Id#|PAIQYz(SyB5r=Nvky^kv=3Aq>+g^a($bd-SJMJNozc|_$R z^jc9mZbwKmZ;e&rAp#T$D1*UWgfh~4$O+>utipP|^}wznXGqP38%WmOFViRxeADF(GFd?xAR%1hw^ot@Zg`YdPF`EEy(ooEQ zfVzcX3VLsB*#OBRxcEiNGW>x|S?Zk?>YHXJ#-Bm_2qsR~J$lAo<@1caGA)RZc*_O9 zGIDb8kzr7D(EwPgF%#&{45;IUrwum}{BSu!--)xMF%x&IY&V_W+sv!oBrjQtJ_pD0 z3VFNT^zAb`x#DiSLy0)~LmRT(hTeN3b3uEoUKmYk_jgtXT>0en{JZGyilmy|loxVT z{>R_}Hy~b>pm!9fesia)IN+}Beq3rA1!Xrx3cBfl8W1tx$$3{!dC*fyIjXfq78;bk zO_(PGj4y)rXN#QQx4g@MKDZdQn)1tq^P)Q!-^D7YFLfR1mv49hH2Fy$ph<0nWdy>J zIwcgPzx(_N{2Y3A$2Op9?q}Lf{Yy!vzeI(U+AQF9hJyRHP@QB-V-l53 z6WS!Nv+JK1j*exIJS)eK?X@Z+oVx9Ezt;7wiMa4Fe}ZPt38Ss#ZBRzO#y*DeDHkrR zmO0_6L_uBVov$@+NS^IN9RF_>+a7R%>D{`vm#fU@0S*Tb8VsXhAQ0 z(~y|6Kj<2ivbwN&Ydp*|@Y3AdYbVQ%_B$A|Bq<6^+y(TV&JH#CfUddnl@g37>b|?I zATaUtZ-|^C>S;0KTK7r2*1E!$8^={WTCcd3|J7OAN}DH@7gDI&30j6TImN^yualso zgFTfGtvnw&UA7Q(c!l@Qr>DravZR6P1bczz%JbL+Z+{*_gO~bQAsu=0ad53pPi%n# zHELRThJC#}xBcbEinv>e+^TuM7P=zany3@XFo~G#SHYXT0BAMi1ieC*Om0!|n}!YfCo%@(5s{gldGNzIo^9S}eg(+Qy}dR1qzm z2NrM?{eph-AMx5wN~;tQgRa>tQ*;e>=p+F|dABup;=>u^Qc#>ktAKno7>YAXG46)YHEyo`FXB4UfC;Z#-~ELvbB7!ZVM&Vkj_uJT8;Gu!UnbhqW}&L zQ3)NH%N@hb9B;gUz#}9eyChIdrWl=Dk#`%IuKX=2EX%U2D$;J{3P9lI2SdLXJdO5m z-?OL(G=lbtiat@PiH6Ed@X=kkTTQm8=sQdplzM=6kCo@+A5{u}&xH%$_ULky^j`s=*0pw=5ruil~Cwb;UGBgv(l0YGFXljNaT{l+hWg0=LVa0C&H{bpcp)Ih?k@*H0W`08J%! z=~FL|Qfv)eQ=-3eppAa@8QZhiKcy=GTvpcuszU{p#InWfQw4Q)*D@{KHkMfhCh)ZN zcWOED=(on~M?ezp2r-~{5W3i&(i8rcI%olwIomkuaw@wVL82RhWYCHy@+?&8-#D5-bo-$=vj6gmTE{8WjJrj+}pvxyutrU)jl>>3*^4+}CmR#+&^6I$9sLI?h?B+3LYoXc0IPS-7 zRP7Bi)4OC6U-nK*f;neo0*6IK|L5BPcOA9yTnu~5IN5zt)v7DxQbpH*si1D|Zc$x$QOqFMk!D<$fxRq;L z4perN;nv0uzqKm`q$1A`UIb6>ehRhAjS6)S?;VxVo=GH`YsuVbKillBwGIcsYrhlj%hlX~N5|q^&auc|l&yvRfX0)ejjj?Hub(dvK#_lf;Y(en*_IB)Ld& zj6O;%CVr$)Rf0(70Kk?1Q(DAA0*&^&)%3jXlrJndO0r(OX_vl;xkJZ+_2{?ll+l3j zUzv%Y4X`*vVlE{HptxMVR3I0c9d3Bg#HMa|f#bWf^5I<+V-j7~ITol0V**${4Fk<6 zQ?{doBi(ZYQ+QM5?7ozF&Te6 z=TZFUI}ma2vJHy^P1%qkMCb^lSkrIHRWom1==RXUcVb8lGb?{_*Y#%6u6)@_#NRFq zT7?t;`FAqDG?++D##VW9e~j#P|l5Pc`OeD|1s7f?H>ld z>!Y%aG>OIO`qPYD+ceq@|4Zm4a$Wrcq(jy};5?wiJzunbPoX-6tTIE9mc0BAUq~JP z78T(o^2W6~z2`yM7twtM`8#J<_45u!7C_@sM=~I8-iu%4LM-z5KR+L5kAHZSbx5<{ zmXq@8+b_UeEqh~Nqje#$V1b18RrM>9wFkgN%c`Q4X|1LQ!70TA-W|c9(l?lk?ba=K~2bH%l!B=g3sP?WL{^eI~C;5`Y zdgnu*r%_p2||vm2)ByFc*xZyD44krPNXLybJ#@$ND1#d!&+s#DG7i&Bn&{}Q}p42yz9Fm$_GcHe(r%jqYb6s zDJwu-F?lJTg3OrviE-VYr~>MWZ+|h-UUboT3fIIpx=^{=){c|GMu{R8oPm|pTxe<# z+?hAzl5*IfhH~lIO-M3Ss7JzqG|=3$#p+(=5D82 znEM58zNWKBZZ3DfvT|2FCURH5e{`(~ga7&NcwqK$6zr~p-u4DQ6t3;j_8^nRW;U?8 zHaq_mu(JwQ-)EDgmVJz(i#$M0s{pGzgA)&kvB@V-MOpN=bo%9*E-Tsd-Zkdc)FB0i z=F3V?Pa4TYNva>Zb(U1YZc=BMWJgzLg0CJr_gZjaW(h#F9gebhkJFkso|xLg06a<0 z0r?05yc9SiDTPfwR`=PIDPfD+9WQV>^X|OvRARUrbVEymelv2OL%QSR-%XbmRBEn` zFSwv8=8syPVlR&~t!{xraoN6{`Q^xTf+vy-+ypNIjQb1TFthbJGP7sld59InPth9{ zn2{CjZ#5D~nS=@yOsDV#!GD>Tf0Ul>HHsv z&Yp#3nbLL*NH3}>Ew8H)0rTSYl1X&;3(BT6 zJxhEvH{N>Qsq(4tyOp4;f0-kcBs=&uO*iPI_bTG8H1?h$)_iUu=#BLtPTPb9AV?f< zDCyJRxvReK@IU$wDtrYX^5d^Wz7tp1gxojgZfg8#kxAO_@@N1x)ET>u=#^(>%X+t6 zJa^=Hq0TiPGh6LcTIa6QCN(?o*ww0q^@`NT6bC)wZ`Ls+-@RB92T)_qd?6cgU_J~t z{oF2Y_r+wvJ&|El=9r63-_^>}?VyT3BkJ&PAx-FQBeXIND~zs7Z5%X{ zw^Kg(6IsHAOq-?ydR#9{M5X*G)|kx*ksVLup6AErk=|1$uX;50#MJ{FLOC%#%Tgoj z*--k7?#H3O<9sKlEOWTw$3a1t7JO~SB41Y3g3`J>sUtEizn)Mb4T#k9ec0yI zX?oMSO@Zn;%%$pOVEJrbGE$wSCkdfPO#vPH+(MCFdb@m? z3o2LROUl0=dM)jJZ8slyd+17KVqY-}|DG8wN3;Ot<{sCDSvPWcMaKht zM;mqe1JJ$QPC+LuA3y3mg*XgdoAaO411_EE-j8iDaKtHhjoYpB5%vhp&_f?$0K&#= zWjLq{j(v;+dd%m)bC$k4n>ULkUUr$cIDb|Kc5U2uIndFRGge)vYMZ4H4b>W!!s)2C zhgn~c26yizsJ(SmJ3o72K!!CL&3W<5hq;Now=ehEw=q8*QCJbg31G9v!(!fv!GueX z+T0{{kvr}&*K2SbkCJX?X$YtMRU-ES?MskGEjM?C;xpLre|Aa3xp#Y%7TXV5$?<{CR|_PGjpr$k_h?XU$8^#;y8!G&t&* za#CDScPzovb~8@#3MV97B7@#ZJives4t`g0eehw~y{ms8W$ClHn9&u_iUrgb6G6rQ za^%*HvKwPZ7&D+(-Cb}=Dv9D|M2%a(X@Q0^xp1u6#}#Pk`kr+KS?;GWXu%OWw$$Ac zLzpfMx8}XWG^L0{i;AFaI62aI`w;E2=VpeEou5y>4C?OWTI>5)Tzdc6cq*tMlS_8H zM(b_QKkz&O63nAFFzTjFv;I-A`*Cns?K04y0=Wve(+0scsThLl#hZ|mx(2NAaO!WSSm9vAS+ zpAPM!cG^gK0=S>n`>Ep0zXfx9tCqbGlj2o3TahK>*UCRA*EGxkaqgi+U||9|ZD>df z!gmK_?M@4z&r1;@J7(MenRKQ)E}j5S7m1V>RZVZeyeE< zVOv%&ce4Q0k@p4^4tArVMtVhRXP)?O(dFvmjl9~+)2F<-;MWwYf*{! zSF$7*P1#gyTR)F>Y8mZD85&Wg*2R#D7eL&A|F}|5)Aw@)e7C#hZtqrftRA^uG;5?t zavJ|heLWRO2iXJ0`j^8QYJc%*iBZq7U&T0p`%(E32Suz*0`sCbB=uX;u2|ppnYuY* z`aS}cKBjxf{}(5GlYgSzRNf6-78yb5UF!9xKh*-(Tjf!fHtujWxOWnvD%5XH@as1? z=()!l6Ym-)@v}=1UEQPnN=ib<=CA(?4z5gL030;BeRhH!A%n0O@Tw=QKlD@EsN_xk zXPmS!u!^?{{j=8;?AghdPhD`6GR>#F_&kw{Y%f)N5d4XPp`G2CKAB#J)MT3HPWaS& ztBt8M6@M!xqPiY&XzNM-t*KviWP*K;e$4kbVKqPw5Klg%g zYqKXNQyDO2-ZxHty6_oPRYVy&?KQ@=EXFzSIAssn7#wBVLZ?Nyf zJSnO(_$ST0Qu%k|e=yH+59U26DE{>szg|z6Ie%g+it2syjo}voRM6x*hJ&J!YV@76 zhh+<~d<;Fkublpac|`!`?LvhQ5H&9X4cUOpy}o3P#*ra1<+$XRqB1YPxw={{_rrAt zxa0+lhPxJ_aKk=ig%i0-)VA~mFE{#YMu!z3Mi!L0;OB%u`I3;a9)`y@ZhxX!|MOaB+j2f zo9X`}7UvZXfvSf{f>U8O^b}(*tl5pohQe2_a?1x_A#@yoJZn zpHJgX_j?m8huqR}VK~@?jN!!RBt%9$h}@SZC7mcw(=@*BHa-z1&D$R3)G4pL1#7Nc z-#QBv-fRgff;ExE7Z zgL_a1KlPYCTsfB#gaLixqGw%0=eHJ&@|~^op=6471oXBGZfCT6WdvjQi$VepK`YYO z;xop4*le%Dhb5#Oa>(C}>C~EsuP27Q5}CL-V)sw}KAFBYRcN(hvh^I`Rs%LEAfWI5 zNW$R15w_{h^zHS93ofb?gDNc2JdP*t|;2SN=v79L^KntEFTQpCS@eXX$eF-pQCA;MO6ZscQ^!8#{ zv4F88_Ak3x(5##^65sHyXUs02<%~G-b2KR8yUEbCwJbcxhXG(OWjM zs-86_)ni|{Ljo<+rKh%gV;x^fyTNX}q^kE;;|Xg9z_Mg%z>tOhZlx(#?A&>=FyA>v zuOaq0O7>BeXryf32+3lO!J2j*Xi=n4YG}-4xlGHUe*&BQ+Sa8Lpzd03G&F*p*+zCJ zWpPn;f%p7&nC^W-Kw7P+??B>*yq>eGls{*$N(*xLC{rZ*MzmSFXz5^Oz{J$H{;R%gA|l^7K>##= z+k(Ng8_QE^he%Ps<}l@$iXm}CgF`b4JC9?RphLEo*>D7F9$p-u@L+y5-4bPmY`-O0 z%e3EKWlRg-9f|iYeOepAzS2*)^=7?5uw^v5ckl}EiTRdDe53Tg&#nuNyWjCYkNs6j z{BXb8W2AK0tmk=a+4S(QTM$!08W;0c@-CKh9|f`zaY>b`IX7H3*QqFf%I* zzNdxDV*#N^cZp{%hRgYt1E=>L9sItZlAW^ai37K?2HeV62FDf@KeliZm1T!=yP6Hb@9VZa9e&Yr8(e^l8%45DGyRthD0Z= z!K#eC=fZ;+yuHYUOLAFNBnJ4PCLrZx5RP4XS#}E-x}pTX&&K`q;Ig}_WeF(7*jO^8 z9NpQjwgifv+H#pGAVH3z0o{*p-!p^^zHf?2t!Xof=r5i!;{tuIr@^?$zoae|>a3TOdMR8s}z;k;i~lgI{u z*-la3@Vh~uUg$9EyCE5;>3y%4+^b%BwOkwf*Y&#+(EZ;7ycFW@Ie;5Wc8(21j{pp{}G(Af6l-L~Ca3rL^IS+oN8@fxqiIO@gb zE0F70ilcm7iN5!(vGvNIssbfoAxG3w)g5qOw%I2bg@-=}6ThB8a2?JYIi2D2xRJ)n z2Ma7;_*n4jkehs~SQeaL3F>`YcU$h;OKkM+W^a(4CPw8v=pu`r7Zba4@wE!m7iMk9 zGU94Iy^*d+wE3;}{U`L2HiJM^5`;07B;#@=Ib#>g+IUmXuoso*;~-T^_Bf-k^*|;u zUmA-MDRN6wNF0&vVQo`FJxxSR4m(i2yPCS7$>D<<`KJ+G#d`#VaY6&<5d4jKAd>jm!&HBX#Gb$N%MzeMf&TR;T9b@+ z;o-%^oF5uf>B62}4^3^{(}JRdXlpVszRTur*J+hZwx4qg3RCaM%o$8njkHD?@}L;_ zMEN6#z7|PZp2jxuQ~5g@Yq~49z#t^p!q&Croddj=0-F-tH6SzBk7Z&E z$%Ej+e~AYV9s4XQXn3{YR}bJ4ff09~`>)B$W%`My#R8PJp- zQBU*OIFIo6lQE?pUafB3xn?TY)LwkE z2cdYsdjfCYuCcw3zh0I1>podE)Rh{QjRTQkl+jyxySP0#g)_toD~V)v&BZbB?k#iB zbKWsk{3s?4fmFpg)+u)(yZ*Erwd{j>S3aGWQJpIgs~W{LQ8xv|AbDw;X+DMh&oo~N zTPvfLtD|x-Y&hVfvC)|JMI!#dg`DR z%vr7l12{|ncFS*u6GFhT=4?AhK7NFO`PE?t&@(NR6Gs7(KAy{$0xTnm0$bki_C?>E z+~O!Pim4(86qFxa$ro&KN1t73Yiyl9YD6W6OSL_WyaZ|%b#m18BY;5a!I!#_{r4kc zu4KwRqm|E63A)Zr&hwrE3>Ky!u$5D*TE@mqjWpx3>C3-1uuB~BTDtB#V7s~vfHpoG zrU3Wq{13n&rs?XZ=~ZzfW>)Tn2aen)n9{Ux4V+avAd(^Ci0iWy7aSYq_?3WeN^$9k zjrwK@?Ar%=ICt$nB6V<~lsL^zmq&A)H-z5r)vO0ufIUg{9Djp4F=F#*^WrN()o&ov zpJP?tW_P!9^g}kKgF4P=C$#WZ1})16uIT!Ixk2MS*?JPl*6Iv_-7;J#=O-*^Lz$J8 zm$&xhynLFRH+~%>7DWZOb4ySeih8Bb7=8*$NPi&|f=~2zS?G zQmIlP7mE@AX6GH~wI`sVm09GJq;F4BJad87x#MkV7t{7)`Zc}AeU-GwZ*YH}v8zm9 z+)`0~MV-g&sOqOu5zA8;-62Td<|GS;Ci1ljep=#$`SAHXpItHyRhUeXSQHwkUqj(B z63$O7JKiLYtSo_NSO%n#jP!OUjofPE=}%wy7)&h9B+kqktEDf}U$^L1+Pb@Phxw~P z;xS}TrRpbI*Fvw2?u@Hk~A^61m9m>_6wN_5V0S~4oJSCGLy&`Wz7CHwz^^fwb z44*i>!i?9zl_&8s^d)fLtzP+`!`fEWD60^zYP8o}tIoDUv`#hmV$V2T_v44de;c{6 z@FU`jqR$|RB$uGjWeMR9&xlx~|F>C*4&4$DU2pKRbLzjyhi;2@o5a&7Hw^KiS6k%>DX+7-RcSqn3WgUHR@}9ghu^lkCDNTUN`0TN)GBDb zsPtd&+Q0Vuq}}o&Mu80h@>Cij4!B$a>%}r4IjMU0u0N5&ee+FBE{-n723^x<-!}pjLvtJTc z*=_40Aj2W)$P-e+$DaI1=C%0G^SeZ=bM(zoO&kuXr(<5@r4>XKj?-K`Fe#PCAGo=6 z13iy1-E2%E92|mjl;lLv14>(?`T%jerFA5ay$5Q-z@~!J|spGD^+!kJqWdiCb73ak8|@rSvt0~mfA zh(qik0;y0(g^b{19(3t8RwwPuE$x`F*`RWQhJYH1m9 zppo5$k+rG!4#eLtoNqNR6k}Q)jaz{U_90(MUUX$U_^UroNOikSJoU%{K~R)nn{>Fu z{|E}qlq%VJ58eE8;QjNr|4<`#;5>*i02LZUQ(JD~y1oIzt0+&)7lUqfZz%(m*chs2 z1Y)8MesT(skGw`^A{z*!=ugpUR6uQO2%x$s1AEIh*9NypOBo-WZZk@x56-GPZAs@f zvTJr+^>3hMboqwCg;j0CJ^nWPiXsxf4?#4ylR9YNL zjP@KZ?L>g+CL5zG)#uzogd?3Yq;Lbc)h;bTl_0Qv9k@$u;>iDq6Bve&TNZQU0$wVx zpDZVC^7e>70z+yv|LN)1B)HE82KTfiSPb2`=kJ+JW@J|TEpo*9LW@o1Nl;|fX?c)qU=|_Z=>MFiJ?5m*5**O^xYUyO zv%7dYY%VZGW)k^aap@v`=X(Ia%>w3!>J2+>?+pMT(uUH490zl*;)Bj0VgS+x@eWOZ zz*S7T?UJoRrB@5eY)Of&F9A2a@yBtEC30X@d9EMRB3+Z=sDJxOax4eGkbo*$3QJ$? zP;lye=g?g}kUmJHU+>kUwWNim9XRZh zJ#e;8+vUhZcsF23zb&WiHK}HcQK9_&c$)s>-m_qIB490|7Pi#I?fz&%OCnlxEY$1< z@*z7ZfxBptB0l=-CVW5uQsH7F~0{ zWV@GU+5Gd6rAlDGoiy$MrhQa#c{ zxBumJ=oM?6kD)O0riBASys2l)KVDvqo8L<7Cq2oA`x}^v0Y7q?pH9;OMeR7~JhY*v zT)yN7$ydvjlZ#IO8*&2Ko9}KrQL)=bo{t3a0?O}X(5{A9rc0j+{3lC)v7Ryo7#d*L zGI~k@ki47sQCg0bUajh2-^e$X7I3 z3`{j4C$sk)jNt#TgYoBrTanE28KD1^+fg?W*kw%R@&27_)Mu3uV;iBD-Mpbk-Gjc5NRb)1CD zF$z1l*Im?jQaKhJtxlWO5fm8uzh-s*VQ!6m17DM!s`Rib&b6maCMP+1KpJFtvmX%j z^Px{D;gvw8n8n$6(4j|*B^er&p%r7BMys+m0fVL3y|$#$Vpm-i8c2W-HcA4tUHvbc zNuidUg7m4@kUlc`@;|%c7Q_aHPK9t)E)R==vB6s7hleX9AQJ@p zrBwFp3Qd!Z`@a)D*<(+s1{)3UY9K)3!sV-KMRPF*R5H+&hIWai!{j~}QdIILUkY`v zCAF0wI&zLz4``CApjIBr0d7SGDd&OV#*Qa#9@siGXDU<182L80&evU_eJ}r*L)HZC zUa~lenwdhw-UQ~)2#Z62hC6ekZy6G${2PHqP4fvBbPx?HXA-!Dp~(~pXKj}4zU5{# z2s)Pj7jz86{fNTg?y)|KfOxU}${m4pbR%HG7XP)4hx(hBSqx$ol@Q_J*JtSl zDT?+Gd4!1Smh(24EbQTGlKkCuB(oat5Ck&)*Fv|c7ntvK$hp-##h&eP-7I7=O19=# z-PWd1&n(DG@gpp*{y2k3sDS=hx8%`uAyC+SM323&CN6)LcC)oUqIbkepJrHWo39;JW&YMX%Bm zkQ#L8*&98k^(miSy^&qN9b4leNG6`s6IpzWmL~>$YVg~W;WlD~a~W^JxexU9T!Tm2 zm_Ztrk`E%Sg1}guOaM*F`fh-p+y}q~?Rm!hY$1r2n{}kU!(O@qO@1DZ0hxJq4*d1SE-mFNGd6 zu^gjgDn8ff5Hy$(!AkI9uKjJPPScLS|Gd!qr)nXO_M`+*+v*92#;WeEWc{JDS7xdl zIqlxJnEO`~IAB0pF8`S_ec=qKI>n48KXl{j1RTMeG{2%QimEkC+P-XkSM`r<4p3Z7 zcpS%DJ&iZYujYpoeu}fL?=;_-xQt34;AN$=B_)j|8uDn-e#?(ZW z4idyOoC3Y-ytMOOZefQit8yb(!)5(Fw6QlI3VaItwsqya_Lnif$4&IXpaqz>ICx1* zHV_QzkcdLDls_EG5UU&TChu|6k_kWzk{wu0K8c3zYz#p`|8-YQJ*|yJbkCGm>3>g?grdh zbj=iyxzBtPCmy1~R6XWH@!aVZZ=&Dv`hvD)$(s}TKNOxk4z&Ar8`-bB9T#FLMa-0Q5aNcNQnvS|b_ikvY(SGaGQbg9In7K{uTGk|*W%nt2c6PL&d8%>U zyFZP(AaKq0rT9pRgKRw9xVvd_%# z`wX4ad4Hex@AscG=Ny@No@eg+y07cIwH3vzx^bDn^@rs;=jtBOHb}_27cFT!lC=Qr zoW!u~l8KHgip?XA=V?dz{ZAj~RL}u>@QahcO-}dLLDKzZH|DGU{kB{oc#4)dD5pOR zPC}NWokz}n*i^D{(_wK_kGD^3^4_l(2&IzW5;aV{J8TauBmC|@JOobS+cYQfPB6UT4KSe2XLD@UR)pR3uE&wJ z|6bP=9kIHi?(V#In=Nef71YNM(X9DsF~EQzKKva6lDINsE0t`i`~L{6@toXaz@5D( zQ`^_d=XHU4>D{8RlHwi?Z?= z*JKI|FUN+zZ1l|16U+DbDEpF0BjkzImzS%m>mZ&e;^vI?EcuPJ7%9w4moYD0BIhO2 zwK)#gW_<+bmST^W0b|xeqL_(N9^WW%JKDijKm5%ODi@!3HV0ZLCake%ncn9eqGps& zaHgPNYw2%ZI<2>=XU`aK7E|cae(7^btEKe#p1Z$f`NOQ5B@yQqJnJ&N%(;?ti!NAoZu^7Rmk1e@jK8gV z+ZNTIvn*M593A}jB9`(5)5sM9e7U9mLtLK`phot9o(PT{mV19oGVJtPSxqykP?tT2+l__?FM1?f%ESr~QXwlj$W z8T~?mHqjsGT#N7miN5R=HBWW{|#z0j4R9Pa7Tp(zUqH@3V|Q zi3VXxTJimD;*}s@i+11K&hU34MQh~yf(MNdl(Aj~B6qv*W#X&B#ltdv6ik3;OTemna}sMO=VY7c5$$pc>+9VfkqJiqT~{t@N7xd9uL~aYU&w|sryju1uBkH~M!(E20<78Ndw0>Y zu1M?d#@UpHk|?w|S&{N1mhRIoQp(CvY9>r?;(+~OR7_n)g$*&wEsMebi;Hcu3OH#S z(KInjly}?Jeq+z)qC$~;h7fm4#IG8;0OYo}OT;gYJ~v#3co%-O%0Fl&2fk8B-M&rn zhD&3;v)USn!IrsYY!=(HHSQ4nc;G+r?4?Q+sB;~0F7DouC`@h0H{H64yHzE1_V0{F z1f|yS7ojnneAdtU>OYi*)wA}LqS2h9S9}09G==4f94V-ELgF-%9r^vOoH9LYfq!qG z5{)_HnD1Y9t-5*Hgo@+ZO-l~IrDyI`<#M65pR&G7+lw;r$;7)Pa!&YVlG`BpSS`L; zH(qPnoNW0QDMIDTITcvl{8ibHEg`B3Xz#IER3#8=D5XtN&u#YZPMA#QqwYUUkmjFIh^KSW@1Y4$c&^GA+isq0&QQ+n6lFHyVkb^Xw<}X?h^-JXZRdB*!cp@U0 zVKJ<)7Ko>Ny9HwL&)nDFJYmXD!KZA$Y}8m5Tg06DTrT@huLinV=KF&XXHmpi-Kj^p zs89YPIre?T@#K+2QaLn>O~-Obs~CdA<#Cxkl`eDdtI6t6^5^Bv-Rp|G50a}gx?G4T z2(e#oi}0BD+!*XhsWE_}TkM&D1d6hFy6>+kC|sxK;h0dtS06t|Xyhgg&a)8waOne` z`H5D2m3xc#z$^!UKgG2pmj?hZqyt_M*AgEv5UCsHAf~0p8$bWBStPavwpnO~wvX_P z8_<8$72PSP5V(mM8k|%$J2kRvtLkzXyms8+XA)QpEop$=0X!0#(nvo$JE?41<&%REF~d5Xp>px$;HDM=btLb+E8 znQUAC_K?r{{WTgG>&No6pPec&Z~7)_2o zQ;u<`RAw1{B>hTh&r-5oS6!!hn1o779uwkFWjEwKE zABR6Z$f`YHYu_Oo&+Ku)S2Lm7I$!-Pr^gmYVKa2_^m?khL;}*=D3{#33x?y1 zZOiGCLzD}n`Z=MBT%CAi6PJe^~1~(C}sF&=!jp0qt803M(!VAXzG|w4%%ISr|NsRxYDXnAQ zW+=IEtv;S!Vj+1|OZDDfYnM#PgjF`Tttqt%68M+shP}6+lj6S7Yoq!*p9&F1bx`1R zLkh1RMH+5NM%zs7I*kJMnw^mntiyc9%TWIjar0~hL0d=~8`di&c1+xGkjOv%EEh5z zfej1qG&?eEAg3Jc4raQ?j`E_U$IR0sXmupW0$KZlT9UcZj%hveMnLJE$S)CSV?V{W z!z7-0Z4#HlM;N`D64g|H=B8OI-#Ayi4qa?{HZ{g(;RWXtZJb7D{2W-oom*sR&@B@!55vDw=bn$G6(4x+AzK{B!=789NKXtFd*C_ZZ%xac%XVdZ16xJdTe@U49cINMw~i4?=wk?zODh z?W;f6a`Vp39>ZU1hkkz`S)ziG5E{>;~Ay z&O*-UV&KxYBdj=5>7Nbt^cfPpGkM^Tuj5LJ7H{Pj(Z&REQy{MITIatJNb}LaEBgE( zbek4^zF4c*uve=Bqq2*;osfgzYV0So)sc3?Jtc>8!RW*`al~)nt1nvG(tqdAM`R~K zBm0;K%Ks56W>{->o_^e8jobn$^};rKc8^Hywhy792lVtdw!>`@#Fwhb+0-{*CBbjm zOcZy?=ryjCu(7RR$%(9I)_E}phfG$Sks)FhLx^}0DGIF%YSd$$8`hZXv^Tu! z&nV=v+?N{MViLW~C4K{CDBa(ybH_l`aJ*#;w$6#UN6 z7){;jQVj9CB@z=v&B1rFf#v!?HU5W&P;(Fmz_lE7S02m!g8I6sFb&d5+-(+TQpJP5 z^d^oeu{9b+q{DarqYj%KWYiEKG;71K1G+X?S|mnWvtyUOY_9)P9kM|cZJFo` zplRZVDk3RWLRe`BumZy93D+gl&xz)B1*6_|K6<^`;OB{&$-3qm>%5#F{*K-w8jV9r zXvQCWOF*%6XeMg5y~M8-HeAq9eophUVo~pRsYw-PjnAd|UjF9(w^`QVQvtQ}SxI?x zT+zM{@F zW)$o$JpkrITJgN<7ewR~+^U2u3+#S%BL||vJ2|zHzMY{z{&a0O(fq39IWD_pvZE)V zi(i}2+;b94{t?SW=NzAgtl3ML{v|TRXKvFaAbQ7wG30QTGMHH9=EM5OBd|5CQ!mfZ zi{RYBwkl4m_cUXX@|XpU*)xQ(ITkRnHy@YbHsat74q^0<%KOEw=0M*kpp)-wAx9tS zS^ZyW-a#$K{_cb>Nj$55@DTPAwzl8_q0M7Mto4UA4!gg}b55vmh1a>BV#3T3^_ZFT zSQBWb>dYDwKEV{l6gMwMc5%R$Ub&xvvVTS2Jq$Pg+r2PHlkH^52Oht!-R0K_Id6Ge zqQ>ZbZ(i`Z;DAMg?=!OeUt_F~zirh#E=}bk?{q#3M>-Nb37S~SI-Za&?jeK%{f3v8 z7^uQ=4E?O*mN_loJFqzo=z^^J67p+!hrS_roRd%=I^WN;E4h8Xav}fI?Bacw_)y!6 z9=x4vv!I}jzPnqN9Q0UNgqt;%ptdU|I=zwk9CpQB|7VGT5FEX*HGh^io-{O`z?URB z3y)<47E}Zm-r(5~gCchbMb7QIga6pVDV!7BpvANH7l0)eYm@I9d004VHd`0x6z+mT z1xfwQp5+k1Wdih+K0F?Iavb981(wolf7Wb#epUR!WlRjJ>QOP0&yD-d$;K|DP&j7o zhci{FhOx3p?6MLxnK&oHFc6;nfD4+bP2{KpUzAP|x0M#k>Ycx2*~G(=5i=VuBkP|1 zpX*a!?meh}eH6rMbvDJ4hSv2QZQsWBVmpGcg4pBDlc#p5=P&B;ivRSVw`J0hjaznd zV)ivXi70~zZfU};K*nRkX6^h@VSJ>T7${dWWh%;Tpn-nvy0!lZQ4Yb_M$>`urN>gx^sX zUMRpSXHRTAXg7e@X%m>(X#N-r&MnJaTBGlEJkc2B{iVmXPtv_=F{p>Prjk?K*T9L$ zG?qu5tO+wp0H3gNE~(G(OijkC6j%QW;zgjV4wQ>M~XggHGU{+%MQAXEB zE4R;<+fUMZ>qa?sU(3V=KK#TwJliQ^BgeZWy5-9o1P72*)VGmpN4hTl^uXfQg{v@Y zb+<|ISaL_ZJiLo`L&{9;>hMjJH`Bs5c|3v-C&Onk>w*}fomgy90{6vR9M5NwWI0Tozan>N`GOiEQRYaS(3Mx&?uny3Wi=@q zViwKH_Q_?8K)h%eW-@8lB-=Sxo`}+a63Qv4$bI)+0vr-|znrP3!A9XkQV=>nBI=nT z=-)bDE$iY|h~@hEnR}?@9|c#T%Yh4gsRylGCU^B%f1Vo@%Y?Lf+oU{}a+C{n#`Y4$ zPlp||Vd1kq{J6nPEv9bHUgrYR(buBI`0yg(ScKA?$~XuoZ?5E>^J>w`{r9&IB_5036S9tsiRZdm=v2lcWL2=8~gTjA**M zkJ`Pk0QY;NkfzO!wzwFAzu z+qObpb@Cys3d7YimQKjCf!+r4eXoep{xed|)|IouH~6yd^fywYjpa?_##^3LkVhuC zdG=;kDQfPqWFTN)t#(5JO4hJDNEuM@T_!C!p>IIHKBOO294XLgy%p%2H8p<;Rf?^P z0@~HFLuxbdXr&mbmC?(N_}V%@9;u;!lU+9v@dsB~BrAwiK#5~q;3oarDhq0ghZT!y z9#;LfN1L){7p9HR9Y`5XJbn_g0}DY#h6b)oWR%a3R%3m0#>rX}zO~8j41MrcQqy3S zdSgGm0V^dvLX1c{qP7ad(-VK$D526dW?nJ@v0p+j@u5GX?|u9xFXV$SD;ct|??WaM z6(TB0`z?U11QvT(*fv1%R|h-%E;XN85{8;?jrA#M-Cd|-NrGX7=(BuVi^RL0@Om_` zz41^i*@=ZtalU6G^0Y5v^vmp(EiR)Znc`!7a)d&nM~NXa`HnQ><^UEQe_Lm8Ak<6yYt# z0$-K5F<1deTK7i4MgsWJLEuLlygu5H;8Fe$@o?*NeYhl0-Bf5`*^CZ4ehmK(JS`Sj}%F3Bzt9x9IoRjKLX5F?P&0le3 zBoB{NOAnbMzJL5k5ObN-wL@2}xsj}2`(^>(R41fMqB*J6>nuTBfzQy0U=L4ys9|yM zade7<41PNR1D);@Tw85x88Gwhe*XLXDl;)Y)wd$sCw|YFv;u+4Q#v7W3PVJJDOQVG zEE=wXj^&7X&0q%cyA``)ZLQZ+y}pw21eqiK8a%N~H#pUjP5~3CU6v1DRts&y`JVli z0FPQfyq_pjVXzMw}0 z)nk}np3qfO%v^mTm!Wh`v=O?~Wr*NJOA&tp{OLool=U?TolawQ|Ljb`br;w3)&60x zzjO2W*hVkxxqmQ#Y#-19@eEMYxCvZ0{4ke8HP7OrR^*)1`*B-!KpITKQ&v-O+COr3T4d%>(`k3oCDpjP=cA4e!H1wT|7$4 zvBdktu??(^f42}Lh{Iz4wEPDA*FmF6`6MaywzUFNOy~D802l&`+&(-Zg`t5r#&y{C zsy%&}n7-a6+da#V?7c|hleNq(dYnl=a&RHenrheB7*S@-l%gh|t*GgJ9!aTPkI|}o zQ5ZQe$tFmqbJc7HL=^ciL}Z5SD7Nh_M zEh}tLzfMljHAD0MotwcJUO>yJP? zLnB)XphLYQ32Vm&%T01j$S;c*4z1dTSHk{z;-edyY6>=?tI%D)^3x6;tox!&m?(9z z={=AGSQd_1E{Sn5LS$Z2Pw0Q}p$8;B^xaWI<{x+{pv>uo3?2aBAzA{IU7V*4{BKqH zYue1@`;e#qQc1F4sVOPKe8?7Imblg@jMm6v`Nyc^i&Ioutt7WXD$(b*=fm%>#`Jy$ zC}raHCjNVNM*>4+5w;?|8Vbfn(*b46sQT_pPPkrw0v&RCBj9TR26qhFlljRnnMn=MIO*;zL#^U| zW_-^vf+J})$2tXVjvapi5(9`^ZDvz?uI_rf#fgVUe~C%93(>JuV>s7y%EjChgNA@r2GdwucW@aG>|c%g-q(sz?m zdOb0+!sYz*$EH44i!FAItSd%yuzYq#K?!02qiYxURioVA`Af;6$$ghisd8#?oXHhH zL(goh=nz0e#PMPN2$2Asu~6$bWQfe5L~kYeD_HU(1Kv1&O?m9cnCx{JB9e)`R-wtn zKd-jl`1pRs9!X`f-OjnpYK$t{((A__e2t*-V5UhiemCtmb$zq`pk_-fnizY$?54kV znfyfgLJmv|pW#h+kTvrMxN)HXO*L-Ks((Nsf734gj(O!)!OZN`Z9p1HuJF30TDIkp}i{R>scq?0^*g6_|fE%l9g&e8p`;TnmmE)aV+}V2z z@(>0i{#gP-sa18Bq03TSivesDA;bT>YP{7YK;? zD2v_l;55$DIoaosZw~T5x$lW@)tyn^vo3^qthk(^`+JsYrgmX5pcmj^C~Q@$$Zczc zKik3YPkK0~^O#=;{DuL&r~zOZazKK--vg+c-A;#&%VkOh?cWgWPU38h4I_W?rS7qC zV&3%0JvAG#w&-LWjp))S3)``ItNxmjGVoFxfct3w)jaO2R?>K^7hX)C$)YoH@hl5% z-`1hf1JdLt(4tX891+Z(0^Qfp`OA9}LrZ+`Y#!b3{Yx_pc$r-Oe*=ovOh%0*nq)Y* z{G3dlImAh8aed=UOS-QuAupH))Wc7_gf)Fg|@ZRu7*$Yo|BiXg< znp?XtY~ET9IssXH0T>&}HYg8OIyk+$O4F68hc?=ReI;cF`Q7xIY13p7c<6d2Sur<} zkLD37rp03d38sS^w`>Z8(4fOxRY2l~8z>hwLlK?ZB!`f|ILPh?Vz|g(iT03?D>ELj z8qX<)3lf0PwaV%ctcD6TO*X?|0Ci`X(SQJQ%0Xw(=EKF}c#6+k@uZ-ZyNttN&6q@8&inGmUt0I>k{=Shw?DBW3P}pQF z=r?NJT+DAH={c#cD5tCl(rNh^Z}N#;lY(cU22pZ19PdtS?XjYjgs|d3JfW&3LT}8q z#)zJjT?8OEhl43y~IFDcX|;@l0NlF;$8& zL0zl5McO#}BV{=EYvu>JKLRuNs)I0vSF{S0pzx5f;!h(NP5Z~=Y+oFn zYt(-UQpb?E&rHWn^v3=K8VBlk&Z;DtV-hoJYA8<;BvXcVgv-_Ga{{ApxG3SevNUFB zxy~*V-9fVQt=3jtpzfULoyhm$tmrzy*3o)nCeRN{D(*$qFD#I%P#EDtTz(g<;%we9@4!zivIG@7LnLfbt#5M8uQ zM(j>S;oSRpCVsTzqNl3S($9dVqc*_cFlTlQ=VsPC>8}b`*Z!nrO?<9Opxq~T?8mdt z?T)L7g`Ei%E~A1I;;O4~^OB}ZXA&t9f;>FhL~X+-S#s;CE_B8Z%qkV-`kZtR_;lh8 zHUJaIX;NlAQri8Hg~h%@8+Omcgz7V#By~FZB=y*RgKkV>e@OQ8ai65RMa(e)YUn~@1On8 zFC1~PcRb+vzyHE=OELgQf)k6?%11&2Ui# z(!qcB$^CLg%2H*5K!$FB;&=%a;N9W~KNbwXf!{>kz)6qVmvGx@0bc9FfvoPf*RrD+ zt!t%kcYNpDVeUoh3e|0wD0kcBPtGR#Bf8Dnl(iUlB-OI?@VT;6?n{*VYd(d$Dzr2o z}GjBL6tp)Ts`WdsOd#28IXEO->cnr~wS~O)^t!X@=c&X*Mi$wh93fX`A0g4y%9W z&8@6kX)^tG=#NY`^vxbkxhI@$*e7i_-geUqVM(1oJ_(jn*w+ zkP*kA=^Y!V*2mIJ`n7B0tyDRUQC{!$Ezf}3>+p9U0X0RB&Z1r?rEtrt4!^t}n$Xlz zX65YHHnGi}kQ2?SjB#s2!7hmSYWCmHG+hHBhCL?CI=8X}hE~w$+_5spSX-S7&y8=L zwi#x6cHZZg1Iy*MQUUmnDcNDyZCO7JFa7OW2;gemef_IlKQva9d@YV=k!6>zPF=eP zQA%X&F@`M1dY-`#p^NIVUVKHQyIuvRGZo~{TjYM6UQQUMfRp+ezKPlTS++BMJOB|) z$s`nPGVM@LDAvzAq+_U1-qD!A>aD!c!CEca)9j+NS0uhy$){5)|4H!gbb%R4CAiN) zFbDTEGN`@X-ZHx+&XDj>+*@j<)GCojm$YWd&@b%A zf~-_|%@GYhxNp;V(Uc`Hmopi1omT}Mt7JY;&*TCw-%IC?o<-9=wQbbn>)uwQ9{rF^DT6d1HT0;eV zZ~;+Hj`+GTMS_5=%i7{}YE;)+80`UbTk9p4gJ{tRE|eRvm{e!i=kPhkc)MxgfDEh^}0#%0w+PO32*NwIB3qkbAun@ ziq2JY6`#NdI@&ZXna&H!H?bbUKn`$Ma<{D`LVQ)a{dNR(d}QCb(a6fqm&5aF2SHr7 zlIyIvEhk<}?%0H$NRNcHNAwa^mombU!SJ+8&h$xKPmJn({UQ}Quj%V+zbSk& z;9g6bWRi@g4s|fg?VCckTj|1VQF#p_u=OPGwpWW%+CIB+1w{nNnjmEe0;+I9bQB|R zeVsVQK238o5W&d;tBiZH15uva#YA zt}N^nGkt_!Q?W>Ky@0M)7JoteS={z?-XZ?89}2oj^S^|%GkAX57&8A9GmOEc3gy~= zaVf>G{DA1-7Plh+o+y@E@9J{J8{qkRv~kG9cU-FFml8b+O^ydC$jXic1tjA| zk)4GFb=v;tYKQVwJ*R3)gnIw?+X&0Ts7rC;=rpDnJ9*`Hvc@cdIvEk5N!AqeA>K|? zoy-jcLwHw)v&gc_TzO~mcsg=Zw7*|HkIW7M&NfNolQOPA0JnMTK=!5$t{5GDlO7XG z9Vqqx5CP$$Na<7bZwD|#&WXrtZl`AKYMv+IC^{Ix5ofuxw+A`3l!)Z%%2OBe?TzZ=SVAbZ_hrw^= zib%;TE$H7~0fy||Vwdr_Ek7(J@a#>$LH4fZEv^c&QD?NKq*ahz>kK}ya3>{}2>doQ z*YjT#@4b3(2_Q&S`5?+5&aAHZD+B5L#^)Wzpxw)+=?m$sC_Y_9;BW<%gW_G7-HGxRW;QWF^yQ~qomlv)uVIaBy_4uR6 zf%fOmn*O@Zx3;g*^MkVwxm>IFGNs4$bOgWfokC}oA=#Qx-GI!I+$2v!_Kp4|VMrB` zW2oHo(@nP0O8%wONvb*-R{@=JIc9XZH@lDhGcGwsMx30dBsego3{|kJldvDv@rSEi zo}=I2m~Av)fRrtDq`K9=SnJe17}2!93*z%_zt(ViEp{q^qP_l`il452-SFq{jJ(-KtI5`8Z?<(l3dlhe!g zv76mceV6qzT~3-_eO^S|Tq?|)ZfDRn-qRb#m{WY6p1y^N0xthZZ35;|PAZvvD0b9q z)#8`gch;4?OF)S{uMqf;OSG4pk|z?NKhNel%yeCW?j60aQVRrC67uV3nU0$lo$HUMb#M>)rwpKCi<2` zZ|u~lk^5ny6nmZqagE>y(5=&ztJ8Ty)21(z8jj;Mu7Xj^>aKB9{L2Xakv1B|4g-JT zh2ObGa^WeSbxN{r>t?gL1hUX149=ooDG%xO`TaV*1V{ zXQUB7xMyQXwbnc#jVSOu2sK{GXo}UcIJiS=#M#o8%_IMp>TCpDDOcPWf3eIw`&TXH zT4DjS?a8v~GU|RzOU(97#kW@SOeHTT0>VnDxZaGgj}EwTOl8W9CZ+6Sx*1}VEHIeT$*%J+K7x2 zSbiH%F@xn}U;A&|fpbyC&zc~JA-c2bjT8SA=V=gu*va&mE>WixpSz5#xfH8e6-$4P z`bfg$T0ZeS@0xhOd!3BeuUvYGDYdHmZo#WxHIA@ks!lGD#kIPVKD}*kw>}|Oxr|!= zE5X?VljgRjGo%Z2*wOEu&X`M2QnQicDRBUBCUAAfhbMb?2DciA64px;*L=Hgx+xLQ zCr6>~nk~d13^RF!_ZGaNH^E7P#bii8!$+Kg^>#7j6GBFu_+wr7VjcLbREi{y=_GQ zy~4~a>`k|>guubxNuj|sP?5#|sM^v5L`O00eFr_ZqW&{Te?igQIMoPgauG9@qt_Mf zLyd84?eFf0Q@==zJlP(@YaDN;iJHWBn)Lk4KvQ4%Pa?xCo~P#r2Nzjnq=Qn$K~sh- zuvxN-#YreOiH)ohYY&-In?HdN#ggNv`5(Cy62*c#w5}=&^9C*T`=oNdjnJ7P@iBeM z_(OSzKuC|EGXO>iC;UNcR+_2!#yp+}KNuEM=DCP}w~W=JxVj)AANC7jG4q8irOnGG zkr~{H4XWWX&s32G4v7k;aGqM$9As;{KuN&|rvG7g^mRJYA+AhXsXcUg?LTg%ZT#lx zEMcv&nj@_hr)Ab9)vDUMg%{;RscG&GZ3az5Z4=KE%6OOl>jGD{i`@S=L|H%#rRq@wCYEKlFTW4=1tm9xE|z(M{mO?e{C1i-aG=+_` z9h}O)3bW;SW4rn0axQo`+#&-^X1Qa!l3}xSFA@QQ-S}y3OPPQ z2Xtt2i}|b%_TQKrMi~s=>c#2R2^5Wgc%Qq0Ybi(ym)dK|N_-6a^Q((p1$qPCfgafB zuRfatu@pSAGiot(;B9GidlTz29^fgJa4lQ810io!<*2_7*P8|aC>f9Ujq-Qisg2N5 zMAim9-X2aTw;ghg_bVSikFEHP?lmKwv5+2S_?O=^KrEk5?`VX)NkzJrRP*@hczQWd z!A({w<)0jxf$wTZJ#xyix~Mk;;0voMd95LSgfohvX4fZlLfG7_5gbFA&X?&F=e=@I zlD72eW><8Vyh=`kAiWbE#P@=~>1Iww>i&uPDxd$@9%!F2X*%C|YjA0=`e~T$T|Yyx z;u){>db%BQOU%z>^>V6XJ02}HMvKf`cgXJ>aDs^&5P2M4owY0{oV6lmby;43>Bn~4 zqrDK8_AgrtY2W{l7@jL>dC8sNGM-2hSmp3d>lus?{U%&uPJ*Eg9Gs}~O)5;yLA*A| zlVvf2Ggh#yjqYiZf=_cI_Lk~U@aWm6qm-ionlufqjdvC{(je9su;P_o2k0(HCWpftF>fiFX z#e>|96>mL{{U75R`gM!kr8RnfG$Wo|SCmfFt;Far7aI8)a%qOD-cUywKvWdYD zbPwcY=Cq6zkv^d5PZ_k(O(h2dRnO4 z^`z-6OF9#oiLj5n^q*h)#ruutlUUH{ow)8aVZ_rT^qhQxzMdGWGN4sW^>O6)A1QKH z$t)6w9NGIV)UN=|1T=&+j-cu`2Ac0NL(Mu6243?J0Z9(Z#y>9OTG&NM!=k6LD*Kh; zwEEo3)X?iz-BaozW8Rk?M#hL-CG=*EKKhkW$de8*By*iN zL9|Q4%j;66lc1r4p%e6^v(~Tgz|-J2aP9ROv0WZt{DbFupvtH#=g+u3@qTS9@*00T zQ`+sGQjvvlH31041z~N=$*|o6$6oYe*4`!L@ozx-vk6>B8-4$Vp#bfvCtiK|lq6a{ z{F{A@_BT`Uuai;bSGf1Yz5%uS9dAwXT)tW%NdkzW z{LsLwfC9^$R{)mBm$)g8Dej0`XC%#U&wX;TsOaDBCQ}Z^A3^^T)onu7gvwaGtI%wn!qpU#0>5?blK&%DFG6*ku?7`5jn#u@o?muwqh!HUKgXv zEJ*9uGz*JJ<{J{AY+1KUut!!1tm!GR(^Aqali0HGQJ~W?R9eVDqGE2{3?;nxmO&b2 z9`VR3&}#K>WjPsw3+N?RKwa4M$*$1%4N;&C=KGcG&ucdpdYCJf<{P5WW!cmp76EwM z1B`|^U0K`p9mXqhENIs*+?t?g03yVOkWiArl~T;uv-AA9@@kc2d!OdU8esMPQh2`n zlAWdUKs`y5t&Xy2PjUh~nHAmy^Gl}6 zg&CNxIlk`9rLQmC92GY4+ZC_CY3+pDA+8}^YD>~Kl(z0|DWE{l+n$qqsukb6t6<2H1EU@g#hy>vVsnWzWDB4(>$%neEW10eCZLYNi0q3V=Wd68IMH zyJXi?Y>wcQ3+k3aY_3W2WCtx{3TRam6k^98?H2zKQ_W$?6mHHgF?{i5W7wOJ-?ap* zL;OlKw73%_hUX z{*gRrqL0QGmBb8w<~$7R(*vO^e~bwcDGV&=Arx9~hij>BF~UZhl_0pSRh#VGPgBon z=;xfdF<`9|Swmd#1wBABv=rAjHopRyYE=#HmO6`Sd*f?!)uu8F+QRPo&tNtEZ@}Lg zV}g!H~{aM`dp@PE=R``+vi3A#T5FJ1mGo&)3YUF4<9 zcH^-hisTGGOo_&~puFVG0OPeuiIpLs>tt tIXE6m`vU*OhB3K}4dm^j4weU9wFJ2{E)Ol6_x>$`YZn#4tt+T1bnvV(dFZc4CxD zQTAytn53~Y3}cw}KHi`EzOMVa?myuE<@;r2U8>D13gR6JVP)`&Szu<{EhQVzX;E42r6_@d^(? zii(1p&;1y@L_s^itEA$8b36~eG>8%buOgB#@CrKsUK9=f&oBR<)qwwhV&f^g+4cQ1 zVd)DN?}ee=($!v0ZJUwv|9{Mw56m%Mxtu9fditt4eBYVSB_8Gcixy@x&ElK$yQy=#q^!ll`<}{XxyR%EwmW998#AjX%8kEgnzSZuyEp@}F))FRbk& z`>Tz0)OaOY@4klaQ9rL=h97P$;>sJga>bMW^_!s|`hR}3M_*3~Su5Vrf7>Bjk1Pj| ziv2ARm6h>SS=n!Bz>eQ&ZV`RZ<#O;V3|})cUGcYT(N{jVV<%NV0EhQ}$K(vc zYc&NS33nxEN&2;Nk@LbcVfh5d(TIV?$!vdw@6gHjuiy2OLdBkp`87@HkZfJ>|D4yK zvpaj4dgDUL>n9_QdB1(uYHs3-{`ky=4~xKm{p;~vi=$0`KboPUsx=yiQFDCx>>-T3 zAA>sFqIy9nykFtyP}=UQy5cs>z`IerT6nY4>{rxDi-MHS>hO&#zLTFnxv;k;9aIq6 z2KO1RD%%f*ikyQ*1#nhsrTsbI+xd3BYlMOBmOBoYQpQ#zCD9AzzC6zJIcHZ>*R;?X zxCbLecja?6yY6Jzz4ktFvSaN=$FrBvYth^Z#o<#)c}0$$dUpyIdBP>x`sooAvFyDb zNZY&7Sk9wobp6S#9huI9&uKag)xD>AS$x_b>~*$ip-u81#VF|axFmGuku~&t57x#} zh-`e1z|KP6(s$+HO7VAF`zkoZmWn@b5F@kgvxe5Ado=Rti&)OLYBr&i-FWNfg|o%= z)qc~>kG#F5OvMScuhLUHYTmFrFLrXBOw5L4wo|w0?un*gI;i>w5*n z7pgGE7T;l8zS@;O!c>3CVdDX8n!Hx!j8_IQPUbh&3W5 z=qH|m>g=I3w?OBniI%2;+mvdTcz9u!iQTo247ZqzJwft+!mwmzVhsCY(?W|cd%TkV zlKbO|v+IirboFhoh1mWAS%kfhx#uhK1h9|$#eb50kQv>?Vaw2<;r`X2et-DV(s3DtNRp)Wa5O~~1`cNfksJJ%@)_58EdQ%aG@Cb569NnuK}AEr6gx{F$> z`(%=Yb@wPMC?C0G&n-f0H1(A`bx;gGa3Hxy9)*O<`yL-v!9_m^#a&4HIQ;_R?-E227@=zfYn8G&u|XS{4R7Z zjHp-&NGIY*)(OS>HMz6D#OwG&7bo~4AV0+iaAE}@k6%dvC@=LJlhup8AvXPeDh22ui625*p9Ba;NRi*Ax2!-NpoLT?2e^LNV}{# z`0_ug);3%ubF0wd$3!!?n4kNt{A{^rJ$DPNC=06~IE`r!JZ8j@#YMB~Kbbe;~!#wd9Ve5`~Bh3%Yc5w-L*U|_Bx;U~WF;X(%4Yi9LZcI%4{Rz0M;h zp^HxFFyxi6&td*h@~u&h&0&`q1^;58-vu!1?&6ksT^m&>BJ^*)QQ{4K!ck@7-lUkK zKTvD!@W9U+v1qbyz>xkwnlHmjf8Ui6{A|(+AMk0QR9>XjmGz4Kscp5Up@N^I*0u7O z0aN33^AViuCb8{Zk2>ym2y8(|>&DlWj=ihmzVRzIBC_q8XOUJ1%L8w66hQe|TkeO3 zIZ6h5p&O2)Uxs#xA-hX!1DxcpnHnwzo>UjD`_qZn7{&c7Ax!s$^%=Gv>SNR631a~k zG}P4o%fdz*D5~2v{Q9{HG`(wnc?0Lv+~D>-2+BkgNtIWM{J}c8;+aKEr(Sm5%918o z;{DdR6>O&1H7yTD4)Hb826OYM>Dyx7$gOGI82^;wlpn(53UX&=mNG%cz~WZf89TO3 z`LDkIQn%GC;|8-UO+RAG)I_S3Qc~V7;^)+ucgPAYYPb93&MQFE+!@SlEx~Jn%TF1u zQ&UZ*oK$%8bcMjbecXPsuuk1xZ=-hMYjD0_)R+u&#y=5n+Rb84adZA~stbm<`MI#Tq-ESH^u zJ+q2u`qJ3QN+#c#&b_UKbBaW8CMWLjj6ThN>C2<0lw}O~VOy4&fqYdC8TPluF9=rz z5fm$sqPMd`NioYr9^X7_7*7tz7CEs?)o0VTPIc( z5S*$q>l$VW(+{M-ldozxB!yvV zp7-3>7MdvC8oDbHp~0v#(o5Q6(Aj-L(+v_%(301hO@c^9H5m?~H=O@(b2pmL-Li2L z+c6c^N!!LfQYv4~>Y4o#Rw64b#MA3XIuVuBXSpBN*I6^!8* zV(--~?3-eIMt0J6Ps^0*|FC%*IgV;%;#pPiLlmyGS*#wC9p;h#DP4Z_a(!lW8l zHIQS^PUN1<+jV#HO3CmhJ&eR*r^+VYF!tufw5kxZQH`cydY2bTuj{nJG^G(dv` zrJEs|8W}KC!@0JS$d&p>_a)c6*Q2djt)k*r2zF$;p}>zK47*;Vc>DEN3WB484<5Bb zWB<#3R4?k>{K>{%f#W4iYw#Y`i3%)cJVAk_u*$3Cf{nW5BW18-K0gOav%S}%VHbYX z=U!6Gll=EwBf+UM@vZnlqhGqb)pTj5Yq2N;9n{~+ zvaVj=deeQftFSi+TibJ+QX$uky-^`&S+m#Yv{Cc&YJ1@X@s2D*e>HNo75id0br^t(+X0=Obk@@Iu%eHuaOaoSq zpMC+V2#+{l@}taMUGMMNe~_*mOMNShW>eoUWBb(g+Ez2OrfGwU9H^>OoJsQC$4p!( z+28DCnCX{uzCCB6Z~4m#uU0ykgI1^|bk|ncx7hH0V!qOkH}he{Kx&nZp74cuEK2}u zjmQt@54sCNO>W*&2G1N5zjKugIJcsln}bV2JvO9Cb2IE?7TP5KJ7`p9x2t5PnHcBK zs138=`vU_Zm_GE_>9s}LmP`9$TUbzL;Y95Oe^+zD-|%ts$eM@}PDw=EBVxdpl1}_z zpR%{fmQW@Op|^@>nK2GE^IZ&}il)S@epu9jv5#%{m8XgW{wBY1lzMo6?fSndnDV`j zE8`b_CbM(UDlGw#Roz<$R}>W)Ob|b;YJ%D9x*zgGi5KlOd-?7=Y~@vk6ZIA&{%;mi zA2QcV-41!L-`fgnRlgh$_qMu7iol|!GT*o?jHF|{c(iO!qv(fc66=SDha(kQ`9tsz>y?)BG!d!|lPc`g!2c!tPG1o1CaS;6hL|Ps6q;wGR9wHvAzb zoh$ErV1Q8eZ~@4u%(v!<->7TRT5|KyKSCySex4!*%tT{bwttpaga!|u0}YE>l!B0X zu5)KubwEnDE!N!yDZM*YDP;yBQfj|v*R`77zyy-qVz;A99mSG4B2(WF>R}+C)x=_7 z(9OW;sPDt&wO!jV-#Fftl8o#vK%0P>9XBanwrfsao8Kk_0RGD=Zs1);&ByJeIT3Z9Tdu*N>^@W2J9Vo&rrO2S;t zrIhd%7x1BNO0cvuVi4`t$WZ=KoZI8wfGn#S0gwd%SO!FPsb#P^J=hU8iDD|x%8610 z;QWu1r5b;~JLA>t5u#NxXhUWZASll92T%teKyK%Av)!ei|GWtMb3`y1F|gezT|NhT zqJ+D%5inmj`AsJuwguLl!Jht9%-*B+x$5uI!3QT3bVOfp`0MwEPEB*?XhRgP9gCg3 z{TV$?-qdg7>V^cSIOPxPCie-JIma!S)1BXcmnPC+Ciy~MsL<2}rEOPVBy>Lx9-77t zOW{Aw03EGlY6zJ-$th;5>BUlBMM|{_!zA>iU&sM;_1|173Cw-$CQ4;c==>EW!chvC zjm7w{S>IxuYLY7h&wBP1dmb#9{Qo8*bU!U5zsfif)%b(&*6-E%8)=b&(yr3Gf&m4wSo%c_ zPEcavYj=Y2FWKu^H#+n4h$gd%h0p2DSfY~#?_eC{ z_Bl7Eebq+jNVDQGd7&QLMtkg$x{*e2_6wz_;T~xTK2m2c_9z-iclk=lbr^ z;MFEAFe7aVl(mP6n3kPWh(py&w6)o{)Rmfhs?wy(wMCJZdPyw{3IE&sQy}>$x=lQ2 zwGFrfXiu~3i*{lGZrNA<(s6a$Z;xZh4NvmObRTghZn&JEsfcyTlz_`W3gFbt@aF&k zWb&RV2C!d$pq3z}!}#u#B|i(t(zGkr`>!;YImdw}!XyoY0q zV8t7GzZga261>w-v;8JFw*PhE`LfwR?L)o(^{E-9jX2&R_y&w3L{<%>y1rqIV5erd z?eT=j1a1qZmuA``yPc{K-p(qdT&cg8Hqtq}r{vz)H#JR0=w1E?fW|2#hgF`@Zdhxm zIn2^s4xAsO^s#HyD~!h%CRUPT>=9~AszXYcu^;M%v5F}ZVK=;ZaJbG-B?kg+FwEdG z!H8hSt`#!cxU_M3Llk3C)s%@oa-EUzZ_O;Wo~fY4t95?_&P{z5=zXmn?Q_oNN1s|& zGH`FXQ*+mUCKg2ZU-4aloMc`osa|on9ZoN2U#S^y@okzZiuzau1M|0R#$r%NStid< zWrjIOW0x+(w$l^nFX_8>+ICxa*ddzi3Bbz3t#zX)LF+J_<-+bQhbL#A@rE56$li|^%wCgMU z^1J10#s3Bjg^*8~B9#O39!BZSaQlI5aS*zGz$TTm4<_ehk^mogYL{Y0o!Zmxr|_h7 zG9cK_AXB@!H-sPL{*(KL_)K&+5iqRqb+u7;0*;C2d-3_m_aFh@Qli|zZ4cS^J>Qxj zg;&MBcVY0jB2lyZiAKdK*2ug$mAGT@sO9XlNv>kQ3*dl)BTsjA??tU!5w&uG15Yf$L-3L=PhX%=s=H+QdU=3*fl=WN#}G20{s_Hmta}r?YZ>p#FNQa zw0Om_r+#qBF~<#{V;R=1)`Qkd8o6__g1@R2Z_m!sP0(jk^4zm$-gRQs2PFcYtQKKb z#F=xoG==TC7xnda{toA%U0lZK54aKZn^?ozs18JL+|{kuY;jjyoFb1pfJU9qdx9;F zO=T*a6NIkcc&!W9_zUW+hID3Fz0bzkh4^`6C+5_r>2bB8?ygnb9~n<+O{;)71Agz}P{QB&WEP+QqZFFG{MQbvR z(p^UiOR|^%7Cr;rR10@RVRlMwpRHJ7g!{(1jq@8qPyF#Ytn-Ygd7K_(9oH0sM;%WT zg@cfPctp^#%%$vIQOirzEuYHmJD1g5x?{pk?5e0dw+3oP-RNo+j3Xn#onx;BV!hdh zmb}LS`@TdG4<50>6}ndD(zpe*!xnnyCy+5B&{sPhk$NvFu)8Dak@v=pHXC%YUC6!D zVt_lYDOPPQE+z+d+wEC2LpQJQ_{b}VG&wBCzByJ)WLKZNMPx-pRuccrs#p4~1o2?8 znd;0Q{`eRH|LmCOx0wmk=&R=f+HxSd>=K#9(x1|c<=m%luai6g!*<_sH2s5Q@|CIu z-cUpvrgKeN(EE_V{iqh()y9?p_Bc^2Ss@VtkBnGtE*&%HW}!b@&R!~X{b!Neehw7T zZ6Mzinf`(o9#d9kioty?n(FNJo%HtBG#R&@ANoecE<`=s{`X;Nt*X?BT|hm-Cuk&A zwaDpU^S+bsqA~YHY#bQ9GE31w$nxCX zr(K%o?MUxNH~TC=58^5nZ@c71yMoU3m3-e&piKO*DWL3EOx zFHkCc@*~hgR?lG?*RYgm=eTG_)?-#L&`5T93^Zr-#ULXgL#h79%6KyaVA!*aFLA^@ zMPDgQ-ajlHko2!FKD-FKRpRk>H2M#fZ^7l z*2DW+c$IzVX8wY~bR(#nSU=P|1t893hlXub%!-@j1+bgE76Hi{dJsz8t1r^?!5M9s zDSEpm=*~uH`LND)_N5z0+mInM)7aC~YH3ON>;f@yrtTU;B5{$hSF&lbk=G$?@5T5$ z)c2)P-|EJCEs`(`hI^z4r9zwS5E!g9X8w;w)QB;A?MKry9rQrN1uO#3>!gScxG$l};u z;}pRIQ0kc(3kWHl`CzXwEUC)G=tTT;{q{WVN4qC(^t*o5QzMWDmq4(C9i_pKm^2B{$_^(TTc3{BFU#fx2OAgN(j z3@Xe-wmmJ!yLh?KwgKX-YgV8{_PNX?X_0voyUIHPI;tcb<$LXXwu?YN-6^70j9Tf@J%UU}eD z+BZk}+JTMC3d;@+rdH?0;MNP!ZKVAJyLJI85U$s%WT4i+sFtWc;2JWTA*y{PvAdpA zCsFVHM(F;o_HwTXGH!EC4wZ6J)U8on)u%Ai63zUrMwe5~FS`@7_xb6ITmr>T704$a zTF|LN_vcRZZ}5z^%x%4&x;I2GxX#EkhRoYiIszy!`HBIq9KU{h)-vvjAoLos54vS9 znL4wY>^auJ?w>bi7w5hF7Fql!o2w!9I+y=JScaG9&_Kwi=mj3}QFxHiN(~Ce2GB_js0$=NI z-DQKF)N#28+qwLp6~B0|{QQo8d_%Z&6uJ8oK|^IKsfs9Ty{JZwok9v=_ktO@VuhhK1&GqIYym5FL}&A zsCm9|hPB*-3s$Dsc43R?{s0LV$nrLfcn2Us=>8>BA#VU=wmpdAaE7TxPQC%dW<4Wc z4y0%UT_RwfmLk>F5!w^{elBk=f3E#6_EQIAV4)z zwn{>Rp05D`U=bCnW{^LWjzE>}tHqgrfp(dCxQvq%w6#1g#Q5CRm}wkj^al4a&VK5+ zvth}-RJ#MQWQzT5)(F;TD_EbikYuJrs_5f~QGck^*U`E_*fg`)f9QnSm4=b2{G*yV z9p%r!(*V#NY4iM9$}G*%r|K(;3OG6gi=^mIVQ3g=4fO{V$@5*^EqeTiK%*!1UHYr9 zJCQx({OXfZZ*VW;qfQbk>3Wiv32U6c3btl@=CXt&%wW)ZT9cFFDwa8RU-_wHWKkGq zmesL?v`~~C)f?OKS?tHLyFo5Nm=_gyOXwwcZxz*FA?MS7jv%jr05KM4ZoG^NlFSr3 zTdZ146|2#DU$Rf{gw)|a(Lk(|B5~5YV(xbUyPsi*>nQ8MFXY>C3-<60y8$#iwgVEp z<*jA_N|*AJQ02^HlzPiXYwUOQE|&fk>mQ9A5;O4aP+`Sf=3Lg?gGWhrNlr;9lcHsX z47Od^a{)+>f7{}rkiU}1;4P_4TkWdVi;-D(-jU%X4}Iq#2aKbl*NuRojqb=&DU`&a z(s#ulibouk)!S;tDQiX(5^(6V_0~coKn|~Zn=@prZ(5)Hxi~u0Z-O{qmZ7|JH>Pn@ zqfg9i_MAc%OmSCkVg-~7Y+bSWcYQDOK@4{*lRy~6e?{I-lnX812G~joxb>aY0=Pf^ zr}QLgtP*qRy_splNDA}cqw_-PSQp{a&Tg%-N;>-EW?ky24B%+};2yjs2wg%zmS4bg zoGKOSDR^wtrP?f|sXJ?7aN=br)(`hgzSAmw@sut_ho-|nlO2}cF}0d@L8V~%9JcQq zzim?q6@Wo3OJ7*ExS7yE+0!!9QRlZRfJ|!jyMOdcTqovvQIw0PyiPecK^zxn~IlG0C8YxXIsFCCuTgH5_F&Xqv(qa-1>O`SwKS~>osQj{O@htJg2 zWjcKadn@1`thyRFS`zjt19Ar+M5X7g_)ayrO*u{N+p3ZP06G4KE%}~mQsiHJ2R?u^ z@!piCAP<91T@r#7AG5wQUArIX%0*E=8`l=nIhHGWCI^A0_uT_&)B6Gnd6kYz_eu{a z?JwXaP5ICYBOFiYt)C-p_lzf`)bMfugt8&7rpsNA3#m6gZ*vmbr- zx2$Kn%F3}f`)oSax=)Jnw^(oYO8CitnAAy5UJc~Wka^b6F=<=2h(NcIEuSvoh0XJ_ zMe}unef|7rCud8}?7!_YS^1$8HZnIKK`-+C>fUiBm=!9DTNE#)HBYRMjo^luV;TRvR0j-)PwFZ=KZy~(#3cTowo zl!i0s2FM*<1zjawh@G~JPf2#q3->zugifQVHlWvU)8GwmgF%Zbnmd2fM9lO4C~UV* zKm$1AvwRz%#{d9l6c7!i8K!1QO?vZZzT%qQrljZI+b-stsmohvSLb%*UYxSl=YB#a zIiY#=2sjiWsQ_&=6Z#B-aH;TaEvvt9)TUeD@Ec>9;;lBcoXcG(-b&SS*ach%d39)3 z%$DcxVCi8&UK+vfg$B3WdI~`jpM+rm;t^yrPX%MBSNtnC$`=m4+$dz&BTuI1E-3}c zpX^?`iM?q%cGa;#*RSc$Kh=KyV+6le%ns-`CNCdEe**k-l9^{&VBOtv^tWI%df(v= z4`&`(*jeLkj$EXD$XIq70C}BVIq7B~9XN!AU#50hMy{i%FQc)8JB_9F%`Km---Hwd zx5)@zlmWu4Do)+iDe?)xGug(!sQS9+j)sF#f_T|CV|c>VOWhr59dA3*o3l4XJigngH)S3YIp03P~zI3u(HZsHICaOv!Zc(7eYA)NsUu@)rE=mXF_qj0s zl66bzJMIC8^%QxQ!Xj5d0oZ;e4rxmNHiBz(7aAXt7pf?GI3b8!yTZdR9~0q=z86i(zWN8LmRdMl)?Otw10`~5=@@MdaT-h zs8zrOSjP%pW{3g-w+6VFuCxC3NdPEvRcvroP*=<2OZ@BxcZM?<)`7XH0N`2a8B?4i zC#xeRuP=}fC@POvV@Ubk|8A2oX%+|NU+B{EW)G0p$*|h=?$o=QAq8IdPLYsyS1m)4 zI%a7{#4d{}8*P@qWObsMqp}{8hFhNsU<=eff*_|?azZ`H+u<5g|0KZA>(yCnqxAM_ zHkl;HJfZ)S!tcWG7nq;x$?S4cmSj#w?)>kx)^pmw}!VG@RVkj>azTl2O#C0m~; z4g$d0_1o`S1F}!_+Y;G)fBXs27q2!!4Sq2}w%&c0^E61Z!d+Rhe@5*p&Y9!knTHwOthF|G(vB3olIja`4T`K#uj*^?r%r#_ zq!+)l#ksp~Ok_zyzq4|IXtJ>`bYCvn86{ai(CFG?9{w@7QFOaowk3!%WWQMtYR;tV zVb`-RiJi9o9f3p~n1}Kx+fLgG%Dh`ZZ|_0Mi^3rJBxQM<^Rw~mih$=XO+pY8ri#m| zY9*c=0P66c_uWh1LvC)mx^$4!Rt-l{&ibBBcO2gT)Z!_7DF-YUW64pmXQ8Or5unHbB?9TBawO?VI5@@nMNdt64o;4tv$ z^=ufNt>cb5Vt^$H`4T;C2G;f%(`+Ka$PkKJ$QJ!>CRF(9DPUrK99uQmYaEG_zWW%S zZU@-1SaWmjCGCK4{<1J{DfKff>GjaPN$d;9^(g@exK7^fxH9n)eB>(An~U(`#x_->@q!)!3&muG0o7i0#7-a{0998hXrS+cc}v# z!(09)0#&5PJlymb@wH)7zIZ3vMTHx1u)ge1ah(x`K-7?F4gd=yyy{`ATh}q=gD;5T z*+j;~@@}qIs)4^&140t#LF=lLLD?p_(MMtKTSNt0?4P5f(t_2ig>E~F+@v|t6t=3! zZu%6HpLWLiDIIuM297sh2ySntPwiTefXjU|>mGNUn z`lmdoA3MI>QBer6R~}t2h~=fR+iMR%tycjqGH6R9f&etvx5FIuVJ5~*_tRFjVH*Z9 zpB6A*X?D2hk5iLksq~FugpIyxn(GFh{u(49^5I#=?#si)kF`6Q!Arjl(-q?vX2;a^ zn6};bYUC(-{$#7svy*AjDC{gw3#X20?|XNp^6uc7#^1v{rTBU zq}td&lJ)lwBKx9I^S;M2f{{0WUD(AlJdMUStak~^Va=#+tbsoWYjss%VNBYUBpbu4 z%mFL5VA(8%VZfr$$0L_X}_9E8?dR(aW?pwz4KQ`AY= zY|-i(USpUakAP;-K4Q^znqHK-85`@XNmH<#P%7(ZJ6jBXgjza{8D#gepLU#~-)p5e14HEfycjUdiCvq$O64vv zuj_!q)W|LBFl~N!T0{wl=PDBhBS?`?Mb&puWW4pLPaNcL(hjnp7*|M~8BV0$qlQzl zCV2|19QrtjM$Uh0(;p%EqD9U8+`Hl>pP`zr(X=`m&u?J1aOWfYheh3AajE3LL2q-$ zBo6WgI%plt4*n(pQU;L;bYE0R)IM-HM}G?dtPg;Pwb(tmlmdTz^Eg@$qi}fTb7Cjv ztK846FW5h-JI@p~8Sdy`;i(Z+C{F(w7O)Bsq#FZ1lr_bFKZL~neD1%NfU^|-0Tsu1 zVEV3;+kuYr>U^Sute*Z?G5A7#PCI=~f9(rR7}GJ8OhMJSP}Y5|!j?9{Q1=otL<(%r z$YEa?N2&F9ZR?+(#AkUWow2)x>BzL1~Ir?69 zMBrA8#wyGH;9e&Iw5pZ&5K;>=rpVZ*>ov&X)nQ`K>i@OQ!prft}Shr zT9|E>HwA$B{$Ec?$&^ktO|v2WooNZlEHjb42X$QcY5j6&iNuEnZ|IR3%~<3r{%$5c z^X`u8>k3WxA*jjITP;fY%+Ii5=1F_87Y+*}MeoXa2YiBwCm%d{|FRR~M|kELm_yO3 zp6I{xwcWQpUZ3jK392uzHdldV*J8(Gs_-Yqv2xgX88|dwY)u8#c8eIi=2&r1@Wz#8 zR!8T5UY0lC8|DkXUY9ZeUa$+ znqLcR0#VcC|GEgWc?1+GAJC-dg!)}z8XtU__PvQyx845PwfMP0O=%r@UG;q^&r=kv zc!(>yxoED$NDYaqOC-=x@jx!p^5)ENuh)SMLlk|o5-KEi7fWg$lA}mVGDa-<{ctkC zR>o@^PdoLU-j|2aKNVI?^xm0SuTXCqX|dO~!?Rnq{ML9t&Z#;f^s;rUtXFzxf_-ld7~=RU;p#@nT6#3WMt^gO6!IPGTDi4X1qgPa6>t=x7~gow3Ak#@gNSb4}HpJ1E&pUyYLbz(7CY#!HD zOJR)}ymupDaCz`f7BHo1Qk}@7^G|>;wS#tNtbm!&eD=wg3}a;^WfvWIN62u$5@~$- zyY$8ymRt@rcY;kB$Qg-S8P=@cKNYvGj?7RJjYH2LGMWGz`RWqkW1{NvYt4X1$V9OZ)9Ap z6Vk8K!qpcL-rCS`(R_hqWOs@>LIJ2VBLv`?tfB`4E6A34Z7|9sb{zZ`I7(%80mDY2m=5f1E^|-Fl<%1Lx3G0DK179%B<3SSvoYR1a&+;4#N zBvq7c9q?TkR(wfV3|?TS&O1}}tHJMP>Nn#%z=Pf;ea~IWfIvvCBxubY04>Rh_^$LB ztGDW$m2>e2X z-a`4{QOgZyM$!*QqrkFD-WMV#+rFf~6|DfS8yuT+iw^%xA6KIqb*4N^{?C<;ytoqv zUAzjk^`v}db6}G*H29!c;nrL>!%S}Je$X1c{J;Qn)xbaY0K{%yUI9%=T^Aik&!PiM zb|Al_1oT^kj`mgF@w-ajcYCxMZo0NEIH}<9Ew54Dd%X;QH_jV9RbT0~D|?%^B3Dx@UIDl&VD3`qUJl z^MP0GCg*su2y|>aKzsX%0Eau~6J1iZE0_AOfV0?t7xy-#m$%Shh8)J-Yv{guSgj9QFD)361*@)nzF;~t&E`SQCC;}&tPHG(wqss zkpq+MJnUlC$z|HPPxLefM?!k>l)97grp{v5a$`~9`a=ksIIvH!FopUMvS}sKow+~f z?>b4JIP}zcvA-6;J9<+|@Xxqi<{%NPVDH5X-9MUEkpIVQ+X#JFkG(M;D4i1KD8`q3 zCd(^p&WXt9c;bOeje3r1L^YwB$zkJ!z$5LlDV}x71C@2-D==?+-rIzi2|1p2W;Y(% zZzb)5yF@t0}k zpT!g%cwPWMvFY=0UO1Km9Zgf>LAdEB!cA(&&?DFi$#{ZnO`}ON{<%G`&kq|pjRKY{ zgdRB2;$R|4)-+>O?8B%~WjD~)INvN^JNaL0V{v?rjy`R^CLkBgj&$v2lZ?c2x`9pO zHMK-6*%-kw(c;}{$z>+o0bSpnT;q`c{883IE^oDKf)3gFrn@V?qn+M6l=j*rR!w?JjSNgw<73D$@$1nbN{o}rYR4_2PK)&H8ZIT}#|qqhE@RmN zk_pr4(2LyIp}7tG5OZPbMFq#I(H^O>`kC+(&DY@V*4?o$x9r)0$%{rGKRy%=-aqhe z=6EnGRYwnRTQZtau~2mND0}`>fIh>nto)VBKhNEBVJ8m1j|WHLPBbO*T?0Q6 z$Pr}W=Oe6pL&WFuCxZKHn`&p;uo~i-zfZI<60-Qcn>RHdv3B26UY3irxlk$^cH1e_ zX80bUuy`6iA=N&6uEmEhnpCOFp{wzI==87Hbb34$hf`8;unhaw&1J{n+_7<+b)-z9 zUhUX+I3UrwO-JqZZt0-_;N{)MndRvpX>Cz1BfXqn(@73^uEe)DZu@uUD{AAGB-F!h zuLm%pegzhV68nvl+${{8Fr8DyMkhaZ5ND9 zU7&;9llhbX+O5a8JFg8{(nZg2e5Q9=Q1@&)SM~eA0Mh69sk;TCR4IMvl9|x9i$G{w zAotVMdB=Q$lVbj|tYECC`ke}$Nw1$Ft2uW&U(Gat>mMgq6P|!>;qt5PaBKGxl1u`8 z&^EoX^6n`@&*?5}16;-m-pMg+4Eu>5O-;BC1Yx8y4 z(F2QWo0dhgoy~0PmSlwOD^6DT%S#AOQvnn70f%8g4ZNrRVxqu%4P55(Rz z>87`Nbjl)4G@dx6w6)V{6=*+l54M^0ZMPy%mmEtjTKwXhg8wML6T`eX+R_;JVF5)tfhe72% z?0`OGAl--)eM|y7qJ}Gz@6c#uRci@eBsGJ3K;J?Dr3>(!zD4AdaNhSVSN4L1D$OP3 z8=q;GX$ABytaV_4_$=C~Bw%*`vE++N^XR!ovr)%p@1s;9zYf_Bg_#DvdNcNlG8}r; zDhw|ku=!Y$Lc)no121yFNo7!NrQ z46sgaBP*S1r|>`t!BB$H#hl|a^EzY(?|ykxUIYyV8`rDj_Oja#9fS;&tY5N=qQt>P zmZ+pjpCfdW_}5p2uAJ7RVT;0wgDOML{O36WG~_w{Ux6!Uz;r$g{3q1(vTGoKHT3w+ z8g|I}#yI$uYJdFAk7Jz{zHKYKB#EF=3=P?(0`m5Z2qgI^_XMc|Tmj3Bb_ICf2UN2g z<6Xn}pzze@n9J8m#B!QbV^`zYnsFm@Q=Jcc^i^TMB4prg{gGV+F<5{Ca?BrfdZ%5x zlmn0wPAFk(&YTa4+1}Wdyt={zd{2k0AXa1x40`bL%_h+rsb&yi1jLF@*H#>thdXxY zDU9`{N&zL^Wr5{d1Fj^Q0m8W%a8x@$C_hr#C%9e|1+3gopcdGM{M?4&Z+P7g=YeZCAuhHDwTvc#CtNcHaxx7YxQ$qv8NfIs(`{ zL6G1-{v!$>_*MYqF>M&JV`$b1fI(eVk-dQ-KzCk1x1_0ZOn{H6ksSuQMZs7I%Ay-a zp(G2p7>a%R18TOCt+o|6Y+!!&@}1pQ79~x&bE%*|oGY0tohzFwpQEk7C8gky;L(|d zqNxH?@%uogrpOfffsz*eDPkg3Q(R;F#J6&%asP?b@|--*2#9|$>xo*V;1lp(Rsxx> znR0^s+nJ$;Zuz4wh3_165^sjcsKy`9nUg^wo1Q1Hit&Rm{Sw?>hVX;)P?X!Kml}}h zSUFJLuSw9OBi#*ur}lnAHu*P3CL1$(v3szSydA1=C=*EUhCTUPt}WeG^aEZK{FG1G z$>-n>ltf5+P_wcZFoJey@ftG#`8ke0;0;#Q5#ZUka$A6}-yr^?rccn6Ny@Cz{E=0? zIGv`ejjm}Iy~ZpZH*oSSCh2s`57lo#) z$R5V~+?Y+hy)k3YB+pOa!9@rvwaNihO=0C=sMGHa%s0R(N^RwiVA{pBX9^qsf~i2w^@bW7o2eo!#=u?x;vfj8(KC%3S^U#bg}A{32pW7R7iVe& z%vPIT^j#F0$9e^GZlsCQ1s3QL#|WpOqk>TDi-BX6a^ehmjO6bCu~JXD(G7aTY*r!B z=K4du>=iutgL8G3 zbFV>m{(~%DosbIzYj^x-($`Z2I*O#$@?3-0+6=akZI$y=X1hOp{Cf=y(5@$Y`yr z5^h%o8C`yTiYu+luTur~kzgRt+pi0siF*9J^VbE7#QFV#!V>b_lv(A|rJ$vd!qCi)MZMd~i-; zx(JDJ+!8Y%4pO1xo@La^avj;+cKbZvb$ax3Kij;^iXfn64wOz8_*r$ZS+Nt``>a6>3=wB`%wfVtzMZLWrHhoNSat?9 z?-mRHDsmiCwx(_GlvxZxA?|-oRwtPAE&hUwVZr-bbijC}d|O%G|5OI8qJUswJ}*5# zeCLWv$Fb_ZdFI1l$=f68fbaW%pgM`M3@a^U5R>ill@@r5l;uiN?+CRl{fvdKlCqN$ zlH~23B}n_M5?E|_TbE&}mbKFaownr7;jmCgU;_$hp45#PgQm{*a0Apo3qZ>?cAjO1{bi?Fgn{<%4 zEkH=h47F+gQQ(^36!bi~)-||(SlMFA)f8v6y}!z`9f$*6BWrLy`i(Y@cJBIiPZ?!Z zZ8?bkI@u{C|B4)GVE$P3u<}!?Zx5g?M5d72TG5&>_zr>43y2-bdw)j0w=8c*UyNVY zW3BC-qSsH$yW&qIMFM4d=RRoNiC}KTGwr{QA5ta2fx1-7=9bn+!@E6TZzNvG$TY^= zS)kOYEi1L}=`7J`A!ka*bU6l@{M?Dmm!Z1E*nE&uz5IPd2-ndL1MR(L1P@wG@@O@` zt&W%xZX7qb0)9Wo%z6pH%yM_trG4__V$}BHjdd<4G~UHP2p&)@jeCyVVD*9Kb3nmq z`-#sQd=EKG9E-D8l#Ej2O>oq{usv6Mv&W~^U}8`5=*5}TMpf_p=GQjKtHF(1{4X@w z0@PO1Yq?Zo*5F_8L?O&^y%(koxE3pw=z}Fx^TO0d<|*S0LW&nHbBqD4y5@|d#x)xe z#=`;iU0xm#&B3{`^%nco?&4nob9Ui-#rsJD&?Q4WAaus*kaUEZN9 z;s2%s1y?$6wr}g(uH3wY{2}R{?S|(HYEJOUOyY4Bh(t@^NVtQdI<{o6U9_3=Srj_F z1cD^a3!~yJtMMc}5sJ2%Y~!;CSl$myHOiG5Al9NxF`>KQ-|IYz%@3*WybT-fLmt|V zAIeUWlS44~AY?=;6ls!dv8nApO`$j#Z`y#nKUPyavjIV9?sk!3>BceE!6RKyE{wvK zI3BgY&n872V$WXk(+`%CfQ}^ zyoa?Pik?n!K}uoaJ$yic;F0jdHv7skG~Yqx`?5`;XdK`v!Sw< z`nLu6UyQo5X=hT8Pe9Ajbeqt$tE^hnz!igzloe*C-O%%|j-v1_Igo$a}IH5d36H88SQSDM<$1t#`I2+lSdq8HD z_!lT?yfAM+&5Xai$n>R<^d!A+rc%eBMJdr+9(L61PoGsCbBpMJ7WO*kH9~!|?A+4M zcNbw-^yj5hdF&Q1_pu+xW5~SYxfutB)Yg#eAqGOT5&F=gYcON{92d`YV;4Pke%hF! zcF5;y-=Fw%CqcUt`0+AA*lUuL+;c>IQ4@MRq&INy8G7T1Hd64rvDaHpKd6ne@o=vZbRx z;!rh+44!hRo%D@|9^?~4o&j+aS2B6wJa%#bFGu``m`(s$4^+U4 zNw|xZwb#uM#Kj4E1;1Em6oT!RWTE_xL%q#u+*(-6gBm72G+uv zxEr?ehK*;}b$N9U0dYD{wXi>T{7~Ac)SPSZqp@C|$u*OA3xYScSKHl=pKGy;m;3ka5JT+iXv>66Ee9Y&$bPd)L>7B8drpkUjg;) zt>1t!z-obmDa2b0C+pAR|NfhRq0^hxal`FjETimFjVDkR^q~ZM%Lpbe63%&cuCW&y z#IpK)o|;ChWH!&t-hz*x91r`p0dmB0dkt)vIh+w5CQi5S)G9Ok)me$ZCnT>$TQXIh06aX6I3s)b#`Oiz|K&JWSSjKV>)CRs9S83 z-GFmB)O3Ppfp|(GjOJSf7Yt{aOFEo;uqyI}sUDeCx2Ch@fM0IvFTOFW`R-jxm zz$55dAkvTx=n`X&9HdUec6l{J#XRw53>EL$DpxwsmI}PmxEC9p+H*r!#j`dO(jG`)aS*k;c41}hV$p!>Upvn~obud;}bRfgQoe|u(jB2rVnPu^a^ zj^nCC+%s$Yt5Rk4V3MzyZF@tsIs+570|Z>2m#c;$8iCz44W5N-PkRcbL|cV@1ND`q zP--8Pr;w}5{!-{P>SDly2CCYj{;s974*T$b6fo}3#L}{vUF{rKARcOFp2zXb%jO%& ztR4{b!qC^i&|h!lkI4?iCk}R*VGXp04AXmZ3bzYRDmZ;svoiYFtbd6LIti6M5a(jb zd)&7lwR@Fzu3_Q*7(kxzBb6vr^&CI>+R;)M!iEmDlq}dUFlTPU?T-4o&ngpkIK$Y{ zwiNQZ0NJ4x(1U__WJ0H7> zQtw^cDNl)*zuGv3=V*N{Cn{K8P-~(BO;8dhY4*Urw}bOr+{V!Yb+bNlN_I9uLf!ws z$Adk$D5;NsS0$)l(4?+gj>w{wlf?M1zo^(->PJ?2@3Ym-^|e$Vp9)c#D{kmei^e54 zNh6lSnqwhz7eW6{R9DH=2~+48h}LxgXVDF`0Zl-IBU+e)-to+VxQP$1Z#1Ndg5Gm+ zYAC=Pjo?+RffOV_cLM0^v`?+=CxC!24LX7zXtebSm+zMVytAG!%l$YLlOK>XKPCADu5xq3l0m8g4`PwnJ$>dqD;lH zBM};C_VP|7eD8oDuGb%t3f&xKaPxgYVT^?;(D?ECJcfh1kM#u*Lk5T^HVa0`8V?Ps z4Uo4vvf{sf%>akwR%9-RLxY+R7Y6opcb`ottG3-{tAu(jl*AUGK5`;#%BckYK5oeKgJ-DYv&oy^1$0#l64mkuP!EHlOo+JZ8esNn8(>a$Lg1z6zxl8- zL$|(#5(xV8*X2!qiX}L|x$zv0(0%hPgH~oAJ@}?YV=m~d4jt%tAh-y`3z4m5fxM|B zF2>ZpK%*<6C2#%+kZ~mM1Oxxk>vEw;^}txsUfCz$_-3SMPnWT{yVdGE*1}J!YBkPL zQ+ovt#2?b&K)gH~t^H>bCM=zIFW(e02Q=X+B}d(Ka(krQg&b~2+b$W_)#@=~s^x_k z=`=@RlqHxY%|7LB9hlQw=bcBjP8Hmc_G0IwwBmY+_FA(+h`_(& zK(&A?feu+;z;jE99{?2gfB)gwf9ZzaOvH(AeTxo-&;H1~?j6M_q literal 0 HcmV?d00001 diff --git a/public/img/icons/apple-touch-icon-120x120.png b/public/img/icons/apple-touch-icon-120x120.png new file mode 100644 index 0000000000000000000000000000000000000000..1427cf62752646ad7217df0a61aa01fdef7475d1 GIT binary patch literal 3369 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 ROru=^AazZ3N)e9H{|11FNXq~K literal 0 HcmV?d00001 diff --git a/public/img/icons/apple-touch-icon-152x152.png b/public/img/icons/apple-touch-icon-152x152.png new file mode 100644 index 0000000000000000000000000000000000000000..f24d454a2ecb8851bb893192b64ee09386d30e24 GIT binary patch literal 4046 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 cK^5JQ0?3d{m_4Kdj*!1;003@kYpI!lw*K!+ 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�MrHbYR_buu=L>f*wO=Er8~{qfkYT+HoHag8)VqJoC-#@ zNT})4xRE%sP-B9?xmL5!2Y8VLa?yj@Y@r1C)6o~9GF9nWG!SI2VJ$>ejtUE%Qv&r_ zYLgZ0h3iIrw7{TyurC(g^$XT%PP5`FB3aFpP&fM-8!J#3I_ujG?;7(Xv5ni%BjYP4 z^+oydy=)_&bdxYJx`X%G5PFkUB%3h6RiOs^F?#ojsB%DbfhqzGhuv4)S1%vw@PDyE z3xWF{Y^0>+=Wg! z{>z@$rD6ej*V- z^$zKIOWOfdN4~7@ndhru01+3cxwD&_Muyja({*O;-5VnF(e$WDALNStE{1{F#ts+VR{o zSlQ*@U=Du8fgKW$lU~)O)b6FS?H1SSnKVIC=DOvbo8IUvM zVf+U4YxG%qLGd%ew7Jp8>@U`ew+A#Q=2oJHNH@_f!WadS20$KZEZ+BHAvU@FB zzRCYN5r+Z#g`C^hrH$yW7ABstwjvMM*CHGzY41bbo2zy$6E8DAOPn zUnHG?e7?u7pQ}Kqbu1jEd+=mcGea4aL6V4g(m*b7x}z|ijsjb3e|tf-3&^JK{=sWz z8sqIu9jy)#J}n}cXqtXmkb-NDVPcAKn=G9uX42zYvufu_OCr>xJ=oTNp8WA5wEqvM z{r~m8;7_C>U68iRr@|rd7UYhON#(-S_+Uf>s)hhPU{{exlxc&eD literal 0 HcmV?d00001 diff --git a/public/img/icons/apple-touch-icon-60x60.png b/public/img/icons/apple-touch-icon-60x60.png new file mode 100644 index 0000000000000000000000000000000000000000..cf10a5602e653bb126332934e2b7f34081c19a01 GIT binary patch literal 1491 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

aZW9cb|x>1jZDoAu$NpeWiVk@{x{! zmmBmDgx|qNN?LyIrl9$qmj{KjZ8zpa=4edK3FuFS$KFl}bWPoO*Ax#Z1c2#3JAN(O zYhi>`%H9fSnLkAq|5vs>+?U*bdfMc6TmDu+QqnN9xgfZsG25($^;v7U1nBl9Q^o*i z)&?UaYZ=~7XZa75xPKB1s~MB1m<*dN08pqiy*q!)_Kc|;EZs3&nNdMQ5#LFu+J z?*($vO)$hkMOVc16f-ep;K@_~&Y6t?0t9I0(lBkZBfic|u)3pK$Xv=A@jUQnB2sC` zbI)L9m;VNkWOao}2c3b4_u4+bg zuf-@d1$?asdD1~mORQ02#!&1Xm#41*xz}wETNqKb;kueQ*~OpcAXTpJFYUYcKoA&Z z8Ke=2Vh~cu_uTb&6AH75L!k8zo~&wRsDLs^3YkD2!~;%u6sFrzV2A5(FQ|3}+0-K- zWX)W2yq%?^)iKhyMGPB5*DnWBaLqAHLJ47;r5nvkeq3u_?J{Xaf_}6I+xpLwKS7NC z|KYU%zup)8i85jc)^Yt*I0W8;+zHUI3V7@o;3DUYasdq>DFK%im4J)F?;|B-<=}8R z>HESGa5)KyCnGII|E+YX&h4Y+xCRvyX@oGhhG4 j58+{W$RJv~NLLKlV4)8v^7hU(R-4l(}$teLl` literal 0 HcmV?d00001 diff --git a/public/img/icons/favicon-16x16.png b/public/img/icons/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..42af00963d81b8e39a30435c60ac482d1f8756e0 GIT binary patch literal 799 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>WRE8{w#)hawXn|-Xp4{E;v!=;4B^%-x&;Cm1 zP>^*#n_J!T^1SBMI!C4h-R53dN8`?ylD}d{L%(vZvUKT)~-CgWFQy3lt zIqW5#zOL*K8HL%o&D;R|TePl5?VWhq^wrj^qed%lKKkpp-FogeyEi+p zE?K8rW7E1fuEJ{5jaaAp0~aIt+keS?T)@vXM=*X}V#VGMCm1~v-+0wr{w3CJ-R8wG zS@XVpzqP-5Mf0H?y-zh=XVL>S6E;rKnDmrMQlmoKbK9p$evXN`oe{6g>lvi)-+#c) zb+Al&$zRqtWk1@VTt6MPmq9d7^!kmXZn8k{sFt`!l%ynwlArU1(iRB6fMfqu& zIjIUIl?AB^nFS@u3=9=>9)IHDC=AokIOTu(jOWuJ24-b$y<~1-Wnu5hBFw@HE)6D! wQ<#-EhbWxBaplC3Ge=~Ou%B-5Sm33{@Jd{;RG<|Mp00i_>zopr0DGh}-~a#s literal 0 HcmV?d00001 diff --git a/public/img/icons/favicon-32x32.png b/public/img/icons/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..46ca04dee251a4fa85a2891a145fbe20cc619d96 GIT binary patch literal 1271 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 + + diff --git a/public/img/transparent.png b/public/img/transparent.png deleted file mode 100644 index 20709a46201f1fca64b8826d87160e365cefd010..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1|;Q0k8}blwj^(N7l!{JxM1({$v_d#0*}aI z1_o|n5N2eUHAey{$X?><>&pI+RYHuzEZ8&X3Q$NkGbEzKIX^cyHLnE7WngeFN=+ + + + + + + + + <%= htmlWebpackPlugin.options.title %> + + + +

+ + + diff --git a/public/js/NoSleep.min.js b/public/js/NoSleep.min.js deleted file mode 100644 index 3768ef7..0000000 --- a/public/js/NoSleep.min.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! NoSleep.min.js v0.7.0 - git.io/vfn01 - Rich Tibbett - MIT license */ -!function(A,B){"object"==typeof exports&&"object"==typeof module?module.exports=B():"function"==typeof define&&define.amd?define([],B):"object"==typeof exports?exports.NoSleep=B():A.NoSleep=B()}(this,function(){return function(A){function B(e){if(Q[e])return Q[e].exports;var o=Q[e]={i:e,l:!1,exports:{}};return A[e].call(o.exports,o,o.exports,B),o.l=!0,o.exports}var Q={};return B.m=A,B.c=Q,B.d=function(A,Q,e){B.o(A,Q)||Object.defineProperty(A,Q,{configurable:!1,enumerable:!0,get:e})},B.n=function(A){var Q=A&&A.__esModule?function(){return A.default}:function(){return A};return B.d(Q,"a",Q),Q},B.o=function(A,B){return Object.prototype.hasOwnProperty.call(A,B)},B.p="",B(B.s=0)}([function(A,B,Q){"use strict";function e(A,B){if(!(A instanceof B))throw new TypeError("Cannot call a class as a function")}var o=function(){function A(A,B){for(var Q=0;Q.5&&(this.noSleepVideo.currentTime=Math.random())}.bind(this)))}return o(A,[{key:"enable",value:function(){n?(this.disable(),this.noSleepTimer=window.setInterval(function(){window.location.href="/",window.setTimeout(window.stop,0)},15e3)):this.noSleepVideo.play()}},{key:"disable",value:function(){n?this.noSleepTimer&&(window.clearInterval(this.noSleepTimer),this.noSleepTimer=null):this.noSleepVideo.pause()}}]),A}();A.exports=E},function(A,B,Q){"use strict";A.exports="data:video/mp4;base64,AAAAIGZ0eXBtcDQyAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAACKBtZGF0AAAC8wYF///v3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE0MiByMjQ3OSBkZDc5YTYxIC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAxNCAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTEgcmVmPTEgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MToweDExMSBtZT1oZXggc3VibWU9MiBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0wIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MCA4eDhkY3Q9MCBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0wIHRocmVhZHM9NiBsb29rYWhlYWRfdGhyZWFkcz0xIHNsaWNlZF90aHJlYWRzPTAgbnI9MCBkZWNpbWF0ZT0xIGludGVybGFjZWQ9MCBibHVyYXlfY29tcGF0PTAgY29uc3RyYWluZWRfaW50cmE9MCBiZnJhbWVzPTMgYl9weXJhbWlkPTIgYl9hZGFwdD0xIGJfYmlhcz0wIGRpcmVjdD0xIHdlaWdodGI9MSBvcGVuX2dvcD0wIHdlaWdodHA9MSBrZXlpbnQ9MzAwIGtleWludF9taW49MzAgc2NlbmVjdXQ9NDAgaW50cmFfcmVmcmVzaD0wIHJjX2xvb2thaGVhZD0xMCByYz1jcmYgbWJ0cmVlPTEgY3JmPTIwLjAgcWNvbXA9MC42MCBxcG1pbj0wIHFwbWF4PTY5IHFwc3RlcD00IHZidl9tYXhyYXRlPTIwMDAwIHZidl9idWZzaXplPTI1MDAwIGNyZl9tYXg9MC4wIG5hbF9ocmQ9bm9uZSBmaWxsZXI9MCBpcF9yYXRpbz0xLjQwIGFxPTE6MS4wMACAAAAAOWWIhAA3//p+C7v8tDDSTjf97w55i3SbRPO4ZY+hkjD5hbkAkL3zpJ6h/LR1CAABzgB1kqqzUorlhQAAAAxBmiQYhn/+qZYADLgAAAAJQZ5CQhX/AAj5IQAD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"}])}); \ No newline at end of file diff --git a/public/js/color-thief.js b/public/js/color-thief.js deleted file mode 100644 index 1bac747..0000000 --- a/public/js/color-thief.js +++ /dev/null @@ -1,657 +0,0 @@ -/* - * Color Thief v2.0 - * by Lokesh Dhakar - http://www.lokeshdhakar.com - * - * Thanks - * ------ - * Nick Rabinowitz - For creating quantize.js. - * John Schulz - For clean up and optimization. @JFSIII - * Nathan Spady - For adding drag and drop support to the demo page. - * - * License - * ------- - * Copyright 2011, 2015 Lokesh Dhakar - * Released under the MIT license - * https://raw.githubusercontent.com/lokesh/color-thief/master/LICENSE - * - * @license - */ - - -/* - CanvasImage Class - Class that wraps the html image element and canvas. - It also simplifies some of the canvas context manipulation - with a set of helper functions. -*/ -var CanvasImage = function (image) { - this.canvas = document.createElement('canvas'); - this.context = this.canvas.getContext('2d'); - - document.body.appendChild(this.canvas); - - this.width = this.canvas.width = image.width; - this.height = this.canvas.height = image.height; - - this.context.drawImage(image, 0, 0, this.width, this.height); -}; - -CanvasImage.prototype.clear = function () { - this.context.clearRect(0, 0, this.width, this.height); -}; - -CanvasImage.prototype.update = function (imageData) { - this.context.putImageData(imageData, 0, 0); -}; - -CanvasImage.prototype.getPixelCount = function () { - return this.width * this.height; -}; - -CanvasImage.prototype.getImageData = function () { - return this.context.getImageData(0, 0, this.width, this.height); -}; - -CanvasImage.prototype.removeCanvas = function () { - this.canvas.parentNode.removeChild(this.canvas); -}; - - -var ColorThief = function () {}; - -/* - * getColor(sourceImage[, quality]) - * returns {r: num, g: num, b: num} - * - * Use the median cut algorithm provided by quantize.js to cluster similar - * colors and return the base color from the largest cluster. - * - * Quality is an optional argument. It needs to be an integer. 1 is the highest quality settings. - * 10 is the default. There is a trade-off between quality and speed. The bigger the number, the - * faster a color will be returned but the greater the likelihood that it will not be the visually - * most dominant color. - * - * */ -ColorThief.prototype.getColor = function(sourceImage, quality) { - var palette = this.getPalette(sourceImage, 5, quality); - var dominantColor = palette[0]; - return dominantColor; -}; - - -/* - * getPalette(sourceImage[, colorCount, quality]) - * returns array[ {r: num, g: num, b: num}, {r: num, g: num, b: num}, ...] - * - * Use the median cut algorithm provided by quantize.js to cluster similar colors. - * - * colorCount determines the size of the palette; the number of colors returned. If not set, it - * defaults to 10. - * - * BUGGY: Function does not always return the requested amount of colors. It can be +/- 2. - * - * quality is an optional argument. It needs to be an integer. 1 is the highest quality settings. - * 10 is the default. There is a trade-off between quality and speed. The bigger the number, the - * faster the palette generation but the greater the likelihood that colors will be missed. - * - * - */ -ColorThief.prototype.getPalette = function(sourceImage, colorCount, quality) { - - if (typeof colorCount === 'undefined' || colorCount < 2 || colorCount > 256) { - colorCount = 10; - } - if (typeof quality === 'undefined' || quality < 1) { - quality = 10; - } - - // Create custom CanvasImage object - var image = new CanvasImage(sourceImage); - var imageData = image.getImageData(); - var pixels = imageData.data; - var pixelCount = image.getPixelCount(); - - // Store the RGB values in an array format suitable for quantize function - var pixelArray = []; - for (var i = 0, offset, r, g, b, a; i < pixelCount; i = i + quality) { - offset = i * 4; - r = pixels[offset + 0]; - g = pixels[offset + 1]; - b = pixels[offset + 2]; - a = pixels[offset + 3]; - // If pixel is mostly opaque and not white - if (a >= 125) { - if (!(r > 250 && g > 250 && b > 250)) { - pixelArray.push([r, g, b]); - } - } - } - - // Send array to quantize function which clusters values - // using median cut algorithm - var cmap = MMCQ.quantize(pixelArray, colorCount); - var palette = cmap? cmap.palette() : null; - - // Clean up - image.removeCanvas(); - - return palette; -}; - -ColorThief.prototype.getColorFromUrl = function(imageUrl, callback, quality) { - sourceImage = document.createElement("img"); - var thief = this; - sourceImage.addEventListener('load' , function(){ - var palette = thief.getPalette(sourceImage, 5, quality); - var dominantColor = palette[0]; - callback(dominantColor, imageUrl); - }); - sourceImage.src = imageUrl -}; - - -ColorThief.prototype.getImageData = function(imageUrl, callback) { - xhr = new XMLHttpRequest(); - xhr.open('GET', imageUrl, true); - xhr.responseType = 'arraybuffer' - xhr.onload = function(e) { - if (this.status == 200) { - uInt8Array = new Uint8Array(this.response) - i = uInt8Array.length - binaryString = new Array(i); - for (var i = 0; i < uInt8Array.length; i++){ - binaryString[i] = String.fromCharCode(uInt8Array[i]) - } - data = binaryString.join('') - base64 = window.btoa(data) - callback ("data:image/png;base64,"+base64) - } - } - xhr.send(); -}; - -ColorThief.prototype.getColorAsync = function(imageUrl, callback, quality) { - var thief = this; - this.getImageData(imageUrl, function(imageData){ - sourceImage = document.createElement("img"); - sourceImage.addEventListener('load' , function(){ - var palette = thief.getPalette(sourceImage, 5, quality); - var dominantColor = palette[0]; - callback(dominantColor, this); - }); - sourceImage.src = imageData; - }); -}; - - - -/*! - * quantize.js Copyright 2008 Nick Rabinowitz. - * Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php - * @license - */ - -// fill out a couple protovis dependencies -/*! - * Block below copied from Protovis: http://mbostock.github.com/protovis/ - * Copyright 2010 Stanford Visualization Group - * Licensed under the BSD License: http://www.opensource.org/licenses/bsd-license.php - * @license - */ -if (!pv) { - var pv = { - map: function(array, f) { - var o = {}; - return f ? array.map(function(d, i) { o.index = i; return f.call(o, d); }) : array.slice(); - }, - naturalOrder: function(a, b) { - return (a < b) ? -1 : ((a > b) ? 1 : 0); - }, - sum: function(array, f) { - var o = {}; - return array.reduce(f ? function(p, d, i) { o.index = i; return p + f.call(o, d); } : function(p, d) { return p + d; }, 0); - }, - max: function(array, f) { - return Math.max.apply(null, f ? pv.map(array, f) : array); - } - }; -} - - - -/** - * Basic Javascript port of the MMCQ (modified median cut quantization) - * algorithm from the Leptonica library (http://www.leptonica.com/). - * Returns a color map you can use to map original pixels to the reduced - * palette. Still a work in progress. - * - * @author Nick Rabinowitz - * @example - -// array of pixels as [R,G,B] arrays -var myPixels = [[190,197,190], [202,204,200], [207,214,210], [211,214,211], [205,207,207] - // etc - ]; -var maxColors = 4; - -var cmap = MMCQ.quantize(myPixels, maxColors); -var newPalette = cmap.palette(); -var newPixels = myPixels.map(function(p) { - return cmap.map(p); -}); - - */ -var MMCQ = (function() { - // private constants - var sigbits = 5, - rshift = 8 - sigbits, - maxIterations = 1000, - fractByPopulations = 0.75; - - // get reduced-space color index for a pixel - function getColorIndex(r, g, b) { - return (r << (2 * sigbits)) + (g << sigbits) + b; - } - - // Simple priority queue - function PQueue(comparator) { - var contents = [], - sorted = false; - - function sort() { - contents.sort(comparator); - sorted = true; - } - - return { - push: function(o) { - contents.push(o); - sorted = false; - }, - peek: function(index) { - if (!sorted) sort(); - if (index===undefined) index = contents.length - 1; - return contents[index]; - }, - pop: function() { - if (!sorted) sort(); - return contents.pop(); - }, - size: function() { - return contents.length; - }, - map: function(f) { - return contents.map(f); - }, - debug: function() { - if (!sorted) sort(); - return contents; - } - }; - } - - // 3d color space box - function VBox(r1, r2, g1, g2, b1, b2, histo) { - var vbox = this; - vbox.r1 = r1; - vbox.r2 = r2; - vbox.g1 = g1; - vbox.g2 = g2; - vbox.b1 = b1; - vbox.b2 = b2; - vbox.histo = histo; - } - VBox.prototype = { - volume: function(force) { - var vbox = this; - if (!vbox._volume || force) { - vbox._volume = ((vbox.r2 - vbox.r1 + 1) * (vbox.g2 - vbox.g1 + 1) * (vbox.b2 - vbox.b1 + 1)); - } - return vbox._volume; - }, - count: function(force) { - var vbox = this, - histo = vbox.histo; - if (!vbox._count_set || force) { - var npix = 0, - index, i, j, k; - for (i = vbox.r1; i <= vbox.r2; i++) { - for (j = vbox.g1; j <= vbox.g2; j++) { - for (k = vbox.b1; k <= vbox.b2; k++) { - index = getColorIndex(i,j,k); - npix += (histo[index] || 0); - } - } - } - vbox._count = npix; - vbox._count_set = true; - } - return vbox._count; - }, - copy: function() { - var vbox = this; - return new VBox(vbox.r1, vbox.r2, vbox.g1, vbox.g2, vbox.b1, vbox.b2, vbox.histo); - }, - avg: function(force) { - var vbox = this, - histo = vbox.histo; - if (!vbox._avg || force) { - var ntot = 0, - mult = 1 << (8 - sigbits), - rsum = 0, - gsum = 0, - bsum = 0, - hval, - i, j, k, histoindex; - for (i = vbox.r1; i <= vbox.r2; i++) { - for (j = vbox.g1; j <= vbox.g2; j++) { - for (k = vbox.b1; k <= vbox.b2; k++) { - histoindex = getColorIndex(i,j,k); - hval = histo[histoindex] || 0; - ntot += hval; - rsum += (hval * (i + 0.5) * mult); - gsum += (hval * (j + 0.5) * mult); - bsum += (hval * (k + 0.5) * mult); - } - } - } - if (ntot) { - vbox._avg = [~~(rsum/ntot), ~~(gsum/ntot), ~~(bsum/ntot)]; - } else { -// console.log('empty box'); - vbox._avg = [ - ~~(mult * (vbox.r1 + vbox.r2 + 1) / 2), - ~~(mult * (vbox.g1 + vbox.g2 + 1) / 2), - ~~(mult * (vbox.b1 + vbox.b2 + 1) / 2) - ]; - } - } - return vbox._avg; - }, - contains: function(pixel) { - var vbox = this, - rval = pixel[0] >> rshift; - gval = pixel[1] >> rshift; - bval = pixel[2] >> rshift; - return (rval >= vbox.r1 && rval <= vbox.r2 && - gval >= vbox.g1 && gval <= vbox.g2 && - bval >= vbox.b1 && bval <= vbox.b2); - } - }; - - // Color map - function CMap() { - this.vboxes = new PQueue(function(a,b) { - return pv.naturalOrder( - a.vbox.count()*a.vbox.volume(), - b.vbox.count()*b.vbox.volume() - ); - }); - } - CMap.prototype = { - push: function(vbox) { - this.vboxes.push({ - vbox: vbox, - color: vbox.avg() - }); - }, - palette: function() { - return this.vboxes.map(function(vb) { return vb.color; }); - }, - size: function() { - return this.vboxes.size(); - }, - map: function(color) { - var vboxes = this.vboxes; - for (var i=0; i 251 - var idx = vboxes.length-1, - highest = vboxes[idx].color; - if (highest[0] > 251 && highest[1] > 251 && highest[2] > 251) - vboxes[idx].color = [255,255,255]; - } - }; - - // histo (1-d array, giving the number of pixels in - // each quantized region of color space), or null on error - function getHisto(pixels) { - var histosize = 1 << (3 * sigbits), - histo = new Array(histosize), - index, rval, gval, bval; - pixels.forEach(function(pixel) { - rval = pixel[0] >> rshift; - gval = pixel[1] >> rshift; - bval = pixel[2] >> rshift; - index = getColorIndex(rval, gval, bval); - histo[index] = (histo[index] || 0) + 1; - }); - return histo; - } - - function vboxFromPixels(pixels, histo) { - var rmin=1000000, rmax=0, - gmin=1000000, gmax=0, - bmin=1000000, bmax=0, - rval, gval, bval; - // find min/max - pixels.forEach(function(pixel) { - rval = pixel[0] >> rshift; - gval = pixel[1] >> rshift; - bval = pixel[2] >> rshift; - if (rval < rmin) rmin = rval; - else if (rval > rmax) rmax = rval; - if (gval < gmin) gmin = gval; - else if (gval > gmax) gmax = gval; - if (bval < bmin) bmin = bval; - else if (bval > bmax) bmax = bval; - }); - return new VBox(rmin, rmax, gmin, gmax, bmin, bmax, histo); - } - - function medianCutApply(histo, vbox) { - if (!vbox.count()) return; - - var rw = vbox.r2 - vbox.r1 + 1, - gw = vbox.g2 - vbox.g1 + 1, - bw = vbox.b2 - vbox.b1 + 1, - maxw = pv.max([rw, gw, bw]); - // only one pixel, no split - if (vbox.count() == 1) { - return [vbox.copy()]; - } - /* Find the partial sum arrays along the selected axis. */ - var total = 0, - partialsum = [], - lookaheadsum = [], - i, j, k, sum, index; - if (maxw == rw) { - for (i = vbox.r1; i <= vbox.r2; i++) { - sum = 0; - for (j = vbox.g1; j <= vbox.g2; j++) { - for (k = vbox.b1; k <= vbox.b2; k++) { - index = getColorIndex(i,j,k); - sum += (histo[index] || 0); - } - } - total += sum; - partialsum[i] = total; - } - } - else if (maxw == gw) { - for (i = vbox.g1; i <= vbox.g2; i++) { - sum = 0; - for (j = vbox.r1; j <= vbox.r2; j++) { - for (k = vbox.b1; k <= vbox.b2; k++) { - index = getColorIndex(j,i,k); - sum += (histo[index] || 0); - } - } - total += sum; - partialsum[i] = total; - } - } - else { /* maxw == bw */ - for (i = vbox.b1; i <= vbox.b2; i++) { - sum = 0; - for (j = vbox.r1; j <= vbox.r2; j++) { - for (k = vbox.g1; k <= vbox.g2; k++) { - index = getColorIndex(j,k,i); - sum += (histo[index] || 0); - } - } - total += sum; - partialsum[i] = total; - } - } - partialsum.forEach(function(d,i) { - lookaheadsum[i] = total-d; - }); - function doCut(color) { - var dim1 = color + '1', - dim2 = color + '2', - left, right, vbox1, vbox2, d2, count2=0; - for (i = vbox[dim1]; i <= vbox[dim2]; i++) { - if (partialsum[i] > total / 2) { - vbox1 = vbox.copy(); - vbox2 = vbox.copy(); - left = i - vbox[dim1]; - right = vbox[dim2] - i; - if (left <= right) - d2 = Math.min(vbox[dim2] - 1, ~~(i + right / 2)); - else d2 = Math.max(vbox[dim1], ~~(i - 1 - left / 2)); - // avoid 0-count boxes - while (!partialsum[d2]) d2++; - count2 = lookaheadsum[d2]; - while (!count2 && partialsum[d2-1]) count2 = lookaheadsum[--d2]; - // set dimensions - vbox1[dim2] = d2; - vbox2[dim1] = vbox1[dim2] + 1; -// console.log('vbox counts:', vbox.count(), vbox1.count(), vbox2.count()); - return [vbox1, vbox2]; - } - } - - } - // determine the cut planes - return maxw == rw ? doCut('r') : - maxw == gw ? doCut('g') : - doCut('b'); - } - - function quantize(pixels, maxcolors) { - // short-circuit - if (!pixels.length || maxcolors < 2 || maxcolors > 256) { -// console.log('wrong number of maxcolors'); - return false; - } - - // XXX: check color content and convert to grayscale if insufficient - - var histo = getHisto(pixels), - histosize = 1 << (3 * sigbits); - - // check that we aren't below maxcolors already - var nColors = 0; - histo.forEach(function() { nColors++; }); - if (nColors <= maxcolors) { - // XXX: generate the new colors from the histo and return - } - - // get the beginning vbox from the colors - var vbox = vboxFromPixels(pixels, histo), - pq = new PQueue(function(a,b) { return pv.naturalOrder(a.count(), b.count()); }); - pq.push(vbox); - - // inner function to do the iteration - function iter(lh, target) { - var ncolors = 1, - niters = 0, - vbox; - while (niters < maxIterations) { - vbox = lh.pop(); - if (!vbox.count()) { /* just put it back */ - lh.push(vbox); - niters++; - continue; - } - // do the cut - var vboxes = medianCutApply(histo, vbox), - vbox1 = vboxes[0], - vbox2 = vboxes[1]; - - if (!vbox1) { -// console.log("vbox1 not defined; shouldn't happen!"); - return; - } - lh.push(vbox1); - if (vbox2) { /* vbox2 can be null */ - lh.push(vbox2); - ncolors++; - } - if (ncolors >= target) return; - if (niters++ > maxIterations) { -// console.log("infinite loop; perhaps too few pixels!"); - return; - } - } - } - - // first set of colors, sorted by population - iter(pq, fractByPopulations * maxcolors); - - // Re-sort by the product of pixel occupancy times the size in color space. - var pq2 = new PQueue(function(a,b) { - return pv.naturalOrder(a.count()*a.volume(), b.count()*b.volume()); - }); - while (pq.size()) { - pq2.push(pq.pop()); - } - - // next set - generate the median cuts using the (npix * vol) sorting. - iter(pq2, maxcolors - pq2.size()); - - // calculate the actual colors - var cmap = new CMap(); - while (pq2.size()) { - cmap.push(pq2.pop()); - } - - return cmap; - } - - return { - quantize: quantize - }; -})(); diff --git a/public/js/fullscreen.js b/public/js/fullscreen.js deleted file mode 100644 index 3787301..0000000 --- a/public/js/fullscreen.js +++ /dev/null @@ -1,62 +0,0 @@ -"use strict"; -var socket = io(); - -$(document).ready(function() { - $("#buttonMenu").html(getSVG("menu")); - - socket.on("pairStatus", function(payload) { - var pairEnabled = payload.pairEnabled; - - if (pairEnabled === true) { - showSection("nowPlaying"); - } else { - showSection("pairDisabled"); - } - }); -}); - -function showSection(sectionName) { - switch (sectionName) { - case "nowPlaying": - $("#buttonMenu").show(); - // Show Now Playing screen - $("#nowPlaying").show(); - // Hide inactive sections - $("#pairDisabled").hide(); - $("#libraryBrowser").hide(); - $("#overlayMainMenu").hide(); - break; - case "libraryBrowser": - $("#buttonMenu").show(); - // Show libraryBrowser - $("#libraryBrowser").show(); - // Hide inactive sections - $("#pairDisabled").hide(); - $("#nowPlaying").hide(); - $("#overlayMainMenu").hide(); - break; - case "pairDisabled": - // Show pairDisabled section - $("#pairDisabled").show(); - // Hide everthing else - $("#buttonMenu").hide(); - $("#libraryBrowser").hide(); - $("#nowPlaying").hide(); - $("#pageLoading").hide(); - break; - default: - break; - } - var t = setTimeout(function() { - $("#pageLoading").hide(); - }, 250); -} - -function getSVG(cmd) { - switch (cmd) { - case "menu": - return ''; - default: - break; - } -} diff --git a/public/js/jquery.simplemarquee.js b/public/js/jquery.simplemarquee.js deleted file mode 100644 index 7a76a18..0000000 --- a/public/js/jquery.simplemarquee.js +++ /dev/null @@ -1,355 +0,0 @@ -!(function (root, factory) { - - 'use strict'; - - if (typeof define === 'function' && define.amd) { - define(['jquery'], factory); - } else if (typeof exports === 'object') { - module.exports = factory(require('jquery')); - } else { - factory(root.jQuery); - } -} (this, function ($) { - - 'use strict'; - - var cssPrefixes = ['-webkit-', '-moz-', '-o-', ''], - eventPrefixes = ['webkit', 'moz', 'MS', 'o', '']; - - function prefixedEvent(element, name, callback) { - eventPrefixes.forEach(function (prefix) { - if (!prefix) { - name = name.toLowerCase(); - } - - element.on(prefix + name, callback); - }); - } - - function SimpleMarquee(element, options) { - this._element = $(element); - this._options = $.extend({ - speed: 30, - direction: 'left', - cycles: 1, - space: 40, - delayBetweenCycles: 2000, - handleHover: true, - handleResize: true, - easing: 'linear' - }, options); - - this._resizeDelay = parseInt(this._options.handleResize, 10) || 300; - this._horizontal = this._options.direction === 'left' || this._options.direction === 'right'; - this._animationName = 'simplemarquee-' + Math.round((Math.random() * 10000000000000)).toString(18); - - // Binds - this._onResize = this._onResize.bind(this); - this._onCycle = this._onCycle.bind(this); - - // Events - this._options.handleResize && $(window).on('resize', this._onResize); - this._options.handleHover && this._element.on({ - 'mouseenter.simplemarquee': this._onMouseEnter.bind(this), - 'mouseleave.simplemarquee': this._onMouseLeave.bind(this) - }); - - // Destroy event, see: https://github.com/IndigoUnited/jquery.destroy-event - this._element.on('destroy.simplemarquee', this.destroy.bind(this)); - - // Init! - this.update(true); - } - - // ---------------------------------- - - SimpleMarquee.prototype.update = function (restart) { - this._reset(); - this._setup(); - - // If no animation is needed, reset vars - if (!this._needsAnimation) { - this._paused = false; - this._cycles = 0; - // If asked to restart, start from the begining - } else if (restart) { - this._paused = false; - this._cycles = -1; - this._onCycle(); - // Pause it if the animation was paused - } else if (this._paused) { - this._pause(); - } - - return this; - }; - - SimpleMarquee.prototype.pause = function () { - if (this._needsAnimation) { - this._resetCycle(); - - if (!this._paused) { - this._pause(); - this._element.triggerHandler('pause'); - this._paused = true; - } - } - - return this; - }; - - SimpleMarquee.prototype.resume = function () { - if (this._needsAnimation) { - this._resetCycle(); - - if (this._paused) { - this._resume(); - this._element.triggerHandler('resume'); - this._paused = false; - } - } - - return this; - }; - - SimpleMarquee.prototype.toggle = function () { - this._paused ? this.resume() : this.pause(); - - return this; - }; - - SimpleMarquee.prototype.destroy = function () { - this._reset(); - - // Cancel timeouts - this._resizeTimeout && clearTimeout(this._resizeTimeout); - - // Clear listeners - $(window).off('resize', this._onResize); - this._element.off('.simplemarquee'); - - this._element.removeData('_simplemarquee'); - this._element = null; - }; - - // -------------------- - - SimpleMarquee.prototype._reset = function () { - // Reset styles - this._element - .removeClass('has-enough-space') - .css({ - 'word-wrap': '', // Deprecated in favor of overflow wrap - 'overflow-wrap': '', - 'white-space': '', - 'overflow': '', - }); - - // Remove created elements - // Recover contents only if the contents are still there - // This is necessary because the user might have called .html() and .simplemarquee('update') - // In this situation, we should not restore the original contents - if (this._wrappers) { - this._contents.closest(this._element).length && this._element.append(this._contents); - this._wrappers.remove(); - this._element.children('style').remove(); - } - - // Reset vars - this._contents = this._wrappers = this._size = null; - this._needsAnimation = false; - - // Reset cycle timer - this._resetCycle(); - }; - - SimpleMarquee.prototype._setup = function () { - var wrapper; - - // Set necessary wrap styles and decide if we need the marquee - if (this._horizontal) { - this._element.css({ - 'word-wrap': 'normal', // Deprecated in favor of overflow wrap - 'overflow-wrap': 'normal', - 'white-space': 'nowrap', - 'overflow': 'hidden', - }); - - this._needsAnimation = this._element[0].scrollWidth > Math.ceil(this._element.outerWidth()); - } else { - this._element.css({ - 'word-wrap': 'break-word', // Deprecated in favor of overflow wrap - 'overflow-wrap': 'break-word', - 'white-space': 'normal', - 'overflow': 'hidden', - }); - - this._needsAnimation = this._element[0].scrollHeight > Math.ceil(this._element.outerHeight()); - } - - this._element.toggleClass('has-enough-space', !this._needsAnimation); - - // If marquee is not necessary, skip the code bellow - if (!this._needsAnimation) { - return; - } - - // Wrap contents - this._contents = this._element.contents(); - wrapper = $(''); - wrapper.append(this._contents); - this._element.append(wrapper); - wrapper = $(''); - wrapper.append(this._contents.clone()); - this._element.append(wrapper); - this._wrappers = this._element.children(); - - // Calculate the contents size and define the margin according - // to the specified space option - if (this._horizontal) { - this._wrappers.css('display', 'inline-block'); // Use display inline block for the wrappers - this._wrappers.eq(1).css('margin-left', this._options.space); - this._size = this._wrappers.eq(0).outerWidth() + this._options.space; - } else { - this._wrappers.eq(1).css('margin-top', this._options.space); - this._size = this._wrappers.eq(0).outerHeight() + this._options.space; - } - - // Build the animation - this._setupAnimation(); - }; - - SimpleMarquee.prototype._setupAnimation = function () { - var styleStr; - - // Add the style element - styleStr = '\n'; - - // Append the style and associate the animation to the wrappers - this._element.append(styleStr); - this._wrappers.css('animation', this._animationName + ' ' + (this._size / this._options.speed) + 's ' + this._options.easing + ' infinite'); - - // Setup animation listeners - prefixedEvent(this._wrappers.eq(0), 'AnimationIteration', this._onCycle); - }; - - SimpleMarquee.prototype._pause = function () { - this._wrappers.css('animation-play-state', 'paused'); - }; - - SimpleMarquee.prototype._resume = function () { - this._wrappers.css('animation-play-state', ''); - }; - - SimpleMarquee.prototype._resetCycle = function () { - if (this._cycleTimeout) { - clearTimeout(this._cycleTimeout); - this._cycleTimeout = null; - } - }; - - SimpleMarquee.prototype._onCycle = function () { - this._resetCycle(); - - this._cycles += 1; - - // Pause if reached the end - if (this._cycles >= this._options.cycles) { - this.pause(); - this._element.triggerHandler('finish'); - // Otherwise pause it and schedule the resume - } else { - this._pause(); - this._element.triggerHandler('cycle'); - - this._cycleTimeout = setTimeout(function () { - this._cycleTimeout = null; - this._resume(); - }.bind(this), this._options.delayBetweenCycles); - } - }; - - SimpleMarquee.prototype._onMouseEnter = function () { - // Restart if already finished - if (this._paused) { - this._cycles = 0; - this.resume(); - } else { - this.pause(); - } - }; - - SimpleMarquee.prototype._onMouseLeave = function () { - this.resume(); - }; - - SimpleMarquee.prototype._onResize = function () { - this._resizeTimeout && clearTimeout(this._resizeTimeout); - this._resizeTimeout = setTimeout(function () { - this._resizeTimeout = null; - this.update(); - }.bind(this), this._resizeDelay); - }; - - // ----------------------------------------------- - - $.fn.simplemarquee = function (options) { - this.each(function (index, el) { - var instance; - - el = $(el); - instance = el.data('_simplemarquee'); - - // .simplemarquee('method') - if (typeof options === 'string') { - if (!instance) { - return; - } - - instance[options](arguments[1]); - // .simplemarquee({}) - } else { - if (!instance) { - instance = new SimpleMarquee(el, options); - el.data('_simplemarquee', instance); - } else { - instance.update(true); - } - } - }); - - return this; - }; - - $.fn.simplemarquee.Constructor = SimpleMarquee; - - return $; -})); diff --git a/public/js/library.js b/public/js/library.js deleted file mode 100644 index 4cb49c8..0000000 --- a/public/js/library.js +++ /dev/null @@ -1,344 +0,0 @@ -"use strict"; -var socket = io(); -var settings = []; - -$(document).ready(function() { - showPage(); -}); - -function showPage() { - // Read settings from cookie - settings.zoneID = readCookie("settings['zoneID']"); - settings.displayName = readCookie("settings['displayName']"); - - // Set page fields to settings - if (settings.zoneID === null) { - $("#overlayZoneList").show(); - } - - if (settings.displayName !== null) { - $(".buttonZoneName").html(settings.displayName); - if (settings.zoneID !== null) { - goHome(); - } - } - - enableSockets(); -} - -function enableSockets() { - socket.on("zoneList", function(payload) { - $(".zoneList").html(""); - - if (payload !== undefined) { - for (var x in payload) { - $(".zoneList").append( - '" - ); - } - // Set zone button to active - $(".buttonZoneId").removeClass("buttonSettingActive"); - $("#button-" + settings.zoneID).addClass("buttonSettingActive"); - } - }); -} - -function selectZone(zone_id, display_name) { - settings.zoneID = zone_id; - settings.displayName = display_name; - $(".buttonZoneName").html(settings.displayName); - - // Set zone button to active - $(".buttonZoneId").removeClass("buttonSettingActive"); - $("#button-" + settings.zoneID).addClass("buttonSettingActive"); - $("#overlayZoneList").hide(); - goHome(settings.zoneID); -} - -function goBack() { - var data = {}; - data.zone_id = settings.zoneID; - data.options = { pop_levels: 1 }; - - $.ajax({ - type: "POST", - data: JSON.stringify(data), - contentType: "application/json", - url: "/roonapi/goRefreshBrowse", - success: function(payload) { - showData(payload, settings.zoneID, 1); - } - }); -} - -function goHome() { - var data = {}; - data.zone_id = settings.zoneID; - data.options = { pop_all: true }; - - $.ajax({ - type: "POST", - data: JSON.stringify(data), - contentType: "application/json", - url: "/roonapi/goRefreshBrowse", - success: function(payload) { - showData(payload, settings.zoneID); - } - }); -} - -function goRefresh() { - var data = {}; - data.zone_id = settings.zoneID; - data.options = { refresh_list: true }; - - $.ajax({ - type: "POST", - data: JSON.stringify(data), - contentType: "application/json", - url: "/roonapi/goRefreshBrowse", - success: function(payload) { - showData(payload, settings.zoneID); - } - }); -} - -function goList(item_key, listoffset) { - var data = {}; - data.zone_id = settings.zoneID; - data.options = { item_key: item_key }; - - if (listoffset === undefined) { - data.listoffset = 0; - } else { - data.listoffset = listoffset; - } - - $.ajax({ - type: "POST", - data: JSON.stringify(data), - contentType: "application/json", - url: "/roonapi/goRefreshBrowse", - success: function(payload) { - showData(payload, settings.zoneID); - } - }); -} - -function goPage(listoffset) { - var data = {}; - if (listoffset === undefined) { - data.listoffset = 0; - } else { - data.listoffset = listoffset; - } - - $.ajax({ - type: "POST", - data: JSON.stringify(data), - contentType: "application/json", - url: "/roonapi/goLoadBrowse", - success: function(payload) { - showData(payload, settings.zoneID); - } - }); -} - -function goSearch() { - var data = {}; - data.zone_id = settings.zoneID; - data.options = {}; - if ($("#searchText").val() === "" || $("#searchItemKey").val() === "") { - return; - } else { - data.options.item_key = $("#searchItemKey").val(); - data.options.input = $("#searchText").val(); - } - - $.ajax({ - type: "POST", - data: JSON.stringify(data), - contentType: "application/json", - url: "/roonapi/goRefreshBrowse", - success: function(payload) { - showData(payload, settings.zoneID); - } - }); -} - -function showData(payload, zone_id) { - $("#buttonRefresh") - .html(getSVG("refresh")) - .attr("onclick", "goRefresh()"); - - var items = payload.data.items; - var list = payload.data.list; - - $("#items").html(""); - - if (items !== null) { - $("#listTitle").html(list.title); - $("#listSubtitle").html(list.subtitle); - - if (list.image_key) { - $("#listImage") - .html( - '' - ) - .show(); - $("#coverBackground") - .css( - "background-image", - 'url("/roonapi/getImage?image_key=' + list.image_key + '")' - ) - .show(); - } else { - $("#listImage") - .html("") - .hide(); - $("#coverBackground").hide(); - } - - for (var x in items) { - var html = ""; - if (items[x].input_prompt) { - html += '
'; - html += - ''; - html += - '"; - html += - ''; - html += "
"; - - $("#items").append(html); - } else { - html += - '"; - html += ""; - - $("#items").append(html); - } - } - - if (list.level == 0) { - $("#buttonBack") - .prop("disabled", true) - .attr("aria-disabled", true) - .html(getSVG("back")); - $("#buttonHome") - .prop("disabled", true) - .attr("aria-disabled", true) - .html(getSVG("home")); - } else { - $("#buttonBack") - .attr("onclick", "goBack()") - .attr("aria-disabled", false) - .html(getSVG("back")) - .prop("disabled", false); - $("#buttonHome") - .attr("onclick", "goHome()") - .attr("aria-disabled", false) - .html(getSVG("home")) - .prop("disabled", false); - } - - if (list.display_offset > 0) { - $("#buttonPrev") - .prop("disabled", false) - .attr("onclick", "goPage('" + (list.display_offset - 100) + "')") - .attr("aria-disabled", false) - .html(getSVG("prev")); - } else { - $("#buttonPrev") - .prop("disabled", true) - .attr("aria-disabled", true) - .html(getSVG("prev")); - } - - if (list.display_offset + items.length < list.count) { - $("#buttonNext") - .prop("disabled", false) - .attr("aria-disabled", false) - .attr("onclick", "goPage('" + (list.display_offset + 100) + "')") - .html(getSVG("next")); - } else { - $("#buttonNext") - .prop("disabled", true) - .attr("aria-disabled", true) - .html(getSVG("next")); - } - - $("#pageNumber").html( - list.display_offset + - 1 + - "-" + - (list.display_offset + items.length) + - " of " + - list.count - ); - - if ( - $("#buttonPrev").prop("disabled") === true && - $("#buttonNext").prop("disabled") === true - ) { - $("#navLine2").hide(); - $("#content").css("bottom", "0"); - } else { - $("#navLine2").show(); - $("#content").css("bottom", "48px"); - } - } -} - -function readCookie(name) { - return Cookies.get(name); -} - -function getSVG(cmd) { - switch (cmd) { - case "home": - return ''; - case "back": - return ''; - case "refresh": - return ''; - case "prev": - return ''; - case "next": - return ''; - case "backspace": - return ''; - case "search": - return ''; - case "music": - return ''; - default: - break; - } -} diff --git a/public/js/nowplaying.js b/public/js/nowplaying.js deleted file mode 100644 index dcc2083..0000000 --- a/public/js/nowplaying.js +++ /dev/null @@ -1,923 +0,0 @@ -"use strict"; -var socket = io(); -var noSleep = new NoSleep(); -var curZone; -var css = []; -var settings = []; -var state = []; -var inVolumeSlider = false; - -$(document).ready(function() { - showPage(); - fixFontSize(); -}); - -function toggleCircleIcon() { - if ($("#circleIconsSwitch").is(":checked", false)) { - // Triggered when the unchecked toggle has been checked - $("#circleIconsSwitch").prop("checked", true); - settings.useCircleIcons = true; - state = []; - } else { - // Triggered when the checked toggle has been unchecked - $("#circleIconsSwitch").prop("checked", false); - settings.useCircleIcons = false; - state = []; - } - setCookie("settings['useCircleIcons']", settings.useCircleIcons); -} - -function toggle4kImages() { - if ($("#4kImagesSwitch").is(":checked", false)) { - // Triggered when the unchecked toggle has been checked - $("#4kImagesSwitch").prop("checked", true); - settings.use4kImages = true; - state = []; - } else { - // Triggered when the checked toggle has been unchecked - $("#4kImagesSwitch").prop("checked", false); - settings.use4kImages = false; - state = []; - } - setCookie("settings['use4kImages']", settings.use4kImages); -} - -function toggleScreensaver() { - if ($("#screensaverSwitch").is(":checked", false)) { - // Triggered when the unchecked toggle has been checked - $("#screensaverSwitch").prop("checked", true); - settings.screensaverDisable = true; - state = []; - } else { - // Triggered when the checked toggle has been unchecked - $("#screensaverSwitch").prop("checked", false); - settings.screensaverDisable = false; - state = []; - } - setCookie("settings['screensaverDisable']", settings.screensaverDisable); -} - -function toggleNotifications() { - if ($("#notificationsSwitch").is(":checked", false)) { - // Triggered when the unchecked toggle has been checked - $("#notificationsSwitch").prop("checked", true); - settings.showNotifications = true; - settings.showNotificationsChanged = true; - } else { - // Triggered when the checked toggle has been unchecked - $("#notificationsSwitch").prop("checked", false); - settings.showNotifications = false; - settings.showNotificationsChanged = true; - } - setCookie("settings['showNotifications']", settings.showNotifications); -} - -function notifyMe(three_line) { - // Let's check if the browser supports notifications - if (!("Notification" in window)) { - console.log("This browser does not support desktop notification"); - } - - // Let's check whether notification permissions have already been granted - else if (Notification.permission === "granted") { - // If it's okay let's create a notification - var options = { - body: three_line.line2 + " - " + three_line.line3, - icon: "/roonapi/getImage?image_key=" + curZone.now_playing.image_key - }; - var notification = new Notification(three_line.line1, options); - } - - // Otherwise, we need to ask the user for permission - else if (Notification.permission !== "denied") { - Notification.requestPermission(function(permission) { - // If the user accepts, let's create a notification - if (permission === "granted") { - var options = { - body: three_line.line2 + " - " + three_line.line3, - icon: "/roonapi/getImage?image_key=" + curZone.now_playing.image_key - }; - var notification = new Notification(three_line.line1, options); - } - }); - } - - // At last, if the user has denied notifications, and you - // want to be respectful there is no need to bother them any more. - console.log(notification); -} - -function fixFontSize() { - $(".lineMusicInfo").css( - "font-size", - Math.round(parseInt($("#line1").height() * 0.75)) - ); - - var zoneFontSize = Math.round(parseInt($("#containerZoneList").height() / 3)); - if (zoneFontSize <= 20) { - $("#nowplayingZoneList").css("font-size", 20); - } else { - $("#nowplayingZoneList").css("font-size", zoneFontSize); - } -} - -function showPage() { - // Read settings from cookie - settings.zoneID = readCookie("settings['zoneID']"); - settings.displayName = readCookie("settings['displayName']"); - settings.theme = readCookie("settings['theme']"); - - var showNotifications = readCookie("settings['showNotifications']"); - if (showNotifications === "true") { - settings.showNotifications = true; - $("#notificationsSwitch").prop("checked", true); - } else { - settings.showNotifications = false; - $("#notificationsSwitch").prop("checked", false); - } - - var useCircleIcons = readCookie("settings['useCircleIcons']"); - if (useCircleIcons === "true") { - settings.useCircleIcons = true; - $("#circleIconsSwitch").prop("checked", true); - } else { - settings.useCircleIcons = false; - $("#circleIconsSwitch").prop("checked", false); - } - - var use4kImages = readCookie("settings['use4kImages']"); - if (use4kImages === "true") { - settings.use4kImages = true; - $("#4kImagesSwitch").prop("checked", true); - } else { - settings.use4kImages = false; - $("#4kImagesSwitch").prop("checked", false); - } - - var screensaverDisable = readCookie("settings['screensaverDisable']"); - if (screensaverDisable === "true") { - settings.screensaverDisable = true; - $("#screensaverSwitch").prop("checked", true); - } else { - settings.screensaverDisable = false; - $("#screensaverSwitch").prop("checked", false); - } - - // Set page fields to settings - if (settings.zoneID === undefined) { - $("#overlayZoneList").show(); - } - - if (settings.displayName !== undefined) { - $(".buttonZoneName").html(settings.displayName); - } - - if (settings.theme === undefined) { - settings.theme = "dark"; - setCookie("settings['theme']", settings.theme); - setTheme(settings.theme); - } else { - setTheme(settings.theme); - } - - // Get Buttons - $("#buttonVolume").html(getSVG("volume")); - $("#buttonSettings").html(getSVG("settings")); - - // Hide pages until player state is determined - $("#notPlaying").hide(); - $("#isPlaying").hide(); - - enableSockets(); -} - -function enableSockets() { - socket.on("zoneList", function(payload) { - $(".zoneList").html(""); - - if (payload !== undefined) { - var payloadids = []; - for (var x in payload) { - $(".zoneList").append( - '" - ); - payloadids.push(payload[x].zone_id); - } - if (payloadids.includes(settings.zoneID) === false) { - $("#overlayZoneList").show(); - } - } - }); - - socket.on("zoneStatus", function(payload) { - if (settings.zoneID !== undefined) { - for (var x in payload) { - if (payload[x].zone_id == settings.zoneID) { - curZone = payload[x]; - // Set zone button to active - $(".buttonZoneId").removeClass("buttonSettingActive"); - $("#button-" + settings.zoneID).addClass("buttonSettingActive"); - - updateZone(curZone); - } else { - curZone = undefined; - } - } - } - }); -} - -function selectZone(zone_id, display_name) { - settings.zoneID = zone_id; - setCookie("settings['zoneID']", settings.zoneID); - - settings.displayName = display_name; - setCookie("settings['displayName']", settings.displayName); - $(".buttonZoneName").html(settings.displayName); - - // Set zone button to active - $(".buttonZoneId").removeClass("buttonSettingActive"); - $("#button-" + settings.zoneID).addClass("buttonSettingActive"); - - // Reset state on zone switch - state = []; - socket.emit("getZone", zone_id); - - $("#overlayZoneList").hide(); -} - -function updateZone(curZone) { - if (curZone.now_playing) { - showIsPlaying(curZone); - } else { - showNotPlaying(); - } -} - -function showNotPlaying() { - $("#notPlaying").show(); - $("#isPlaying").hide(); - - // Reset icons - $("#controlPrev") - .html(getSVG("prev")) - .removeClass("buttonAvailable") - .addClass("buttonInactive"); - $("#controlPlayPauseStop") - .html(getSVG("play")) - .removeClass("buttonAvailable") - .addClass("buttonInactive"); - $("#controlNext") - .html(getSVG("next")) - .removeClass("buttonAvailable") - .addClass("buttonInactive"); - $("#buttonLoop") - .html(getSVG("loop")) - .removeClass("buttonAvailable buttonActive") - .addClass("buttonInactive"); - $("#buttonShuffle") - .html(getSVG("shuffle")) - .removeClass("buttonAvailable buttonActive") - .addClass("buttonInactive"); - $("#buttonRadio") - .html(getSVG("radio")) - .removeClass("buttonAvailable buttonActive") - .addClass("buttonInactive"); - - // Blank text fields - $("#line1, #line2, #line3, #seekPosition, #seekLength").html(" "); - $("#trackSeekValue").css("width", "0%"); - - // Reset pictures - $("#containerCoverImage").html( - '' - ); - $("#coverBackground").css("background-image", "url('/img/transparent.png')"); - - // Turn off screensaverDisable - noSleep.disable(); - - // Reset state and browser title - state = []; - $(document).prop("title", "Roon Web Controller"); -} - -function showIsPlaying(curZone) { - $("#notPlaying").hide(); - $("#isPlaying").show(); - - if (state.line1 != curZone.now_playing.three_line.line1) { - state.line1 = curZone.now_playing.three_line.line1; - fixFontSize(); - $("#line1") - .html(state.line1) - .simplemarquee({ - cycles: Infinity, - delayBetweenCycles: 5000, - handleHover: false - }); - } - - if (state.line2 != curZone.now_playing.three_line.line2) { - state.line2 = curZone.now_playing.three_line.line2; - $("#line2") - .html(curZone.now_playing.three_line.line2) - .simplemarquee({ - cycles: Infinity, - delayBetweenCycles: 5000, - handleHover: false - }); - } - - if (state.line3 != curZone.now_playing.three_line.line3) { - state.line3 = curZone.now_playing.three_line.line3; - $("#line3") - .html(curZone.now_playing.three_line.line3) - .simplemarquee({ - cycles: Infinity, - delayBetweenCycles: 5000, - handleHover: false - }); - } - - if (state.title != curZone.now_playing.one_line.line1) { - state.title = curZone.now_playing.one_line.line1; - $(document).prop("title", curZone.now_playing.one_line.line1); - if (settings.showNotifications === true) { - notifyMe(curZone.now_playing.three_line); - } - } - - if (settings.showNotificationsChanged === true) { - if (settings.showNotifications === true) { - notifyMe(curZone.now_playing.three_line); - } - settings.showNotificationsChanged = false; - } - - if (curZone.is_seek_allowed === true) { - $("#seekPosition").html(secondsConvert(curZone.now_playing.seek_position)); - $("#seekLength").html(secondsConvert(curZone.now_playing.length)); - $("#trackSeekValue").css( - "width", - Math.round( - (curZone.now_playing.seek_position / curZone.now_playing.length) * 100 - ) + "%" - ); - } else { - $("#seekPosition, #seekLength").html(" "); - $("#trackSeekValue").css("width", "0%"); - } - - if ( - state.image_key != curZone.now_playing.image_key || - state.image_key === undefined - ) { - state.image_key = curZone.now_playing.image_key; - - if (curZone.now_playing.image_key === undefined) { - state.imgUrl = "/img/transparent.png"; - } else { - if (settings.use4kImages === true) { - state.imgUrl = - "/roonapi/getImage4k?image_key=" + curZone.now_playing.image_key; - state.CTimgUrl = - "/roonapi/getImage?image_key=" + curZone.now_playing.image_key; - } else { - state.imgUrl = - "/roonapi/getImage?image_key=" + curZone.now_playing.image_key; - state.CTimgUrl = - "/roonapi/getImage?image_key=" + curZone.now_playing.image_key; - } - } - $("#containerCoverImage").html( - 'Cover art for ' +
-        state.title +
-        '' - ); - $("#coverBackground").css("background-image", "url(" + state.imgUrl + ")"); - - if (settings.theme == "color") { - var colorThief = new ColorThief(); - - colorThief.getColorAsync(state.CTimgUrl, function(color) { - var r = color[0]; - var g = color[1]; - var b = color[2]; - css.colorBackground = "rgb(" + color + ")"; - - var yiq = (r * 299 + g * 587 + b * 114) / 1000; - if (yiq >= 128) { - css.backgroundColor = "#eff0f1"; - css.foregroundColor = "#232629"; - css.trackSeek = "rgba(35, 38, 41, 0.33)"; - } else { - css.backgroundColor = "#232629"; - css.foregroundColor = "#eff0f1"; - css.trackSeek = "rgba(239, 240, 241, 0.33)"; - } - $("#colorBackground").show(); - showTheme("color"); - }); - } - } - - if (state.Prev != curZone.is_previous_allowed || state.Prev === undefined) { - state.Prev = curZone.is_previous_allowed; - if (curZone.is_previous_allowed === true) { - $("#controlPrev") - .attr("onclick", "goCmd('prev', '" + curZone.zone_id + "')") - .attr("aria-disabled", false) - .html(getSVG("prev")) - .addClass("buttonAvailable") - .removeClass("buttonInactive"); - } else { - $("#controlPrev") - .attr("onclick", "") - .attr("aria-disabled", true) - .html(getSVG("prev")) - .addClass("buttonInactive") - .removeClass("buttonAvailable"); - } - } - - if (state.Next != curZone.is_next_allowed || state.Next === undefined) { - state.Next = curZone.is_next_allowed; - if (curZone.is_next_allowed === true) { - $("#controlNext") - .attr("onclick", "goCmd('next', '" + curZone.zone_id + "')") - .attr("aria-disabled", false) - .html(getSVG("next")) - .addClass("buttonAvailable") - .removeClass("buttonInactive"); - } else { - $("#controlNext") - .attr("onclick", "") - .attr("aria-disabled", true) - .html(getSVG("next")) - .addClass("buttonInactive") - .removeClass("buttonAvailable"); - } - } - - if (curZone.is_play_allowed === true) { - state.PlayPauseStop = "showPlay"; - noSleep.disable(); - } else if (curZone.state == "playing" && curZone.is_play_allowed === false) { - if (curZone.is_pause_allowed === true) { - state.PlayPauseStop = "showPause"; - if (settings.screensaverDisable === true) { - noSleep.enable(); - } else { - noSleep.disable(); - } - } else { - state.PlayPauseStop = "showStop"; - if (settings.screensaverDisable === true) { - noSleep.enable(); - } else { - noSleep.disable(); - } - } - } else { - state.PlayPauseStop = "showPlayDisabled"; - noSleep.disable(); - } - - if ( - state.PlayPauseStopLast != state.PlayPauseStop || - state.PlayPauseStop === undefined - ) { - state.PlayPauseStopLast = state.PlayPauseStop; - if (state.PlayPauseStop == "showPlay") { - $("#controlPlayPauseStop") - .attr("onclick", "goCmd('play', '" + curZone.zone_id + "')") - .attr("aria-disabled", false) - .html(getSVG("play")) - .addClass("buttonAvailable") - .removeClass("buttonInactive"); - } else if (state.PlayPauseStop == "showPause") { - $("#controlPlayPauseStop") - .attr("onclick", "goCmd('pause', '" + curZone.zone_id + "')") - .attr("aria-disabled", false) - .html(getSVG("pause")) - .addClass("buttonAvailable") - .removeClass("buttonInactive"); - } else if (state.PlayPauseStop == "showStop") { - $("#controlPlayPauseStop") - .attr("onclick", "goCmd('stop', '" + curZone.zone_id + "')") - .attr("aria-disabled", false) - .html(getSVG("stop")) - .addClass("buttonAvailable") - .removeClass("buttonInactive"); - } else if (state.PlayPauseStop == "showPlayDisabled") { - $("#controlPlayPauseStop") - .html(getSVG("play")) - .attr("onclick", "") - .attr("aria-disabled", true) - .addClass("buttonInactive") - .removeClass("buttonAvailable"); - } - } - - if (state.Loop != curZone.settings.loop || state.Loop === undefined) { - state.Loop = curZone.settings.loop; - if (state.Loop == "disabled") { - $("#buttonLoop") - .html(getSVG("loop")) - .attr( - "onclick", - "changeZoneSetting('loop', 'loop', '" + curZone.zone_id + "')" - ) - .attr("name", "Loop off") - .attr("aria-label", "Loop off") - .attr("aria-disabled", false) - .removeClass("buttonActive buttonInactive") - .addClass("buttonAvailable") - .css("color", css.foregroundColor); - } else if (state.Loop == "loop_one") { - $("#buttonLoop") - .html(getSVG("loopOne")) - .attr( - "onclick", - "changeZoneSetting('loop', 'disabled', '" + curZone.zone_id + "')" - ) - .attr("name", "Loop one") - .attr("aria-label", "Loop one") - .attr("aria-disabled", false) - .removeClass("buttonAvailable buttonInactive") - .addClass("buttonActive") - .css("color", "#3daee9"); - } else if (state.Loop == "loop") { - $("#buttonLoop") - .html(getSVG("loop")) - .attr( - "onclick", - "changeZoneSetting('loop', 'loop_one', '" + curZone.zone_id + "')" - ) - .attr("name", "Loop all") - .attr("aria-label", "Loop all") - .attr("aria-disabled", false) - .removeClass("buttonAvailable buttonInactive") - .addClass("buttonActive") - .css("color", "#3daee9"); - } else { - $("#buttonLoop") - .html(getSVG("loop")) - .attr("onclick", "") - .attr("name", "Loop disabled") - .attr("aria-label", "Loop disabled") - .attr("aria-disabled", true) - .removeClass("buttonAvailable buttonActive") - .addClass("buttonInactive") - .css("color", css.foregroundColor); - } - } - - if ( - state.Shuffle != curZone.settings.shuffle || - state.Shuffle === undefined - ) { - state.Shuffle = curZone.settings.shuffle; - if (state.Shuffle === false) { - $("#buttonShuffle") - .html(getSVG("shuffle")) - .attr( - "onclick", - "changeZoneSetting('shuffle', 'true', '" + curZone.zone_id + "')" - ) - .attr("name", "Shuffle off") - .attr("aria-label", "Shuffle off") - .attr("aria-disabled", false) - .removeClass("buttonActive buttonInactive") - .addClass("buttonAvailable") - .css("color", css.foregroundColor); - } else if (state.Shuffle === true) { - $("#buttonShuffle") - .html(getSVG("shuffle")) - .attr( - "onclick", - "changeZoneSetting('shuffle', 'false', '" + curZone.zone_id + "')" - ) - .attr("name", "Shuffle on") - .attr("aria-label", "Shuffle on") - .attr("aria-disabled", false) - .removeClass("buttonAvailable buttonInactive") - .addClass("buttonActive") - .css("color", "#3daee9"); - } else { - $("#buttonShuffle") - .html(getSVG("shuffle")) - .attr("onclick", "") - .attr("name", "Shuffle disabled") - .attr("aria-label", "Shuffle disabled") - .attr("aria-disabled", true) - .removeClass("buttonAvailable buttonActive") - .addClass("buttonInactive") - .css("color", css.foregroundColor); - } - } - - if (state.Radio != curZone.settings.auto_radio || state.Radio === undefined) { - state.Radio = curZone.settings.auto_radio; - if (state.Radio === false) { - $("#buttonRadio") - .html(getSVG("radio")) - .attr( - "onclick", - "changeZoneSetting('auto_radio', 'true', '" + curZone.zone_id + "')" - ) - .attr("name", "Roon Radio off") - .attr("aria-label", "Roon Radio off") - .attr("aria-disabled", false) - .removeClass("buttonActive buttonInactive") - .addClass("buttonAvailable") - .css("color", css.foregroundColor); - } else if (state.Radio === true) { - $("#buttonRadio") - .html(getSVG("radio")) - .attr( - "onclick", - "changeZoneSetting('auto_radio', 'false', '" + curZone.zone_id + "')" - ) - .attr("name", "Roon Radio on") - .attr("aria-label", "Roon Radio on") - .attr("aria-disabled", false) - .removeClass("buttonAvailable buttonInactive") - .addClass("buttonActive") - .css("color", "#3daee9"); - } else { - $("#buttonRadio") - .html(getSVG("radio")) - .attr("onclick", "") - .attr("name", "Roon Radio disabled") - .attr("aria-label", "Roon Radio disabled") - .attr("aria-disabled", true) - .removeClass("buttonAvailable buttonActive") - .addClass("buttonInactive") - .css("color", css.foregroundColor); - } - } - - if (inVolumeSlider === false) { - $("#volumeList").html(""); - for (var x in curZone.outputs) { - if (x >= 1) { - $("#volumeList").append("
"); - } - if (curZone.outputs[x].volume) { - var html = - '
' + curZone.outputs[x].display_name + "
"; - html += "
" + curZone.outputs[x].volume.value + "
"; - - html += '
'; - html += '
"; - - $("#volumeList").append(html); - } else { - $("#volumeList") - .append( - '
' + - curZone.outputs[x].display_name + - "
" - ) - .append("
Fixed Volume
"); - } - } - } - - if (state.themeShowing === undefined) { - state.themeShowing = true; - showTheme(settings.theme); - } -} - -function goCmd(cmd, zone_id) { - if (cmd == "prev") { - socket.emit("goPrev", zone_id); - } else if (cmd == "next") { - socket.emit("goNext", zone_id); - } else if (cmd == "play") { - socket.emit("goPlay", zone_id); - } else if (cmd == "pause") { - socket.emit("goPause", zone_id); - } else if (cmd == "stop") { - socket.emit("goStop", zone_id); - } -} - -function changeZoneSetting(zoneSetting, zoneSettingValue, zone_id) { - // for (x in curZone.outputs){ - var msg = JSON.parse( - '{"zone_id": "' + - zone_id + - '", "setting": "' + - zoneSetting + - '", "value": "' + - zoneSettingValue + - '" }' - ); - socket.emit("changeSetting", msg); - // } -} - -function volumeButton(spanId, value, output_id) { - $("#" + spanId + "").html(value); - - var msg = JSON.parse( - '{"output_id": "' + output_id + '", "volume": "' + value + '" }' - ); - socket.emit("changeVolume", msg); -} - -function volumeInput(spanId, value, output_id) { - inVolumeSlider = true; - $("#" + spanId + "").html(value); - - var msg = JSON.parse( - '{"output_id": "' + output_id + '", "volume": "' + value + '" }' - ); - socket.emit("changeVolume", msg); -} - -function volumeChange(id, value, output_id) { - inVolumeSlider = false; -} - -function setTheme(theme) { - settings.theme = theme; - state.themeShowing = undefined; - setCookie("settings['theme']", theme); - - if (theme == "dark" || theme === undefined) { - css.backgroundColor = "#232629"; - css.foregroundColor = "#eff0f1"; - css.trackSeek = "rgba(239, 240, 241, 0.33)"; - - $("#coverBackground").hide(); - $("#colorBackground").hide(); - $("#buttonThemeDark").addClass("buttonSettingActive"); - $("#buttonThemeColor, #buttonThemeCover").removeClass( - "buttonSettingActive" - ); - } else if (theme == "cover") { - css.backgroundColor = "#232629"; - css.foregroundColor = "#eff0f1"; - css.trackSeek = "rgba(239, 240, 241, 0.33)"; - - $("#coverBackground").show(); - $("#colorBackground").hide(); - $("#buttonThemeCover").addClass("buttonSettingActive"); - $("#buttonThemeColor, #buttonThemeDark").removeClass("buttonSettingActive"); - } else if (theme == "color") { - state.image_key = undefined; - $("#coverBackground").hide(); - $("#colorBackground").show(); - $("#buttonThemeColor").addClass("buttonSettingActive"); - $("#buttonThemeDark, #buttonThemeCover").removeClass("buttonSettingActive"); - } else { - settings.theme = undefined; - setTheme(settings.theme); - } - state = []; - socket.emit("getZone", true); -} - -function showTheme(theme) { - $("body") - .css("background-color", css.backgroundColor) - .css("color", css.foregroundColor); - $(".colorChange").css("color", css.foregroundColor); - $("#colorBackground").css("background-color", css.colorBackground); - $(".buttonAvailable").css("color", css.foregroundColor); - $(".buttonInactive").css("color", css.foregroundColor); - $("#trackSeek").css("background-color", css.trackSeek); - socket.emit("getZone", true); -} - -function readCookie(name) { - return Cookies.get(name); -} - -function setCookie(name, value) { - Cookies.set(name, value, { expires: 365 }); -} - -function secondsConvert(seconds) { - seconds = Number(seconds); - var hour = Math.floor(seconds / 3600); - var minute = Math.floor((seconds % 3600) / 60); - var second = Math.floor((seconds % 3600) % 60); - return ( - (hour > 0 ? hour + ":" + (minute < 10 ? "0" : "") : "") + - minute + - ":" + - (second < 10 ? "0" : "") + - second - ); -} - -function getSVG(cmd) { - if (settings.useCircleIcons === true) { - switch (cmd) { - case "play": - return ''; - case "pause": - return ''; - case "stop": - return ''; - default: - break; - } - } else { - switch (cmd) { - case "play": - return ''; - case "pause": - return ''; - case "stop": - return ''; - default: - break; - } - } - - switch (cmd) { - case "loop": - return ''; - case "loopOne": - return ''; - case "shuffle": - return ''; - case "radio": - return ''; - case "prev": - return ''; - case "next": - return ''; - case "volume": - return ''; - case "volume-minus": - return ''; - case "volume-plus": - return ''; - case "settings": - return ''; - default: - break; - } -} diff --git a/public/library.html b/public/library.html deleted file mode 100644 index 8a75236..0000000 --- a/public/library.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - Roon Web Controller - Library Browser - - - - - - - - - - - - - - - - -
- -
-
-
-
-
-
-
-
-
-
- -
-
-
- -
-
- - diff --git a/public/nowplaying.html b/public/nowplaying.html deleted file mode 100644 index a95b5c4..0000000 --- a/public/nowplaying.html +++ /dev/null @@ -1,277 +0,0 @@ - - - - Roon Web Controller - Now Playing - - - - - - - - - - - - - - - - - - - - -
-
-
-
-

Nothing playing on

- -
-
-
-
-
-
 
-
 
-
 
-
- - - -
-
-
-
-   -   -
-
-
-
- -
-
- - - - - -
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
- - - -
-
-
-
Notifications
-
- -
-
-
-
-
Use Circle Icons
-
- -
-
-
-
-
Use 4k Images
-
- -
-
-
-
-
Disable screensaver while playing
-
- -
-
-
-
-
-
- - diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 0000000..eb05362 --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: diff --git a/public/side-by-side.html b/public/side-by-side.html deleted file mode 100644 index e88b2c4..0000000 --- a/public/side-by-side.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - Roon Web Controller - Side by Side Layout - - - - - - - - - - - -
-
- - diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..2c42761 --- /dev/null +++ b/src/App.vue @@ -0,0 +1,42 @@ + + + + + diff --git a/src/components/SvgSpriteMediaControls.vue b/src/components/SvgSpriteMediaControls.vue new file mode 100644 index 0000000..e3f6875 --- /dev/null +++ b/src/components/SvgSpriteMediaControls.vue @@ -0,0 +1,25 @@ + + + diff --git a/src/components/SvgSpriteMiscIcons.vue b/src/components/SvgSpriteMiscIcons.vue new file mode 100644 index 0000000..4a656f6 --- /dev/null +++ b/src/components/SvgSpriteMiscIcons.vue @@ -0,0 +1,116 @@ + + + diff --git a/src/components/TouchscreenBackgroundCoverArt.vue b/src/components/TouchscreenBackgroundCoverArt.vue new file mode 100644 index 0000000..e6b255f --- /dev/null +++ b/src/components/TouchscreenBackgroundCoverArt.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/src/components/TouchscreenControlsLibraryNav.vue b/src/components/TouchscreenControlsLibraryNav.vue new file mode 100644 index 0000000..5305c8f --- /dev/null +++ b/src/components/TouchscreenControlsLibraryNav.vue @@ -0,0 +1,25 @@ + + + diff --git a/src/components/TouchscreenControlsMedia.vue b/src/components/TouchscreenControlsMedia.vue new file mode 100644 index 0000000..85e88ed --- /dev/null +++ b/src/components/TouchscreenControlsMedia.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/src/components/TouchscreenControlsOverlays.vue b/src/components/TouchscreenControlsOverlays.vue new file mode 100644 index 0000000..e5e0cb0 --- /dev/null +++ b/src/components/TouchscreenControlsOverlays.vue @@ -0,0 +1,25 @@ + + + diff --git a/src/components/TouchscreenControlsPlaySettings.vue b/src/components/TouchscreenControlsPlaySettings.vue new file mode 100644 index 0000000..bc536ad --- /dev/null +++ b/src/components/TouchscreenControlsPlaySettings.vue @@ -0,0 +1,22 @@ + + + diff --git a/src/components/TouchscreenControlsViews.vue b/src/components/TouchscreenControlsViews.vue new file mode 100644 index 0000000..2dc23a4 --- /dev/null +++ b/src/components/TouchscreenControlsViews.vue @@ -0,0 +1,50 @@ + + + + + diff --git a/src/components/TouchscreenLibraryItem.vue b/src/components/TouchscreenLibraryItem.vue new file mode 100644 index 0000000..84be7ac --- /dev/null +++ b/src/components/TouchscreenLibraryItem.vue @@ -0,0 +1,42 @@ + + + + diff --git a/src/components/TouchscreenLibraryItemSearch.vue b/src/components/TouchscreenLibraryItemSearch.vue new file mode 100644 index 0000000..2b24d55 --- /dev/null +++ b/src/components/TouchscreenLibraryItemSearch.vue @@ -0,0 +1,54 @@ + + + + + diff --git a/src/components/TouchscreenLibraryPager.vue b/src/components/TouchscreenLibraryPager.vue new file mode 100644 index 0000000..25aafde --- /dev/null +++ b/src/components/TouchscreenLibraryPager.vue @@ -0,0 +1,79 @@ + + + + + diff --git a/src/components/TouchscreenOverlaySettings.vue b/src/components/TouchscreenOverlaySettings.vue new file mode 100644 index 0000000..4e9535a --- /dev/null +++ b/src/components/TouchscreenOverlaySettings.vue @@ -0,0 +1,30 @@ + + + diff --git a/src/components/TouchscreenOverlayVolume.vue b/src/components/TouchscreenOverlayVolume.vue new file mode 100644 index 0000000..268edeb --- /dev/null +++ b/src/components/TouchscreenOverlayVolume.vue @@ -0,0 +1,30 @@ + + + diff --git a/src/components/TouchscreenOverlayZoneSelect.vue b/src/components/TouchscreenOverlayZoneSelect.vue new file mode 100644 index 0000000..737cf52 --- /dev/null +++ b/src/components/TouchscreenOverlayZoneSelect.vue @@ -0,0 +1,81 @@ + + + diff --git a/src/components/globals/ButtonLibraryNav.vue b/src/components/globals/ButtonLibraryNav.vue new file mode 100644 index 0000000..45670f5 --- /dev/null +++ b/src/components/globals/ButtonLibraryNav.vue @@ -0,0 +1,24 @@ + + + diff --git a/src/components/globals/ButtonOverlayToggle.vue b/src/components/globals/ButtonOverlayToggle.vue new file mode 100644 index 0000000..3cbad3d --- /dev/null +++ b/src/components/globals/ButtonOverlayToggle.vue @@ -0,0 +1,26 @@ + + + diff --git a/src/components/globals/ButtonPlayCommand.vue b/src/components/globals/ButtonPlayCommand.vue new file mode 100644 index 0000000..5398f5e --- /dev/null +++ b/src/components/globals/ButtonPlayCommand.vue @@ -0,0 +1,24 @@ + + + diff --git a/src/components/globals/ButtonPlaySetting.vue b/src/components/globals/ButtonPlaySetting.vue new file mode 100644 index 0000000..5854833 --- /dev/null +++ b/src/components/globals/ButtonPlaySetting.vue @@ -0,0 +1,48 @@ + + + diff --git a/src/components/globals/FormLibrarySearch.vue b/src/components/globals/FormLibrarySearch.vue new file mode 100644 index 0000000..e4a7f5b --- /dev/null +++ b/src/components/globals/FormLibrarySearch.vue @@ -0,0 +1,48 @@ + + + + diff --git a/src/components/globals/ImageCover.vue b/src/components/globals/ImageCover.vue new file mode 100644 index 0000000..ddcaefe --- /dev/null +++ b/src/components/globals/ImageCover.vue @@ -0,0 +1,35 @@ + + + diff --git a/src/components/globals/ImageList.vue b/src/components/globals/ImageList.vue new file mode 100644 index 0000000..8a0c653 --- /dev/null +++ b/src/components/globals/ImageList.vue @@ -0,0 +1,40 @@ + + + diff --git a/src/components/globals/globals.js b/src/components/globals/globals.js new file mode 100644 index 0000000..58cfe80 --- /dev/null +++ b/src/components/globals/globals.js @@ -0,0 +1,24 @@ +import Vue from "vue"; + +const requireComponent = require.context( + // Look for files in the current directory + ".", + // Do not look in subdirectories + false, + // Only include .vue files + /[\w-]+\.vue/ +); + +// For each matching file name... +requireComponent.keys().forEach((fileName) => { + // Get the component config + const componentConfig = requireComponent(fileName); + const componentName = fileName + // Remove the "./" from the beginning + .replace(/^\.\//, "") + // Remove the file extension from the end + .replace(/\.vue/, ""); + + // Globally register the component + Vue.component(componentName, componentConfig.default || componentConfig); +}); diff --git a/src/layouts/SelectLayout.vue b/src/layouts/SelectLayout.vue new file mode 100644 index 0000000..8d8f9b9 --- /dev/null +++ b/src/layouts/SelectLayout.vue @@ -0,0 +1,56 @@ + + + + + diff --git a/src/layouts/Touchscreen.vue b/src/layouts/Touchscreen.vue new file mode 100644 index 0000000..89c5e69 --- /dev/null +++ b/src/layouts/Touchscreen.vue @@ -0,0 +1,278 @@ + + + + + diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..078cc26 --- /dev/null +++ b/src/main.js @@ -0,0 +1,62 @@ +import Vue from "vue"; +import App from "./App.vue"; +import VueSocketio from "vue-socket.io"; +// import "./registerServiceWorker"; +import router from "./router"; +import store from "./store"; + +Vue.config.productionTip = false; + +// Globally register autoimport components +import "@/components/globals/globals.js"; + +let BASE_URL = ""; +if (process.env.NODE_ENV === "development") { + BASE_URL = "http://localhost:10000"; +} + +Vue.mixin({ + methods: { + secondsToTime: (seconds) => { + seconds = Number(seconds); + let hour = Math.floor(seconds / 3600); + let minute = Math.floor((seconds % 3600) / 60); + let second = Math.floor((seconds % 3600) % 60); + return ( + (hour > 0 ? hour + ":" + (minute < 10 ? "0" : "") : "") + + minute + + ":" + + (second < 10 ? "0" : "") + + second + ); + }, + }, +}); + +Vue.use( + new VueSocketio({ + debug: false, + connection: BASE_URL, + vuex: { + store, + actionPrefix: "SOCKET_", + mutationPrefix: "SOCKET_", + }, + }) +); + +new Vue({ + router, + store, + mounted: function () { + this.$nextTick(() => { + window.addEventListener("resize", () => + this.$store.commit("SET_window_size") + ); + this.$store.commit("SET_window_size"); + this.$store.commit("SET_base_url", BASE_URL); + document.title = "Roon Web Controller"; + }); + }, + render: (h) => h(App), +}).$mount("#app"); diff --git a/src/registerServiceWorker.js b/src/registerServiceWorker.js new file mode 100644 index 0000000..1473a0a --- /dev/null +++ b/src/registerServiceWorker.js @@ -0,0 +1,34 @@ +/* eslint-disable no-console */ + +import { register } from "register-service-worker"; + +if (process.env.NODE_ENV === "production") { + register(`${process.env.BASE_URL}service-worker.js`, { + ready() { + console.log( + "App is being served from cache by a service worker.\n" + + "For more details, visit https://goo.gl/AFskqB" + ); + }, + registered() { + console.log("Service worker has been registered."); + }, + cached() { + console.log("Content has been cached for offline use."); + }, + updatefound() { + console.log("New content is downloading."); + }, + updated() { + console.log("New content is available; please refresh."); + }, + offline() { + console.log( + "No internet connection found. App is running in offline mode." + ); + }, + error(error) { + console.error("Error during service worker registration:", error); + }, + }); +} diff --git a/src/router/index.js b/src/router/index.js new file mode 100644 index 0000000..7af6d8c --- /dev/null +++ b/src/router/index.js @@ -0,0 +1,37 @@ +import Vue from "vue"; +import VueRouter from "vue-router"; +Vue.use(VueRouter); + +const router = new VueRouter({ + routes: [ + { + path: "/", + name: "SelectLayout", + component: () => import("@/layouts/SelectLayout.vue"), + }, + { + path: "/touchscreen", + name: "Touchscreen", + component: () => import("@/layouts/Touchscreen.vue"), + children: [ + { + path: "library", + name: "TouchscreenLibrary", + component: () => import("@/views/TouchscreenLibrary.vue"), + }, + { + path: "now_playing", + name: "TouchscreenNowPlaying", + component: () => import("@/views/TouchscreenNowPlaying.vue"), + }, + { + path: "queue", + name: "TouchscreenQueue", + component: () => import("@/views/TouchscreenQueue.vue"), + }, + ], + }, + ], +}); + +export default router; diff --git a/src/store/index.js b/src/store/index.js new file mode 100644 index 0000000..3cba28d --- /dev/null +++ b/src/store/index.js @@ -0,0 +1,191 @@ +import Vue from "vue"; +import Vuex from "vuex"; +Vue.use(Vuex); + +export default new Vuex.Store({ + strict: process.env.NODE_ENV !== "production", + state: { + ui: { + width: 800, + height: 480, + show_zone_select: false, + show_volume: false, + show_settings: false, + library_list_count: 24, + }, + socket: { + connected: false, + message: "", + error: "", + }, + settings: { + show_cover_background: true, + current_zone_id: "", + }, + roon: { + base_url: "", + queue_list: {}, + zone_list: {}, + library: {}, + }, + }, + mutations: { + SET_window_size: (state) => { + state.ui.width = window.innerWidth; + state.ui.height = window.innerHeight; + }, + SOCKET_connect: (state) => { + state.socket.connected = true; + }, + SOCKET_disconnect: (state) => { + state.socket.connected = false; + }, + SOCKET_message: (state, message) => { + state.socket.message = message; + }, + SOCKET_error: (state, message) => { + state.socket.error = message.error; + }, + SET_current_zone_id: (state, payload) => { + state.settings.current_zone_id = payload; + }, + SET_show_zone_select: (state, payload) => { + state.ui.show_zone_select = payload; + }, + SET_base_url: (state, payload) => { + state.roon.base_url = payload; + }, + SET_queue_list: (state, payload) => { + state.roon.queue_list = payload; + }, + SET_zone_list: (state, payload) => { + state.roon.zone_list = payload; + }, + SET_library: (state, payload) => { + state.roon.library = payload; + }, + SHOW_overlay: (state, payload) => { + state.ui["show_" + payload.overlay_name] = payload.show; + }, + }, + actions: { + SOCKET_zone_list: ({ commit }, message) => { + message = JSON.parse(message); + commit("SET_zone_list", message, { root: true }); + }, + SOCKET_queue_list: ({ commit }, message) => { + message = JSON.parse(message); + commit("SET_queue_list", message, { root: true }); + }, + SET_current_zone_id: ({ commit, dispatch }, payload) => { + commit("SET_current_zone_id", payload); + let options = { + command: "home", + }; + dispatch("GO_browse", options); + }, + GO_browse: async ({ state, commit }, payload) => { + let data = {}; + data.options = { + zone_or_output_id: state.settings.current_zone_id, + hierarchy: "browse", + }; + data.pager = { + count: state.ui.library_list_count, + }; + + switch (payload.command) { + case "home": + data.options.pop_all = true; + break; + case "back": + data.options.pop_levels = 1; + break; + case "refresh": + data.options.refresh_list = true; + break; + default: + break; + } + + let url = `${state.roon.base_url}/api/browse`; + let response = await fetch(url, { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify(data), + }); + let result = await response.json(); + commit("SET_library", result); + }, + GO_list: async ({ state, commit }, payload) => { + let data = {}; + data.options = { + zone_or_output_id: state.settings.current_zone_id, + hierarchy: "browse", + item_key: payload.item_key, + }; + data.pager = { + offset: payload.listoffset || 0, + count: state.ui.library_list_count, + }; + + let url = `${state.roon.base_url}/api/browse`; + let response = await fetch(url, { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify(data), + }); + let result = await response.json(); + commit("SET_library", result); + }, + GO_page: async ({ state, commit }, payload) => { + let offset = + payload.offset * state.ui.library_list_count + + state.roon.library.offset; + + let data = { + hierarchy: "browse", + count: state.ui.library_list_count, + offset: offset, + }; + + let url = `${state.roon.base_url}/api/load`; + let response = await fetch(url, { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify(data), + }); + let result = await response.json(); + commit("SET_library", result); + }, + GO_search: async ({ state, commit }, payload) => { + let data = {}; + data.options = { + zone_or_output_id: state.settings.current_zone_id, + hierarchy: "browse", + input: payload.input_value, + item_key: payload.item_key, + }; + data.pager = { + count: state.ui.library_list_count, + }; + + let url = `${state.roon.base_url}/api/browse`; + let response = await fetch(url, { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify(data), + }); + let result = await response.json(); + commit("SET_library", result); + }, + + GO_command: async ({ state }, payload) => { + let url = `${state.roon.base_url}/api/cmd?id=${state.settings.current_zone_id}&command=${payload.command}`; + if (payload.value !== undefined) { + url += `&value=${payload.value}`; + } + await fetch(url); + }, + }, +}); diff --git a/src/views/TouchscreenLibrary.vue b/src/views/TouchscreenLibrary.vue new file mode 100644 index 0000000..973a7f6 --- /dev/null +++ b/src/views/TouchscreenLibrary.vue @@ -0,0 +1,152 @@ + + + + + diff --git a/src/views/TouchscreenNowPlaying.vue b/src/views/TouchscreenNowPlaying.vue new file mode 100644 index 0000000..bb11f7b --- /dev/null +++ b/src/views/TouchscreenNowPlaying.vue @@ -0,0 +1,229 @@ + + + + + diff --git a/src/views/TouchscreenQueue.vue b/src/views/TouchscreenQueue.vue new file mode 100644 index 0000000..7ba29b7 --- /dev/null +++ b/src/views/TouchscreenQueue.vue @@ -0,0 +1,127 @@ + + + + + diff --git a/vue.config.js b/vue.config.js new file mode 100644 index 0000000..6737514 --- /dev/null +++ b/vue.config.js @@ -0,0 +1,7 @@ +module.exports = { + publicPath: "", + + pwa: { + name: "Roon Web Controller", + }, +}; From effcee3c70105ddb5fc9de1c82bf89fba266ba72 Mon Sep 17 00:00:00 2001 From: pluggemi Date: Sun, 14 Jun 2020 16:38:29 -0400 Subject: [PATCH 02/54] added notes about Portrait mode --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7f4444e..ca67e2d 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ NOTE: This is alpha software. There is missing functionality. ## What works - Touchscreen layout +- Landscape view - Library functionality - Now Playing functionality - Queue display @@ -11,6 +12,7 @@ NOTE: This is alpha software. There is missing functionality. - Loop, Shuffle, and Radio controls on the Queue page ## What does not work +- Portrait mode, only landscape is available right now - Volume overlay is empty, no volume controls - Settings overlay is empty, no settings controls - Queue "Play from Here" is not functional @@ -26,7 +28,7 @@ NOTE: This is alpha software. There is missing functionality. - UI: Now Playing: Clock - UI: Queue: "play from here" - UI: Touchscreen Global: Volume overlay -- UI: Touchscreen Global:Settings overlay +- UI: Touchscreen Global: Settings overlay - UI: Settings Overlay: Save settings, including current zone id to browser local storage - UI: Settings Overlay: Clock enable/disable and Moment.js format option - UI: Settings Overlay: Desktop Notifications enable/disable From e494dc91905d6740b221bd40901abd9dac45dc9c Mon Sep 17 00:00:00 2001 From: pluggemi Date: Sun, 14 Jun 2020 22:16:47 -0400 Subject: [PATCH 03/54] Volume control overlay is now functional --- README.md | 60 ++++++++++++---- src/components/SvgSpriteMiscIcons.vue | 7 +- src/components/TouchscreenOverlayVolume.vue | 69 +++++++++++++++++++ .../TouchscreenOverlayZoneSelect.vue | 17 +++-- src/components/globals/ButtonVolume.vue | 27 ++++++++ src/components/globals/ButtonVolumeMute.vue | 28 ++++++++ src/components/globals/RangeVolume.vue | 33 +++++++++ src/layouts/Touchscreen.vue | 2 +- src/store/index.js | 22 ++++-- 9 files changed, 237 insertions(+), 28 deletions(-) create mode 100644 src/components/globals/ButtonVolume.vue create mode 100644 src/components/globals/ButtonVolumeMute.vue create mode 100644 src/components/globals/RangeVolume.vue diff --git a/README.md b/README.md index ca67e2d..d61b867 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,28 @@ # Roon Web Controller ALPHA -NOTE: This is alpha software. There is missing functionality. +NOTE: This is alpha software. There is missing functionality. ## What works + - Touchscreen layout - Landscape view - Library functionality - Now Playing functionality - Queue display +- Volume controls overlay - Zone selection overlay - Loop, Shuffle, and Radio controls on the Queue page ## What does not work + - Portrait mode, only landscape is available right now -- Volume overlay is empty, no volume controls +- ~~ Volume overlay is empty, no volume controls~~ - Settings overlay is empty, no settings controls - Queue "Play from Here" is not functional - Track seek controls ## TODO - 2.0.0 + - App global: Screen reader layout - App global: Change favicons from default Vue icons to Roon Web Controller icons - App global: enable Service Worker, configure app manifest colors and icons @@ -27,14 +31,16 @@ NOTE: This is alpha software. There is missing functionality. - UI: Now Playing: Track seek controls - UI: Now Playing: Clock - UI: Queue: "play from here" -- UI: Touchscreen Global: Volume overlay +- ~~UI: Touchscreen Global: Volume overlay~~ - UI: Touchscreen Global: Settings overlay -- UI: Settings Overlay: Save settings, including current zone id to browser local storage +- UI: Settings Overlay: Save settings, including current zone id and layout to browser local storage +- UI: Settings Overlay: Select Layout - UI: Settings Overlay: Clock enable/disable and Moment.js format option - UI: Settings Overlay: Desktop Notifications enable/disable -- UI: Settings Overlay: Enable/disable keyboard shortcuts -- UI: Settings Overlay: Configure keyboard shortcuts -- Backend: Environmental variables for Roon Host/port +- UI: Settings Overlay: Background cover art enable/disable +- UI: Settings Overlay: Keyboard shortcuts enable/disable +- UI: Settings Overlay: Keyboard shortcuts configure +- Backend: Environmental variables for Roon host/port - Backend: Environmental variables to enable / disable Health checks - Backend: Environmental variables to configure Health check port - Backend: Dockerfile @@ -42,38 +48,66 @@ NOTE: This is alpha software. There is missing functionality. - Backend: Play from here support ## TODO - 2.1.0 + - Multi-touch gestures using Hammer.js? - Dominant color theme? - 10 foot / TV layout? ## To use: + Using this alpha requires git, Node JS 10+ and npm. 1. Clone / update the git repository: - `git clone https://github.com/pluggemi/roon-web-controller.git` +`git clone https://github.com/pluggemi/roon-web-controller.git` 2. Switch to the alpha branch: - `git checkout alpha` +`git checkout alpha` -3. Install the dependencies; +3. Install the dependencies: - `npm install` +`npm install` 4. Build the application: - `npm run build` +`npm run build` 5. Start the application: - `npm start` +`npm start` 6. Enable the extension in an official Roon client 7. View the application by opening a browser to [http://localhost:8080](http://localhost:8080) +## Update instructions +1. Pull the latest changes + + `git pull` + + 2. Switch to the alpha branch (if you are not already there): + + `git checkout alpha` + + 3. Install the updated/changed dependencies: + + `npm install` + + 4. Build the application: + + `npm run build` + + 5. Start the application: + + `npm start` + + 6. Enable the extension in an official Roon client (if not already done) + + 7. View the application by opening a browser to [http://localhost:8080](http://localhost:8080) + ## To develop: + This application is compatible with Vue UI Graphical User Interface and the Vue devtools browser extensions. For more information, visit [https://cli.vuejs.org/](https://cli.vuejs.org/) diff --git a/src/components/SvgSpriteMiscIcons.vue b/src/components/SvgSpriteMiscIcons.vue index 4a656f6..3146b94 100644 --- a/src/components/SvgSpriteMiscIcons.vue +++ b/src/components/SvgSpriteMiscIcons.vue @@ -95,11 +95,16 @@ /> - + + + + diff --git a/src/components/TouchscreenOverlayVolume.vue b/src/components/TouchscreenOverlayVolume.vue index 268edeb..dfc9568 100644 --- a/src/components/TouchscreenOverlayVolume.vue +++ b/src/components/TouchscreenOverlayVolume.vue @@ -11,6 +11,37 @@ + @@ -18,6 +49,15 @@ + + diff --git a/src/components/TouchscreenOverlayZoneSelect.vue b/src/components/TouchscreenOverlayZoneSelect.vue index 737cf52..1a4fed6 100644 --- a/src/components/TouchscreenOverlayZoneSelect.vue +++ b/src/components/TouchscreenOverlayZoneSelect.vue @@ -11,21 +11,24 @@ -

- +

+ +
diff --git a/src/components/globals/ButtonVolume.vue b/src/components/globals/ButtonVolume.vue new file mode 100644 index 0000000..78bf737 --- /dev/null +++ b/src/components/globals/ButtonVolume.vue @@ -0,0 +1,27 @@ + + + diff --git a/src/components/globals/ButtonVolumeMute.vue b/src/components/globals/ButtonVolumeMute.vue new file mode 100644 index 0000000..8df4e02 --- /dev/null +++ b/src/components/globals/ButtonVolumeMute.vue @@ -0,0 +1,28 @@ + + + + + diff --git a/src/components/globals/RangeVolume.vue b/src/components/globals/RangeVolume.vue new file mode 100644 index 0000000..bacb256 --- /dev/null +++ b/src/components/globals/RangeVolume.vue @@ -0,0 +1,33 @@ + + + diff --git a/src/layouts/Touchscreen.vue b/src/layouts/Touchscreen.vue index 89c5e69..cad5c20 100644 --- a/src/layouts/Touchscreen.vue +++ b/src/layouts/Touchscreen.vue @@ -156,7 +156,7 @@ export default { border-radius: 1vh; filter: drop-shadow(1vh 1vh 1vh black); text-align: center; - min-width: 45vw; + min-width: 50vw; } .overlay_close_button { position: absolute; diff --git a/src/store/index.js b/src/store/index.js index 3cba28d..418af13 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -69,13 +69,16 @@ export default new Vuex.Store({ }, }, actions: { - SOCKET_zone_list: ({ commit }, message) => { - message = JSON.parse(message); - commit("SET_zone_list", message, { root: true }); + SOCKET_zone_list: ({ state, commit }, message) => { + let zone_list = JSON.parse(message); + commit("SET_zone_list", zone_list); + if (!zone_list[state.settings.current_zone_id]) { + commit("SET_current_zone_id", ""); + } }, SOCKET_queue_list: ({ commit }, message) => { - message = JSON.parse(message); - commit("SET_queue_list", message, { root: true }); + let queue_list = JSON.parse(message); + commit("SET_queue_list", queue_list); }, SET_current_zone_id: ({ commit, dispatch }, payload) => { commit("SET_current_zone_id", payload); @@ -179,7 +182,6 @@ export default new Vuex.Store({ let result = await response.json(); commit("SET_library", result); }, - GO_command: async ({ state }, payload) => { let url = `${state.roon.base_url}/api/cmd?id=${state.settings.current_zone_id}&command=${payload.command}`; if (payload.value !== undefined) { @@ -187,5 +189,13 @@ export default new Vuex.Store({ } await fetch(url); }, + GO_volume_mute: async ({ state }, payload) => { + let url = `${state.roon.base_url}/api/mute?id=${payload.output_id}&mute=${payload.mute}`; + await fetch(url); + }, + GO_volume: async ({ state }, payload) => { + let url = `${state.roon.base_url}/api/volume?id=${payload.output_id}&value=${payload.value}`; + await fetch(url); + }, }, }); From 3ce79183e3ec0b5dc76e694cdce9bc8acd649640 Mon Sep 17 00:00:00 2001 From: pluggemi Date: Sun, 14 Jun 2020 22:18:21 -0400 Subject: [PATCH 04/54] Update README.md - fixed strike through --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d61b867..2669b90 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ NOTE: This is alpha software. There is missing functionality. ## What does not work - Portrait mode, only landscape is available right now -- ~~ Volume overlay is empty, no volume controls~~ +- ~~Volume overlay is empty, no volume controls~~ - Settings overlay is empty, no settings controls - Queue "Play from Here" is not functional - Track seek controls From 10e30b98f1a0909b5721feab16e6f08105673012 Mon Sep 17 00:00:00 2001 From: pluggemi Date: Sun, 14 Jun 2020 22:26:43 -0400 Subject: [PATCH 05/54] Update README.md - changed TODO list to task list --- README.md | 56 +++++++++++++++++++++++++++---------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 2669b90..017ffbd 100644 --- a/README.md +++ b/README.md @@ -15,37 +15,37 @@ NOTE: This is alpha software. There is missing functionality. ## What does not work -- Portrait mode, only landscape is available right now -- ~~Volume overlay is empty, no volume controls~~ -- Settings overlay is empty, no settings controls -- Queue "Play from Here" is not functional -- Track seek controls +- [ ] Portrait mode, only landscape is available right now +- [x] ~~Volume overlay is empty, no volume controls~~ +- [ ] Settings overlay is empty, no settings controls +- [ ] Queue "Play from Here" is not functional +- [ ] Track seek controls ## TODO - 2.0.0 -- App global: Screen reader layout -- App global: Change favicons from default Vue icons to Roon Web Controller icons -- App global: enable Service Worker, configure app manifest colors and icons -- App global: Desktop notifications -- App global: Keyboard shortcuts -- UI: Now Playing: Track seek controls -- UI: Now Playing: Clock -- UI: Queue: "play from here" -- ~~UI: Touchscreen Global: Volume overlay~~ -- UI: Touchscreen Global: Settings overlay -- UI: Settings Overlay: Save settings, including current zone id and layout to browser local storage -- UI: Settings Overlay: Select Layout -- UI: Settings Overlay: Clock enable/disable and Moment.js format option -- UI: Settings Overlay: Desktop Notifications enable/disable -- UI: Settings Overlay: Background cover art enable/disable -- UI: Settings Overlay: Keyboard shortcuts enable/disable -- UI: Settings Overlay: Keyboard shortcuts configure -- Backend: Environmental variables for Roon host/port -- Backend: Environmental variables to enable / disable Health checks -- Backend: Environmental variables to configure Health check port -- Backend: Dockerfile -- Backend: Track Seek support -- Backend: Play from here support +- [ ] App global: Screen reader layout +- [ ] App global: Change favicons from default Vue icons to Roon Web Controller icons +- [ ] App global: enable Service Worker, configure app manifest colors and icons +- [ ] App global: Desktop notifications +- [ ] App global: Keyboard shortcuts +- [ ] UI: Now Playing: Track seek controls +- [ ] UI: Now Playing: Clock +- [ ] UI: Queue: "play from here" +- [x] ~~UI: Touchscreen Global: Volume overlay~~ +- [ ] UI: Touchscreen Global: Settings overlay +- [ ] UI: Settings Overlay: Save settings, including current zone id and layout to browser local storage +- [ ] UI: Settings Overlay: Select Layout +- [ ] UI: Settings Overlay: Clock enable/disable and Moment.js format option +- [ ] UI: Settings Overlay: Desktop Notifications enable/disable +- [ ] UI: Settings Overlay: Background cover art enable/disable +- [ ] UI: Settings Overlay: Keyboard shortcuts enable/disable +- [ ] UI: Settings Overlay: Keyboard shortcuts configure +- [ ] Backend: Environmental variables for Roon host/port +- [ ] Backend: Environmental variables to enable / disable Health checks +- [ ] Backend: Environmental variables to configure Health check port +- [ ] Backend: Dockerfile +- [ ] Backend: Track Seek support +- [ ] Backend: Play from here support ## TODO - 2.1.0 From 8eeee6b6196a03936e0423f2cd14abbcf76cc54c Mon Sep 17 00:00:00 2001 From: pluggemi Date: Sun, 14 Jun 2020 22:28:09 -0400 Subject: [PATCH 06/54] Update README.md - cleaned up "does not work" list --- README.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 017ffbd..eb35759 100644 --- a/README.md +++ b/README.md @@ -15,11 +15,10 @@ NOTE: This is alpha software. There is missing functionality. ## What does not work -- [ ] Portrait mode, only landscape is available right now -- [x] ~~Volume overlay is empty, no volume controls~~ -- [ ] Settings overlay is empty, no settings controls -- [ ] Queue "Play from Here" is not functional -- [ ] Track seek controls +- Portrait mode, only landscape is available right now +- Settings overlay is empty, no settings controls +- Queue "Play from Here" is not functional +- Track seek controls ## TODO - 2.0.0 From d15963d068fa13e490d933720690d4982e5b2e1e Mon Sep 17 00:00:00 2001 From: pluggemi Date: Sun, 14 Jun 2020 22:36:39 -0400 Subject: [PATCH 07/54] Updated date on License --- LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index 90f5131..87d3899 100644 --- a/LICENSE +++ b/LICENSE @@ -1,5 +1,5 @@ The MIT License -Copyright 2017 Mike Plugge +Copyright 2017-2020 Mike Plugge Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: From b3a6b2cc002333bb60415313fe15be53d32e0ebc Mon Sep 17 00:00:00 2001 From: pluggemi Date: Sun, 14 Jun 2020 22:53:45 -0400 Subject: [PATCH 08/54] Updated license file and dates --- LICENSE | 8 -------- LICENSE.md | 20 ++++++++++++++++++++ backend/app.js | 2 +- src/main.js | 25 +++++++++++++++++++++++++ 4 files changed, 46 insertions(+), 9 deletions(-) delete mode 100644 LICENSE create mode 100644 LICENSE.md diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 87d3899..0000000 --- a/LICENSE +++ /dev/null @@ -1,8 +0,0 @@ -The MIT License -Copyright 2017-2020 Mike Plugge - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..ccb64df --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,20 @@ +The MIT License + +Copyright 2017-2020 Mike Plugge + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the +Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/backend/app.js b/backend/app.js index a69a4fe..03ced9f 100644 --- a/backend/app.js +++ b/backend/app.js @@ -2,7 +2,7 @@ The MIT License (MIT) ===================== -Copyright (c) 2019 Mike Plugge +Copyright (c) 2020 Mike Plugge Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in diff --git a/src/main.js b/src/main.js index 078cc26..394f78f 100644 --- a/src/main.js +++ b/src/main.js @@ -1,3 +1,28 @@ +/* +The MIT License (MIT) +===================== + +Copyright (c) 2020 Mike Plugge + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + import Vue from "vue"; import App from "./App.vue"; import VueSocketio from "vue-socket.io"; From 1c1cf2609235c824f35a942abed9dde7ce30ad64 Mon Sep 17 00:00:00 2001 From: pluggemi Date: Sun, 14 Jun 2020 23:19:51 -0400 Subject: [PATCH 09/54] added Current Position / Time Left option to TODO list --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index eb35759..f0fc372 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,7 @@ NOTE: This is alpha software. There is missing functionality. - [ ] App global: Desktop notifications - [ ] App global: Keyboard shortcuts - [ ] UI: Now Playing: Track seek controls +- [ ] UI: Now Playing: Current Position / Time Left option - [ ] UI: Now Playing: Clock - [ ] UI: Queue: "play from here" - [x] ~~UI: Touchscreen Global: Volume overlay~~ @@ -39,6 +40,7 @@ NOTE: This is alpha software. There is missing functionality. - [ ] UI: Settings Overlay: Background cover art enable/disable - [ ] UI: Settings Overlay: Keyboard shortcuts enable/disable - [ ] UI: Settings Overlay: Keyboard shortcuts configure +- [ ] UI: Settings Overlay: Current Position / Time Left option - [ ] Backend: Environmental variables for Roon host/port - [ ] Backend: Environmental variables to enable / disable Health checks - [ ] Backend: Environmental variables to configure Health check port From 3ba08b196596581ff4c3a90946693afe62602d49 Mon Sep 17 00:00:00 2001 From: pluggemi Date: Mon, 15 Jun 2020 08:14:43 -0400 Subject: [PATCH 10/54] Multi Session Key support for library browser --- README.md | 1 + backend/app.js | 3 ++- src/main.js | 1 + src/store/index.js | 13 +++++++++++++ 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f0fc372..2bb1d01 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,7 @@ NOTE: This is alpha software. There is missing functionality. - [ ] Backend: Environmental variables for Roon host/port - [ ] Backend: Environmental variables to enable / disable Health checks - [ ] Backend: Environmental variables to configure Health check port +- [x] ~~Backend: Multi Session Key support for library browser~~ - [ ] Backend: Dockerfile - [ ] Backend: Track Seek support - [ ] Backend: Play from here support diff --git a/backend/app.js b/backend/app.js index 03ced9f..3d5348b 100644 --- a/backend/app.js +++ b/backend/app.js @@ -398,6 +398,7 @@ function roonLibraryBrowse(data, cb) { hierarchy: "browse", count: data.pager.count, offset: listoffset, + multi_session_key: data.options.multi_session_key, }, (error, payload) => { cb(payload); @@ -410,12 +411,12 @@ function roonLibraryBrowse(data, cb) { } function roonLibraryLoad(options, cb) { - // console.log(options); api.roon_browse.load( { hierarchy: "browse", count: options.count, offset: options.offset, + multi_session_key: options.multi_session_key, }, (error, payload) => { cb(payload); diff --git a/src/main.js b/src/main.js index 394f78f..9d44592 100644 --- a/src/main.js +++ b/src/main.js @@ -79,6 +79,7 @@ new Vue({ this.$store.commit("SET_window_size") ); this.$store.commit("SET_window_size"); + this.$store.commit("SET_session_key"); this.$store.commit("SET_base_url", BASE_URL); document.title = "Roon Web Controller"; }); diff --git a/src/store/index.js b/src/store/index.js index 418af13..5748ae7 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -5,6 +5,9 @@ Vue.use(Vuex); export default new Vuex.Store({ strict: process.env.NODE_ENV !== "production", state: { + tmp: { + session_key: "", + }, ui: { width: 800, height: 480, @@ -34,6 +37,12 @@ export default new Vuex.Store({ state.ui.width = window.innerWidth; state.ui.height = window.innerHeight; }, + SET_session_key: (state) => { + let session_key = Math.round(Math.random() * new Date()) + .toString(16) + .slice(-6); + state.tmp.session_key = session_key; + }, SOCKET_connect: (state) => { state.socket.connected = true; }, @@ -92,6 +101,7 @@ export default new Vuex.Store({ data.options = { zone_or_output_id: state.settings.current_zone_id, hierarchy: "browse", + multi_session_key: state.tmp.session_key, }; data.pager = { count: state.ui.library_list_count, @@ -126,6 +136,7 @@ export default new Vuex.Store({ zone_or_output_id: state.settings.current_zone_id, hierarchy: "browse", item_key: payload.item_key, + multi_session_key: state.tmp.session_key, }; data.pager = { offset: payload.listoffset || 0, @@ -150,6 +161,7 @@ export default new Vuex.Store({ hierarchy: "browse", count: state.ui.library_list_count, offset: offset, + multi_session_key: state.tmp.session_key, }; let url = `${state.roon.base_url}/api/load`; @@ -168,6 +180,7 @@ export default new Vuex.Store({ hierarchy: "browse", input: payload.input_value, item_key: payload.item_key, + multi_session_key: state.tmp.session_key, }; data.pager = { count: state.ui.library_list_count, From 93a24559bc979b6f2928329f1531c27371be577e Mon Sep 17 00:00:00 2001 From: pluggemi Date: Mon, 15 Jun 2020 10:20:44 -0400 Subject: [PATCH 11/54] clock settings and show_background settings --- README.md | 11 +- package-lock.json | 15 ++ package.json | 1 + src/components/TouchscreenOverlaySettings.vue | 58 +++++++ .../TouchscreenOverlaySettingsClock.vue | 148 ++++++++++++++++++ .../TouchscreenOverlaySettingsUi.vue | 28 ++++ src/components/globals/UiClock.vue | 51 ++++++ src/layouts/Touchscreen.vue | 16 +- src/main.js | 5 + src/store/index.js | 16 +- src/views/TouchscreenNowPlaying.vue | 30 +++- 11 files changed, 365 insertions(+), 14 deletions(-) create mode 100644 src/components/TouchscreenOverlaySettingsClock.vue create mode 100644 src/components/TouchscreenOverlaySettingsUi.vue create mode 100644 src/components/globals/UiClock.vue diff --git a/README.md b/README.md index 2bb1d01..e0713d2 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,11 @@ NOTE: This is alpha software. There is missing functionality. ## What works -- Touchscreen layout +Touchscreen layout - Landscape view - Library functionality - Now Playing functionality +- Clock, with settings for enabled, position, and format - Queue display - Volume controls overlay - Zone selection overlay @@ -16,7 +17,7 @@ NOTE: This is alpha software. There is missing functionality. ## What does not work - Portrait mode, only landscape is available right now -- Settings overlay is empty, no settings controls +- Settings overlay is in progress, partial settings controls - Queue "Play from Here" is not functional - Track seek controls @@ -29,15 +30,15 @@ NOTE: This is alpha software. There is missing functionality. - [ ] App global: Keyboard shortcuts - [ ] UI: Now Playing: Track seek controls - [ ] UI: Now Playing: Current Position / Time Left option -- [ ] UI: Now Playing: Clock +- [x] ~~UI: Now Playing: Clock~~ - [ ] UI: Queue: "play from here" - [x] ~~UI: Touchscreen Global: Volume overlay~~ - [ ] UI: Touchscreen Global: Settings overlay - [ ] UI: Settings Overlay: Save settings, including current zone id and layout to browser local storage - [ ] UI: Settings Overlay: Select Layout -- [ ] UI: Settings Overlay: Clock enable/disable and Moment.js format option +- [x] ~~UI: Settings Overlay: Clock enable/disable and Moment.js format option~~ - [ ] UI: Settings Overlay: Desktop Notifications enable/disable -- [ ] UI: Settings Overlay: Background cover art enable/disable +- [x] ~~UI: Settings Overlay: Background cover art enable/disable~~ - [ ] UI: Settings Overlay: Keyboard shortcuts enable/disable - [ ] UI: Settings Overlay: Keyboard shortcuts configure - [ ] UI: Settings Overlay: Current Position / Time Left option diff --git a/package-lock.json b/package-lock.json index c384f60..079fe57 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7857,6 +7857,12 @@ "minimist": "^1.2.5" } }, + "moment": { + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.26.0.tgz", + "integrity": "sha512-oIixUO+OamkUkwjhAVE18rAMfRJNsNe/Stid/gwHSOfHrOtw9EhAY2AHvdKZ/k/MggcYELFCJz/Sn2pL8b8JMw==", + "dev": true + }, "morgan": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz", @@ -12010,6 +12016,15 @@ } } }, + "vue-moment": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vue-moment/-/vue-moment-4.1.0.tgz", + "integrity": "sha512-Gzisqpg82ItlrUyiD9d0Kfru+JorW2o4mQOH06lEDZNgxci0tv/fua1Hl0bo4DozDV2JK1r52Atn/8QVCu8qQw==", + "dev": true, + "requires": { + "moment": "^2.19.2" + } + }, "vue-router": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.3.4.tgz", diff --git a/package.json b/package.json index 0e2765e..0a49c4b 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,7 @@ "core-js": "^3.6.5", "register-service-worker": "^1.7.1", "vue": "^2.6.11", + "vue-moment": "^4.1.0", "vue-router": "^3.3.4", "vue-socket.io": "^3.0.9", "vuex": "^3.4.0", diff --git a/src/components/TouchscreenOverlaySettings.vue b/src/components/TouchscreenOverlaySettings.vue index 4e9535a..9d3ec01 100644 --- a/src/components/TouchscreenOverlaySettings.vue +++ b/src/components/TouchscreenOverlaySettings.vue @@ -11,13 +11,48 @@ +
+ +
+ + diff --git a/src/components/TouchscreenOverlaySettingsClock.vue b/src/components/TouchscreenOverlaySettingsClock.vue new file mode 100644 index 0000000..0e9c05e --- /dev/null +++ b/src/components/TouchscreenOverlaySettingsClock.vue @@ -0,0 +1,148 @@ + + + + + diff --git a/src/components/TouchscreenOverlaySettingsUi.vue b/src/components/TouchscreenOverlaySettingsUi.vue new file mode 100644 index 0000000..080c38e --- /dev/null +++ b/src/components/TouchscreenOverlaySettingsUi.vue @@ -0,0 +1,28 @@ + + + diff --git a/src/components/globals/UiClock.vue b/src/components/globals/UiClock.vue new file mode 100644 index 0000000..e3302f8 --- /dev/null +++ b/src/components/globals/UiClock.vue @@ -0,0 +1,51 @@ + + + + + diff --git a/src/layouts/Touchscreen.vue b/src/layouts/Touchscreen.vue index cad5c20..17c5350 100644 --- a/src/layouts/Touchscreen.vue +++ b/src/layouts/Touchscreen.vue @@ -59,7 +59,7 @@ export default { }, show_cover_background: { get() { - return this.$store.state.settings.show_cover_background; + return this.$store.state.settings.ui.show_cover_background; }, }, current_zone: { @@ -254,6 +254,20 @@ export default { color: var(--AvailableColor); } +.ui_button { + color: var(--BaseColor); + background-color: var(--AvailableColor); + text-decoration: none; + display: inline-block; + margin: 1vh 1vw; + padding: 1vh 1vw; + border-radius: 1vh; + border: none; + outline: none; + cursor: pointer; + filter: drop-shadow(1vh 1vh 1vh black); +} + input[type="radio"] { display: none; } diff --git a/src/main.js b/src/main.js index 9d44592..3d4cd93 100644 --- a/src/main.js +++ b/src/main.js @@ -29,6 +29,7 @@ import VueSocketio from "vue-socket.io"; // import "./registerServiceWorker"; import router from "./router"; import store from "./store"; +import moment from "moment"; Vue.config.productionTip = false; @@ -70,6 +71,10 @@ Vue.use( }) ); +Vue.use(require("vue-moment"), { + moment, +}); + new Vue({ router, store, diff --git a/src/store/index.js b/src/store/index.js index 5748ae7..7a09d73 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -22,8 +22,16 @@ export default new Vuex.Store({ error: "", }, settings: { - show_cover_background: true, current_zone_id: "", + clock: { + show_clock: true, + position: "bottom_right", + format_line1: "LTS", + format_line2: "LL", + }, + ui: { + show_cover_background: true, + }, }, roon: { base_url: "", @@ -76,6 +84,12 @@ export default new Vuex.Store({ SHOW_overlay: (state, payload) => { state.ui["show_" + payload.overlay_name] = payload.show; }, + SHOW_cover_background: (state, payload) => { + state.settings.ui.show_cover_background = payload; + }, + SET_clock: (state, payload) => { + state.settings.clock[payload.option] = payload.value; + }, }, actions: { SOCKET_zone_list: ({ state, commit }, message) => { diff --git a/src/views/TouchscreenNowPlaying.vue b/src/views/TouchscreenNowPlaying.vue index bb11f7b..4a3231f 100644 --- a/src/views/TouchscreenNowPlaying.vue +++ b/src/views/TouchscreenNowPlaying.vue @@ -75,6 +75,10 @@ +
@@ -123,6 +127,11 @@ export default { ]; }, }, + clock: { + get() { + return this.$store.state.settings.clock; + }, + }, }, }; @@ -133,10 +142,10 @@ export default { grid-template-columns: 45vw 10vw 45vw; grid-template-rows: 7vh 50vh 36vh 7vh; grid-template-areas: - ". library_view_button_container ." + "clock_top_left library_view_button_container clock_top_right" "cover_art_container song_info_container song_info_container" "cover_art_container control_container control_container" - ". queue_view_button_container ."; + "clock_bottom_left queue_view_button_container clock_bottom_right"; } .not_playing_page { display: grid; @@ -182,24 +191,20 @@ export default { justify-content: space-around; align-items: center; } - .media_control_container { display: flex; width: 100%; justify-content: center; align-items: center; } - .range_track_seek { width: 50vw; } - .cover_art { max-height: 95%; max-width: 95%; filter: drop-shadow(1vh 1vh 1vh black); } - .song_position_container { width: 90%; display: flex; @@ -212,7 +217,6 @@ export default { .queue_view_button_container { grid-area: queue_view_button_container; } - .not_playing_info { grid-area: not_playing_info; display: flex; @@ -226,4 +230,16 @@ export default { justify-content: center; align-items: center; } +.clock_top_left { + grid-area: clock_top_left; +} +.clock_top_right { + grid-area: clock_top_right; +} +.clock_bottom_left { + grid-area: clock_bottom_left; +} +.clock_bottom_right { + grid-area: clock_bottom_right; +} From 25e830d517e21fa03a9cff528c272f23120d8c01 Mon Sep 17 00:00:00 2001 From: pluggemi Date: Mon, 15 Jun 2020 11:37:42 -0400 Subject: [PATCH 12/54] added clock to not playing view --- src/views/TouchscreenNowPlaying.vue | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/views/TouchscreenNowPlaying.vue b/src/views/TouchscreenNowPlaying.vue index 4a3231f..a77a269 100644 --- a/src/views/TouchscreenNowPlaying.vue +++ b/src/views/TouchscreenNowPlaying.vue @@ -105,6 +105,7 @@
+
@@ -150,10 +151,11 @@ export default { .not_playing_page { display: grid; grid-template-columns: 45vw 10vw 45vw; - grid-template-rows: 7vh 43vh 43vh 7vh; + grid-template-rows: 7vh 40vh 6vh 40vh 7vh; grid-template-areas: ". library_view_button_container ." "not_playing_info not_playing_info not_playing_info" + ". clock_not_playing ." "not_playing_control_container not_playing_control_container not_playing_control_container" ". queue_view_button_container ."; } @@ -242,4 +244,7 @@ export default { .clock_bottom_right { grid-area: clock_bottom_right; } +.clock_not_playing { + grid-area: clock_not_playing; +} From 0383e60b9b4a609d1ad75a15dd9a0e6b7e86f3d5 Mon Sep 17 00:00:00 2001 From: pluggemi Date: Mon, 15 Jun 2020 11:38:07 -0400 Subject: [PATCH 13/54] setting checkbox styling, clock format tweaks --- src/components/TouchscreenOverlaySettings.vue | 19 +++++++++++++++++++ .../TouchscreenOverlaySettingsClock.vue | 19 ++++++++++++++----- .../TouchscreenOverlaySettingsUi.vue | 14 ++++++++++---- src/store/index.js | 2 +- 4 files changed, 44 insertions(+), 10 deletions(-) diff --git a/src/components/TouchscreenOverlaySettings.vue b/src/components/TouchscreenOverlaySettings.vue index 9d3ec01..50b3178 100644 --- a/src/components/TouchscreenOverlaySettings.vue +++ b/src/components/TouchscreenOverlaySettings.vue @@ -80,9 +80,28 @@ export default { } .settings_name { font-weight: bold; + font-size: 125%; width: 40%; } .settings_options { width: 60%; } +.settings_checkbox input[type="checkbox"] { + display: none; +} +.settings_checkbox label { + cursor: pointer; + font-size: 125%; +} + +.settings_checkbox input[type="checkbox"] + label::after { + /* unicode ballot box without check */ + content: " \2610 "; +} + +.settings_checkbox input[type="checkbox"]:checked + label::after { + /* unicode ballot box with check */ + content: " \2611 "; + color: var(--ActiveColor); +} diff --git a/src/components/TouchscreenOverlaySettingsClock.vue b/src/components/TouchscreenOverlaySettingsClock.vue index 0e9c05e..945bc4f 100644 --- a/src/components/TouchscreenOverlaySettingsClock.vue +++ b/src/components/TouchscreenOverlaySettingsClock.vue @@ -1,11 +1,15 @@ @@ -50,4 +63,7 @@ svg { font-weight: bold; font-size: 125%; } +a { + color: var(--AvailableColor); +} diff --git a/src/components/AppDesktopNotifications.vue b/src/components/AppDesktopNotifications.vue new file mode 100644 index 0000000..062c2fb --- /dev/null +++ b/src/components/AppDesktopNotifications.vue @@ -0,0 +1,44 @@ + + + + diff --git a/src/components/SvgSpriteMediaControlsCircle.vue b/src/components/SvgSpriteMediaControlsCircle.vue new file mode 100644 index 0000000..7958315 --- /dev/null +++ b/src/components/SvgSpriteMediaControlsCircle.vue @@ -0,0 +1,35 @@ + + + diff --git a/src/components/SvgSpriteMediaControls.vue b/src/components/SvgSpriteMediaControlsDefault.vue similarity index 100% rename from src/components/SvgSpriteMediaControls.vue rename to src/components/SvgSpriteMediaControlsDefault.vue diff --git a/src/components/TouchscreenOverlaySettingsAbout.vue b/src/components/TouchscreenOverlaySettingsAbout.vue index 473c48d..81b44e0 100644 --- a/src/components/TouchscreenOverlaySettingsAbout.vue +++ b/src/components/TouchscreenOverlaySettingsAbout.vue @@ -13,7 +13,14 @@
License
-
MIT
+
+ MIT +
@@ -30,5 +37,3 @@ export default { }, }; - - diff --git a/src/components/TouchscreenOverlaySettingsClock.vue b/src/components/TouchscreenOverlaySettingsClock.vue index be26024..ddb9288 100644 --- a/src/components/TouchscreenOverlaySettingsClock.vue +++ b/src/components/TouchscreenOverlaySettingsClock.vue @@ -149,9 +149,3 @@ export default { }, }; - - diff --git a/src/components/TouchscreenOverlaySettingsGeneral.vue b/src/components/TouchscreenOverlaySettingsGeneral.vue index c3d06fc..ed3da65 100644 --- a/src/components/TouchscreenOverlaySettingsGeneral.vue +++ b/src/components/TouchscreenOverlaySettingsGeneral.vue @@ -19,15 +19,36 @@ - Use Circle Icons +
+
+ + + + + +
+
@@ -47,6 +68,18 @@ export default { this.$store.commit("SET_general_settings", payload); }, }, + use_circle_icons: { + get() { + return this.$store.state.settings.general.use_circle_icons; + }, + set(value) { + let payload = { + option: "use_circle_icons", + value: value, + }; + this.$store.commit("SET_general_settings", payload); + }, + }, show_time_remaining: { get() { return this.$store.state.settings.general.show_time_remaining; diff --git a/src/store/index.js b/src/store/index.js index 9e9db94..296398e 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -32,7 +32,8 @@ export default new Vuex.Store({ }, general: { show_cover_background: true, - show_time_remaining: false, + use_circle_icons: false, + show_time_remaining: true, }, }, roon: { diff --git a/src/views/TouchscreenNowPlaying.vue b/src/views/TouchscreenNowPlaying.vue index 2e34112..95e6b46 100644 --- a/src/views/TouchscreenNowPlaying.vue +++ b/src/views/TouchscreenNowPlaying.vue @@ -164,11 +164,11 @@ export default { .not_playing_page { display: grid; grid-template-columns: 45vw 10vw 45vw; - grid-template-rows: 7vh 40vh 6vh 40vh 7vh; + grid-template-rows: 7vh 35vh 16vh 35vh 7vh; grid-template-areas: ". library_view_button_container ." "not_playing_info not_playing_info not_playing_info" - ". clock_not_playing ." + "clock_not_playing clock_not_playing clock_not_playing" "not_playing_control_container not_playing_control_container not_playing_control_container" ". queue_view_button_container ."; } From 04b303ab82d8edfb3937c331ed98b220fa84d5af Mon Sep 17 00:00:00 2001 From: pluggemi Date: Sun, 21 Jun 2020 10:40:43 -0400 Subject: [PATCH 24/54] Docker support --- .dockerignore | 22 ++++++++++++++++++++++ Dockerfile | 24 ++++++++++++++++++++++-- README.md | 51 +++++++++++++++++++++++++++++++++++++++++++++++++- backend/app.js | 18 +++++++++++------- 4 files changed, 105 insertions(+), 10 deletions(-) create mode 100644 .dockerignore diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..e1e1838 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,22 @@ +.DS_Store +node_modules +dist +backend/config.json + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw* diff --git a/Dockerfile b/Dockerfile index b49db56..3788005 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,2 +1,22 @@ -# for npm install to production: -# npm install --only=production +# stage-1: build dist folder +FROM node:current-alpine as build +RUN ["mkdir", "-p", "/usr/src/app"] +WORKDIR /usr/src/app +COPY ["package.json", "package-lock.json", "/usr/src/app/"] +RUN apk add --no-cache git && \ + npm install +COPY . . +RUN npm run build + +# stage-2: production image +FROM node:current-alpine +RUN ["mkdir", "-p", "/usr/src/app"] +WORKDIR /usr/src/app +COPY ["package.json", "package-lock.json", "/usr/src/app/"] +RUN apk add --no-cache git && \ + npm install --only=production && \ + apk del git +COPY ["backend/", "/usr/src/app/backend/"] +COPY --from=build ["/usr/src/app/dist", "/usr/src/app/dist"] +ENTRYPOINT [ "npm", "start" ] +EXPOSE 8080 diff --git a/README.md b/README.md index 555a515..7390634 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ Touchscreen layout - [ ] Backend: Environmental variables to enable / disable Health checks - [ ] Backend: Environmental variables to configure Health check port - [x] ~~Backend: Multi Session Key support for library browser~~ -- [ ] Backend: Dockerfile +- [x] ~~Backend: Dockerfile~~ - [ ] Backend: Track Seek support - [x] ~~Backend: Play from here support~~ @@ -121,3 +121,52 @@ Using this alpha requires git, Node JS 10+ and npm. This application is compatible with Vue UI Graphical User Interface and the Vue devtools browser extensions. For more information, visit [https://cli.vuejs.org/](https://cli.vuejs.org/) + +## Docker / Kubernetes support +Docker will be the preferred way to use Roon Web Controller. Images will be published to Docker Hub at [pluggemi/roon-web-controller](https://hub.docker.com/repository/docker/pluggemi/roon-web-controller). + +### Environmental Options +The following environmental settings are available to configure the Roon Web Controller image: + +- ROON_HOST: This is set to the ip address (or host name if you have a working DNS setup) of the Roon Core. If this is not set, Roon Web Controller will attempt to auto discover the Roon Core. +- ROON_PORT: This is used to set the port that the Roon Core is running on. The default port is 9100 and most likely will not need to be changed. + +### Example run command +Here is an example command to run this docker container. + +``` +docker run -d \ + -p 8080:8080 \ + -e ROON_HOST="" \ + pluggemi/roon-web-controller:alpha +``` + +To also publish the live/ready/health endpoints (see below): +``` +docker run -d \ + -p 8080:8080 \ + -p 9090:9090 \ + -e ROON_HOST="" \ + pluggemi/roon-web-controller:alpha +``` + +### Kubernetes Live and Ready endpoints +This docker image has Live, Ready and Health endpoints for Kubernetes deployments. The health endpoints run on port 9090 within the docker container. + +- /live: this returns an HTTP 200 status code (OK) when the software is running +- /ready: this returns an HTTP 200 status code (OK) when the software is running and is paired with a Roon core. Otherwise, this returns a HTTP 503 status code (Service Unavailable). +- /health: this returns a JSON payload showing detailed health status. This is an example of the output from /health: +```javascript +{ + "app": { + "name":"Roon Web Controller", + "version":"2.0.0-alpha.0", + "address":["172.17.0.2"] + }, + "health":{ + "roon":"ready", + "express":"ready", + "socketio":"ready" + } +} +``` diff --git a/backend/app.js b/backend/app.js index bdee25e..f118214 100644 --- a/backend/app.js +++ b/backend/app.js @@ -35,10 +35,16 @@ sw.paired = false; const setting = {}; setting.roon = {}; -// TODO: Set these with environmental settings to support docker -setting.roon.host = ""; -setting.roon.port = 9100; // default port is 9100 -// end TODO +if (process.env.ROON_HOST !== undefined) { + setting.roon.host = process.env.ROON_HOST; +} else { + setting.roon.host = ""; +} +if (process.env.ROON_PORT !== undefined) { + setting.roon.port = process.env.ROON_PORT; +} else { + setting.roon.port = 9100; // default port is 9100 +} setting.express = {}; if (process.env.NODE_ENV === "development") { setting.express.port = 10000; @@ -49,8 +55,6 @@ if (process.env.NODE_ENV === "development") { } const health = {}; -// TODO: environmental setting to enable/disable health -//// TODO: environment setting to set health port health.port = 9090; health.express = "initializing"; health.roon = "initializing"; @@ -324,7 +328,7 @@ function setupRoon() { required_services: [RoonApiTransport, RoonApiImage, RoonApiBrowse], provided_services: [api.roon_status], }); - if (setting.roon.host !== "" || setting.roon.host === undefined) { + if (setting.roon.host !== "" || setting.roon.host !== undefined) { api.roon.ws_connect({ host: setting.roon.host, port: setting.roon.port || 9100, From 64dbc37167ba9373d116c670136b528cf8cbe7b0 Mon Sep 17 00:00:00 2001 From: pluggemi Date: Sun, 28 Jun 2020 09:55:13 -0400 Subject: [PATCH 25/54] better detect if ROON_HOST is defined --- backend/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/app.js b/backend/app.js index f118214..0a77d3c 100644 --- a/backend/app.js +++ b/backend/app.js @@ -328,7 +328,7 @@ function setupRoon() { required_services: [RoonApiTransport, RoonApiImage, RoonApiBrowse], provided_services: [api.roon_status], }); - if (setting.roon.host !== "" || setting.roon.host !== undefined) { + if (setting.roon.host !== "") { api.roon.ws_connect({ host: setting.roon.host, port: setting.roon.port || 9100, From 6567c8372805124bb30c2116b74f235107af242e Mon Sep 17 00:00:00 2001 From: pluggemi Date: Sun, 28 Jun 2020 10:33:10 -0400 Subject: [PATCH 26/54] Option to display track info in browser title --- README.md | 18 +- package-lock.json | 1403 +++++++++++------ package.json | 14 +- src/App.vue | 3 + src/components/AppBrowserTitle.vue | 46 + src/components/AppDesktopNotifications.vue | 8 +- .../TouchscreenOverlaySettingsGeneral.vue | 26 + src/store/index.js | 1 + 8 files changed, 1028 insertions(+), 491 deletions(-) create mode 100644 src/components/AppBrowserTitle.vue diff --git a/README.md b/README.md index 7390634..bac841a 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,7 @@ Touchscreen layout - [ ] App global: Desktop notifications - [ ] App global: Keyboard shortcuts - [ ] App global: Prevent screensaver/screen blank +- [x] ~~App global: Option to update browser title with track information~~ - [x] ~~App global: Circle Icons option~~ - [ ] UI: Now Playing: Track seek controls - [x] ~~UI: Now Playing: Track length / Time Remaining option~~ @@ -42,6 +43,7 @@ Touchscreen layout - [ ] UI: Settings Overlay: Select Layout - [x] ~~UI: Settings Overlay: Clock enable/disable and Moment.js format option~~ - [ ] UI: Settings Overlay: Desktop Notifications enable/disable +- [x] ~~UI: Settings Overlay: Track Name in Browser Title enable/disable~~ - [ ] UI: Settings Overlay: Prevent screensaver/screen blank - [x] ~~UI: Settings Overlay: Circle Icons option~~ - [x] ~~UI: Settings Overlay: Background cover art enable/disable~~ @@ -123,15 +125,18 @@ This application is compatible with Vue UI Graphical User Interface and the Vue For more information, visit [https://cli.vuejs.org/](https://cli.vuejs.org/) ## Docker / Kubernetes support + Docker will be the preferred way to use Roon Web Controller. Images will be published to Docker Hub at [pluggemi/roon-web-controller](https://hub.docker.com/repository/docker/pluggemi/roon-web-controller). ### Environmental Options + The following environmental settings are available to configure the Roon Web Controller image: -- ROON_HOST: This is set to the ip address (or host name if you have a working DNS setup) of the Roon Core. If this is not set, Roon Web Controller will attempt to auto discover the Roon Core. -- ROON_PORT: This is used to set the port that the Roon Core is running on. The default port is 9100 and most likely will not need to be changed. +- ROON_HOST: This is set to the ip address (or host name if you have a working DNS setup) of the Roon Core. If this is not set, Roon Web Controller will attempt to auto discover the Roon Core. +- ROON_PORT: This is used to set the port that the Roon Core is running on. The default port is 9100 and most likely will not need to be changed. ### Example run command + Here is an example command to run this docker container. ``` @@ -142,6 +147,7 @@ docker run -d \ ``` To also publish the live/ready/health endpoints (see below): + ``` docker run -d \ -p 8080:8080 \ @@ -151,11 +157,13 @@ docker run -d \ ``` ### Kubernetes Live and Ready endpoints -This docker image has Live, Ready and Health endpoints for Kubernetes deployments. The health endpoints run on port 9090 within the docker container. + +This docker image has Live, Ready and Health endpoints for Kubernetes deployments. The health endpoints run on port 9090 within the docker container. - /live: this returns an HTTP 200 status code (OK) when the software is running -- /ready: this returns an HTTP 200 status code (OK) when the software is running and is paired with a Roon core. Otherwise, this returns a HTTP 503 status code (Service Unavailable). -- /health: this returns a JSON payload showing detailed health status. This is an example of the output from /health: +- /ready: this returns an HTTP 200 status code (OK) when the software is running and is paired with a Roon core. Otherwise, this returns a HTTP 503 status code (Service Unavailable). +- /health: this returns a JSON payload showing detailed health status. This is an example of the output from /health: + ```javascript { "app": { diff --git a/package-lock.json b/package-lock.json index 742cbf8..135f9ca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,9 +14,9 @@ } }, "@babel/compat-data": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.1.tgz", - "integrity": "sha512-CHvCj7So7iCkGKPRFUfryXIkU2gSBw7VSZFYLsqVhrS47269VK2Hfi9S/YcublPMW8k1u2bQBlbDruoQEm4fgw==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.3.tgz", + "integrity": "sha512-BDIfJ9uNZuI0LajPfoYV28lX8kyCPMHY6uY4WH1lJdcicmAfxCK5ASzaeV0D/wsUaRH/cLk+amuxtC37sZ8TUg==", "dev": true, "requires": { "browserslist": "^4.12.0", @@ -25,19 +25,19 @@ } }, "@babel/core": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.10.2.tgz", - "integrity": "sha512-KQmV9yguEjQsXqyOUGKjS4+3K8/DlOCE2pZcq4augdQmtTy5iv5EHtmMSJ7V4c1BIPjuwtZYqYLCq9Ga+hGBRQ==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.10.3.tgz", + "integrity": "sha512-5YqWxYE3pyhIi84L84YcwjeEgS+fa7ZjK6IBVGTjDVfm64njkR2lfDhVR5OudLk8x2GK59YoSyVv+L/03k1q9w==", "dev": true, "requires": { - "@babel/code-frame": "^7.10.1", - "@babel/generator": "^7.10.2", + "@babel/code-frame": "^7.10.3", + "@babel/generator": "^7.10.3", "@babel/helper-module-transforms": "^7.10.1", "@babel/helpers": "^7.10.1", - "@babel/parser": "^7.10.2", - "@babel/template": "^7.10.1", - "@babel/traverse": "^7.10.1", - "@babel/types": "^7.10.2", + "@babel/parser": "^7.10.3", + "@babel/template": "^7.10.3", + "@babel/traverse": "^7.10.3", + "@babel/types": "^7.10.3", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.1", @@ -46,6 +46,111 @@ "resolve": "^1.3.2", "semver": "^5.4.1", "source-map": "^0.5.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", + "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.3" + } + }, + "@babel/generator": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.3.tgz", + "integrity": "sha512-drt8MUHbEqRzNR0xnF8nMehbY11b1SDkRw03PSNH/3Rb2Z35oxkddVSi3rcaak0YJQ86PCuE7Qx1jSFhbLNBMA==", + "dev": true, + "requires": { + "@babel/types": "^7.10.3", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.3.tgz", + "integrity": "sha512-FvSj2aiOd8zbeqijjgqdMDSyxsGHaMt5Tr0XjQsGKHD3/1FP3wksjnLAWzxw7lvXiej8W1Jt47SKTZ6upQNiRw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.3", + "@babel/template": "^7.10.3", + "@babel/types": "^7.10.3" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.3.tgz", + "integrity": "sha512-iUD/gFsR+M6uiy69JA6fzM5seno8oE85IYZdbVVEuQaZlEzMO2MXblh+KSPJgsZAUx0EEbWXU0yJaW7C9CdAVg==", + "dev": true, + "requires": { + "@babel/types": "^7.10.3" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz", + "integrity": "sha512-bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", + "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.3", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.3.tgz", + "integrity": "sha512-oJtNJCMFdIMwXGmx+KxuaD7i3b8uS7TTFYW/FNG2BT8m+fmGHoiPYoH0Pe3gya07WuFmM5FCDIr1x0irkD/hyA==", + "dev": true + }, + "@babel/template": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz", + "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.3", + "@babel/parser": "^7.10.3", + "@babel/types": "^7.10.3" + } + }, + "@babel/traverse": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.3.tgz", + "integrity": "sha512-qO6623eBFhuPm0TmmrUFMT1FulCmsSeJuVGhiLodk2raUDFhhTECLd9E9jC4LBIWziqt4wgF6KuXE4d+Jz9yug==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.3", + "@babel/generator": "^7.10.3", + "@babel/helper-function-name": "^7.10.3", + "@babel/helper-split-export-declaration": "^7.10.1", + "@babel/parser": "^7.10.3", + "@babel/types": "^7.10.3", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.3.tgz", + "integrity": "sha512-nZxaJhBXBQ8HVoIcGsf9qWep3Oh3jCENK54V4mRF7qaJabVsAYdbTtmSD8WmAp1R6ytPiu5apMwSXyxB1WlaBA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.3", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/generator": { @@ -70,13 +175,32 @@ } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.1.tgz", - "integrity": "sha512-cQpVq48EkYxUU0xozpGCLla3wlkdRRqLWu1ksFMXA9CM5KQmyyRpSEsYXbao7JUkOw/tAaYKCaYyZq6HOFYtyw==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.3.tgz", + "integrity": "sha512-lo4XXRnBlU6eRM92FkiZxpo1xFLmv3VsPFk61zJKMm7XYJfwqXHsYJTY6agoc4a3L8QPw1HqWehO18coZgbT6A==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "^7.10.1", - "@babel/types": "^7.10.1" + "@babel/helper-explode-assignable-expression": "^7.10.3", + "@babel/types": "^7.10.3" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz", + "integrity": "sha512-bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw==", + "dev": true + }, + "@babel/types": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.3.tgz", + "integrity": "sha512-nZxaJhBXBQ8HVoIcGsf9qWep3Oh3jCENK54V4mRF7qaJabVsAYdbTtmSD8WmAp1R6ytPiu5apMwSXyxB1WlaBA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.3", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-compilation-targets": { @@ -93,17 +217,93 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.2.tgz", - "integrity": "sha512-5C/QhkGFh1vqcziq1vAL6SI9ymzUp8BCYjFpvYVhWP4DlATIb3u5q3iUd35mvlyGs8fO7hckkW7i0tmH+5+bvQ==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.10.3.tgz", + "integrity": "sha512-iRT9VwqtdFmv7UheJWthGc/h2s7MqoweBF9RUj77NFZsg9VfISvBTum3k6coAhJ8RWv2tj3yUjA03HxPd0vfpQ==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.1", - "@babel/helper-member-expression-to-functions": "^7.10.1", - "@babel/helper-optimise-call-expression": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-function-name": "^7.10.3", + "@babel/helper-member-expression-to-functions": "^7.10.3", + "@babel/helper-optimise-call-expression": "^7.10.3", + "@babel/helper-plugin-utils": "^7.10.3", "@babel/helper-replace-supers": "^7.10.1", "@babel/helper-split-export-declaration": "^7.10.1" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", + "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.3" + } + }, + "@babel/helper-function-name": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.3.tgz", + "integrity": "sha512-FvSj2aiOd8zbeqijjgqdMDSyxsGHaMt5Tr0XjQsGKHD3/1FP3wksjnLAWzxw7lvXiej8W1Jt47SKTZ6upQNiRw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.3", + "@babel/template": "^7.10.3", + "@babel/types": "^7.10.3" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.3.tgz", + "integrity": "sha512-iUD/gFsR+M6uiy69JA6fzM5seno8oE85IYZdbVVEuQaZlEzMO2MXblh+KSPJgsZAUx0EEbWXU0yJaW7C9CdAVg==", + "dev": true, + "requires": { + "@babel/types": "^7.10.3" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz", + "integrity": "sha512-bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", + "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.3", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.3.tgz", + "integrity": "sha512-oJtNJCMFdIMwXGmx+KxuaD7i3b8uS7TTFYW/FNG2BT8m+fmGHoiPYoH0Pe3gya07WuFmM5FCDIr1x0irkD/hyA==", + "dev": true + }, + "@babel/template": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz", + "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.3", + "@babel/parser": "^7.10.3", + "@babel/types": "^7.10.3" + } + }, + "@babel/types": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.3.tgz", + "integrity": "sha512-nZxaJhBXBQ8HVoIcGsf9qWep3Oh3jCENK54V4mRF7qaJabVsAYdbTtmSD8WmAp1R6ytPiu5apMwSXyxB1WlaBA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.3", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-create-regexp-features-plugin": { @@ -118,24 +318,205 @@ } }, "@babel/helper-define-map": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.1.tgz", - "integrity": "sha512-+5odWpX+OnvkD0Zmq7panrMuAGQBu6aPUgvMzuMGo4R+jUOvealEj2hiqI6WhxgKrTpFoFj0+VdsuA8KDxHBDg==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.3.tgz", + "integrity": "sha512-bxRzDi4Sin/k0drWCczppOhov1sBSdBvXJObM1NLHQzjhXhwRtn7aRWGvLJWCYbuu2qUk3EKs6Ci9C9ps8XokQ==", "dev": true, "requires": { - "@babel/helper-function-name": "^7.10.1", - "@babel/types": "^7.10.1", + "@babel/helper-function-name": "^7.10.3", + "@babel/types": "^7.10.3", "lodash": "^4.17.13" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", + "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.3" + } + }, + "@babel/helper-function-name": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.3.tgz", + "integrity": "sha512-FvSj2aiOd8zbeqijjgqdMDSyxsGHaMt5Tr0XjQsGKHD3/1FP3wksjnLAWzxw7lvXiej8W1Jt47SKTZ6upQNiRw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.3", + "@babel/template": "^7.10.3", + "@babel/types": "^7.10.3" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.3.tgz", + "integrity": "sha512-iUD/gFsR+M6uiy69JA6fzM5seno8oE85IYZdbVVEuQaZlEzMO2MXblh+KSPJgsZAUx0EEbWXU0yJaW7C9CdAVg==", + "dev": true, + "requires": { + "@babel/types": "^7.10.3" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz", + "integrity": "sha512-bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", + "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.3", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.3.tgz", + "integrity": "sha512-oJtNJCMFdIMwXGmx+KxuaD7i3b8uS7TTFYW/FNG2BT8m+fmGHoiPYoH0Pe3gya07WuFmM5FCDIr1x0irkD/hyA==", + "dev": true + }, + "@babel/template": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz", + "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.3", + "@babel/parser": "^7.10.3", + "@babel/types": "^7.10.3" + } + }, + "@babel/types": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.3.tgz", + "integrity": "sha512-nZxaJhBXBQ8HVoIcGsf9qWep3Oh3jCENK54V4mRF7qaJabVsAYdbTtmSD8WmAp1R6ytPiu5apMwSXyxB1WlaBA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.3", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-explode-assignable-expression": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.1.tgz", - "integrity": "sha512-vcUJ3cDjLjvkKzt6rHrl767FeE7pMEYfPanq5L16GRtrXIoznc0HykNW2aEYkcnP76P0isoqJ34dDMFZwzEpJg==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.3.tgz", + "integrity": "sha512-0nKcR64XrOC3lsl+uhD15cwxPvaB6QKUDlD84OT9C3myRbhJqTMYir69/RWItUvHpharv0eJ/wk7fl34ONSwZw==", "dev": true, "requires": { - "@babel/traverse": "^7.10.1", - "@babel/types": "^7.10.1" + "@babel/traverse": "^7.10.3", + "@babel/types": "^7.10.3" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", + "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.3" + } + }, + "@babel/generator": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.3.tgz", + "integrity": "sha512-drt8MUHbEqRzNR0xnF8nMehbY11b1SDkRw03PSNH/3Rb2Z35oxkddVSi3rcaak0YJQ86PCuE7Qx1jSFhbLNBMA==", + "dev": true, + "requires": { + "@babel/types": "^7.10.3", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.3.tgz", + "integrity": "sha512-FvSj2aiOd8zbeqijjgqdMDSyxsGHaMt5Tr0XjQsGKHD3/1FP3wksjnLAWzxw7lvXiej8W1Jt47SKTZ6upQNiRw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.3", + "@babel/template": "^7.10.3", + "@babel/types": "^7.10.3" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.3.tgz", + "integrity": "sha512-iUD/gFsR+M6uiy69JA6fzM5seno8oE85IYZdbVVEuQaZlEzMO2MXblh+KSPJgsZAUx0EEbWXU0yJaW7C9CdAVg==", + "dev": true, + "requires": { + "@babel/types": "^7.10.3" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz", + "integrity": "sha512-bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", + "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.3", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.3.tgz", + "integrity": "sha512-oJtNJCMFdIMwXGmx+KxuaD7i3b8uS7TTFYW/FNG2BT8m+fmGHoiPYoH0Pe3gya07WuFmM5FCDIr1x0irkD/hyA==", + "dev": true + }, + "@babel/template": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz", + "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.3", + "@babel/parser": "^7.10.3", + "@babel/types": "^7.10.3" + } + }, + "@babel/traverse": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.3.tgz", + "integrity": "sha512-qO6623eBFhuPm0TmmrUFMT1FulCmsSeJuVGhiLodk2raUDFhhTECLd9E9jC4LBIWziqt4wgF6KuXE4d+Jz9yug==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.3", + "@babel/generator": "^7.10.3", + "@babel/helper-function-name": "^7.10.3", + "@babel/helper-split-export-declaration": "^7.10.1", + "@babel/parser": "^7.10.3", + "@babel/types": "^7.10.3", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.3.tgz", + "integrity": "sha512-nZxaJhBXBQ8HVoIcGsf9qWep3Oh3jCENK54V4mRF7qaJabVsAYdbTtmSD8WmAp1R6ytPiu5apMwSXyxB1WlaBA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.3", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-function-name": { @@ -159,30 +540,87 @@ } }, "@babel/helper-hoist-variables": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.1.tgz", - "integrity": "sha512-vLm5srkU8rI6X3+aQ1rQJyfjvCBLXP8cAGeuw04zeAM2ItKb1e7pmVmLyHb4sDaAYnLL13RHOZPLEtcGZ5xvjg==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.3.tgz", + "integrity": "sha512-9JyafKoBt5h20Yv1+BXQMdcXXavozI1vt401KBiRc2qzUepbVnd7ogVNymY1xkQN9fekGwfxtotH2Yf5xsGzgg==", "dev": true, "requires": { - "@babel/types": "^7.10.1" + "@babel/types": "^7.10.3" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz", + "integrity": "sha512-bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw==", + "dev": true + }, + "@babel/types": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.3.tgz", + "integrity": "sha512-nZxaJhBXBQ8HVoIcGsf9qWep3Oh3jCENK54V4mRF7qaJabVsAYdbTtmSD8WmAp1R6ytPiu5apMwSXyxB1WlaBA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.3", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-member-expression-to-functions": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.1.tgz", - "integrity": "sha512-u7XLXeM2n50gb6PWJ9hoO5oO7JFPaZtrh35t8RqKLT1jFKj9IWeD1zrcrYp1q1qiZTdEarfDWfTIP8nGsu0h5g==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.3.tgz", + "integrity": "sha512-q7+37c4EPLSjNb2NmWOjNwj0+BOyYlssuQ58kHEWk1Z78K5i8vTUsteq78HMieRPQSl/NtpQyJfdjt3qZ5V2vw==", "dev": true, "requires": { - "@babel/types": "^7.10.1" + "@babel/types": "^7.10.3" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz", + "integrity": "sha512-bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw==", + "dev": true + }, + "@babel/types": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.3.tgz", + "integrity": "sha512-nZxaJhBXBQ8HVoIcGsf9qWep3Oh3jCENK54V4mRF7qaJabVsAYdbTtmSD8WmAp1R6ytPiu5apMwSXyxB1WlaBA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.3", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-module-imports": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.1.tgz", - "integrity": "sha512-SFxgwYmZ3HZPyZwJRiVNLRHWuW2OgE5k2nrVs6D9Iv4PPnXVffuEHy83Sfx/l4SqF+5kyJXjAyUmrG7tNm+qVg==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.3.tgz", + "integrity": "sha512-Jtqw5M9pahLSUWA+76nhK9OG8nwYXzhQzVIGFoNaHnXF/r4l7kz4Fl0UAW7B6mqC5myoJiBP5/YQlXQTMfHI9w==", "dev": true, "requires": { - "@babel/types": "^7.10.1" + "@babel/types": "^7.10.3" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz", + "integrity": "sha512-bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw==", + "dev": true + }, + "@babel/types": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.3.tgz", + "integrity": "sha512-nZxaJhBXBQ8HVoIcGsf9qWep3Oh3jCENK54V4mRF7qaJabVsAYdbTtmSD8WmAp1R6ytPiu5apMwSXyxB1WlaBA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.3", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-module-transforms": { @@ -201,18 +639,37 @@ } }, "@babel/helper-optimise-call-expression": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.1.tgz", - "integrity": "sha512-a0DjNS1prnBsoKx83dP2falChcs7p3i8VMzdrSbfLhuQra/2ENC4sbri34dz/rWmDADsmF1q5GbfaXydh0Jbjg==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.3.tgz", + "integrity": "sha512-kT2R3VBH/cnSz+yChKpaKRJQJWxdGoc6SjioRId2wkeV3bK0wLLioFpJROrX0U4xr/NmxSSAWT/9Ih5snwIIzg==", "dev": true, "requires": { - "@babel/types": "^7.10.1" + "@babel/types": "^7.10.3" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz", + "integrity": "sha512-bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw==", + "dev": true + }, + "@babel/types": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.3.tgz", + "integrity": "sha512-nZxaJhBXBQ8HVoIcGsf9qWep3Oh3jCENK54V4mRF7qaJabVsAYdbTtmSD8WmAp1R6ytPiu5apMwSXyxB1WlaBA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.3", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-plugin-utils": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.1.tgz", - "integrity": "sha512-fvoGeXt0bJc7VMWZGCAEBEMo/HAjW2mP8apF5eXK0wSqwLAVHAISCWRoLMBMUs2kqeaG77jltVqu4Hn8Egl3nA==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.3.tgz", + "integrity": "sha512-j/+j8NAWUTxOtx4LKHybpSClxHoq6I91DQ/mKgAXn5oNUPIUiGppjPIX3TDtJWPrdfP9Kfl7e4fgVMiQR9VE/g==", "dev": true }, "@babel/helper-regex": { @@ -225,16 +682,121 @@ } }, "@babel/helper-remap-async-to-generator": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.1.tgz", - "integrity": "sha512-RfX1P8HqsfgmJ6CwaXGKMAqbYdlleqglvVtht0HGPMSsy2V6MqLlOJVF/0Qyb/m2ZCi2z3q3+s6Pv7R/dQuZ6A==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.3.tgz", + "integrity": "sha512-sLB7666ARbJUGDO60ZormmhQOyqMX/shKBXZ7fy937s+3ID8gSrneMvKSSb+8xIM5V7Vn6uNVtOY1vIm26XLtA==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.10.1", "@babel/helper-wrap-function": "^7.10.1", - "@babel/template": "^7.10.1", - "@babel/traverse": "^7.10.1", - "@babel/types": "^7.10.1" + "@babel/template": "^7.10.3", + "@babel/traverse": "^7.10.3", + "@babel/types": "^7.10.3" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", + "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.3" + } + }, + "@babel/generator": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.3.tgz", + "integrity": "sha512-drt8MUHbEqRzNR0xnF8nMehbY11b1SDkRw03PSNH/3Rb2Z35oxkddVSi3rcaak0YJQ86PCuE7Qx1jSFhbLNBMA==", + "dev": true, + "requires": { + "@babel/types": "^7.10.3", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/helper-function-name": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.3.tgz", + "integrity": "sha512-FvSj2aiOd8zbeqijjgqdMDSyxsGHaMt5Tr0XjQsGKHD3/1FP3wksjnLAWzxw7lvXiej8W1Jt47SKTZ6upQNiRw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.3", + "@babel/template": "^7.10.3", + "@babel/types": "^7.10.3" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.3.tgz", + "integrity": "sha512-iUD/gFsR+M6uiy69JA6fzM5seno8oE85IYZdbVVEuQaZlEzMO2MXblh+KSPJgsZAUx0EEbWXU0yJaW7C9CdAVg==", + "dev": true, + "requires": { + "@babel/types": "^7.10.3" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz", + "integrity": "sha512-bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", + "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.3", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.3.tgz", + "integrity": "sha512-oJtNJCMFdIMwXGmx+KxuaD7i3b8uS7TTFYW/FNG2BT8m+fmGHoiPYoH0Pe3gya07WuFmM5FCDIr1x0irkD/hyA==", + "dev": true + }, + "@babel/template": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz", + "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.3", + "@babel/parser": "^7.10.3", + "@babel/types": "^7.10.3" + } + }, + "@babel/traverse": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.3.tgz", + "integrity": "sha512-qO6623eBFhuPm0TmmrUFMT1FulCmsSeJuVGhiLodk2raUDFhhTECLd9E9jC4LBIWziqt4wgF6KuXE4d+Jz9yug==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.3", + "@babel/generator": "^7.10.3", + "@babel/helper-function-name": "^7.10.3", + "@babel/helper-split-export-declaration": "^7.10.1", + "@babel/parser": "^7.10.3", + "@babel/types": "^7.10.3", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, + "@babel/types": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.3.tgz", + "integrity": "sha512-nZxaJhBXBQ8HVoIcGsf9qWep3Oh3jCENK54V4mRF7qaJabVsAYdbTtmSD8WmAp1R6ytPiu5apMwSXyxB1WlaBA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.3", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/helper-replace-supers": { @@ -315,13 +877,13 @@ "dev": true }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.1.tgz", - "integrity": "sha512-vzZE12ZTdB336POZjmpblWfNNRpMSua45EYnRigE2XsZxcXcIyly2ixnTJasJE4Zq3U7t2d8rRF7XRUuzHxbOw==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.3.tgz", + "integrity": "sha512-WUUWM7YTOudF4jZBAJIW9D7aViYC/Fn0Pln4RIHlQALyno3sXSjqmTA4Zy1TKC2D49RCR8Y/Pn4OIUtEypK3CA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/helper-remap-async-to-generator": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.3", + "@babel/helper-remap-async-to-generator": "^7.10.3", "@babel/plugin-syntax-async-generators": "^7.8.0" } }, @@ -336,13 +898,13 @@ } }, "@babel/plugin-proposal-decorators": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.10.1.tgz", - "integrity": "sha512-xBfteh352MTke2U1NpclzMDmAmCdQ2fBZjhZQQfGTjXw6qcRYMkt528sA1U8o0ThDCSeuETXIj5bOGdxN+5gkw==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.10.3.tgz", + "integrity": "sha512-Rzwn5tcYFTdWWK3IrhMZkMDjzFQLIGYqHvv9XuzNnEB91Y6gHr/JjazYV1Yec9g0yMLhy1p/21eiW1P7f5UN4A==", "dev": true, "requires": { - "@babel/helper-create-class-features-plugin": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-create-class-features-plugin": "^7.10.3", + "@babel/helper-plugin-utils": "^7.10.3", "@babel/plugin-syntax-decorators": "^7.10.1" } }, @@ -387,12 +949,12 @@ } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.1.tgz", - "integrity": "sha512-Z+Qri55KiQkHh7Fc4BW6o+QBuTagbOp9txE+4U1i79u9oWlf2npkiDx+Rf3iK3lbcHBuNy9UOkwuR5wOMH3LIQ==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.3.tgz", + "integrity": "sha512-ZZh5leCIlH9lni5bU/wB/UcjtcVLgR8gc+FAgW2OOY+m9h1II3ItTO1/cewNUcsIDZSYcSaz/rYVls+Fb0ExVQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.3", "@babel/plugin-syntax-object-rest-spread": "^7.8.0", "@babel/plugin-transform-parameters": "^7.10.1" } @@ -408,12 +970,12 @@ } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.1.tgz", - "integrity": "sha512-dqQj475q8+/avvok72CF3AOSV/SGEcH29zT5hhohqqvvZ2+boQoOr7iGldBG5YXTO2qgCgc2B3WvVLUdbeMlGA==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.3.tgz", + "integrity": "sha512-yyG3n9dJ1vZ6v5sfmIlMMZ8azQoqx/5/nZTSWX1td6L1H1bsjzA8TInDChpafCZiJkeOFzp/PtrfigAQXxI1Ng==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.3", "@babel/plugin-syntax-optional-chaining": "^7.8.0" } }, @@ -585,28 +1147,104 @@ } }, "@babel/plugin-transform-classes": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.1.tgz", - "integrity": "sha512-P9V0YIh+ln/B3RStPoXpEQ/CoAxQIhRSUn7aXqQ+FZJ2u8+oCtjIXR3+X0vsSD8zv+mb56K7wZW1XiDTDGiDRQ==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.3.tgz", + "integrity": "sha512-irEX0ChJLaZVC7FvvRoSIxJlmk0IczFLcwaRXUArBKYHCHbOhe57aG8q3uw/fJsoSXvZhjRX960hyeAGlVBXZw==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.10.1", - "@babel/helper-define-map": "^7.10.1", - "@babel/helper-function-name": "^7.10.1", - "@babel/helper-optimise-call-expression": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-define-map": "^7.10.3", + "@babel/helper-function-name": "^7.10.3", + "@babel/helper-optimise-call-expression": "^7.10.3", + "@babel/helper-plugin-utils": "^7.10.3", "@babel/helper-replace-supers": "^7.10.1", "@babel/helper-split-export-declaration": "^7.10.1", "globals": "^11.1.0" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", + "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.3" + } + }, + "@babel/helper-function-name": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.3.tgz", + "integrity": "sha512-FvSj2aiOd8zbeqijjgqdMDSyxsGHaMt5Tr0XjQsGKHD3/1FP3wksjnLAWzxw7lvXiej8W1Jt47SKTZ6upQNiRw==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.10.3", + "@babel/template": "^7.10.3", + "@babel/types": "^7.10.3" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.3.tgz", + "integrity": "sha512-iUD/gFsR+M6uiy69JA6fzM5seno8oE85IYZdbVVEuQaZlEzMO2MXblh+KSPJgsZAUx0EEbWXU0yJaW7C9CdAVg==", + "dev": true, + "requires": { + "@babel/types": "^7.10.3" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz", + "integrity": "sha512-bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", + "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.3", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.3.tgz", + "integrity": "sha512-oJtNJCMFdIMwXGmx+KxuaD7i3b8uS7TTFYW/FNG2BT8m+fmGHoiPYoH0Pe3gya07WuFmM5FCDIr1x0irkD/hyA==", + "dev": true + }, + "@babel/template": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz", + "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.3", + "@babel/parser": "^7.10.3", + "@babel/types": "^7.10.3" + } + }, + "@babel/types": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.3.tgz", + "integrity": "sha512-nZxaJhBXBQ8HVoIcGsf9qWep3Oh3jCENK54V4mRF7qaJabVsAYdbTtmSD8WmAp1R6ytPiu5apMwSXyxB1WlaBA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.3", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/plugin-transform-computed-properties": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.1.tgz", - "integrity": "sha512-mqSrGjp3IefMsXIenBfGcPXxJxweQe2hEIwMQvjtiDQ9b1IBvDUjkAtV/HMXX47/vXf14qDNedXsIiNd1FmkaQ==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.3.tgz", + "integrity": "sha512-GWzhaBOsdbjVFav96drOz7FzrcEW6AP5nax0gLIpstiFaI3LOb2tAg06TimaWU6YKOfUACK3FVrxPJ4GSc5TgA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.3" } }, "@babel/plugin-transform-destructuring": { @@ -708,14 +1346,14 @@ } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.1.tgz", - "integrity": "sha512-ewNKcj1TQZDL3YnO85qh9zo1YF1CHgmSTlRQgHqe63oTrMI85cthKtZjAiZSsSNjPQ5NCaYo5QkbYqEw1ZBgZA==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.3.tgz", + "integrity": "sha512-GWXWQMmE1GH4ALc7YXW56BTh/AlzvDWhUNn9ArFF0+Cz5G8esYlVbXfdyHa1xaD1j+GnBoCeoQNlwtZTVdiG/A==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.10.1", + "@babel/helper-hoist-variables": "^7.10.3", "@babel/helper-module-transforms": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-plugin-utils": "^7.10.3", "babel-plugin-dynamic-import-node": "^2.3.3" } }, @@ -730,9 +1368,9 @@ } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz", - "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.3.tgz", + "integrity": "sha512-I3EH+RMFyVi8Iy/LekQm948Z4Lz4yKT7rK+vuCAeRm0kTa6Z5W7xuhRxDNJv0FPya/her6AUgrDITb70YHtTvA==", "dev": true, "requires": { "@babel/helper-create-regexp-features-plugin": "^7.8.3" @@ -777,9 +1415,9 @@ } }, "@babel/plugin-transform-regenerator": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.1.tgz", - "integrity": "sha512-B3+Y2prScgJ2Bh/2l9LJxKbb8C8kRfsG4AdPT+n7ixBHIxJaIG8bi8tgjxUMege1+WqSJ+7gu1YeoMVO3gPWzw==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.3.tgz", + "integrity": "sha512-H5kNeW0u8mbk0qa1jVIVTeJJL6/TJ81ltD4oyPx0P499DhMJrTmmIFCmJ3QloGpQG8K9symccB7S7SJpCKLwtw==", "dev": true, "requires": { "regenerator-transform": "^0.14.2" @@ -795,13 +1433,13 @@ } }, "@babel/plugin-transform-runtime": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.10.1.tgz", - "integrity": "sha512-4w2tcglDVEwXJ5qxsY++DgWQdNJcCCsPxfT34wCUwIf2E7dI7pMpH8JczkMBbgBTNzBX62SZlNJ9H+De6Zebaw==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.10.3.tgz", + "integrity": "sha512-b5OzMD1Hi8BBzgQdRHyVVaYrk9zG0wset1it2o3BgonkPadXfOv0aXRqd7864DeOIu3FGKP/h6lr15FE5mahVw==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1", + "@babel/helper-module-imports": "^7.10.3", + "@babel/helper-plugin-utils": "^7.10.3", "resolve": "^1.8.1", "semver": "^5.5.1" } @@ -835,13 +1473,13 @@ } }, "@babel/plugin-transform-template-literals": { - "version": "7.10.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.1.tgz", - "integrity": "sha512-t7B/3MQf5M1T9hPCRG28DNGZUuxAuDqLYS03rJrIk2prj/UV7Z6FOneijhQhnv/Xa039vidXeVbvjK2SK5f7Gg==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.3.tgz", + "integrity": "sha512-yaBn9OpxQra/bk0/CaA4wr41O0/Whkg6nqjqApcinxM7pro51ojhX6fv1pimAnVjVfDy14K0ULoRL70CA9jWWA==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1" + "@babel/helper-plugin-utils": "^7.10.3" } }, "@babel/plugin-transform-typeof-symbol": { @@ -873,24 +1511,24 @@ } }, "@babel/preset-env": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.10.2.tgz", - "integrity": "sha512-MjqhX0RZaEgK/KueRzh+3yPSk30oqDKJ5HP5tqTSB1e2gzGS3PLy7K0BIpnp78+0anFuSwOeuCf1zZO7RzRvEA==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.10.3.tgz", + "integrity": "sha512-jHaSUgiewTmly88bJtMHbOd1bJf2ocYxb5BWKSDQIP5tmgFuS/n0gl+nhSrYDhT33m0vPxp+rP8oYYgPgMNQlg==", "dev": true, "requires": { - "@babel/compat-data": "^7.10.1", + "@babel/compat-data": "^7.10.3", "@babel/helper-compilation-targets": "^7.10.2", - "@babel/helper-module-imports": "^7.10.1", - "@babel/helper-plugin-utils": "^7.10.1", - "@babel/plugin-proposal-async-generator-functions": "^7.10.1", + "@babel/helper-module-imports": "^7.10.3", + "@babel/helper-plugin-utils": "^7.10.3", + "@babel/plugin-proposal-async-generator-functions": "^7.10.3", "@babel/plugin-proposal-class-properties": "^7.10.1", "@babel/plugin-proposal-dynamic-import": "^7.10.1", "@babel/plugin-proposal-json-strings": "^7.10.1", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.1", "@babel/plugin-proposal-numeric-separator": "^7.10.1", - "@babel/plugin-proposal-object-rest-spread": "^7.10.1", + "@babel/plugin-proposal-object-rest-spread": "^7.10.3", "@babel/plugin-proposal-optional-catch-binding": "^7.10.1", - "@babel/plugin-proposal-optional-chaining": "^7.10.1", + "@babel/plugin-proposal-optional-chaining": "^7.10.3", "@babel/plugin-proposal-private-methods": "^7.10.1", "@babel/plugin-proposal-unicode-property-regex": "^7.10.1", "@babel/plugin-syntax-async-generators": "^7.8.0", @@ -907,8 +1545,8 @@ "@babel/plugin-transform-async-to-generator": "^7.10.1", "@babel/plugin-transform-block-scoped-functions": "^7.10.1", "@babel/plugin-transform-block-scoping": "^7.10.1", - "@babel/plugin-transform-classes": "^7.10.1", - "@babel/plugin-transform-computed-properties": "^7.10.1", + "@babel/plugin-transform-classes": "^7.10.3", + "@babel/plugin-transform-computed-properties": "^7.10.3", "@babel/plugin-transform-destructuring": "^7.10.1", "@babel/plugin-transform-dotall-regex": "^7.10.1", "@babel/plugin-transform-duplicate-keys": "^7.10.1", @@ -919,29 +1557,48 @@ "@babel/plugin-transform-member-expression-literals": "^7.10.1", "@babel/plugin-transform-modules-amd": "^7.10.1", "@babel/plugin-transform-modules-commonjs": "^7.10.1", - "@babel/plugin-transform-modules-systemjs": "^7.10.1", + "@babel/plugin-transform-modules-systemjs": "^7.10.3", "@babel/plugin-transform-modules-umd": "^7.10.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.10.3", "@babel/plugin-transform-new-target": "^7.10.1", "@babel/plugin-transform-object-super": "^7.10.1", "@babel/plugin-transform-parameters": "^7.10.1", "@babel/plugin-transform-property-literals": "^7.10.1", - "@babel/plugin-transform-regenerator": "^7.10.1", + "@babel/plugin-transform-regenerator": "^7.10.3", "@babel/plugin-transform-reserved-words": "^7.10.1", "@babel/plugin-transform-shorthand-properties": "^7.10.1", "@babel/plugin-transform-spread": "^7.10.1", "@babel/plugin-transform-sticky-regex": "^7.10.1", - "@babel/plugin-transform-template-literals": "^7.10.1", + "@babel/plugin-transform-template-literals": "^7.10.3", "@babel/plugin-transform-typeof-symbol": "^7.10.1", "@babel/plugin-transform-unicode-escapes": "^7.10.1", "@babel/plugin-transform-unicode-regex": "^7.10.1", "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.10.2", + "@babel/types": "^7.10.3", "browserslist": "^4.12.0", "core-js-compat": "^3.6.2", "invariant": "^2.2.2", "levenary": "^1.1.1", "semver": "^5.5.0" + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz", + "integrity": "sha512-bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw==", + "dev": true + }, + "@babel/types": { + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.3.tgz", + "integrity": "sha512-nZxaJhBXBQ8HVoIcGsf9qWep3Oh3jCENK54V4mRF7qaJabVsAYdbTtmSD8WmAp1R6ytPiu5apMwSXyxB1WlaBA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.3", + "lodash": "^4.17.13", + "to-fast-properties": "^2.0.0" + } + } } }, "@babel/preset-modules": { @@ -958,9 +1615,9 @@ } }, "@babel/runtime": { - "version": "7.10.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.2.tgz", - "integrity": "sha512-6sF3uQw2ivImfVIl62RZ7MXhO2tap69WeWK57vAaimT6AZbE4FbqjdEJIN1UqoD6wI6B+1n9UiagafH1sxjOtg==", + "version": "7.10.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.10.3.tgz", + "integrity": "sha512-RzGO0RLSdokm9Ipe/YD+7ww8X2Ro79qiXZF3HU9ljrM+qnJmH1Vqth+hbiQZy761LnMJTMitHDuKVYTk3k4dLw==", "dev": true, "requires": { "regenerator-runtime": "^0.13.4" @@ -1164,9 +1821,9 @@ } }, "@soda/get-current-script": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@soda/get-current-script/-/get-current-script-1.0.1.tgz", - "integrity": "sha512-zeOomWIE52M9JpYXlsR3iOf7TXTTmNQHnSbqjMsQZ5phzfAenHzL/1+vQ0ZoJfagocK11LNf8vnn2JG0ufRMUQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@soda/get-current-script/-/get-current-script-1.0.2.tgz", + "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==", "dev": true }, "@szmarczak/http-timer": { @@ -1207,9 +1864,9 @@ "dev": true }, "@types/node": { - "version": "14.0.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.13.tgz", - "integrity": "sha512-rouEWBImiRaSJsVA+ITTFM6ZxibuAlTuNOCyxVbwreu6k6+ujs7DfnU9o+PShFhET78pMBl3eH+AGSI5eOTkPA==", + "version": "14.0.14", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.14.tgz", + "integrity": "sha512-syUgf67ZQpaJj01/tRTknkMNoBBLWJOBODF0Zm4NrXmiSuxjymFrxnTu1QVYRubhVkRcZLYZG8STTwJRdVm/WQ==", "dev": true }, "@types/normalize-package-data": { @@ -1245,9 +1902,9 @@ } }, "@vue/babel-preset-app": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.4.4.tgz", - "integrity": "sha512-9b74d/lz4GEc9zkF3C+vjgEXYqu9ITq1DimUT+IVRJDvhgnV+a3C+pQY4Kl4PZSOyqkTHM7jE6eG2K5DUwKpWg==", + "version": "4.4.6", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-4.4.6.tgz", + "integrity": "sha512-urIa6Qk3lKacLvscrzxMNyYlTqKFcPAUo5MohOjv1ISZ9PssHw693WTOrqSC0XksdMLtp/rnLvc6l5G8Muk0lw==", "dev": true, "requires": { "@babel/core": "^7.9.6", @@ -1333,20 +1990,20 @@ } }, "@vue/cli-overlay": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.4.4.tgz", - "integrity": "sha512-cTvtifIpsSVF2dPF+ibUoAq+hMkEbg4EYTsf6dUuUrBKi1G2tyZ3Pnx54U2NpqXjJMykqMGX+i+BxpIG5tJCGw==", + "version": "4.4.6", + "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-4.4.6.tgz", + "integrity": "sha512-fzjg2gWQt+jw5fyLsD9HZNxGNQgZjLDI2s9bLWJwRucdfmncSi9neqA0TZyszGrgcJA4Qu4V5KgV0qwVSBYCaw==", "dev": true }, "@vue/cli-plugin-babel": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-4.4.4.tgz", - "integrity": "sha512-VctlKy5oEYhI+AiPpzlorjDmuhbpoRQcKXpBdf2bXvq0+uuTQg7UXmPX0RKJejnFTKSJZvuPTihgfCWiyh9C3Q==", + "version": "4.4.6", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-4.4.6.tgz", + "integrity": "sha512-9cX9mN+4DIbcqw3rV6UBOA0t5zikIkrBLQloUzsOBOu5Xb7/UoD7inInFj7bnyHUflr5LqbdWJ+etCQcWAIIXA==", "dev": true, "requires": { "@babel/core": "^7.9.6", - "@vue/babel-preset-app": "^4.4.4", - "@vue/cli-shared-utils": "^4.4.4", + "@vue/babel-preset-app": "^4.4.6", + "@vue/cli-shared-utils": "^4.4.6", "babel-loader": "^8.1.0", "cache-loader": "^4.1.0", "thread-loader": "^2.1.3", @@ -1354,12 +2011,12 @@ } }, "@vue/cli-plugin-eslint": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-4.4.4.tgz", - "integrity": "sha512-B+l3smq3Lyob9qiuywC/IymCCyV2Gm/l1ZtxRzQI98RDTKei1PrRriIi3Hrg/AkK59HirwR7P7wiNhF2Pqg3VA==", + "version": "4.4.6", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-4.4.6.tgz", + "integrity": "sha512-3a9rVpOKPQsDgAlRkhmBMHboGobivG/47BbQGE66Z8YJxrgF/AWikP3Jy67SmxtszRkyiWfw4aJFRV9r3MzffQ==", "dev": true, "requires": { - "@vue/cli-shared-utils": "^4.4.4", + "@vue/cli-shared-utils": "^4.4.6", "eslint-loader": "^2.2.1", "globby": "^9.2.0", "inquirer": "^7.1.0", @@ -1368,44 +2025,44 @@ } }, "@vue/cli-plugin-pwa": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-pwa/-/cli-plugin-pwa-4.4.4.tgz", - "integrity": "sha512-V9MdKP5WPo0W/0eGmml93U2bdh4gyfaiZAWOD4BZQDBN/hk0Q32VaImVtYorLNU5uw66XbUHtsIseOSPOSR7PQ==", + "version": "4.4.6", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-pwa/-/cli-plugin-pwa-4.4.6.tgz", + "integrity": "sha512-TbYKZ60phCdVFiamvaGrIDTKJA0068WJ1i8FiKNEgQaXdGEFCWII3KK4QTIEwgXSNtgY+m2hYx7mZB/y5/9/RA==", "dev": true, "requires": { - "@vue/cli-shared-utils": "^4.4.4", + "@vue/cli-shared-utils": "^4.4.6", "webpack": "^4.0.0", "workbox-webpack-plugin": "^4.3.1" } }, "@vue/cli-plugin-router": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.4.4.tgz", - "integrity": "sha512-jZTupo+zFz1YHH3Q4WC5nJW5wlNEDqX//m+atwUISPahVEG6/EV8HwJnQDT7EQ9re4v78xI27eOtyNw+qSyiSA==", + "version": "4.4.6", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.4.6.tgz", + "integrity": "sha512-TkLdn0ZYo3zgn78Rk8doPlR+4UkGjGW2R1eGEaZEkue/mw2VhUWtTk9cKLZaYrw0eY8Ro/j+OV6mD+scyrairg==", "dev": true, "requires": { - "@vue/cli-shared-utils": "^4.4.4" + "@vue/cli-shared-utils": "^4.4.6" } }, "@vue/cli-plugin-vuex": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.4.4.tgz", - "integrity": "sha512-A2SZD0B5yPz60W7go2ZYTIHooQse7bhhNUlinGQrdYeQCuURKUqqUbl/zF8u/8Qqo6nZ4F469fHNH6XWRN9Nnw==", + "version": "4.4.6", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.4.6.tgz", + "integrity": "sha512-Ho0YzUivn8BLPqFoFypntR8CMTEXYYHVr0GdnZW99XL+DbGw75f+tJfnrV9UFHDTfvZt7uewKiXDMlrzQ0l3Ug==", "dev": true }, "@vue/cli-service": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-4.4.4.tgz", - "integrity": "sha512-AKWpBpBAB+LHJ8JpArM2BJ0I2REy9lG7xIkJn9k3Vw9gadejx+y74P0bJh/J8hY65kDTFltO1BW1Kv3URw/ifQ==", + "version": "4.4.6", + "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-4.4.6.tgz", + "integrity": "sha512-k5OFGh2NnvRymCyq9DfBiNJvECUuun3pl5KMm3557IZyA5E5csv+RHoSW3dX8HHe0zXq18g52VswP1llvR9POw==", "dev": true, "requires": { "@intervolga/optimize-cssnano-plugin": "^1.0.5", "@soda/friendly-errors-webpack-plugin": "^1.7.1", "@soda/get-current-script": "^1.0.0", - "@vue/cli-overlay": "^4.4.4", - "@vue/cli-plugin-router": "^4.4.4", - "@vue/cli-plugin-vuex": "^4.4.4", - "@vue/cli-shared-utils": "^4.4.4", + "@vue/cli-overlay": "^4.4.6", + "@vue/cli-plugin-router": "^4.4.6", + "@vue/cli-plugin-vuex": "^4.4.6", + "@vue/cli-shared-utils": "^4.4.6", "@vue/component-compiler-utils": "^3.1.2", "@vue/preload-webpack-plugin": "^1.1.0", "@vue/web-component-wrapper": "^1.2.0", @@ -1535,15 +2192,6 @@ "semver": "^6.0.0" } }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, "p-locate": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", @@ -1553,12 +2201,6 @@ "p-limit": "^2.2.0" } }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -1616,9 +2258,9 @@ } }, "@vue/cli-shared-utils": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.4.4.tgz", - "integrity": "sha512-ccMZtTMSutR35V5nrU/eyj+zRMomTRGBTLwJPmaJ2sRiW/93MTggQGXDWC8JRAA8yiU1N8xza8mjBxS0O2wIAA==", + "version": "4.4.6", + "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.4.6.tgz", + "integrity": "sha512-ba+FZZCjiTSu2otnLjY4qXqASe7ZIQ/QBljk5oRPgqrR0p1NUkDPUcZhqa041aOaSW1yAfSfhOD7Q84nMnWhzQ==", "dev": true, "requires": { "@hapi/joi": "^15.0.1", @@ -1631,7 +2273,6 @@ "ora": "^3.4.0", "read-pkg": "^5.1.1", "request": "^2.88.2", - "request-promise-native": "^1.0.8", "semver": "^6.1.0", "strip-ansi": "^6.0.0" }, @@ -1934,9 +2575,9 @@ "dev": true }, "acorn-walk": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.1.1.tgz", - "integrity": "sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", "dev": true }, "address": { @@ -1979,9 +2620,9 @@ "dev": true }, "ajv-keywords": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", - "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.0.tgz", + "integrity": "sha512-eyoaac3btgU8eJlvh01En8OCKzRqlLe2G5jDsCr3RiE2uLGMEEB1aaGwVVpwR8M95956tGH6R+9edC++OvzaVw==", "dev": true }, "alphanum-sort": { @@ -2269,17 +2910,17 @@ "dev": true }, "autoprefixer": { - "version": "9.8.0", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.0.tgz", - "integrity": "sha512-D96ZiIHXbDmU02dBaemyAg53ez+6F5yZmapmgKcjm35yEe1uVDYI8hGW3VYoGRaG290ZFf91YxHrR518vC0u/A==", + "version": "9.8.4", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.4.tgz", + "integrity": "sha512-84aYfXlpUe45lvmS+HoAWKCkirI/sw4JK0/bTeeqgHYco3dcsOn0NqdejISjptsYwNji/21dnkDri9PsYKk89A==", "dev": true, "requires": { "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001061", - "chalk": "^2.4.2", + "caniuse-lite": "^1.0.30001087", + "colorette": "^1.2.0", "normalize-range": "^0.1.2", "num2fraction": "^1.2.2", - "postcss": "^7.0.30", + "postcss": "^7.0.32", "postcss-value-parser": "^4.1.0" } }, @@ -2825,15 +3466,15 @@ } }, "browserslist": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz", - "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==", + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.2.tgz", + "integrity": "sha512-MfZaeYqR8StRZdstAK9hCKDd2StvePCYp5rHzQCPicUjfFliDgmuaBNPHYUTpAywBN8+Wc/d7NYVFkO0aqaBUw==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001043", - "electron-to-chromium": "^1.3.413", - "node-releases": "^1.1.53", - "pkg-up": "^2.0.0" + "caniuse-lite": "^1.0.30001088", + "electron-to-chromium": "^1.3.483", + "escalade": "^3.0.1", + "node-releases": "^1.1.58" } }, "buffer": { @@ -2975,15 +3616,6 @@ "semver": "^6.0.0" } }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, "p-locate": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", @@ -2993,12 +3625,6 @@ "p-limit": "^2.2.0" } }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -3124,9 +3750,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001081", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001081.tgz", - "integrity": "sha512-iZdh3lu09jsUtLE6Bp8NAbJskco4Y3UDtkR3GTCJGsbMowBU5IWDFF79sV2ws7lSqTzWyKazxam2thasHymENQ==", + "version": "1.0.30001090", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001090.tgz", + "integrity": "sha512-QzPRKDCyp7RhjczTPZaqK3CjPA5Ht2UnXhZhCI4f7QiB5JK6KEuZBxIzyWnB3wO4hgAj4GMRxAhuiacfw0Psjg==", "dev": true }, "case-sensitive-paths-webpack-plugin": { @@ -3489,6 +4115,12 @@ "simple-swizzle": "^0.2.2" } }, + "colorette": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.0.tgz", + "integrity": "sha512-soRSroY+OF/8OdA3PTQXwaDJeMc7TfknKKrxeSCencL2a4+Tx5zhxmmv7hdpCjhKBjehzp8+bwe/T68K0hpIjw==", + "dev": true + }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -3767,21 +4399,6 @@ "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", "dev": true }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", @@ -3967,9 +4584,9 @@ } }, "css-loader": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.5.3.tgz", - "integrity": "sha512-UEr9NH5Lmi7+dguAm+/JSPovNjYbm2k3TK58EiwQHzOHH5Jfq1Y+XoP2bQO6TMn7PptMd0opxxedAWcaSTRKHw==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz", + "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==", "dev": true, "requires": { "camelcase": "^5.3.1", @@ -3977,13 +4594,13 @@ "icss-utils": "^4.1.1", "loader-utils": "^1.2.3", "normalize-path": "^3.0.0", - "postcss": "^7.0.27", + "postcss": "^7.0.32", "postcss-modules-extract-imports": "^2.0.0", "postcss-modules-local-by-default": "^3.0.2", "postcss-modules-scope": "^2.2.0", "postcss-modules-values": "^3.0.0", - "postcss-value-parser": "^4.0.3", - "schema-utils": "^2.6.6", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^2.7.0", "semver": "^6.3.0" }, "dependencies": { @@ -4692,15 +5309,15 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.469", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.469.tgz", - "integrity": "sha512-O9JM6ZsFhS0uy0S2Y3G8EoNfqio3srdxCuwuJh8tKgQKa6rf7je/xQ3TIoiEaEtpf2/qFFLAGt/xB4MjuUZqRw==", + "version": "1.3.483", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.483.tgz", + "integrity": "sha512-+05RF8S9rk8S0G8eBCqBRBaRq7+UN3lDs2DAvnG8SBSgQO3hjy0+qt4CmRk5eiuGbTcaicgXfPmBi31a+BD3lg==", "dev": true }, "elliptic": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", - "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", + "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", "dev": true, "requires": { "bn.js": "^4.4.0", @@ -4812,9 +5429,9 @@ } }, "enhanced-resolve": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", - "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.2.0.tgz", + "integrity": "sha512-S7eiFb/erugyd1rLb6mQ3Vuq+EXHv5cpCkNqqIkYkBgN2QdFnyCZzFBleqwGEx4lgNGYij81BWnCrFNK7vxvjQ==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -4877,22 +5494,22 @@ } }, "es-abstract": { - "version": "1.17.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", - "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", + "version": "1.17.6", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", + "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", "dev": true, "requires": { "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", "has": "^1.0.3", "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", + "is-callable": "^1.2.0", + "is-regex": "^1.1.0", "object-inspect": "^1.7.0", "object-keys": "^1.1.1", "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" } }, "es-to-primitive": { @@ -4906,6 +5523,12 @@ "is-symbol": "^1.0.2" } }, + "escalade": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.0.1.tgz", + "integrity": "sha512-DR6NO3h9niOT+MZs7bjxlj2a1k+POu5RN8CLTPX2+i78bRi9eLe7+0zXgUHMnGXWybYcL61E9hGhPKqedy8tQA==", + "dev": true + }, "escape-goat": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz", @@ -4924,9 +5547,9 @@ "dev": true }, "eslint": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.3.0.tgz", - "integrity": "sha512-dJMVXwfU5PT1cj2Nv2VPPrKahKTGdX+5Dh0Q3YuKt+Y2UhdL2YbzsVaBMyG9HC0tBismlv/r1+eZqs6SMIV38Q==", + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.3.1.tgz", + "integrity": "sha512-cQC/xj9bhWUcyi/RuMbRtC3I0eW8MH0jhRELSvpKYkWep3C6YZ2OkvcvJVUeO6gcunABmzptbXBuDoXsjHmfTA==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -5534,9 +6157,9 @@ "dev": true }, "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, "fast-diff": { @@ -5707,12 +6330,12 @@ } }, "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "^3.0.0" } }, "flat-cache": { @@ -5754,24 +6377,10 @@ } }, "follow-redirects": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.11.0.tgz", - "integrity": "sha512-KZm0V+ll8PfBrKwMzdo5D13b1bur9Iq9Zd/RMmAoQQcl2PxxFml8cxXPaaPYVbV0RjNjq1CU7zIzAOqtUPudmA==", - "dev": true, - "requires": { - "debug": "^3.0.0" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.12.1.tgz", + "integrity": "sha512-tmRv0AVuR7ZyouUHLeNSiO6pqulF7dYa3s19c6t+wz9LD69/uSzdMxJ2S91nTI9U3rt/IldxpzMOFejp6f0hjg==", + "dev": true }, "for-in": { "version": "1.0.2", @@ -6599,9 +7208,9 @@ "dev": true }, "inquirer": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz", - "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.2.0.tgz", + "integrity": "sha512-E0c4rPwr9ByePfNlTIB8z51kK1s2n6jrHuJeEHENl/sbq2G/S1auvibgEwNR4uSyiU+PiYHqSwsgGiXjG8p5ZQ==", "dev": true, "requires": { "ansi-escapes": "^4.2.1", @@ -7423,12 +8032,12 @@ } }, "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "requires": { - "p-locate": "^2.0.0", + "p-locate": "^3.0.0", "path-exists": "^3.0.0" } }, @@ -8248,9 +8857,9 @@ "dev": true }, "object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", + "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", "dev": true }, "object-is": { @@ -8455,21 +9064,21 @@ "dev": true }, "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "^2.0.0" } }, "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "^2.0.0" } }, "p-map": { @@ -8491,9 +9100,9 @@ } }, "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, "package-json": { @@ -8744,60 +9353,6 @@ "dev": true, "requires": { "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - } - } - }, - "pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", - "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", - "dev": true, - "requires": { - "find-up": "^2.1.0" } }, "pnp-webpack-plugin": { @@ -9956,26 +10511,6 @@ "uuid": "^3.3.2" } }, - "request-promise-core": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz", - "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==", - "dev": true, - "requires": { - "lodash": "^4.17.15" - } - }, - "request-promise-native": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz", - "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==", - "dev": true, - "requires": { - "request-promise-core": "1.1.3", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - } - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -10905,12 +11440,6 @@ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" }, - "stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", - "dev": true - }, "stream-browserify": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", @@ -10977,28 +11506,6 @@ "es-abstract": "^1.17.5" } }, - "string.prototype.trimleft": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", - "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimstart": "^1.0.0" - } - }, - "string.prototype.trimright": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", - "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimend": "^1.0.0" - } - }, "string.prototype.trimstart": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", @@ -11199,9 +11706,9 @@ "dev": true }, "terser": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.7.0.tgz", - "integrity": "sha512-Lfb0RiZcjRDXCC3OSHJpEkxJ9Qeqs6mp2v4jf2MHfy8vGERmVDuvjXdd/EnP5Deme5F2yBRBymKmKHCBg2echw==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", "dev": true, "requires": { "commander": "^2.20.0", @@ -11260,9 +11767,9 @@ "dev": true }, "thenify": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz", - "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", "dev": true, "requires": { "any-promise": "^1.0.0" @@ -12005,9 +12512,9 @@ "dev": true }, "vue-loader": { - "version": "15.9.2", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.2.tgz", - "integrity": "sha512-oXBubaY//CYEISBlHX+c2YPJbmOH68xXPXjFv4MAgPqQvUsnjrBAjCJi8HXZ/r/yfn0tPL5VZj1Zcp8mJPI8VA==", + "version": "15.9.3", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.3.tgz", + "integrity": "sha512-Y67VnGGgVLH5Voostx8JBZgPQTlDQeOVBLOEsjc2cXbCYBKexSKEpOA56x0YZofoDOTszrLnIShyOX1p9uCEHA==", "dev": true, "requires": { "@vue/component-compiler-utils": "^3.1.0", @@ -12458,15 +12965,6 @@ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", "dev": true }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, "fsevents": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", @@ -12516,40 +13014,6 @@ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, "readdirp": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", @@ -13078,15 +13542,6 @@ "p-locate": "^4.1.0" } }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, "p-locate": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", @@ -13096,12 +13551,6 @@ "p-limit": "^2.2.0" } }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", diff --git a/package.json b/package.json index ca2dcc5..83f3149 100644 --- a/package.json +++ b/package.json @@ -27,15 +27,15 @@ "vue-router": "^3.3.4", "vue-socket.io": "^3.0.9", "vuex": "^3.4.0", - "@vue/cli-plugin-babel": "~4.4.4", - "@vue/cli-plugin-eslint": "~4.4.4", - "@vue/cli-plugin-pwa": "~4.4.4", - "@vue/cli-plugin-router": "~4.4.4", - "@vue/cli-plugin-vuex": "~4.4.4", - "@vue/cli-service": "~4.4.4", + "@vue/cli-plugin-babel": "~4.4.6", + "@vue/cli-plugin-eslint": "~4.4.6", + "@vue/cli-plugin-pwa": "~4.4.6", + "@vue/cli-plugin-router": "~4.4.6", + "@vue/cli-plugin-vuex": "~4.4.6", + "@vue/cli-service": "~4.4.6", "@vue/eslint-config-prettier": "^6.0.0", "babel-eslint": "^10.1.0", - "eslint": "^7.3.0", + "eslint": "^7.3.1", "eslint-plugin-prettier": "^3.1.4", "eslint-plugin-vue": "^6.2.2", "nodemon": "^2.0.4", diff --git a/src/App.vue b/src/App.vue index 787b2fc..2e34b5e 100644 --- a/src/App.vue +++ b/src/App.vue @@ -6,6 +6,7 @@ +

The {{ sw.name }} extension is not enabled. Please use an official Roon @@ -19,6 +20,7 @@ import SvgSpriteMediaControlsDefault from "@/components/SvgSpriteMediaControlsDe import SvgSpriteMediaControlsCircle from "@/components/SvgSpriteMediaControlsCircle.vue"; import SvgSpriteMiscIcons from "@/components/SvgSpriteMiscIcons.vue"; import AppDesktopNotifications from "@/components/AppDesktopNotifications.vue"; +import AppBrowserTitle from "@/components/AppBrowserTitle.vue"; export default { name: "app", @@ -27,6 +29,7 @@ export default { SvgSpriteMediaControlsCircle, SvgSpriteMiscIcons, AppDesktopNotifications, + AppBrowserTitle, }, computed: { sw: { diff --git a/src/components/AppBrowserTitle.vue b/src/components/AppBrowserTitle.vue new file mode 100644 index 0000000..9835343 --- /dev/null +++ b/src/components/AppBrowserTitle.vue @@ -0,0 +1,46 @@ + + + + diff --git a/src/components/AppDesktopNotifications.vue b/src/components/AppDesktopNotifications.vue index 062c2fb..c1fdd69 100644 --- a/src/components/AppDesktopNotifications.vue +++ b/src/components/AppDesktopNotifications.vue @@ -1,5 +1,5 @@ - + diff --git a/src/components/TouchscreenOverlaySettingsGeneral.vue b/src/components/TouchscreenOverlaySettingsGeneral.vue index ed3da65..ed8352c 100644 --- a/src/components/TouchscreenOverlaySettingsGeneral.vue +++ b/src/components/TouchscreenOverlaySettingsGeneral.vue @@ -28,6 +28,20 @@ +

+
+ + + + +
+
Date: Sun, 28 Jun 2020 12:00:04 -0400 Subject: [PATCH 27/54] styling for input range elements --- src/layouts/Touchscreen.vue | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/src/layouts/Touchscreen.vue b/src/layouts/Touchscreen.vue index 4504712..b9f5af1 100644 --- a/src/layouts/Touchscreen.vue +++ b/src/layouts/Touchscreen.vue @@ -290,4 +290,41 @@ input[type="radio"]:checked + label { color: var(--AvailableColor); filter: none; } + +input[type="range"] { + appearance: none; + outline: none; + background: var(--ActiveColor); + border-radius: 1vh; + height: 1vh; + margin-bottom: 1vh; +} + +/* Thumb styling for WebKit/Blink/Chrome/Safari */ +input[type="range"]::-webkit-slider-thumb { + -webkit-appearance: none; + height: 2.5vh; + width: 2.5vh; + border-radius: 50%; + background: var(--AvailableColor); + cursor: pointer; +} + +/* Thumb styling for Firefox */ +input[type="range"]::-moz-range-thumb { + height: 2.5vh; + width: 2.5vh; + border-radius: 50%; + background: var(--AvailableColor); + cursor: pointer; +} + +/* Thumb styling for IE */ +input[type="range"]::-ms-thumb { + height: 2.5vh; + width: 2.5vh; + border-radius: 50%; + background: var(--AvailableColor); + cursor: pointer; +} From 98e831ca6af216516453d905f70b2af1eafb5215 Mon Sep 17 00:00:00 2001 From: pluggemi Date: Sun, 28 Jun 2020 12:55:37 -0400 Subject: [PATCH 28/54] misc code reorganization --- public/css/site.css | 4 ---- src/App.vue | 14 +------------- src/components/TouchscreenControlsMedia.vue | 1 - src/layouts/SelectLayout.vue | 3 +++ src/layouts/Touchscreen.vue | 15 ++++++++++++++- src/views/TouchscreenQueue.vue | 2 +- 6 files changed, 19 insertions(+), 20 deletions(-) diff --git a/public/css/site.css b/public/css/site.css index b765b2e..7973c30 100644 --- a/public/css/site.css +++ b/public/css/site.css @@ -22,7 +22,3 @@ body { box-sizing: inherit; font-size: 100%; } - -h1 { - font-size: 200%; -} diff --git a/src/App.vue b/src/App.vue index 2e34b5e..b99b169 100644 --- a/src/App.vue +++ b/src/App.vue @@ -46,7 +46,7 @@ export default { }; - diff --git a/src/components/TouchscreenControlsMedia.vue b/src/components/TouchscreenControlsMedia.vue index 85e88ed..281a23b 100644 --- a/src/components/TouchscreenControlsMedia.vue +++ b/src/components/TouchscreenControlsMedia.vue @@ -19,7 +19,6 @@ class="control_button media_control" v-bind:disabled="!current_zone.is_next_allowed" v-bind:command="'next'" - v-bind:zone_id="current_zone.zone_id" >
diff --git a/src/layouts/SelectLayout.vue b/src/layouts/SelectLayout.vue index 8d8f9b9..812240b 100644 --- a/src/layouts/SelectLayout.vue +++ b/src/layouts/SelectLayout.vue @@ -53,4 +53,7 @@ export default { cursor: pointer; filter: drop-shadow(1vh 1vh 1vh black); } +h1 { + font-size: 200%; +} diff --git a/src/layouts/Touchscreen.vue b/src/layouts/Touchscreen.vue index b9f5af1..847b0d9 100644 --- a/src/layouts/Touchscreen.vue +++ b/src/layouts/Touchscreen.vue @@ -268,7 +268,20 @@ export default { cursor: pointer; filter: drop-shadow(1vh 1vh 1vh black); } - +.text_bold { + font-weight: bold; + font-size: 125%; +} +a { + color: var(--AvailableColor); +} +svg { + height: 100%; + width: 100%; +} +h1 { + font-size: 200%; +} input[type="radio"] { display: none; } diff --git a/src/views/TouchscreenQueue.vue b/src/views/TouchscreenQueue.vue index d65bb06..838ea8f 100644 --- a/src/views/TouchscreenQueue.vue +++ b/src/views/TouchscreenQueue.vue @@ -128,7 +128,7 @@ export default { .list_item:first-of-type { background: var(--ThemeColor); } -.list_item:first-of-type .list_item_control button { +.list_item:first-of-type .list_item_button { display: none; } From a4dafa16aaeaa9261ece15ae918b6b5b6b20daa5 Mon Sep 17 00:00:00 2001 From: pluggemi Date: Tue, 30 Jun 2020 08:49:08 -0400 Subject: [PATCH 29/54] corrected extention id --- backend/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/app.js b/backend/app.js index 0a77d3c..5a6336f 100644 --- a/backend/app.js +++ b/backend/app.js @@ -257,7 +257,7 @@ function setupRoon() { const RoonApiBrowse = require("node-roon-api-browse"); api.roon = new RoonApi({ - extension_id: "com.pluggemi.roonapi", + extension_id: "com.pluggemi.web.controller", display_name: sw.name, display_version: sw.version, publisher: sw.publisher, From c393c41f5f49f01e65864bda9f16ae0ea6b011fd Mon Sep 17 00:00:00 2001 From: pluggemi Date: Tue, 30 Jun 2020 10:03:27 -0400 Subject: [PATCH 30/54] updated app icons, app manifest --- README.md | 11 ++++++----- public/favicon.ico | Bin 4286 -> 4286 bytes public/img/icons/android-chrome-192x192.png | Bin 9416 -> 10359 bytes public/img/icons/android-chrome-512x512.png | Bin 29808 -> 65801 bytes .../icons/android-chrome-maskable-192x192.png | Bin 6401 -> 10359 bytes .../icons/android-chrome-maskable-512x512.png | Bin 23038 -> 65801 bytes public/img/icons/apple-touch-icon-120x120.png | Bin 3369 -> 5322 bytes public/img/icons/apple-touch-icon-152x152.png | Bin 4046 -> 7064 bytes public/img/icons/apple-touch-icon-180x180.png | Bin 4678 -> 9994 bytes public/img/icons/apple-touch-icon-60x60.png | Bin 1491 -> 2725 bytes public/img/icons/apple-touch-icon-76x76.png | Bin 1823 -> 3278 bytes public/img/icons/apple-touch-icon.png | Bin 4678 -> 9994 bytes public/img/icons/favicon-16x16.png | Bin 799 -> 1507 bytes public/img/icons/favicon-32x32.png | Bin 1271 -> 1730 bytes .../img/icons/msapplication-icon-144x144.png | Bin 1169 -> 6680 bytes public/img/icons/mstile-150x150.png | Bin 4282 -> 7214 bytes public/img/icons/safari-pinned-tab.svg | 4 +--- vue.config.js | 8 ++++++++ 18 files changed, 15 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index bac841a..72a1336 100644 --- a/README.md +++ b/README.md @@ -25,11 +25,12 @@ Touchscreen layout ## TODO - 2.0.0 - [ ] App global: Screen reader layout -- [ ] App global: Change favicons from default Vue icons to Roon Web Controller icons -- [ ] App global: enable Service Worker, configure app manifest colors and icons +- [x] ~~App global: Change favicons from default Vue icons to Roon Web Controller icons~~ +- [x] ~~App global: configure app manifest colors and icons~~ +- [ ] App global: enable Service Worker - [ ] App global: Desktop notifications - [ ] App global: Keyboard shortcuts -- [ ] App global: Prevent screensaver/screen blank +- [ ] App global: Option to prevent screensaver/screen blank - [x] ~~App global: Option to update browser title with track information~~ - [x] ~~App global: Circle Icons option~~ - [ ] UI: Now Playing: Track seek controls @@ -44,13 +45,13 @@ Touchscreen layout - [x] ~~UI: Settings Overlay: Clock enable/disable and Moment.js format option~~ - [ ] UI: Settings Overlay: Desktop Notifications enable/disable - [x] ~~UI: Settings Overlay: Track Name in Browser Title enable/disable~~ -- [ ] UI: Settings Overlay: Prevent screensaver/screen blank +- [ ] UI: Settings Overlay: Option to prevent screensaver/screen blank - [x] ~~UI: Settings Overlay: Circle Icons option~~ - [x] ~~UI: Settings Overlay: Background cover art enable/disable~~ - [ ] UI: Settings Overlay: Keyboard shortcuts enable/disable - [ ] UI: Settings Overlay: Keyboard shortcuts configure - [x] ~~UI: Settings Overlay: Current Position / Time Left option~~ -- [ ] Backend: Environmental variables for Roon host/port +- [x] ~~Backend: Environmental variables for Roon host/port~~ - [ ] Backend: Environmental variables to enable / disable Health checks - [ ] Backend: Environmental variables to configure Health check port - [x] ~~Backend: Multi Session Key support for library browser~~ diff --git a/public/favicon.ico b/public/favicon.ico index df36fcfb72584e00488330b560ebcf34a41c64c2..15e43c3e2504e96bf3d74d243196e32e9277cb9f 100644 GIT binary patch literal 4286 zcmeH}F-rq66vrbV*O%4EteMKT-+ii^NzLJ|9OhO9jHPb zPGK671$6L|mSvScOZE*-~!rvrks3z$~YK?I@o%4Tk9X=`vfx(>tjo-fTYhM@}H-E0b9>* zYyB#|kD&F>v1QL3z#Jr%*ZFQT<`Zl^yWLH{#@G_P!Y;V#?=z+aww~SYrhmp*S&yQ> z2meh!?fFl8{iVJCWFP$5`$x|1q(#Aa1%d;M?Ub=lcy%IsaR! WYAd2i4Y`EG<0OW}3SvrZtNZ{%QqaTz literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S diff --git a/public/img/icons/android-chrome-192x192.png b/public/img/icons/android-chrome-192x192.png index b02aa64d97167ad649e496908b35f14c603d9249..8fa7ff9b74ccdb3bc07b9741cc027df2b1ebdf36 100644 GIT binary patch literal 10359 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 literal 29808 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 literal 23038 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 diff --git a/public/img/icons/apple-touch-icon-120x120.png b/public/img/icons/apple-touch-icon-120x120.png index 1427cf62752646ad7217df0a61aa01fdef7475d1..64731d281139d3332c076971697764098e6f44ee 100644 GIT binary patch literal 5322 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 P(*d;9^i?aBZNmQ#UK|OL literal 3369 zcmb7Hc{J2t8~Qk{w!5*3fu4c1kWV+f$uhdfm0Yr%@PJy8NU6F}hlE z<1AX3WTJu?$Npcik#7CO?ayV<8`12wv7ZdiDu4XrX_S{y+>=n~7d z9~&9D#2F*oV`RtK8X)8&x@yY(YO;P#O8VrmY|d)|7MBrpa!TRjvt9!rl6&=SCy~c3 z>tM*u-OKjWv%~5yU#iI0Y%ba~ElhEMq>t?o9nPi0c8kOI`nQYO7}ztojdXae;|Ot| z1tkl6Pk(J$XNb`OjhfPtmHxj!*zoW_BOrg>FvxHSkxfFQcjl=iZnZTFXn>+==EinV z-Xmp!-T3sQo#EA%F3G*MX?@bc)XC9Pf^|eg(0!7i!0u2D-+-rICwD+)jlOq8W>J%$ z65NtyPbiD!d?=FWge094u-`xKuC;0f^}W7-ve>-f>=u~k6i473knYXnU3-;)Cy~2T z`>(D&oL!DUa+l&*b$&iEhGb8whwg9eRO2U)=hDrKUVWJeJ6UyMyUN5m$+@3_;7kn7 zK1rGAplVFG%?QnlKP64ZhenV>WFY*0+aDLT@()k0GD2Ab?Ibx8&jJJIZof1m&-#O(8`oI|;xMi!W}KQU8AH(cwfP zRHmA|G89iRdkq&0_Tqn*yZMOg^86f+<cKq5n=7GaAFUPW z`sFW=)ylcF%KE)5yNckwDX*?}pJ`i;dc|{a-aH6&CMeiqs{gkTq3;Rg=VwpRyBUeB zOx7g{vDpp{f0{;_O{DjKtl+kb9iB~c9<}fp>oa;d(-W^XBkD6rsb$5|WqzxHf)Tx4 z&1dhImzRCX0mom>G<}b#e3~c6UvITjsnoU`Ef-{pTk)BLMbhh*pV!<|%q6RKrGS+*c+Wa(S7OJOxr*xa(0equIvspi8v&!kNpn`_~vb26^#YO5^#-KG{gQ6`M( zyXD%si{qrqc=Xg;h2q9M{9D)^HN%dk71S6XLOho3cpaI*6=Q3RWFmjKmQFTf30tuK zf`%LT#6Z}^i)(_RF{2ta@Ctq+7iFmb_op8jj->Qhkq4ZtGan`!LP8(6Wqh6dToGLJ zo#e}RVdI);2R$J7lJ}l{vbsv`n4udjL*>M?{OsI<7~A;o%n-y(BQF9pLJr$B`q->D z60Dto1*#4yMZ@6a| zM$Y@!805V@5#0EsAZxE(7AJDeigN~H6zk*T^We+o(0oD1@(0kSc~SlkIjhH!71i53gD5%O-UWfM5*~QQi)N%Oo_FK!S z^ROYHVo@tP1;yUGb@|29N_)z{u9s6nKU`Xw#3K_TY;~zG2&`zqd&lp~TS7hG*b998 z!bVjQPS+T_EhC!rMg8!sP7xm_Hk-QE*1D*p;)~S1$uZVZ*X~MBq)#qFX@}joCkQFZ zXXkN&Kc_GadVJ)+d)mIsI1`WwHb(N>^tK#gL4qZ|;|ngT#x@{eUXJ7B?;5M1k2PKs zxka3**9)$T4c0{8H^KD1QB0054?U-)ja=(P-9&wLCJL`L<||44#F)U81wQ(}Z`Y?& zh=mCtQ>7jbL8{ZzK1P)1Ca{?49l}Jw8iBrDN6ZUW)tVr?#qTs*xtbT zr+W=Th&)8bfXeGr!~bGOG+of8gULS}rfv>jWIPMJ;(cAVyRg+$|W>A70c`{iX z3&YgP&k1xnrfXu84pv-yp-Wgn{)v`P%2rn`%Bu=KMQ_rn`zwg6Y!5t3nIcGs7$mSV z@dq9xHTkzpT5{&fU;3d-K0r%2uszSfV;5ISKZFIAOD`@y#yWXDe{N6!N|@=<-?1Sk z1~_KEsi4LExBl`fQ2~w$MV@(K0eA1BIx>sN$dl_j?Rz|l@0J=QQ0-!~MQv&^EV~7r z!YYIho@&wxLbF=Ia`Akf332zjMqaV%6p-_0y7g@xX0^B#wb`2zvnwQg(Lzrv72mol zji_aHGo0MSWe!>(xc%=)q#hWoXlF-6H5pL`Z7x+#$Z-#uU`+7c`W?6U zoxg4->_Es21+*D?AJ!@Nj5tA?Gx2r_Pc)(w1;9?z1xJ*QM$8o+_V9Thqm>+sn9=#;-db_4ymFYe{`7$b{Y-W%KRR;za>e=+-D4qGS zRf@HvzI852D}`X=g6ELBcSQDG?|vKyI#@(cto;5yEoK-*M!tEPr<7;DkMoOw4o629 zFeAci>yyiby-nV?wsZbS#Y^b4W#PBP?^uNgE*QTxRKZU)vo$ioi{5{tlgp{SW%0qr z70#Z23&GdmYR6rT{;lOIYC<3PB6G0KjY}0lGNGD+yN+A}M!~Z+X0W*njdsCwo^w90 ze6F@vY1(@Z>B+R_rA*{j4bm*Bj8htRU&UO6;p4YNN)l}e_jCwsm!H7lSdt=Gj%O(n zo;ac94z}kW%h~6F2c!8XHRUQeyH}U|bVAKOp_+ADO5PkH?$E4P**m9VIn|FSjis#H zjCZfWrv!g7hlqQ5xZX@=gxMIHU0?yi@61_j-j=;5_uf58HMDq%i)cj%LB6UQw*Bco zn4*;MC@nDR0fZO${V{q`Tel}Ojw=aX#M*xw!RN(PJmITN@CAqD*?KGr5zjf=Ai?~i zR4lE2I`L8Wq?V+JV4>~NhrJ%Vp{*Xt+qw%C-%Vf9yj+TSPH+h8*8{Iefp6-_? zu5p8;GfK3Rx)Hx>pV0aD?b2N2kWJ=eK|^nX-<4NYI}Nd@mj+J%^0$#Qf~GH@3m{d_9(?C z6OSF?p&cwqYbSP=$`_KJYw&yz4t~*3l=}OLu!Z2Cghc62E?9=B%n|cdWib_MK1hCK zsCd;w3@jz@xwM%%`+U~6IlFyIBsirXFu&;TV46nEmbn-h_kd!bg=Lq^Es2QSTL6tx zN@ ROru=^AazZ3N)e9H{|11FNXq~K diff --git a/public/img/icons/apple-touch-icon-152x152.png b/public/img/icons/apple-touch-icon-152x152.png index f24d454a2ecb8851bb893192b64ee09386d30e24..08943924a320f58e067c60b309a97af8087004ec 100644 GIT binary patch literal 7064 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 DZ5I(4 literal 4046 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 THjotl>H$cK%867883g<<2I3W% literal 4678 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�MrHbYR_buu=L>f*wO=Er8~{qfkYT+HoHag8)VqJoC-#@ zNT})4xRE%sP-B9?xmL5!2Y8VLa?yj@Y@r1C)6o~9GF9nWG!SI2VJ$>ejtUE%Qv&r_ zYLgZ0h3iIrw7{TyurC(g^$XT%PP5`FB3aFpP&fM-8!J#3I_ujG?;7(Xv5ni%BjYP4 z^+oydy=)_&bdxYJx`X%G5PFkUB%3h6RiOs^F?#ojsB%DbfhqzGhuv4)S1%vw@PDyE z3xWF{Y^0>+=Wg! z{>z@$rD6ej*V- z^$zKIOWOfdN4~7@ndhru01+3cxwD&_Muyja({*O;-5VnF(e$WDALNStE{1{F#ts+VR{o zSlQ*@U=Du8fgKW$lU~)O)b6FS?H1SSnKVIC=DOvbo8IUvM zVf+U4YxG%qLGd%ew7Jp8>@U`ew+A#Q=2oJHNH@_f!WadS20$KZEZ+BHAvU@FB zzRCYN5r+Z#g`C^hrH$yW7ABstwjvMM*CHGzY41bbo2zy$6E8DAOPn zUnHG?e7?u7pQ}Kqbu1jEd+=mcGea4aL6V4g(m*b7x}z|ijsjb3e|tf-3&^JK{=sWz z8sqIu9jy)#J}n}cXqtXmkb-NDVPcAKn=G9uX42zYvufu_OCr>xJ=oTNp8WA5wEqvM z{r~m8;7_C>U68iRr@|rd7UYhON#(-S_+Uf>s)hhPU{{exlxc&eD diff --git a/public/img/icons/apple-touch-icon-60x60.png b/public/img/icons/apple-touch-icon-60x60.png index cf10a5602e653bb126332934e2b7f34081c19a01..35f31aeb63d5042155da91b7d229b403c4208d16 100644 GIT binary patch delta 2685 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 delta 1442 zcmV;T1zq~371Ill85jcq000dlDL?=K00d`2O+f$vv5yP{r&y@oY}mC&#Z;et%S&`f0dbjiI#qfmVJqpij<(|>Fc=T&s4pPO}d9j zhIT_#W}2g|{{H^={Q8K|uT8s$Os|ARXKX`LW>jNz*4o|H@8ev+kx7($Lsn;lj+*%S z`kmRmO|^waa&SspY{GxX&F1y)X~mjKpngPJXl{Io@bU6!#hJ6>%ul<)j+Eu-cNQ-!so~Zl#`}+O-jnlGBv4llxZBt`& zq^z~u@#kN`lS-F-Lsw@=S!(|O|D)T%O}2(cb#dwU@NCAMOQL^&L|kdOtg?9J+`An{ZMP_W$?%`U$kV%nx{r>)#*Sbu! zg+_31Ls4bp^z46T#F$E*enektui(i}yNF7heen79b;_c|=-2uE`-#!7*YM=TZ zzUTJuYQ>tg;?45<_j=5x$?DryzKxI5vtYrLq};;l_wjDWox0@EQM`(P&Z*Aq-ebd- zHmV8X00001VoOIv0Eh)0NB{r;2XskIMF-&l69)?{x?_J3>i_@(nMp)JR7l6|)#YDW zVH5}Oqf@5NLd3duJ7adoFort2FtNKkX3p-;{j*azKL!(o%gfF4ihIuU{rv9bc`gvW z*MC$tDBBNQc6w7gG;MY3^s&94=<4FE={Y$%@G6PDK6Z1La(T$O zJmox-d!m2kfkp0a`q;~x+djU2f_9~U0M7#awGF|~*N0bmdl@`*U=Vb02s-D8x&~xjmg7tOA(PA9TlyaL`QLOWCWIk%MCHbd`5I^97n|`Jogjg`6@0J!Czut z?N(wE&yrI(IyLRNotDbMDakxfN_@T5=^2R5%wm6?okKaEoRMzipycL3=VNaQ zz82tPK5SmDu~Vif1THG(=#pv7tDzAAO$N9L?ZyU^mQ>A%ZfX6ah1M1X zH>-b4V`^)M?ojKnx&yYo?F~ydoxok)h!(oLfIDs8!qn3X-Pg~!zYn&zhu*G%L0&mD ztc@0ihqyC1V8+tOD5A&4U$ihjhTzc=bC@P3u`g2^JcY~23A2`_C5WDx6=cHf41y)o z<}uC9LocXh>IK;OISVW;F5yO(SAMK4<6?hl(GpCnYlvRoSV!>MszsJ)a|_$`6Wg@4 zX`!X<9o#E&r90b}V%pXHfpEF+T5M@=|1Z41XE~;WLj!wwAi|RT$N(S7#b7!<(X%JV zqAby=?iWegcq-D;*|`p%pNYkEamn`bLbN5t72_*~cudM`jlEV{VTo=u_{J(rw|9Tf z_U_g?O!p7chkGk6sUD?|Dr+%4{d%(6(%zGpx9Pq9(fSRVC75I%A`*E3001R)MObuX zVRU6WV{&C-bY%cCFflhRFflDLIaDw=Ix#UiG&CzPF*-0X2^rg90000bbVXQnWMOn= zI&E)cX=Zr6Cgx@ wG{a;ABePT>%h=S&#LUDT#0SfONT5nC0O}VJbn-$ql>h($07*qoM6N<$f;ht3Q2+n{ diff --git a/public/img/icons/apple-touch-icon-76x76.png b/public/img/icons/apple-touch-icon-76x76.png index c500769e3df9d6a6f1977ace8be4e63a8095e36a..f61d6f27f2f7af2cf4afa07610a9b628b1ac16f7 100644 GIT binary patch delta 3208 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 ZUfx*1KfBk_$SWra0BLA(wHARU{R^)->l*+7 delta 1747 zcmV;^1}yo`8J`Z285jcq008hwp&0-G00d`2O+f$vv5yPy6X0O}mFnrh!CXX`7_2+VSRI!IMaac2#6_*4o|v|No)e zz)Y`$MQ3b;kDK`U`ssi6@NCAMNt1d*R%c3EY{JORxZ}@IyNOJ-g+_62Z+wdI@$&Th z_kGQ$N}qm2T4+R7XRNck%>qU{F2qSOR0fGVQQ3~sQvx@ zL||&(^66s2l}L(rQDJe>)!EV3+Nj;cOtFMTX>EUsm+tWK?D&83amb%amU}~2XG>dc zf{vO}yoyb>hDLO7_WSvR&#OzKe?(kp((T|{zmG?Obo~DPOsj%KV{78{>}A83NsW0! zRc5Z>$WFV6OtOVVY;LXJ$nW{|b;+Vintel9XT#{%Q@o2tcX9aq`iRl5OQnEBU1`_v zEt%F5nYv%RtX~mjJk$SY^%ul^S*HpcXiqf#y@a0{=lAqeY=l1Vv#hbO_&GY*A$?Dt3 z>DiSQLvsKC00Cl4M??UK1szBL000McNliru;Q}x z8@f7Y*$Hheam>Jw&z6xfV{%xgW~9l?lwD_xjc|X!&_Loc&2i7d(h4s!9^9;_=BCRM+5uQ7w(e)RJd)O*ID#>gq|fhDLwX zn8pSYtiFy522IU4!fzp13t4Y&;$#7@l|*Z6Kh&7^HWI9r#|?vyPNH=k9*@#4Vs&GghU&7D#V@+kYG>xxnuB*yx<3i{zhYl264&onH&~8 ze?g+Xe8reBuU?X1FP_VT!SDz<2Csh)lD#IMM~3CHz~K#v_SWg0(_0ekje~p`jJ_w@ zhpG?6dOs?s1@Mu);CnxjVWNj4NP4{)AL);-qJ_ z^qQQKVogmdWC2WnJz{;GR?vc(Z%43{8AUOet&yK`JSeH!UzREipM%FgH3eF*-CgD=;xSFfiUTXlMWc09SfcSaechcOY6Cgx@G{a;ABePT> p%h=S&#LUDT#0SfONT5nC0O}VJbn-$ql>iF>002ovPDHLkV1nKyZ0`U7 diff --git a/public/img/icons/apple-touch-icon.png b/public/img/icons/apple-touch-icon.png index 03c0c5d5ec302ed7b0ee2c401df9427fb9d3c117..fd368f3ec2e9e32188129331a779ef8c659f1910 100644 GIT binary patch literal 9994 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 THjotl>H$cK%867883g<<2I3W% literal 4678 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

aZW9cb|x>1jZDoAu$NpeWiVk@{x{! zmmBmDgx|qNN?LyIrl9$qmj{KjZ8zpa=4edK3FuFS$KFl}bWPoO*Ax#Z1c2#3JAN(O zYhi>`%H9fSnLkAq|5vs>+?U*bdfMc6TmDu+QqnN9xgfZsG25($^;v7U1nBl9Q^o*i z)&?UaYZ=~7XZa75xPKB1s~MB1m<*dN08pqiy*q!)_Kc|;EZs3&nNdMQ5#LFu+J z?*($vO)$hkMOVc16f-ep;K@_~&Y6t?0t9I0(lBkZBfic|u)3pK$Xv=A@jUQnB2sC` zbI)L9m;VNkWOao}2c3b4_u4+bg zuf-@d1$?asdD1~mORQ02#!&1Xm#41*xz}wETNqKb;kueQ*~OpcAXTpJFYUYcKoA&Z z8Ke=2Vh~cu_uTb&6AH75L!k8zo~&wRsDLs^3YkD2!~;%u6sFrzV2A5(FQ|3}+0-K- zWX)W2yq%?^)iKhyMGPB5*DnWBaLqAHLJ47;r5nvkeq3u_?J{Xaf_}6I+xpLwKS7NC z|KYU%zup)8i85jc)^Yt*I0W8;+zHUI3V7@o;3DUYasdq>DFK%im4J)F?;|B-<=}8R z>HESGa5)KyCnGII|E+YX&h4Y+xCRvyX@oGhhG4 j58+{W$RJv~NLLKlV4)8v^7hU(R-4l(}$teLl` diff --git a/public/img/icons/favicon-16x16.png b/public/img/icons/favicon-16x16.png index 42af00963d81b8e39a30435c60ac482d1f8756e0..3f340209b7bc302b50ccc28cdf10bf3d75ceacf0 100644 GIT binary patch literal 1507 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GXl47;7?}odYtHlYs&gYbV-z91aj^ z^$*_a8YS~aL21%Lt4IOS!Yf)L3!PSoMwJ>=zLYn~^oWX)VZGkeY~LNqE}kAM8^h}O zf&IwIi=G!r_6Hw6J+9Uz%&M@;s%!RkQqlIvq=$`dKV}ZA|i7 zyPw?7mbIxfUxzq*BnWy>P;heORh<&(+EX@Hgj>_9zxoHe?0y%$))-ZTBAo?Hyqg}g z|8Ks(dF!Xi!g)a&d?ovDd^^q|aD#PL>Fs}Z+ulCod{ED}?#s6Qml)FQJlAjE`axJMJ*D&EvT_MfRk>>XXk0eoNK{i@n&-T6O)-&aLMPe=#h{3_B_P;DLaI zZos!)$9Ff+E&l!8FT2j(`CZWzJ&SxJx|Fu^czuxhmK&vw2s z$=X2f;uN>yz^oY^bx|_2+G@(HnJ(;0y{G;TsERSk+uemJjk_iV$l)yTh%5%C!RsK* z=%g{b0w~B{;_2(k{)A1AS68d|oEk83GVZSmi6{w5ELSKf%1_J8NmVGREJ#%VCr*pr zrNPmCGKxHZo{LyEecWv6$8Qq!uD(%%=ku+b9ESCvM!z2x-4`#J_w+yp;2?ZU5HqFji6AA@sny z@k=?|&l&@Ph@%EwXO%=;XV^~s_EF)_X@0g36+-@IB0Tv_Wxkq%4>v0qhxB=5hReHY ze7=7wDJ{@m~$ochl zM!MZB=2@|3-_6_?*;a;ZpDFI&t>`hcQN*Y@I8T2U_u{!6ep$u=7A(iMp6gyZr8uZ6|Y!WjMFq~sA zoDnJDtRkFQ^{L`6YEg(vXv5f!E<+MQjU-X2b@OAaty zGTK!1$%4gT%LmN`5?zV9M-sa{_zo9Xxv<IOf4W9 z=H>du0yRj3Yyc)itK|HG%A(Blj1q=`(xjZsWCfS}+{DbhZ4(Wnfy$I%%2HB`lZ!G7 zN;32F7~DO50~C@14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>WRE8{w#)hawXn|-Xp4{E;v!=;4B^%-x&;Cm1 zP>^*#n_J!T^1SBMI!C4h-R53dN8`?ylD}d{L%(vZvUKT)~-CgWFQy3lt zIqW5#zOL*K8HL%o&D;R|TePl5?VWhq^wrj^qed%lKKkpp-FogeyEi+p zE?K8rW7E1fuEJ{5jaaAp0~aIt+keS?T)@vXM=*X}V#VGMCm1~v-+0wr{w3CJ-R8wG zS@XVpzqP-5Mf0H?y-zh=XVL>S6E;rKnDmrMQlmoKbK9p$evXN`oe{6g>lvi)-+#c) zb+Al&$zRqtWk1@VTt6MPmq9d7^!kmXZn8k{sFt`!l%ynwlArU1(iRB6fMfqu& zIjIUIl?AB^nFS@u3=9=>9)IHDC=AokIOTu(jOWuJ24-b$y<~1-Wnu5hBFw@HE)6D! wQ<#-EhbWxBaplC3Ge=~Ou%B-5Sm33{@Jd{;RG<|Mp00i_>zopr0DGh}-~a#s diff --git a/public/img/icons/favicon-32x32.png b/public/img/icons/favicon-32x32.png index 46ca04dee251a4fa85a2891a145fbe20cc619d96..6727d1778542ecebfade5e4112fdd2f62b414c2d 100644 GIT binary patch literal 1730 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 diff --git a/public/img/icons/mstile-150x150.png b/public/img/icons/mstile-150x150.png index 3b37a43ae2fdef53050291d95da2e49f78cf398e..4a7e876527af0897661ee86e3ec155576da4fa3a 100644 GIT binary patch literal 7214 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 IL1w}K54fnu6aWAK literal 4282 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 - - + diff --git a/vue.config.js b/vue.config.js index 6737514..1584c16 100644 --- a/vue.config.js +++ b/vue.config.js @@ -3,5 +3,13 @@ module.exports = { pwa: { name: "Roon Web Controller", + themeColor: "#2C3E50", + msTileColor: "#2C3E50", + appleMobileWebAppStatusBarStyle: "black-translucent", + appleMobileWebAppCapable: "yes", + manifestOptions: { + background_color: "#232629", + display: "fullscreen", + }, }, }; From 21a86595cfdbd5423d325fd577de5b6410e29264 Mon Sep 17 00:00:00 2001 From: pluggemi Date: Tue, 30 Jun 2020 13:24:25 -0400 Subject: [PATCH 31/54] settings checkbox style tweaks --- src/components/SvgSpriteMiscIcons.vue | 10 +++++++ src/components/TouchscreenOverlaySettings.vue | 20 +++++++------ .../TouchscreenOverlaySettingsClock.vue | 10 ++++++- .../TouchscreenOverlaySettingsGeneral.vue | 30 +++++++++++++++---- 4 files changed, 54 insertions(+), 16 deletions(-) diff --git a/src/components/SvgSpriteMiscIcons.vue b/src/components/SvgSpriteMiscIcons.vue index 3146b94..ad5c57e 100644 --- a/src/components/SvgSpriteMiscIcons.vue +++ b/src/components/SvgSpriteMiscIcons.vue @@ -28,6 +28,16 @@ + + + + + + diff --git a/src/components/TouchscreenOverlaySettingsClock.vue b/src/components/TouchscreenOverlaySettingsClock.vue index ddb9288..4f1e88d 100644 --- a/src/components/TouchscreenOverlaySettingsClock.vue +++ b/src/components/TouchscreenOverlaySettingsClock.vue @@ -8,7 +8,15 @@ id="checkbox_show_clock" v-model="show_clock" /> - +
diff --git a/src/components/TouchscreenOverlaySettingsGeneral.vue b/src/components/TouchscreenOverlaySettingsGeneral.vue index ed8352c..5634b39 100644 --- a/src/components/TouchscreenOverlaySettingsGeneral.vue +++ b/src/components/TouchscreenOverlaySettingsGeneral.vue @@ -9,8 +9,14 @@ v-model="show_cover_background" /> + >Show Background + + + + + + + @@ -23,8 +29,14 @@ v-model="use_circle_icons" /> + >Use Circle Icons + + + + + + + @@ -37,8 +49,14 @@ v-model="track_info_in_browser_title" /> + >Show Track Info in Browser Title + + + + + + + From 68d7720564f0729c9a54ea6265e7837f6f929e2a Mon Sep 17 00:00:00 2001 From: pluggemi Date: Sat, 4 Jul 2020 09:35:49 -0400 Subject: [PATCH 32/54] settings layout tweaks, added browser reload button --- src/components/TouchscreenOverlaySettings.vue | 13 +++----- .../TouchscreenOverlaySettingsAbout.vue | 31 ++++++++++++++++++- .../TouchscreenOverlaySettingsClock.vue | 6 ++-- .../TouchscreenOverlaySettingsGeneral.vue | 21 +++++++++---- 4 files changed, 54 insertions(+), 17 deletions(-) diff --git a/src/components/TouchscreenOverlaySettings.vue b/src/components/TouchscreenOverlaySettings.vue index 7d16182..56d36a3 100644 --- a/src/components/TouchscreenOverlaySettings.vue +++ b/src/components/TouchscreenOverlaySettings.vue @@ -1,5 +1,5 @@ @@ -37,3 +53,16 @@ export default { }, }; + + diff --git a/src/components/TouchscreenOverlaySettingsClock.vue b/src/components/TouchscreenOverlaySettingsClock.vue index 4f1e88d..19204a1 100644 --- a/src/components/TouchscreenOverlaySettingsClock.vue +++ b/src/components/TouchscreenOverlaySettingsClock.vue @@ -1,6 +1,9 @@