From f053fd4420d978c75f70d1ebe961dab55813a6c0 Mon Sep 17 00:00:00 2001 From: notgne2 Date: Thu, 12 Dec 2019 01:45:07 -0700 Subject: [PATCH] stuff --- data/banner.png | Bin 0 -> 34010 bytes data/pages/about.md | 1 + data/pages/home.md | 33 + data/pages/posts/librebasics.md | 37 + data/pages/posts/viveahk.md | 51 + default.nix | 11 + elm-srcs.nix | 72 + elm.json | 31 + package.json | 23 + pnpm-lock.yaml | 5029 +++++++++++++++++++++++++++++++ src/MParser.elm | 127 + src/Main.elm | 269 ++ src/SiteComponents.elm | 51 + src/index.js | 7 + versions.dat | Bin 0 -> 115508 bytes 15 files changed, 5742 insertions(+) create mode 100755 data/banner.png create mode 100644 data/pages/about.md create mode 100644 data/pages/home.md create mode 100644 data/pages/posts/librebasics.md create mode 100644 data/pages/posts/viveahk.md create mode 100644 default.nix create mode 100644 elm-srcs.nix create mode 100644 elm.json create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 src/MParser.elm create mode 100644 src/Main.elm create mode 100644 src/SiteComponents.elm create mode 100644 src/index.js create mode 100644 versions.dat diff --git a/data/banner.png b/data/banner.png new file mode 100755 index 0000000000000000000000000000000000000000..8204d8e168826a039f3ad1a219e949b498d8f9f6 GIT binary patch literal 34010 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 XTG8_8pZ}-l3_#%N>gTe~DWM4f@)9hu literal 0 HcmV?d00001 diff --git a/data/pages/about.md b/data/pages/about.md new file mode 100644 index 0000000..cd49d9e --- /dev/null +++ b/data/pages/about.md @@ -0,0 +1 @@ +I promise I'm not as bad at writing code as I am at writing about pages diff --git a/data/pages/home.md b/data/pages/home.md new file mode 100644 index 0000000..5749d9b --- /dev/null +++ b/data/pages/home.md @@ -0,0 +1,33 @@ +# notgne2's pages + +## 🍆 ... + +Passionate shitposter and software engineer. + +Sometimes I have posts [here](/posts/). + +## Some recent projects + +- Rustchan - Fully featured imageboard written in Rust (I actually just lost the link, some other dude maintains it now iirc) +- [flup](https://github.com/notgne2/flup) - Pomf compliant file hosting website written in Rust +- [LibreBasics](/posts/librebasics) - experiments using FreeBasics freely +- [ViveAHK](/posts/viveahk) - Allows you to bind keys to Vive controller keypresses +- comet protocol - im not telling u nuffing yet +- i will always forget to update this + + +## My work + +I have worked significant amounts on various projects, most recently being: + +- [gm8.app](https://gm8.app) - Buy, deploy and manage servers from Discord +- [EdenJS](https://github.com/eden-js/cli) - Awesome isomorphic NodeJS skeleton for structured applications +- [DiscordBots](https://discordbots.org/) - Popular index of Discord bots and servers +- [Tox](https://tox.chat) - FOSS Secure messaging application + +## Contact me + +- Skype: [evilaubergine](skype:evilaubergine) +- Rizon/Freenode: [notgne2](#) +- Email: [gen2@gen2.space](mailto:gen2@gen2.space) +- Discord: [notgne2#0240](#) diff --git a/data/pages/posts/librebasics.md b/data/pages/posts/librebasics.md new file mode 100644 index 0000000..4f0f84f --- /dev/null +++ b/data/pages/posts/librebasics.md @@ -0,0 +1,37 @@ +Librebasics is a small project of mine to get free internet on FreeBasics internet connections provided by FaceBook available primarily in India, Thailand, and developing African nations. It's currently in a very early stage, but I will constantly update this page with information I gather about their DPI (Deep Packet Inspection) as time goes on, along with my methods for evasion. + +## Why +When I wrote this, I was stuck in Thailand , where one of the primary mobile providers has FreeBasics by default if you run out of credit, so I naturally decided to find a way around that. + +## Current observations +Their DPI is very strict, appearing to possibly check HTTPS certificates, and check both the request headers and responses of all HTTP connections, other protocols will be strictly disallowed, and other ports other than 443/80 blocked (mostly?? TODO: investigate this) + +I am not sure if this is to do with time or location, but previously when I have been limited to Facebook-only access on TrueMove, it has not taken me through FreeBasics, and during this time, Facebook chat and calling was not available. When audio/video calls is possible it would be a good idea to attempt tunneling data over the webrtc connection which is established, or perhaps even fool the DPI and start my own connection (I do not know much about webrtc, or how Facebook uses it). + +The main rules I have found are... +- Request URL is relative, or a FreeBasics-permitted +- `Host` header is a FreeBasics-permitted URL +- Response is not longer than specified (this varies ??) +- `0.freebasics.com` rules are +- - Path is `/?ref=zerobalance` +- - Requests following these rules are allowed +- All other site rules are +- - Unknown, requests following only previous rules are disallowed + +## Current method +God, I feel like a Javascript developer explaining his amazing stack of lossy databases and frontend frameworks right now but, here is how I am currently bypassing FreeBasics. + +1. "slowngay™" tunnel, making requests into "Facebook friendly" requests, and converting back on the other end +2. HTTP tunnel, I am using [Crowbar](https://github.com/q3k/crowbar), as many use methods which do not play nice with either my tunnel or the DPI +3. SSH connection over the tunnel, opening a local socks proxy with `-D` +4. [redsocks](http://darkk.net.ru/redsocks/) and iptables for routing traffic though the proxy + +## Phone usage +While this may sound unusually complicated, it is quite simple to make this work straight on a phone, without a any computer (you will need root, of course) + +To make this work on my phone I used Termux, and ProxyDroid. Termux was really the main piece in making this setup so easy, it is a very useful tool. Crowbar as mentioned before can compile in an android shell with no configuration, in Termux just run `apt install golang`, then `go get` the repo. + +To make this even easier and cooler to use after it has been set up, try installing `Termux:Widget`, so you can have a stop and start shortcut for the proxy tunnel components on your home screen, along with the proxy toggle widget available from ProxyDroid. + +## Where is your software m8? +Well, once I have an array of good bypass methods, I may package this and sell it. Of course I will not hold back information from any tech literate people who are interested, but I'm still not going to baby you by giving you my 30 line long Node.js script I used to replace the headers (PS. they don't filter "X-" headers), just write one yourself in a not so garbage language. \ No newline at end of file diff --git a/data/pages/posts/viveahk.md b/data/pages/posts/viveahk.md new file mode 100644 index 0000000..5e5f82a --- /dev/null +++ b/data/pages/posts/viveahk.md @@ -0,0 +1,51 @@ +### (or: tool assisted smugging) + +When I got my HTC Vive Pro I was disappointed at the lack of script-ability when it came to automation or really any kind of programatic hook, and scouring Reddit only found me a tool for using the Oculus Rift through AHK, which seemed unfair especially given it's extreme inferiority. This greatly annoyed me, given how badly I needed to make a shortcut to start and stop recording in ShareX to assist me in smugging on people who make better financial choices than me, so I made this. + +Searching around on Google eventually found me [this](https://gist.github.com/awesomebytes/75daab3adb62b331f21ecf3a03b3ab46), a script able to get HTC Vive controller inputs live, and print the events, so I quickly augmented this with the python win32api to emulate keypresses, and much to my surprise it worked perfectly, so far I've already completed my initial goal of taking screenshots and videos with ShareX entirely from VR, and will soon move on to making more smugging tools through controller shortcuts. + +```python +pressed = {} + +def take_press(set_side, set_key, set_value, set_keycode, data): + if data['side'] == set_side and data[set_key] == set_value and not pressed.get(hex(set_keycode)): + pressed[hex(set_keycode)] = True + win32api.keybd_event(set_keycode, 0, 0, 0) + elif data['side'] == set_side and data[set_key] != set_value and pressed.get(hex(set_keycode)): + pressed[hex(set_keycode)] = False + win32api.keybd_event(set_keycode, 0 ,win32con.KEYEVENTF_KEYUP ,0) + +def handle_input(data): + take_press('left', 'grip_button', True, 0x88, data) + take_press('right', 'grip_button', True, 0x89, data) + take_press('left', 'trigger', 1, 0x8A, data) + take_press('right', 'trigger', 1, 0x8B, data) + take_press('left', 'menu_button', True, 0x8C, data) + take_press('right', 'menu_button', True, 0x8D, data) + take_press('left', 'trackpad_pressed', True, 0x8E, data) + take_press('right', 'trackpad_pressed', True, 0x8F, data) + take_press('left', 'trackpad_touched', True, 0x92, data) + take_press('right', 'trackpad_touched', True, 0x93, data) +``` + +You can use the virtual keypresses in anything, besides a few applications that won't recognize it as a shortcut due to the keycodes not being registered to anything. + +An example of usage would be this simple AutoHotKey script, which will activate if you press right menu, left grip, and right grip, and will run an awkwardly long key combination you might want to bind in ShareX. + +``` +~vk0x88 & ~vk0x89:: + If GetKeyState("vk0x8D") { + Send, {Control down} + Send, {Shift down} + Send, {Alt down} + Send, {LWin down} + Send, {p down} + Send, {p up} + Send, {Control up} + Send, {Shift up} + Send, {Alt up} + Send, {LWin up} + } +``` + +If you're actually interested in my finished script, see [this gist](https://gist.github.com/notgne2/833ce83c9bf9f8034a4c8c11ab3d16e2) \ No newline at end of file diff --git a/default.nix b/default.nix new file mode 100644 index 0000000..77e89df --- /dev/null +++ b/default.nix @@ -0,0 +1,11 @@ +{ callPackage, ... }: + +with (callPackage (builtins.fetchGit { + url = https://git.wizbos.club/wizbos-pub/wand-front-utils.git; + rev = "c05fd94028d6023b3d4debf0c1d2bece2c547df5"; +}) {}); +mkWandardFront { + src = ./.; + name = "gen2.space"; + routes = [ "/" "/about" "/404" "/posts" "/posts/viveahk" "/posts/librebasics" ]; +} \ No newline at end of file diff --git a/elm-srcs.nix b/elm-srcs.nix new file mode 100644 index 0000000..55ba704 --- /dev/null +++ b/elm-srcs.nix @@ -0,0 +1,72 @@ +{ + + "mdgriffith/elm-ui" = { + sha256 = "17iayf13r5fy38xlliaizi6af12jp1yw2vjxyhi6qf16xy579vn8"; + version = "1.1.5"; + }; + + "elm/html" = { + sha256 = "1n3gpzmpqqdsldys4ipgyl1zacn0kbpc3g4v3hdpiyfjlgh8bf3k"; + version = "1.0.0"; + }; + + "elm/browser" = { + sha256 = "0nagb9ajacxbbg985r4k9h0jadqpp0gp84nm94kcgbr5sf8i9x13"; + version = "1.0.2"; + }; + + "dillonkearns/elm-markdown" = { + sha256 = "08l0ml9qq6qif98ka40ixx99b7gravmacskw0h4zzrzv2n9va3vl"; + version = "1.1.3"; + }; + + "elm/core" = { + sha256 = "1l0qdbczw91kzz8sx5d5zwz9x662bspy7p21dsr3f2rigxiix2as"; + version = "1.0.2"; + }; + + "elm/url" = { + sha256 = "0av8x5syid40sgpl5vd7pry2rq0q4pga28b4yykn9gd9v12rs3l4"; + version = "1.0.0"; + }; + + "elm/http" = { + sha256 = "008bs76mnp48b4dw8qwjj4fyvzbxvlrl4xpa2qh1gg2kfwyw56v1"; + version = "2.0.0"; + }; + + "elm/bytes" = { + sha256 = "02ywbf52akvxclpxwj9n04jydajcbsbcbsnjs53yjc5lwck3abwj"; + version = "1.0.8"; + }; + + "elm/file" = { + sha256 = "1rljcb41dl97myidyjih2yliyzddkr2m7n74x7gg46rcw4jl0ny8"; + version = "1.0.5"; + }; + + "elm/json" = { + sha256 = "0kjwrz195z84kwywaxhhlnpl3p251qlbm5iz6byd6jky2crmyqyh"; + version = "1.1.3"; + }; + + "rtfeldman/elm-hex" = { + sha256 = "1y0aa16asvwdqmgbskh5iba6psp43lkcjjw9mgzj3gsrg33lp00d"; + version = "1.0.0"; + }; + + "elm/parser" = { + sha256 = "0a3cxrvbm7mwg9ykynhp7vjid58zsw03r63qxipxp3z09qks7512"; + version = "1.1.0"; + }; + + "elm/time" = { + sha256 = "0vch7i86vn0x8b850w1p69vplll1bnbkp8s383z7pinyg94cm2z1"; + version = "1.0.0"; + }; + + "elm/virtual-dom" = { + sha256 = "0q1v5gi4g336bzz1lgwpn5b1639lrn63d8y6k6pimcyismp2i1yg"; + version = "1.0.2"; + }; +} diff --git a/elm.json b/elm.json new file mode 100644 index 0000000..77f6b29 --- /dev/null +++ b/elm.json @@ -0,0 +1,31 @@ +{ + "type": "application", + "source-directories": [ + "src" + ], + "elm-version": "0.19.0", + "dependencies": { + "direct": { + "dillonkearns/elm-markdown": "1.1.3", + "elm/browser": "1.0.2", + "elm/core": "1.0.2", + "elm/html": "1.0.0", + "elm/http": "2.0.0", + "elm/url": "1.0.0", + "mdgriffith/elm-ui": "1.1.5" + }, + "indirect": { + "elm/bytes": "1.0.8", + "elm/file": "1.0.5", + "elm/json": "1.1.3", + "elm/parser": "1.1.0", + "elm/time": "1.0.0", + "elm/virtual-dom": "1.0.2", + "rtfeldman/elm-hex": "1.0.0" + } + }, + "test-dependencies": { + "direct": {}, + "indirect": {} + } +} \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..2e185e0 --- /dev/null +++ b/package.json @@ -0,0 +1,23 @@ +{ + "dependencies": { + "@prerenderer/renderer-jsdom": "^0.2.0", + "copy-webpack-plugin": "^5.1.0", + "elm-webpack-loader": "^6.0.1", + "html-webpack-plugin": "^3.2.0", + "jsdom": "^15.2.1", + "prerender-spa-plugin": "^3.4.0", + "tempy": "^0.3.0", + "webpack": "^4.41.2", + "webpack-cli": "^3.3.10", + "workbox-webpack-plugin": "^4.3.1" + }, + "name": "gen2-space", + "version": "1.0.0", + "main": "src/index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "notgne2", + "license": "AGPL-3.0", + "description": "" +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..24d790e --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,5029 @@ +dependencies: + '@prerenderer/renderer-jsdom': 0.2.0 + copy-webpack-plugin: 5.1.0_webpack@4.41.2 + elm-webpack-loader: 6.0.1 + html-webpack-plugin: 3.2.0_webpack@4.41.2 + jsdom: 15.2.1 + prerender-spa-plugin: 3.4.0 + tempy: 0.3.0 + webpack: 4.41.2_webpack@4.41.2 + webpack-cli: 3.3.10_webpack@4.41.2 + workbox-webpack-plugin: 4.3.1_webpack@4.41.2 +lockfileVersion: 5.1 +packages: + /@babel/runtime/7.7.6: + dependencies: + regenerator-runtime: 0.13.3 + dev: false + resolution: + integrity: sha512-BWAJxpNVa0QlE5gZdWjSxXtemZyZ9RmrmVozxt3NUXeZhVIJ5ANyqmMc0JDrivBZyxUuQvFxlvH4OWWOogGfUw== + /@hapi/address/2.1.4: + dev: false + resolution: + integrity: sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ== + /@hapi/bourne/1.3.2: + dev: false + resolution: + integrity: sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA== + /@hapi/hoek/8.5.0: + dev: false + resolution: + integrity: sha512-7XYT10CZfPsH7j9F1Jmg1+d0ezOux2oM2GfArAzLwWe4mE2Dr3hVjsAL6+TFY49RRJlCdJDMw3nJsLFroTc8Kw== + /@hapi/joi/15.1.1: + dependencies: + '@hapi/address': 2.1.4 + '@hapi/bourne': 1.3.2 + '@hapi/hoek': 8.5.0 + '@hapi/topo': 3.1.6 + dev: false + resolution: + integrity: sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ== + /@hapi/topo/3.1.6: + dependencies: + '@hapi/hoek': 8.5.0 + dev: false + resolution: + integrity: sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ== + /@prerenderer/prerenderer/0.7.2: + dependencies: + express: 4.17.1 + http-proxy-middleware: 0.18.0 + portfinder: 1.0.25 + dev: false + engines: + node: '>=4.0.0' + resolution: + integrity: sha512-zWG3uFnrQWDJQoSzGB8bOnNhJCgIiylVYDFBP7Nw2LqngHOqwvpdBtGSjfajC8+fdR/iB2FqMqe27cfdmf/8TQ== + /@prerenderer/renderer-jsdom/0.2.0: + dependencies: + jsdom: 11.12.0 + promise-limit: 2.7.0 + dev: false + engines: + node: '>=4.0.0' + resolution: + integrity: sha512-KWe9BCZoy9ONvNHborfWKUghhYoDjWEj/10EEsatUgpg4WOT5P1maeDSGsUgEt/wTmVcCvewiXkk1C6/ijMthQ== + /@prerenderer/renderer-puppeteer/0.2.0: + dependencies: + promise-limit: 2.7.0 + puppeteer: 1.20.0 + dev: false + engines: + node: '>=4.0.0' + resolution: + integrity: sha512-sC8WBcYcXbqm6premzCcUNDRROtAwBtBewUuzHyKcYDqU6InqjfpUQEXdIlhikN0gvqzlJy1+c7OJSfNYi4/tg== + /@webassemblyjs/ast/1.8.5: + dependencies: + '@webassemblyjs/helper-module-context': 1.8.5 + '@webassemblyjs/helper-wasm-bytecode': 1.8.5 + '@webassemblyjs/wast-parser': 1.8.5 + dev: false + resolution: + integrity: sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ== + /@webassemblyjs/floating-point-hex-parser/1.8.5: + dev: false + resolution: + integrity: sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ== + /@webassemblyjs/helper-api-error/1.8.5: + dev: false + resolution: + integrity: sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA== + /@webassemblyjs/helper-buffer/1.8.5: + dev: false + resolution: + integrity: sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q== + /@webassemblyjs/helper-code-frame/1.8.5: + dependencies: + '@webassemblyjs/wast-printer': 1.8.5 + dev: false + resolution: + integrity: sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ== + /@webassemblyjs/helper-fsm/1.8.5: + dev: false + resolution: + integrity: sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow== + /@webassemblyjs/helper-module-context/1.8.5: + dependencies: + '@webassemblyjs/ast': 1.8.5 + mamacro: 0.0.3 + dev: false + resolution: + integrity: sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g== + /@webassemblyjs/helper-wasm-bytecode/1.8.5: + dev: false + resolution: + integrity: sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ== + /@webassemblyjs/helper-wasm-section/1.8.5: + dependencies: + '@webassemblyjs/ast': 1.8.5 + '@webassemblyjs/helper-buffer': 1.8.5 + '@webassemblyjs/helper-wasm-bytecode': 1.8.5 + '@webassemblyjs/wasm-gen': 1.8.5 + dev: false + resolution: + integrity: sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA== + /@webassemblyjs/ieee754/1.8.5: + dependencies: + '@xtuc/ieee754': 1.2.0 + dev: false + resolution: + integrity: sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g== + /@webassemblyjs/leb128/1.8.5: + dependencies: + '@xtuc/long': 4.2.2 + dev: false + resolution: + integrity: sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A== + /@webassemblyjs/utf8/1.8.5: + dev: false + resolution: + integrity: sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw== + /@webassemblyjs/wasm-edit/1.8.5: + dependencies: + '@webassemblyjs/ast': 1.8.5 + '@webassemblyjs/helper-buffer': 1.8.5 + '@webassemblyjs/helper-wasm-bytecode': 1.8.5 + '@webassemblyjs/helper-wasm-section': 1.8.5 + '@webassemblyjs/wasm-gen': 1.8.5 + '@webassemblyjs/wasm-opt': 1.8.5 + '@webassemblyjs/wasm-parser': 1.8.5 + '@webassemblyjs/wast-printer': 1.8.5 + dev: false + resolution: + integrity: sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q== + /@webassemblyjs/wasm-gen/1.8.5: + dependencies: + '@webassemblyjs/ast': 1.8.5 + '@webassemblyjs/helper-wasm-bytecode': 1.8.5 + '@webassemblyjs/ieee754': 1.8.5 + '@webassemblyjs/leb128': 1.8.5 + '@webassemblyjs/utf8': 1.8.5 + dev: false + resolution: + integrity: sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg== + /@webassemblyjs/wasm-opt/1.8.5: + dependencies: + '@webassemblyjs/ast': 1.8.5 + '@webassemblyjs/helper-buffer': 1.8.5 + '@webassemblyjs/wasm-gen': 1.8.5 + '@webassemblyjs/wasm-parser': 1.8.5 + dev: false + resolution: + integrity: sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q== + /@webassemblyjs/wasm-parser/1.8.5: + dependencies: + '@webassemblyjs/ast': 1.8.5 + '@webassemblyjs/helper-api-error': 1.8.5 + '@webassemblyjs/helper-wasm-bytecode': 1.8.5 + '@webassemblyjs/ieee754': 1.8.5 + '@webassemblyjs/leb128': 1.8.5 + '@webassemblyjs/utf8': 1.8.5 + dev: false + resolution: + integrity: sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw== + /@webassemblyjs/wast-parser/1.8.5: + dependencies: + '@webassemblyjs/ast': 1.8.5 + '@webassemblyjs/floating-point-hex-parser': 1.8.5 + '@webassemblyjs/helper-api-error': 1.8.5 + '@webassemblyjs/helper-code-frame': 1.8.5 + '@webassemblyjs/helper-fsm': 1.8.5 + '@xtuc/long': 4.2.2 + dev: false + resolution: + integrity: sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg== + /@webassemblyjs/wast-printer/1.8.5: + dependencies: + '@webassemblyjs/ast': 1.8.5 + '@webassemblyjs/wast-parser': 1.8.5 + '@xtuc/long': 4.2.2 + dev: false + resolution: + integrity: sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg== + /@xtuc/ieee754/1.2.0: + dev: false + resolution: + integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + /@xtuc/long/4.2.2: + dev: false + resolution: + integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + /abab/2.0.3: + dev: false + resolution: + integrity: sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg== + /accepts/1.3.7: + dependencies: + mime-types: 2.1.25 + negotiator: 0.6.2 + dev: false + engines: + node: '>= 0.6' + resolution: + integrity: sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== + /acorn-globals/4.3.4: + dependencies: + acorn: 6.4.0 + acorn-walk: 6.2.0 + dev: false + resolution: + integrity: sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A== + /acorn-walk/6.2.0: + dev: false + engines: + node: '>=0.4.0' + resolution: + integrity: sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== + /acorn/5.7.3: + dev: false + engines: + node: '>=0.4.0' + hasBin: true + resolution: + integrity: sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== + /acorn/6.4.0: + dev: false + engines: + node: '>=0.4.0' + hasBin: true + resolution: + integrity: sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw== + /acorn/7.1.0: + dev: false + engines: + node: '>=0.4.0' + hasBin: true + resolution: + integrity: sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ== + /agent-base/4.3.0: + dependencies: + es6-promisify: 5.0.0 + dev: false + engines: + node: '>= 4.0.0' + resolution: + integrity: sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== + /ajv-errors/1.0.1_ajv@6.10.2: + dependencies: + ajv: 6.10.2 + dev: false + peerDependencies: + ajv: '>=5.0.0' + resolution: + integrity: sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== + /ajv-keywords/3.4.1_ajv@6.10.2: + dependencies: + ajv: 6.10.2 + dev: false + peerDependencies: + ajv: ^6.9.1 + resolution: + integrity: sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== + /ajv/6.10.2: + dependencies: + fast-deep-equal: 2.0.1 + fast-json-stable-stringify: 2.0.0 + json-schema-traverse: 0.4.1 + uri-js: 4.2.2 + dev: false + resolution: + integrity: sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== + /ansi-colors/3.2.4: + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== + /ansi-regex/2.1.1: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + /ansi-regex/4.1.0: + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + /ansi-styles/3.2.1: + dependencies: + color-convert: 1.9.3 + dev: false + engines: + node: '>=4' + resolution: + integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + /anymatch/2.0.0: + dependencies: + micromatch: 3.1.10 + normalize-path: 2.1.1 + dev: false + resolution: + integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + /aproba/1.2.0: + dev: false + resolution: + integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + /arr-diff/4.0.0: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + /arr-flatten/1.1.0: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + /arr-union/3.1.0: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + /array-equal/1.0.0: + dev: false + resolution: + integrity: sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= + /array-flatten/1.1.1: + dev: false + resolution: + integrity: sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + /array-union/1.0.2: + dependencies: + array-uniq: 1.0.3 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + /array-uniq/1.0.3: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + /array-unique/0.3.2: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + /asn1.js/4.10.1: + dependencies: + bn.js: 4.11.8 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + dev: false + resolution: + integrity: sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== + /asn1/0.2.4: + dependencies: + safer-buffer: 2.1.2 + dev: false + resolution: + integrity: sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + /assert-plus/1.0.0: + dev: false + engines: + node: '>=0.8' + resolution: + integrity: sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + /assert/1.5.0: + dependencies: + object-assign: 4.1.1 + util: 0.10.3 + dev: false + resolution: + integrity: sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== + /assign-symbols/1.0.0: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + /async-each/1.0.3: + dev: false + resolution: + integrity: sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== + /async-limiter/1.0.1: + dev: false + resolution: + integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== + /async/2.6.3: + dependencies: + lodash: 4.17.15 + dev: false + resolution: + integrity: sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + /asynckit/0.4.0: + dev: false + resolution: + integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k= + /atob/2.1.2: + dev: false + engines: + node: '>= 4.5.0' + hasBin: true + resolution: + integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + /aws-sign2/0.7.0: + dev: false + resolution: + integrity: sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + /aws4/1.9.0: + dev: false + resolution: + integrity: sha512-Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A== + /babel-extract-comments/1.0.0: + dependencies: + babylon: 6.18.0 + dev: false + engines: + node: '>=4' + resolution: + integrity: sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ== + /babel-plugin-syntax-object-rest-spread/6.13.0: + dev: false + resolution: + integrity: sha1-/WU28rzhODb/o6VFjEkDpZe7O/U= + /babel-plugin-transform-object-rest-spread/6.26.0: + dependencies: + babel-plugin-syntax-object-rest-spread: 6.13.0 + babel-runtime: 6.26.0 + dev: false + resolution: + integrity: sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY= + /babel-runtime/6.26.0: + dependencies: + core-js: 2.6.11 + regenerator-runtime: 0.11.1 + dev: false + resolution: + integrity: sha1-llxwWGaOgrVde/4E/yM3vItWR/4= + /babylon/6.18.0: + dev: false + hasBin: true + resolution: + integrity: sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== + /balanced-match/1.0.0: + dev: false + resolution: + integrity: sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + /base/0.11.2: + dependencies: + cache-base: 1.0.1 + class-utils: 0.3.6 + component-emitter: 1.3.0 + define-property: 1.0.0 + isobject: 3.0.1 + mixin-deep: 1.3.2 + pascalcase: 0.1.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + /base64-js/1.3.1: + dev: false + resolution: + integrity: sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== + /bcrypt-pbkdf/1.0.2: + dependencies: + tweetnacl: 0.14.5 + dev: false + resolution: + integrity: sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + /big.js/3.2.0: + dev: false + resolution: + integrity: sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q== + /big.js/5.2.2: + dev: false + resolution: + integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + /binary-extensions/1.13.1: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== + /bluebird/3.7.2: + dev: false + resolution: + integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + /bn.js/4.11.8: + dev: false + resolution: + integrity: sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== + /body-parser/1.19.0: + dependencies: + 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.18 + dev: false + engines: + node: '>= 0.8' + resolution: + integrity: sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== + /boolbase/1.0.0: + dev: false + resolution: + integrity: sha1-aN/1++YMUes3cl6p4+0xDcwed24= + /brace-expansion/1.1.11: + dependencies: + balanced-match: 1.0.0 + concat-map: 0.0.1 + dev: false + resolution: + integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + /braces/2.3.2: + dependencies: + 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.3 + snapdragon: 0.8.2 + snapdragon-node: 2.1.1 + split-string: 3.1.0 + to-regex: 3.0.2 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + /brorand/1.1.0: + dev: false + resolution: + integrity: sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + /browser-process-hrtime/0.1.3: + dev: false + resolution: + integrity: sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw== + /browserify-aes/1.2.0: + dependencies: + buffer-xor: 1.0.3 + cipher-base: 1.0.4 + create-hash: 1.2.0 + evp_bytestokey: 1.0.3 + inherits: 2.0.4 + safe-buffer: 5.2.0 + dev: false + resolution: + integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + /browserify-cipher/1.0.1: + dependencies: + browserify-aes: 1.2.0 + browserify-des: 1.0.2 + evp_bytestokey: 1.0.3 + dev: false + resolution: + integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + /browserify-des/1.0.2: + dependencies: + cipher-base: 1.0.4 + des.js: 1.0.1 + inherits: 2.0.4 + safe-buffer: 5.2.0 + dev: false + resolution: + integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + /browserify-rsa/4.0.1: + dependencies: + bn.js: 4.11.8 + randombytes: 2.1.0 + dev: false + resolution: + integrity: sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= + /browserify-sign/4.0.4: + dependencies: + bn.js: 4.11.8 + 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 + dev: false + resolution: + integrity: sha1-qk62jl17ZYuqa/alfmMMvXqT0pg= + /browserify-zlib/0.2.0: + dependencies: + pako: 1.0.10 + dev: false + resolution: + integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== + /buffer-from/1.1.1: + dev: false + resolution: + integrity: sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + /buffer-xor/1.0.3: + dev: false + resolution: + integrity: sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= + /buffer/4.9.2: + dependencies: + base64-js: 1.3.1 + ieee754: 1.1.13 + isarray: 1.0.0 + dev: false + resolution: + integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== + /builtin-status-codes/3.0.0: + dev: false + resolution: + integrity: sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= + /bytes/3.1.0: + dev: false + engines: + node: '>= 0.8' + resolution: + integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== + /cacache/12.0.3: + dependencies: + bluebird: 3.7.2 + chownr: 1.1.3 + figgy-pudding: 3.5.1 + glob: 7.1.6 + graceful-fs: 4.2.3 + infer-owner: 1.0.4 + 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.7.1 + ssri: 6.0.1 + unique-filename: 1.1.1 + y18n: 4.0.0 + dev: false + resolution: + integrity: sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw== + /cache-base/1.0.1: + dependencies: + collection-visit: 1.0.0 + component-emitter: 1.3.0 + get-value: 2.0.6 + has-value: 1.0.0 + isobject: 3.0.1 + set-value: 2.0.1 + to-object-path: 0.3.0 + union-value: 1.0.1 + unset-value: 1.0.0 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + /camel-case/3.0.0: + dependencies: + no-case: 2.3.2 + upper-case: 1.1.3 + dev: false + resolution: + integrity: sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= + /camelcase/3.0.0: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-MvxLn82vhF/N9+c7uXysImHwqwo= + /camelcase/5.3.1: + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + /caseless/0.12.0: + dev: false + resolution: + integrity: sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + /chalk/2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: false + engines: + node: '>=4' + resolution: + integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + /chokidar/2.1.8: + dependencies: + anymatch: 2.0.0 + async-each: 1.0.3 + braces: 2.3.2 + glob-parent: 3.1.0 + inherits: 2.0.4 + is-binary-path: 1.0.1 + is-glob: 4.0.1 + normalize-path: 3.0.0 + path-is-absolute: 1.0.1 + readdirp: 2.2.1 + upath: 1.2.0 + dev: false + optionalDependencies: + fsevents: 1.2.9 + resolution: + integrity: sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== + /chownr/1.1.3: + dev: false + resolution: + integrity: sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw== + /chrome-trace-event/1.0.2: + dependencies: + tslib: 1.10.0 + dev: false + engines: + node: '>=6.0' + resolution: + integrity: sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== + /cipher-base/1.0.4: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.0 + dev: false + resolution: + integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + /class-utils/0.3.6: + dependencies: + arr-union: 3.1.0 + define-property: 0.2.5 + isobject: 3.0.1 + static-extend: 0.1.2 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + /clean-css/4.2.1: + dependencies: + source-map: 0.6.1 + dev: false + engines: + node: '>= 4.0' + resolution: + integrity: sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g== + /cliui/3.2.0: + dependencies: + string-width: 1.0.2 + strip-ansi: 3.0.1 + wrap-ansi: 2.1.0 + dev: false + resolution: + integrity: sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= + /cliui/5.0.0: + dependencies: + string-width: 3.1.0 + strip-ansi: 5.2.0 + wrap-ansi: 5.1.0 + dev: false + resolution: + integrity: sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + /code-point-at/1.1.0: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + /collection-visit/1.0.0: + dependencies: + map-visit: 1.0.0 + object-visit: 1.0.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + /color-convert/1.9.3: + dependencies: + color-name: 1.1.3 + dev: false + resolution: + integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + /color-name/1.1.3: + dev: false + resolution: + integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + /combined-stream/1.0.8: + dependencies: + delayed-stream: 1.0.0 + dev: false + engines: + node: '>= 0.8' + resolution: + integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + /commander/2.17.1: + dev: false + resolution: + integrity: sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== + /commander/2.19.0: + dev: false + resolution: + integrity: sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== + /commander/2.20.3: + dev: false + resolution: + integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + /common-tags/1.8.0: + dev: false + engines: + node: '>=4.0.0' + resolution: + integrity: sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw== + /commondir/1.0.1: + dev: false + resolution: + integrity: sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + /component-emitter/1.3.0: + dev: false + resolution: + integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + /concat-map/0.0.1: + dev: false + resolution: + integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + /concat-stream/1.6.2: + dependencies: + buffer-from: 1.1.1 + inherits: 2.0.4 + readable-stream: 2.3.6 + typedarray: 0.0.6 + dev: false + engines: + '0': node >= 0.8 + resolution: + integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + /console-browserify/1.2.0: + dev: false + resolution: + integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== + /constants-browserify/1.0.0: + dev: false + resolution: + integrity: sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= + /content-disposition/0.5.3: + dependencies: + safe-buffer: 5.1.2 + dev: false + engines: + node: '>= 0.6' + resolution: + integrity: sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== + /content-type/1.0.4: + dev: false + engines: + node: '>= 0.6' + resolution: + integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + /cookie-signature/1.0.6: + dev: false + resolution: + integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + /cookie/0.4.0: + dev: false + engines: + node: '>= 0.6' + resolution: + integrity: sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== + /copy-concurrently/1.0.5: + dependencies: + aproba: 1.2.0 + fs-write-stream-atomic: 1.0.10 + iferr: 0.1.5 + mkdirp: 0.5.1 + rimraf: 2.7.1 + run-queue: 1.0.3 + dev: false + resolution: + integrity: sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== + /copy-descriptor/0.1.1: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + /copy-webpack-plugin/5.1.0_webpack@4.41.2: + dependencies: + 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: 4.41.2_webpack@4.41.2 + webpack-log: 2.0.0 + dev: false + engines: + node: '>= 6.9.0' + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + resolution: + integrity: sha512-0sNrj/Sx7/cWA0k7CVQa0sdA/dzCybqSb0+GbhKuQdOlAvnAwgC2osmbAFOAfha7ZXnreoQmCq5oDjG3gP4VHw== + /core-js/2.6.11: + deprecated: 'core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.' + dev: false + requiresBuild: true + resolution: + integrity: sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== + /core-util-is/1.0.2: + dev: false + resolution: + integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + /create-ecdh/4.0.3: + dependencies: + bn.js: 4.11.8 + elliptic: 6.5.2 + dev: false + resolution: + integrity: sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== + /create-hash/1.2.0: + dependencies: + cipher-base: 1.0.4 + inherits: 2.0.4 + md5.js: 1.3.5 + ripemd160: 2.0.2 + sha.js: 2.4.11 + dev: false + resolution: + integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + /create-hmac/1.1.7: + dependencies: + cipher-base: 1.0.4 + create-hash: 1.2.0 + inherits: 2.0.4 + ripemd160: 2.0.2 + safe-buffer: 5.2.0 + sha.js: 2.4.11 + dev: false + resolution: + integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + /cross-spawn/6.0.5: + dependencies: + nice-try: 1.0.5 + path-key: 2.0.1 + semver: 5.7.1 + shebang-command: 1.2.0 + which: 1.3.1 + dev: false + engines: + node: '>=4.8' + resolution: + integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + /crypto-browserify/3.12.0: + dependencies: + browserify-cipher: 1.0.1 + browserify-sign: 4.0.4 + create-ecdh: 4.0.3 + create-hash: 1.2.0 + create-hmac: 1.1.7 + diffie-hellman: 5.0.3 + inherits: 2.0.4 + pbkdf2: 3.0.17 + public-encrypt: 4.0.3 + randombytes: 2.1.0 + randomfill: 1.0.4 + dev: false + resolution: + integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== + /crypto-random-string/1.0.0: + dev: false + engines: + node: '>=4' + resolution: + integrity: sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4= + /css-select/1.2.0: + dependencies: + boolbase: 1.0.0 + css-what: 2.1.3 + domutils: 1.5.1 + nth-check: 1.0.2 + dev: false + resolution: + integrity: sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= + /css-what/2.1.3: + dev: false + resolution: + integrity: sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== + /cssom/0.3.8: + dev: false + resolution: + integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== + /cssom/0.4.4: + dev: false + resolution: + integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + /cssstyle/1.4.0: + dependencies: + cssom: 0.3.8 + dev: false + resolution: + integrity: sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA== + /cssstyle/2.0.0: + dependencies: + cssom: 0.3.8 + dev: false + engines: + node: '>=8' + resolution: + integrity: sha512-QXSAu2WBsSRXCPjvI43Y40m6fMevvyRm8JVAuF9ksQz5jha4pWP1wpaK7Yu5oLFc6+XAY+hj8YhefyXcBB53gg== + /cyclist/1.0.1: + dev: false + resolution: + integrity: sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= + /dashdash/1.14.1: + dependencies: + assert-plus: 1.0.0 + dev: false + engines: + node: '>=0.10' + resolution: + integrity: sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + /data-urls/1.1.0: + dependencies: + abab: 2.0.3 + whatwg-mimetype: 2.3.0 + whatwg-url: 7.1.0 + dev: false + resolution: + integrity: sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ== + /debug/2.6.9: + dependencies: + ms: 2.0.0 + dev: false + resolution: + integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + /debug/3.2.6: + dependencies: + ms: 2.1.2 + dev: false + resolution: + integrity: sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== + /debug/4.1.1: + dependencies: + ms: 2.1.2 + dev: false + resolution: + integrity: sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== + /decamelize/1.2.0: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + /decode-uri-component/0.2.0: + dev: false + engines: + node: '>=0.10' + resolution: + integrity: sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + /deep-is/0.1.3: + dev: false + resolution: + integrity: sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + /define-properties/1.1.3: + dependencies: + object-keys: 1.1.1 + dev: false + engines: + node: '>= 0.4' + resolution: + integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + /define-property/0.2.5: + dependencies: + is-descriptor: 0.1.6 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + /define-property/1.0.0: + dependencies: + is-descriptor: 1.0.2 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + /define-property/2.0.2: + dependencies: + is-descriptor: 1.0.2 + isobject: 3.0.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + /delayed-stream/1.0.0: + dev: false + engines: + node: '>=0.4.0' + resolution: + integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + /depd/1.1.2: + dev: false + engines: + node: '>= 0.6' + resolution: + integrity: sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + /des.js/1.0.1: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + dev: false + resolution: + integrity: sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== + /destroy/1.0.4: + dev: false + resolution: + integrity: sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + /detect-file/1.0.0: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= + /diffie-hellman/5.0.3: + dependencies: + bn.js: 4.11.8 + miller-rabin: 4.0.1 + randombytes: 2.1.0 + dev: false + resolution: + integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + /dir-glob/2.2.2: + dependencies: + path-type: 3.0.0 + dev: false + engines: + node: '>=4' + resolution: + integrity: sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== + /dom-converter/0.2.0: + dependencies: + utila: 0.4.0 + dev: false + resolution: + integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== + /dom-serializer/0.2.2: + dependencies: + domelementtype: 2.0.1 + entities: 2.0.0 + dev: false + resolution: + integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== + /domain-browser/1.2.0: + dev: false + engines: + node: '>=0.4' + npm: '>=1.2' + resolution: + integrity: sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== + /domelementtype/1.3.1: + dev: false + resolution: + integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + /domelementtype/2.0.1: + dev: false + resolution: + integrity: sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ== + /domexception/1.0.1: + dependencies: + webidl-conversions: 4.0.2 + dev: false + resolution: + integrity: sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug== + /domhandler/2.4.2: + dependencies: + domelementtype: 1.3.1 + dev: false + resolution: + integrity: sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== + /domutils/1.5.1: + dependencies: + dom-serializer: 0.2.2 + domelementtype: 1.3.1 + dev: false + resolution: + integrity: sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= + /domutils/1.7.0: + dependencies: + dom-serializer: 0.2.2 + domelementtype: 1.3.1 + dev: false + resolution: + integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== + /duplexify/3.7.1: + dependencies: + end-of-stream: 1.4.4 + inherits: 2.0.4 + readable-stream: 2.3.6 + stream-shift: 1.0.0 + dev: false + resolution: + integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== + /ecc-jsbn/0.1.2: + dependencies: + jsbn: 0.1.1 + safer-buffer: 2.1.2 + dev: false + resolution: + integrity: sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + /ee-first/1.1.1: + dev: false + resolution: + integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + /elliptic/6.5.2: + dependencies: + bn.js: 4.11.8 + brorand: 1.1.0 + hash.js: 1.1.7 + hmac-drbg: 1.0.1 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + dev: false + resolution: + integrity: sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw== + /elm-webpack-loader/6.0.1: + dependencies: + glob: 7.1.6 + loader-utils: 1.2.3 + node-elm-compiler: 5.0.4 + yargs: 6.6.0 + dev: false + engines: + node: '>=8.0.0' + peerDependencies: + elm: ^0.19.1-2 || 0.19.0-no-deps + resolution: + integrity: sha512-SkltiDAbegaiPxsQq7sxqTyRUXzD4n6UaT9JTZXIYoAjAEi/ogaIbYLQD6Ne5ZaSW3JOo6S/vb+VO5v0qDdirw== + /emoji-regex/7.0.3: + dev: false + resolution: + integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + /emojis-list/2.1.0: + dev: false + engines: + node: '>= 0.10' + resolution: + integrity: sha1-TapNnbAPmBmIDHn6RXrlsJof04k= + /encodeurl/1.0.2: + dev: false + engines: + node: '>= 0.8' + resolution: + integrity: sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + /end-of-stream/1.4.4: + dependencies: + once: 1.4.0 + dev: false + resolution: + integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + /enhanced-resolve/4.1.0: + dependencies: + graceful-fs: 4.2.3 + memory-fs: 0.4.1 + tapable: 1.1.3 + dev: false + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng== + /enhanced-resolve/4.1.1: + dependencies: + graceful-fs: 4.2.3 + memory-fs: 0.5.0 + tapable: 1.1.3 + dev: false + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA== + /entities/1.1.2: + dev: false + resolution: + integrity: sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== + /entities/2.0.0: + dev: false + resolution: + integrity: sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw== + /errno/0.1.7: + dependencies: + prr: 1.0.1 + dev: false + hasBin: true + resolution: + integrity: sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== + /error-ex/1.3.2: + dependencies: + is-arrayish: 0.2.1 + dev: false + resolution: + integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + /es-abstract/1.16.3: + dependencies: + es-to-primitive: 1.2.1 + function-bind: 1.1.1 + has: 1.0.3 + has-symbols: 1.0.1 + is-callable: 1.1.4 + is-regex: 1.0.4 + object-inspect: 1.7.0 + object-keys: 1.1.1 + string.prototype.trimleft: 2.1.0 + string.prototype.trimright: 2.1.0 + dev: false + engines: + node: '>= 0.4' + resolution: + integrity: sha512-WtY7Fx5LiOnSYgF5eg/1T+GONaGmpvpPdCpSnYij+U2gDTL0UPfWrhDw7b2IYb+9NQJsYpCA0wOQvZfsd6YwRw== + /es-to-primitive/1.2.1: + dependencies: + is-callable: 1.1.4 + is-date-object: 1.0.1 + is-symbol: 1.0.3 + dev: false + engines: + node: '>= 0.4' + resolution: + integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + /es6-promise/4.2.8: + dev: false + resolution: + integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== + /es6-promisify/5.0.0: + dependencies: + es6-promise: 4.2.8 + dev: false + resolution: + integrity: sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM= + /escape-html/1.0.3: + dev: false + resolution: + integrity: sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + /escape-string-regexp/1.0.5: + dev: false + engines: + node: '>=0.8.0' + resolution: + integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + /escodegen/1.12.0: + dependencies: + esprima: 3.1.3 + estraverse: 4.3.0 + esutils: 2.0.3 + optionator: 0.8.3 + dev: false + engines: + node: '>=4.0' + hasBin: true + optionalDependencies: + source-map: 0.6.1 + resolution: + integrity: sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg== + /eslint-scope/4.0.3: + dependencies: + esrecurse: 4.2.1 + estraverse: 4.3.0 + dev: false + engines: + node: '>=4.0.0' + resolution: + integrity: sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== + /esprima/3.1.3: + dev: false + engines: + node: '>=4' + hasBin: true + resolution: + integrity: sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= + /esrecurse/4.2.1: + dependencies: + estraverse: 4.3.0 + dev: false + engines: + node: '>=4.0' + resolution: + integrity: sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== + /estraverse/4.3.0: + dev: false + engines: + node: '>=4.0' + resolution: + integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + /esutils/2.0.3: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + /etag/1.8.1: + dev: false + engines: + node: '>= 0.6' + resolution: + integrity: sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + /eventemitter3/4.0.0: + dev: false + resolution: + integrity: sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg== + /events/3.0.0: + dev: false + engines: + node: '>=0.8.x' + resolution: + integrity: sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA== + /evp_bytestokey/1.0.3: + dependencies: + md5.js: 1.3.5 + safe-buffer: 5.2.0 + dev: false + resolution: + integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + /execa/1.0.0: + dependencies: + cross-spawn: 6.0.5 + get-stream: 4.1.0 + is-stream: 1.1.0 + npm-run-path: 2.0.2 + p-finally: 1.0.0 + signal-exit: 3.0.2 + strip-eof: 1.0.0 + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + /expand-brackets/2.1.4: + dependencies: + debug: 2.6.9 + define-property: 0.2.5 + extend-shallow: 2.0.1 + posix-character-classes: 0.1.1 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + /expand-tilde/2.0.2: + dependencies: + homedir-polyfill: 1.0.3 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= + /express/4.17.1: + dependencies: + 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 + dev: false + engines: + node: '>= 0.10.0' + resolution: + integrity: sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== + /extend-shallow/2.0.1: + dependencies: + is-extendable: 0.1.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + /extend-shallow/3.0.2: + dependencies: + assign-symbols: 1.0.0 + is-extendable: 1.0.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + /extend/3.0.2: + dev: false + resolution: + integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + /extglob/2.0.4: + dependencies: + 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.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + /extract-zip/1.6.7: + dependencies: + concat-stream: 1.6.2 + debug: 2.6.9 + mkdirp: 0.5.1 + yauzl: 2.4.1 + dev: false + hasBin: true + resolution: + integrity: sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k= + /extsprintf/1.3.0: + dev: false + engines: + '0': node >=0.6.0 + resolution: + integrity: sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + /fast-deep-equal/2.0.1: + dev: false + resolution: + integrity: sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= + /fast-json-stable-stringify/2.0.0: + dev: false + resolution: + integrity: sha1-1RQsDK7msRifh9OnYREGT4bIu/I= + /fast-levenshtein/2.0.6: + dev: false + resolution: + integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + /fd-slicer/1.0.1: + dependencies: + pend: 1.2.0 + dev: false + resolution: + integrity: sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU= + /figgy-pudding/3.5.1: + dev: false + resolution: + integrity: sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== + /fill-range/4.0.0: + dependencies: + extend-shallow: 2.0.1 + is-number: 3.0.0 + repeat-string: 1.6.1 + to-regex-range: 2.1.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + /finalhandler/1.1.2: + dependencies: + 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 + dev: false + engines: + node: '>= 0.8' + resolution: + integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== + /find-cache-dir/2.1.0: + dependencies: + commondir: 1.0.1 + make-dir: 2.1.0 + pkg-dir: 3.0.0 + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== + /find-elm-dependencies/2.0.2: + dependencies: + firstline: 1.2.0 + lodash: 4.17.15 + dev: false + engines: + node: '>=4.0.0' + hasBin: true + resolution: + integrity: sha512-nM5UCbccD1G8CGK2GsM7ykG3ksOAl9E+34jiDfl07CAl2OPnLpBVWY2hlxEmIkSBfdJjSopEowWHrO0cI8RhxQ== + /find-up/1.1.2: + dependencies: + path-exists: 2.1.0 + pinkie-promise: 2.0.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= + /find-up/3.0.0: + dependencies: + locate-path: 3.0.0 + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + /findup-sync/3.0.0: + dependencies: + detect-file: 1.0.0 + is-glob: 4.0.1 + micromatch: 3.1.10 + resolve-dir: 1.0.1 + dev: false + engines: + node: '>= 0.10' + resolution: + integrity: sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== + /firstline/1.2.0: + dev: false + engines: + node: '>=4.0.0' + resolution: + integrity: sha1-yfSIbn9/vwr8EtcZQdzgaxkq6gU= + /flush-write-stream/1.1.1: + dependencies: + inherits: 2.0.4 + readable-stream: 2.3.6 + dev: false + resolution: + integrity: sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== + /follow-redirects/1.9.0: + dependencies: + debug: 3.2.6 + dev: false + engines: + node: '>=4.0' + resolution: + integrity: sha512-CRcPzsSIbXyVDl0QI01muNDu69S8trU4jArW9LpOt2WtC6LyUJetcIrmfHsRBx7/Jb6GHJUiuqyYxPooFfNt6A== + /for-in/1.0.2: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + /forever-agent/0.6.1: + dev: false + resolution: + integrity: sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + /form-data/2.3.3: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.25 + dev: false + engines: + node: '>= 0.12' + resolution: + integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + /forwarded/0.1.2: + dev: false + engines: + node: '>= 0.6' + resolution: + integrity: sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= + /fragment-cache/0.2.1: + dependencies: + map-cache: 0.2.2 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + /fresh/0.5.2: + dev: false + engines: + node: '>= 0.6' + resolution: + integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + /from2/2.3.0: + dependencies: + inherits: 2.0.4 + readable-stream: 2.3.6 + dev: false + resolution: + integrity: sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= + /fs-extra/4.0.3: + dependencies: + graceful-fs: 4.2.3 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: false + resolution: + integrity: sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== + /fs-write-stream-atomic/1.0.10: + dependencies: + graceful-fs: 4.2.3 + iferr: 0.1.5 + imurmurhash: 0.1.4 + readable-stream: 2.3.6 + dev: false + resolution: + integrity: sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= + /fs.realpath/1.0.0: + dev: false + resolution: + integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + /fsevents/1.2.9: + bundledDependencies: + - node-pre-gyp + dependencies: + nan: 2.14.0 + deprecated: 'One of your dependencies needs to upgrade to fsevents v2: 1) Proper nodejs v10+ support 2) No more fetching binaries from AWS, smaller package size' + dev: false + engines: + node: '>=4.0' + optional: true + requiresBuild: true + resolution: + integrity: sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw== + /function-bind/1.1.1: + dev: false + resolution: + integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + /get-caller-file/1.0.3: + dev: false + resolution: + integrity: sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== + /get-caller-file/2.0.5: + dev: false + engines: + node: 6.* || 8.* || >= 10.* + resolution: + integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + /get-own-enumerable-property-symbols/3.0.2: + dev: false + resolution: + integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== + /get-stream/4.1.0: + dependencies: + pump: 3.0.0 + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + /get-value/2.0.6: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + /getpass/0.1.7: + dependencies: + assert-plus: 1.0.0 + dev: false + resolution: + integrity: sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + /glob-parent/3.1.0: + dependencies: + is-glob: 3.1.0 + path-dirname: 1.0.2 + dev: false + resolution: + integrity: sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + /glob/7.1.6: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.0.4 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: false + resolution: + integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + /global-modules/1.0.0: + dependencies: + global-prefix: 1.0.2 + is-windows: 1.0.2 + resolve-dir: 1.0.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== + /global-modules/2.0.0: + dependencies: + global-prefix: 3.0.0 + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== + /global-prefix/1.0.2: + dependencies: + expand-tilde: 2.0.2 + homedir-polyfill: 1.0.3 + ini: 1.3.5 + is-windows: 1.0.2 + which: 1.3.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= + /global-prefix/3.0.0: + dependencies: + ini: 1.3.5 + kind-of: 6.0.2 + which: 1.3.1 + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== + /globby/7.1.1: + dependencies: + array-union: 1.0.2 + dir-glob: 2.2.2 + glob: 7.1.6 + ignore: 3.3.10 + pify: 3.0.0 + slash: 1.0.0 + dev: false + engines: + node: '>=4' + resolution: + integrity: sha1-+yzP+UAfhgCUXfral0QMypcrhoA= + /graceful-fs/4.2.3: + dev: false + resolution: + integrity: sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== + /har-schema/2.0.0: + dev: false + engines: + node: '>=4' + resolution: + integrity: sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + /har-validator/5.1.3: + dependencies: + ajv: 6.10.2 + har-schema: 2.0.0 + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== + /has-flag/3.0.0: + dev: false + engines: + node: '>=4' + resolution: + integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + /has-symbols/1.0.1: + dev: false + engines: + node: '>= 0.4' + resolution: + integrity: sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== + /has-value/0.3.1: + dependencies: + get-value: 2.0.6 + has-values: 0.1.4 + isobject: 2.1.0 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + /has-value/1.0.0: + dependencies: + get-value: 2.0.6 + has-values: 1.0.0 + isobject: 3.0.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + /has-values/0.1.4: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-bWHeldkd/Km5oCCJrThL/49it3E= + /has-values/1.0.0: + dependencies: + is-number: 3.0.0 + kind-of: 4.0.0 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + /has/1.0.3: + dependencies: + function-bind: 1.1.1 + dev: false + engines: + node: '>= 0.4.0' + resolution: + integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + /hash-base/3.0.4: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.0 + dev: false + engines: + node: '>=4' + resolution: + integrity: sha1-X8hoaEfs1zSZQDMZprCj8/auSRg= + /hash.js/1.1.7: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + dev: false + resolution: + integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + /he/1.2.0: + dev: false + hasBin: true + resolution: + integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + /hmac-drbg/1.0.1: + dependencies: + hash.js: 1.1.7 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + dev: false + resolution: + integrity: sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + /homedir-polyfill/1.0.3: + dependencies: + parse-passwd: 1.0.0 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== + /hosted-git-info/2.8.5: + dev: false + resolution: + integrity: sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg== + /html-encoding-sniffer/1.0.2: + dependencies: + whatwg-encoding: 1.0.5 + dev: false + resolution: + integrity: sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw== + /html-minifier/3.5.21: + dependencies: + camel-case: 3.0.0 + clean-css: 4.2.1 + commander: 2.17.1 + he: 1.2.0 + param-case: 2.1.1 + relateurl: 0.2.7 + uglify-js: 3.4.10 + dev: false + engines: + node: '>=4' + hasBin: true + resolution: + integrity: sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA== + /html-webpack-plugin/3.2.0_webpack@4.41.2: + dependencies: + html-minifier: 3.5.21 + loader-utils: 0.2.17 + lodash: 4.17.15 + pretty-error: 2.1.1 + tapable: 1.1.3 + toposort: 1.0.7 + util.promisify: 1.0.0 + webpack: 4.41.2_webpack@4.41.2 + dev: false + engines: + node: '>=6.9' + peerDependencies: + webpack: ^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 + resolution: + integrity: sha1-sBq71yOsqqeze2r0SS69oD2d03s= + /htmlparser2/3.10.1: + dependencies: + domelementtype: 1.3.1 + domhandler: 2.4.2 + domutils: 1.7.0 + entities: 1.1.2 + inherits: 2.0.4 + readable-stream: 3.4.0 + dev: false + resolution: + integrity: sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== + /http-errors/1.7.2: + dependencies: + depd: 1.1.2 + inherits: 2.0.3 + setprototypeof: 1.1.1 + statuses: 1.5.0 + toidentifier: 1.0.0 + dev: false + engines: + node: '>= 0.6' + resolution: + integrity: sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== + /http-errors/1.7.3: + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.1.1 + statuses: 1.5.0 + toidentifier: 1.0.0 + dev: false + engines: + node: '>= 0.6' + resolution: + integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== + /http-proxy-middleware/0.18.0: + dependencies: + http-proxy: 1.18.0 + is-glob: 4.0.1 + lodash: 4.17.15 + micromatch: 3.1.10 + dev: false + engines: + node: '>=4.0.0' + resolution: + integrity: sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q== + /http-proxy/1.18.0: + dependencies: + eventemitter3: 4.0.0 + follow-redirects: 1.9.0 + requires-port: 1.0.0 + dev: false + engines: + node: '>=6.0.0' + resolution: + integrity: sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ== + /http-signature/1.2.0: + dependencies: + assert-plus: 1.0.0 + jsprim: 1.4.1 + sshpk: 1.16.1 + dev: false + engines: + node: '>=0.8' + npm: '>=1.3.7' + resolution: + integrity: sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + /https-browserify/1.0.0: + dev: false + resolution: + integrity: sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= + /https-proxy-agent/2.2.4: + dependencies: + agent-base: 4.3.0 + debug: 3.2.6 + dev: false + engines: + node: '>= 4.5.0' + resolution: + integrity: sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg== + /iconv-lite/0.4.24: + dependencies: + safer-buffer: 2.1.2 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + /ieee754/1.1.13: + dev: false + resolution: + integrity: sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== + /iferr/0.1.5: + dev: false + resolution: + integrity: sha1-xg7taebY/bazEEofy8ocGS3FtQE= + /ignore/3.3.10: + dev: false + resolution: + integrity: sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== + /import-local/2.0.0: + dependencies: + pkg-dir: 3.0.0 + resolve-cwd: 2.0.0 + dev: false + engines: + node: '>=6' + hasBin: true + resolution: + integrity: sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== + /imurmurhash/0.1.4: + dev: false + engines: + node: '>=0.8.19' + resolution: + integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o= + /infer-owner/1.0.4: + dev: false + resolution: + integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== + /inflight/1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: false + resolution: + integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + /inherits/2.0.1: + dev: false + resolution: + integrity: sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= + /inherits/2.0.3: + dev: false + resolution: + integrity: sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + /inherits/2.0.4: + dev: false + resolution: + integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + /ini/1.3.5: + dev: false + resolution: + integrity: sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + /interpret/1.2.0: + dev: false + engines: + node: '>= 0.10' + resolution: + integrity: sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== + /invert-kv/1.0.0: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-EEqOSqym09jNFXqO+L+rLXo//bY= + /invert-kv/2.0.0: + dev: false + engines: + node: '>=4' + resolution: + integrity: sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== + /ip-regex/2.1.0: + dev: false + engines: + node: '>=4' + resolution: + integrity: sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + /ipaddr.js/1.9.0: + dev: false + engines: + node: '>= 0.10' + resolution: + integrity: sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA== + /is-accessor-descriptor/0.1.6: + dependencies: + kind-of: 3.2.2 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + /is-accessor-descriptor/1.0.0: + dependencies: + kind-of: 6.0.2 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + /is-arrayish/0.2.1: + dev: false + resolution: + integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + /is-binary-path/1.0.1: + dependencies: + binary-extensions: 1.13.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + /is-buffer/1.1.6: + dev: false + resolution: + integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + /is-callable/1.1.4: + dev: false + engines: + node: '>= 0.4' + resolution: + integrity: sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== + /is-data-descriptor/0.1.4: + dependencies: + kind-of: 3.2.2 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + /is-data-descriptor/1.0.0: + dependencies: + kind-of: 6.0.2 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + /is-date-object/1.0.1: + dev: false + engines: + node: '>= 0.4' + resolution: + integrity: sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= + /is-descriptor/0.1.6: + dependencies: + is-accessor-descriptor: 0.1.6 + is-data-descriptor: 0.1.4 + kind-of: 5.1.0 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + /is-descriptor/1.0.2: + dependencies: + is-accessor-descriptor: 1.0.0 + is-data-descriptor: 1.0.0 + kind-of: 6.0.2 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + /is-extendable/0.1.1: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + /is-extendable/1.0.1: + dependencies: + is-plain-object: 2.0.4 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + /is-extglob/2.1.1: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + /is-fullwidth-code-point/1.0.0: + dependencies: + number-is-nan: 1.0.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + /is-fullwidth-code-point/2.0.0: + dev: false + engines: + node: '>=4' + resolution: + integrity: sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + /is-glob/3.1.0: + dependencies: + is-extglob: 2.1.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + /is-glob/4.0.1: + dependencies: + is-extglob: 2.1.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + /is-number/3.0.0: + dependencies: + kind-of: 3.2.2 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + /is-obj/1.0.1: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + /is-plain-object/2.0.4: + dependencies: + isobject: 3.0.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + /is-regex/1.0.4: + dependencies: + has: 1.0.3 + dev: false + engines: + node: '>= 0.4' + resolution: + integrity: sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= + /is-regexp/1.0.0: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-/S2INUXEa6xaYz57mgnof6LLUGk= + /is-stream/1.1.0: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + /is-symbol/1.0.3: + dependencies: + has-symbols: 1.0.1 + dev: false + engines: + node: '>= 0.4' + resolution: + integrity: sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== + /is-typedarray/1.0.0: + dev: false + resolution: + integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + /is-utf8/0.2.1: + dev: false + resolution: + integrity: sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= + /is-windows/1.0.2: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + /is-wsl/1.1.0: + dev: false + engines: + node: '>=4' + resolution: + integrity: sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + /isarray/1.0.0: + dev: false + resolution: + integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + /isexe/2.0.0: + dev: false + resolution: + integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + /isobject/2.1.0: + dependencies: + isarray: 1.0.0 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + /isobject/3.0.1: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + /isstream/0.1.2: + dev: false + resolution: + integrity: sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + /jsbn/0.1.1: + dev: false + resolution: + integrity: sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + /jsdom/11.12.0: + dependencies: + abab: 2.0.3 + acorn: 5.7.3 + acorn-globals: 4.3.4 + array-equal: 1.0.0 + cssom: 0.3.8 + cssstyle: 1.4.0 + data-urls: 1.1.0 + domexception: 1.0.1 + escodegen: 1.12.0 + html-encoding-sniffer: 1.0.2 + left-pad: 1.3.0 + nwsapi: 2.2.0 + parse5: 4.0.0 + pn: 1.1.0 + request: 2.88.0 + request-promise-native: 1.0.8_request@2.88.0 + sax: 1.2.4 + symbol-tree: 3.2.4 + tough-cookie: 2.5.0 + w3c-hr-time: 1.0.1 + webidl-conversions: 4.0.2 + whatwg-encoding: 1.0.5 + whatwg-mimetype: 2.3.0 + whatwg-url: 6.5.0 + ws: 5.2.2 + xml-name-validator: 3.0.0 + dev: false + resolution: + integrity: sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw== + /jsdom/15.2.1: + dependencies: + abab: 2.0.3 + acorn: 7.1.0 + acorn-globals: 4.3.4 + array-equal: 1.0.0 + cssom: 0.4.4 + cssstyle: 2.0.0 + data-urls: 1.1.0 + domexception: 1.0.1 + escodegen: 1.12.0 + html-encoding-sniffer: 1.0.2 + nwsapi: 2.2.0 + parse5: 5.1.0 + pn: 1.1.0 + request: 2.88.0 + request-promise-native: 1.0.8_request@2.88.0 + saxes: 3.1.11 + symbol-tree: 3.2.4 + tough-cookie: 3.0.1 + w3c-hr-time: 1.0.1 + w3c-xmlserializer: 1.1.2 + webidl-conversions: 4.0.2 + whatwg-encoding: 1.0.5 + whatwg-mimetype: 2.3.0 + whatwg-url: 7.1.0 + ws: 7.2.0 + xml-name-validator: 3.0.0 + dev: false + engines: + node: '>=8' + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + resolution: + integrity: sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g== + /json-parse-better-errors/1.0.2: + dev: false + resolution: + integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + /json-schema-traverse/0.4.1: + dev: false + resolution: + integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + /json-schema/0.2.3: + dev: false + resolution: + integrity: sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + /json-stable-stringify/1.0.1: + dependencies: + jsonify: 0.0.0 + dev: false + resolution: + integrity: sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= + /json-stringify-safe/5.0.1: + dev: false + resolution: + integrity: sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + /json5/0.5.1: + dev: false + hasBin: true + resolution: + integrity: sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= + /json5/1.0.1: + dependencies: + minimist: 1.2.0 + dev: false + hasBin: true + resolution: + integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + /jsonfile/4.0.0: + dev: false + optionalDependencies: + graceful-fs: 4.2.3 + resolution: + integrity: sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + /jsonify/0.0.0: + dev: false + resolution: + integrity: sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= + /jsprim/1.4.1: + dependencies: + assert-plus: 1.0.0 + extsprintf: 1.3.0 + json-schema: 0.2.3 + verror: 1.10.0 + dev: false + engines: + '0': node >=0.6.0 + resolution: + integrity: sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + /kind-of/3.2.2: + dependencies: + is-buffer: 1.1.6 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + /kind-of/4.0.0: + dependencies: + is-buffer: 1.1.6 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + /kind-of/5.1.0: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + /kind-of/6.0.2: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== + /lcid/1.0.0: + dependencies: + invert-kv: 1.0.0 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= + /lcid/2.0.0: + dependencies: + invert-kv: 2.0.0 + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== + /left-pad/1.3.0: + deprecated: use String.prototype.padStart() + dev: false + resolution: + integrity: sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== + /levn/0.3.0: + dependencies: + prelude-ls: 1.1.2 + type-check: 0.3.2 + dev: false + engines: + node: '>= 0.8.0' + resolution: + integrity: sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + /load-json-file/1.1.0: + dependencies: + graceful-fs: 4.2.3 + parse-json: 2.2.0 + pify: 2.3.0 + pinkie-promise: 2.0.1 + strip-bom: 2.0.0 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= + /loader-runner/2.4.0: + dev: false + engines: + node: '>=4.3.0 <5.0.0 || >=5.10' + resolution: + integrity: sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== + /loader-utils/0.2.17: + dependencies: + big.js: 3.2.0 + emojis-list: 2.1.0 + json5: 0.5.1 + object-assign: 4.1.1 + dev: false + resolution: + integrity: sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g= + /loader-utils/1.2.3: + dependencies: + big.js: 5.2.2 + emojis-list: 2.1.0 + json5: 1.0.1 + dev: false + engines: + node: '>=4.0.0' + resolution: + integrity: sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== + /locate-path/3.0.0: + dependencies: + p-locate: 3.0.0 + path-exists: 3.0.0 + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + /lodash._reinterpolate/3.0.0: + dev: false + resolution: + integrity: sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= + /lodash.sortby/4.7.0: + dev: false + resolution: + integrity: sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= + /lodash.template/4.5.0: + dependencies: + lodash._reinterpolate: 3.0.0 + lodash.templatesettings: 4.2.0 + dev: false + resolution: + integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== + /lodash.templatesettings/4.2.0: + dependencies: + lodash._reinterpolate: 3.0.0 + dev: false + resolution: + integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== + /lodash/4.17.15: + dev: false + resolution: + integrity: sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== + /lower-case/1.1.4: + dev: false + resolution: + integrity: sha1-miyr0bno4K6ZOkv31YdcOcQujqw= + /lru-cache/5.1.1: + dependencies: + yallist: 3.1.1 + dev: false + resolution: + integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + /make-dir/2.1.0: + dependencies: + pify: 4.0.1 + semver: 5.7.1 + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + /mamacro/0.0.3: + dev: false + resolution: + integrity: sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA== + /map-age-cleaner/0.1.3: + dependencies: + p-defer: 1.0.0 + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== + /map-cache/0.2.2: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + /map-visit/1.0.0: + dependencies: + object-visit: 1.0.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + /md5.js/1.3.5: + dependencies: + hash-base: 3.0.4 + inherits: 2.0.4 + safe-buffer: 5.2.0 + dev: false + resolution: + integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + /media-typer/0.3.0: + dev: false + engines: + node: '>= 0.6' + resolution: + integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + /mem/4.3.0: + dependencies: + map-age-cleaner: 0.1.3 + mimic-fn: 2.1.0 + p-is-promise: 2.1.0 + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== + /memory-fs/0.4.1: + dependencies: + errno: 0.1.7 + readable-stream: 2.3.6 + dev: false + resolution: + integrity: sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= + /memory-fs/0.5.0: + dependencies: + errno: 0.1.7 + readable-stream: 2.3.6 + dev: false + engines: + node: '>=4.3.0 <5.0.0 || >=5.10' + resolution: + integrity: sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== + /merge-descriptors/1.0.1: + dev: false + resolution: + integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + /methods/1.1.2: + dev: false + engines: + node: '>= 0.6' + resolution: + integrity: sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + /micromatch/3.1.10: + dependencies: + arr-diff: 4.0.0 + array-unique: 0.3.2 + braces: 2.3.2 + 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.13 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + /miller-rabin/4.0.1: + dependencies: + bn.js: 4.11.8 + brorand: 1.1.0 + dev: false + hasBin: true + resolution: + integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + /mime-db/1.42.0: + dev: false + engines: + node: '>= 0.6' + resolution: + integrity: sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ== + /mime-types/2.1.25: + dependencies: + mime-db: 1.42.0 + dev: false + engines: + node: '>= 0.6' + resolution: + integrity: sha512-5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg== + /mime/1.6.0: + dev: false + engines: + node: '>=4' + hasBin: true + resolution: + integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + /mime/2.4.4: + dev: false + engines: + node: '>=4.0.0' + hasBin: true + resolution: + integrity: sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA== + /mimic-fn/2.1.0: + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + /minimalistic-assert/1.0.1: + dev: false + resolution: + integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + /minimalistic-crypto-utils/1.0.1: + dev: false + resolution: + integrity: sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + /minimatch/3.0.4: + dependencies: + brace-expansion: 1.1.11 + dev: false + resolution: + integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + /minimist/0.0.8: + dev: false + resolution: + integrity: sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= + /minimist/1.2.0: + dev: false + resolution: + integrity: sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= + /mississippi/3.0.0: + dependencies: + concat-stream: 1.6.2 + duplexify: 3.7.1 + end-of-stream: 1.4.4 + flush-write-stream: 1.1.1 + from2: 2.3.0 + parallel-transform: 1.2.0 + pump: 3.0.0 + pumpify: 1.5.1 + stream-each: 1.2.3 + through2: 2.0.5 + dev: false + engines: + node: '>=4.0.0' + resolution: + integrity: sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== + /mixin-deep/1.3.2: + dependencies: + for-in: 1.0.2 + is-extendable: 1.0.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + /mkdirp/0.5.1: + dependencies: + minimist: 0.0.8 + dev: false + hasBin: true + resolution: + integrity: sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= + /move-concurrently/1.0.1: + dependencies: + aproba: 1.2.0 + copy-concurrently: 1.0.5 + fs-write-stream-atomic: 1.0.10 + mkdirp: 0.5.1 + rimraf: 2.7.1 + run-queue: 1.0.3 + dev: false + resolution: + integrity: sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= + /ms/2.0.0: + dev: false + resolution: + integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + /ms/2.1.1: + dev: false + resolution: + integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + /ms/2.1.2: + dev: false + resolution: + integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + /nan/2.14.0: + dev: false + optional: true + resolution: + integrity: sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== + /nanomatch/1.2.13: + dependencies: + 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.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + /negotiator/0.6.2: + dev: false + engines: + node: '>= 0.6' + resolution: + integrity: sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== + /neo-async/2.6.1: + dev: false + resolution: + integrity: sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== + /nice-try/1.0.5: + dev: false + resolution: + integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + /no-case/2.3.2: + dependencies: + lower-case: 1.1.4 + dev: false + resolution: + integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== + /node-elm-compiler/5.0.4: + dependencies: + cross-spawn: 6.0.5 + find-elm-dependencies: 2.0.2 + lodash: 4.17.15 + temp: 0.9.1 + dev: false + engines: + node: '>=4.0.0' + resolution: + integrity: sha512-VQsT8QSierYGkHzRed+b4MnccQVF1+qPHunE8jBoU7jD6YpuRqCDPzEoC2zfyEJS80qVnlMZrqobLnyjzX9lJg== + /node-libs-browser/2.2.1: + dependencies: + assert: 1.5.0 + browserify-zlib: 0.2.0 + buffer: 4.9.2 + console-browserify: 1.2.0 + constants-browserify: 1.0.0 + crypto-browserify: 3.12.0 + domain-browser: 1.2.0 + 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.4.1 + querystring-es3: 0.2.1 + readable-stream: 2.3.6 + stream-browserify: 2.0.2 + stream-http: 2.8.3 + string_decoder: 1.3.0 + timers-browserify: 2.0.11 + tty-browserify: 0.0.0 + url: 0.11.0 + util: 0.11.1 + vm-browserify: 1.1.2 + dev: false + resolution: + integrity: sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== + /normalize-package-data/2.5.0: + dependencies: + hosted-git-info: 2.8.5 + resolve: 1.13.1 + semver: 5.7.1 + validate-npm-package-license: 3.0.4 + dev: false + resolution: + integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + /normalize-path/2.1.1: + dependencies: + remove-trailing-separator: 1.1.0 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + /normalize-path/3.0.0: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + /npm-run-path/2.0.2: + dependencies: + path-key: 2.0.1 + dev: false + engines: + node: '>=4' + resolution: + integrity: sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + /nth-check/1.0.2: + dependencies: + boolbase: 1.0.0 + dev: false + resolution: + integrity: sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== + /number-is-nan/1.0.1: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + /nwsapi/2.2.0: + dev: false + resolution: + integrity: sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== + /oauth-sign/0.9.0: + dev: false + resolution: + integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + /object-assign/4.1.1: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + /object-copy/0.1.0: + dependencies: + copy-descriptor: 0.1.1 + define-property: 0.2.5 + kind-of: 3.2.2 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + /object-inspect/1.7.0: + dev: false + resolution: + integrity: sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== + /object-keys/1.1.1: + dev: false + engines: + node: '>= 0.4' + resolution: + integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + /object-visit/1.0.1: + dependencies: + isobject: 3.0.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + /object.getownpropertydescriptors/2.0.3: + dependencies: + define-properties: 1.1.3 + es-abstract: 1.16.3 + dev: false + engines: + node: '>= 0.8' + resolution: + integrity: sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= + /object.pick/1.3.0: + dependencies: + isobject: 3.0.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + /on-finished/2.3.0: + dependencies: + ee-first: 1.1.1 + dev: false + engines: + node: '>= 0.8' + resolution: + integrity: sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + /once/1.4.0: + dependencies: + wrappy: 1.0.2 + dev: false + resolution: + integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + /optionator/0.8.3: + dependencies: + deep-is: 0.1.3 + fast-levenshtein: 2.0.6 + levn: 0.3.0 + prelude-ls: 1.1.2 + type-check: 0.3.2 + word-wrap: 1.2.3 + dev: false + engines: + node: '>= 0.8.0' + resolution: + integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + /os-browserify/0.3.0: + dev: false + resolution: + integrity: sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= + /os-locale/1.4.0: + dependencies: + lcid: 1.0.0 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-IPnxeuKe00XoveWDsT0gCYA8FNk= + /os-locale/3.1.0: + dependencies: + execa: 1.0.0 + lcid: 2.0.0 + mem: 4.3.0 + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== + /p-defer/1.0.0: + dev: false + engines: + node: '>=4' + resolution: + integrity: sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= + /p-finally/1.0.0: + dev: false + engines: + node: '>=4' + resolution: + integrity: sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + /p-is-promise/2.1.0: + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== + /p-limit/2.2.1: + dependencies: + p-try: 2.2.0 + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg== + /p-locate/3.0.0: + dependencies: + p-limit: 2.2.1 + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + /p-try/2.2.0: + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + /pako/1.0.10: + dev: false + resolution: + integrity: sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw== + /parallel-transform/1.2.0: + dependencies: + cyclist: 1.0.1 + inherits: 2.0.4 + readable-stream: 2.3.6 + dev: false + resolution: + integrity: sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== + /param-case/2.1.1: + dependencies: + no-case: 2.3.2 + dev: false + resolution: + integrity: sha1-35T9jPZTHs915r75oIWPvHK+Ikc= + /parse-asn1/5.1.5: + dependencies: + asn1.js: 4.10.1 + browserify-aes: 1.2.0 + create-hash: 1.2.0 + evp_bytestokey: 1.0.3 + pbkdf2: 3.0.17 + safe-buffer: 5.2.0 + dev: false + resolution: + integrity: sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ== + /parse-json/2.2.0: + dependencies: + error-ex: 1.3.2 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= + /parse-passwd/1.0.0: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= + /parse5/4.0.0: + dev: false + resolution: + integrity: sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== + /parse5/5.1.0: + dev: false + resolution: + integrity: sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ== + /parseurl/1.3.3: + dev: false + engines: + node: '>= 0.8' + resolution: + integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + /pascalcase/0.1.1: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + /path-browserify/0.0.1: + dev: false + resolution: + integrity: sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== + /path-dirname/1.0.2: + dev: false + resolution: + integrity: sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + /path-exists/2.1.0: + dependencies: + pinkie-promise: 2.0.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= + /path-exists/3.0.0: + dev: false + engines: + node: '>=4' + resolution: + integrity: sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + /path-is-absolute/1.0.1: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + /path-key/2.0.1: + dev: false + engines: + node: '>=4' + resolution: + integrity: sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + /path-parse/1.0.6: + dev: false + resolution: + integrity: sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + /path-to-regexp/0.1.7: + dev: false + resolution: + integrity: sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + /path-type/1.1.0: + dependencies: + graceful-fs: 4.2.3 + pify: 2.3.0 + pinkie-promise: 2.0.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= + /path-type/3.0.0: + dependencies: + pify: 3.0.0 + dev: false + engines: + node: '>=4' + resolution: + integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + /pbkdf2/3.0.17: + dependencies: + create-hash: 1.2.0 + create-hmac: 1.1.7 + ripemd160: 2.0.2 + safe-buffer: 5.2.0 + sha.js: 2.4.11 + dev: false + engines: + node: '>=0.12' + resolution: + integrity: sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA== + /pend/1.2.0: + dev: false + resolution: + integrity: sha1-elfrVQpng/kRUzH89GY9XI4AelA= + /performance-now/2.1.0: + dev: false + resolution: + integrity: sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + /pify/2.3.0: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + /pify/3.0.0: + dev: false + engines: + node: '>=4' + resolution: + integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + /pify/4.0.1: + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + /pinkie-promise/2.0.1: + dependencies: + pinkie: 2.0.4 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-ITXW36ejWMBprJsXh3YogihFD/o= + /pinkie/2.0.4: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + /pkg-dir/3.0.0: + dependencies: + find-up: 3.0.0 + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== + /pn/1.1.0: + dev: false + resolution: + integrity: sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== + /portfinder/1.0.25: + dependencies: + async: 2.6.3 + debug: 3.2.6 + mkdirp: 0.5.1 + dev: false + engines: + node: '>= 0.12.0' + resolution: + integrity: sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg== + /posix-character-classes/0.1.1: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + /prelude-ls/1.1.2: + dev: false + engines: + node: '>= 0.8.0' + resolution: + integrity: sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + /prerender-spa-plugin/3.4.0: + dependencies: + '@prerenderer/prerenderer': 0.7.2 + '@prerenderer/renderer-puppeteer': 0.2.0 + html-minifier: 3.5.21 + dev: false + engines: + node: '>=4.0.0' + resolution: + integrity: sha512-4Gtu7XIz5p0VBi1527c/ogu0NNcM5kJPG9q3F26SioeeURVbIJ11B6fuK8pxTmlPqffKPR/2TRRf4o020r4Fqw== + /pretty-bytes/5.3.0: + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0/lQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg== + /pretty-error/2.1.1: + dependencies: + renderkid: 2.0.3 + utila: 0.4.0 + dev: false + resolution: + integrity: sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM= + /process-nextick-args/2.0.1: + dev: false + resolution: + integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + /process/0.11.10: + dev: false + engines: + node: '>= 0.6.0' + resolution: + integrity: sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + /progress/2.0.3: + dev: false + engines: + node: '>=0.4.0' + resolution: + integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + /promise-inflight/1.0.1: + dev: false + resolution: + integrity: sha1-mEcocL8igTL8vdhoEputEsPAKeM= + /promise-limit/2.7.0: + dev: false + resolution: + integrity: sha512-7nJ6v5lnJsXwGprnGXga4wx6d1POjvi5Qmf1ivTRxTjH4Z/9Czja/UCMLVmB9N93GeWOU93XaFaEt6jbuoagNw== + /proxy-addr/2.0.5: + dependencies: + forwarded: 0.1.2 + ipaddr.js: 1.9.0 + dev: false + engines: + node: '>= 0.10' + resolution: + integrity: sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ== + /proxy-from-env/1.0.0: + dev: false + resolution: + integrity: sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4= + /prr/1.0.1: + dev: false + resolution: + integrity: sha1-0/wRS6BplaRexok/SEzrHXj19HY= + /psl/1.6.0: + dev: false + resolution: + integrity: sha512-SYKKmVel98NCOYXpkwUqZqh0ahZeeKfmisiLIcEZdsb+WbLv02g/dI5BUmZnIyOe7RzZtLax81nnb2HbvC2tzA== + /public-encrypt/4.0.3: + dependencies: + bn.js: 4.11.8 + browserify-rsa: 4.0.1 + create-hash: 1.2.0 + parse-asn1: 5.1.5 + randombytes: 2.1.0 + safe-buffer: 5.2.0 + dev: false + resolution: + integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + /pump/2.0.1: + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + resolution: + integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== + /pump/3.0.0: + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + resolution: + integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + /pumpify/1.5.1: + dependencies: + duplexify: 3.7.1 + inherits: 2.0.4 + pump: 2.0.1 + dev: false + resolution: + integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== + /punycode/1.3.2: + dev: false + resolution: + integrity: sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + /punycode/1.4.1: + dev: false + resolution: + integrity: sha1-wNWmOycYgArY4esPpSachN1BhF4= + /punycode/2.1.1: + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + /puppeteer/1.20.0: + dependencies: + debug: 4.1.1 + extract-zip: 1.6.7 + https-proxy-agent: 2.2.4 + mime: 2.4.4 + progress: 2.0.3 + proxy-from-env: 1.0.0 + rimraf: 2.7.1 + ws: 6.2.1 + dev: false + engines: + node: '>=6.4.0' + requiresBuild: true + resolution: + integrity: sha512-bt48RDBy2eIwZPrkgbcwHtb51mj2nKvHOPMaSH2IsWiv7lOG9k9zhaRzpDZafrk05ajMc3cu+lSQYYOfH2DkVQ== + /qs/6.5.2: + dev: false + engines: + node: '>=0.6' + resolution: + integrity: sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + /qs/6.7.0: + dev: false + engines: + node: '>=0.6' + resolution: + integrity: sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== + /querystring-es3/0.2.1: + dev: false + engines: + node: '>=0.4.x' + resolution: + integrity: sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= + /querystring/0.2.0: + dev: false + engines: + node: '>=0.4.x' + resolution: + integrity: sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + /randombytes/2.1.0: + dependencies: + safe-buffer: 5.2.0 + dev: false + resolution: + integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + /randomfill/1.0.4: + dependencies: + randombytes: 2.1.0 + safe-buffer: 5.2.0 + dev: false + resolution: + integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + /range-parser/1.2.1: + dev: false + engines: + node: '>= 0.6' + resolution: + integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + /raw-body/2.4.0: + dependencies: + bytes: 3.1.0 + http-errors: 1.7.2 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: false + engines: + node: '>= 0.8' + resolution: + integrity: sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== + /read-pkg-up/1.0.1: + dependencies: + find-up: 1.1.2 + read-pkg: 1.1.0 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= + /read-pkg/1.1.0: + dependencies: + load-json-file: 1.1.0 + normalize-package-data: 2.5.0 + path-type: 1.1.0 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= + /readable-stream/2.3.6: + dependencies: + core-util-is: 1.0.2 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + dev: false + resolution: + integrity: sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== + /readable-stream/3.4.0: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + dev: false + engines: + node: '>= 6' + resolution: + integrity: sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ== + /readdirp/2.2.1: + dependencies: + graceful-fs: 4.2.3 + micromatch: 3.1.10 + readable-stream: 2.3.6 + dev: false + engines: + node: '>=0.10' + resolution: + integrity: sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + /regenerator-runtime/0.11.1: + dev: false + resolution: + integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + /regenerator-runtime/0.13.3: + dev: false + resolution: + integrity: sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw== + /regex-not/1.0.2: + dependencies: + extend-shallow: 3.0.2 + safe-regex: 1.1.0 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + /relateurl/0.2.7: + dev: false + engines: + node: '>= 0.10' + resolution: + integrity: sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= + /remove-trailing-separator/1.1.0: + dev: false + resolution: + integrity: sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + /renderkid/2.0.3: + dependencies: + css-select: 1.2.0 + dom-converter: 0.2.0 + htmlparser2: 3.10.1 + strip-ansi: 3.0.1 + utila: 0.4.0 + dev: false + resolution: + integrity: sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA== + /repeat-element/1.1.3: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + /repeat-string/1.6.1: + dev: false + engines: + node: '>=0.10' + resolution: + integrity: sha1-jcrkcOHIirwtYA//Sndihtp15jc= + /request-promise-core/1.1.3_request@2.88.0: + dependencies: + lodash: 4.17.15 + request: 2.88.0 + dev: false + engines: + node: '>=0.10.0' + peerDependencies: + request: ^2.34 + resolution: + integrity: sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ== + /request-promise-native/1.0.8_request@2.88.0: + dependencies: + request: 2.88.0 + request-promise-core: 1.1.3_request@2.88.0 + stealthy-require: 1.1.1 + tough-cookie: 2.5.0 + dev: false + engines: + node: '>=0.12.0' + peerDependencies: + request: ^2.34 + resolution: + integrity: sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ== + /request/2.88.0: + dependencies: + aws-sign2: 0.7.0 + aws4: 1.9.0 + caseless: 0.12.0 + combined-stream: 1.0.8 + extend: 3.0.2 + forever-agent: 0.6.1 + form-data: 2.3.3 + 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.25 + oauth-sign: 0.9.0 + performance-now: 2.1.0 + qs: 6.5.2 + safe-buffer: 5.2.0 + tough-cookie: 2.4.3 + tunnel-agent: 0.6.0 + uuid: 3.3.3 + dev: false + engines: + node: '>= 4' + resolution: + integrity: sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== + /require-directory/2.1.1: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + /require-main-filename/1.0.1: + dev: false + resolution: + integrity: sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= + /require-main-filename/2.0.0: + dev: false + resolution: + integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + /requires-port/1.0.0: + dev: false + resolution: + integrity: sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= + /resolve-cwd/2.0.0: + dependencies: + resolve-from: 3.0.0 + dev: false + engines: + node: '>=4' + resolution: + integrity: sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= + /resolve-dir/1.0.1: + dependencies: + expand-tilde: 2.0.2 + global-modules: 1.0.0 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= + /resolve-from/3.0.0: + dev: false + engines: + node: '>=4' + resolution: + integrity: sha1-six699nWiBvItuZTM17rywoYh0g= + /resolve-url/0.2.1: + dev: false + resolution: + integrity: sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + /resolve/1.13.1: + dependencies: + path-parse: 1.0.6 + dev: false + resolution: + integrity: sha512-CxqObCX8K8YtAhOBRg+lrcdn+LK+WYOS8tSjqSFbjtrI5PnS63QPhZl4+yKfrU9tdsbMu9Anr/amegT87M9Z6w== + /ret/0.1.15: + dev: false + engines: + node: '>=0.12' + resolution: + integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + /rimraf/2.6.3: + dependencies: + glob: 7.1.6 + dev: false + hasBin: true + resolution: + integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== + /rimraf/2.7.1: + dependencies: + glob: 7.1.6 + dev: false + hasBin: true + resolution: + integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + /ripemd160/2.0.2: + dependencies: + hash-base: 3.0.4 + inherits: 2.0.4 + dev: false + resolution: + integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + /run-queue/1.0.3: + dependencies: + aproba: 1.2.0 + dev: false + resolution: + integrity: sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= + /safe-buffer/5.1.2: + dev: false + resolution: + integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + /safe-buffer/5.2.0: + dev: false + resolution: + integrity: sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== + /safe-regex/1.1.0: + dependencies: + ret: 0.1.15 + dev: false + resolution: + integrity: sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + /safer-buffer/2.1.2: + dev: false + resolution: + integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + /sax/1.2.4: + dev: false + resolution: + integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + /saxes/3.1.11: + dependencies: + xmlchars: 2.2.0 + dev: false + engines: + node: '>=8' + resolution: + integrity: sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g== + /schema-utils/1.0.0: + dependencies: + ajv: 6.10.2 + ajv-errors: 1.0.1_ajv@6.10.2 + ajv-keywords: 3.4.1_ajv@6.10.2 + dev: false + engines: + node: '>= 4' + resolution: + integrity: sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== + /semver/5.7.1: + dev: false + hasBin: true + resolution: + integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + /send/0.17.1: + dependencies: + 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.3 + mime: 1.6.0 + ms: 2.1.1 + on-finished: 2.3.0 + range-parser: 1.2.1 + statuses: 1.5.0 + dev: false + engines: + node: '>= 0.8.0' + resolution: + integrity: sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== + /serialize-javascript/2.1.2: + dev: false + resolution: + integrity: sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ== + /serve-static/1.14.1: + dependencies: + encodeurl: 1.0.2 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.17.1 + dev: false + engines: + node: '>= 0.8.0' + resolution: + integrity: sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== + /set-blocking/2.0.0: + dev: false + resolution: + integrity: sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + /set-value/2.0.1: + dependencies: + extend-shallow: 2.0.1 + is-extendable: 0.1.1 + is-plain-object: 2.0.4 + split-string: 3.1.0 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + /setimmediate/1.0.5: + dev: false + resolution: + integrity: sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + /setprototypeof/1.1.1: + dev: false + resolution: + integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== + /sha.js/2.4.11: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.0 + dev: false + hasBin: true + resolution: + integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + /shebang-command/1.2.0: + dependencies: + shebang-regex: 1.0.0 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + /shebang-regex/1.0.0: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + /signal-exit/3.0.2: + dev: false + resolution: + integrity: sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= + /slash/1.0.0: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= + /snapdragon-node/2.1.1: + dependencies: + define-property: 1.0.0 + isobject: 3.0.1 + snapdragon-util: 3.0.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + /snapdragon-util/3.0.1: + dependencies: + kind-of: 3.2.2 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + /snapdragon/0.8.2: + dependencies: + base: 0.11.2 + debug: 2.6.9 + define-property: 0.2.5 + extend-shallow: 2.0.1 + map-cache: 0.2.2 + source-map: 0.5.7 + source-map-resolve: 0.5.2 + use: 3.1.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + /source-list-map/2.0.1: + dev: false + resolution: + integrity: sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== + /source-map-resolve/0.5.2: + dependencies: + 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 + dev: false + resolution: + integrity: sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== + /source-map-support/0.5.16: + dependencies: + buffer-from: 1.1.1 + source-map: 0.6.1 + dev: false + resolution: + integrity: sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ== + /source-map-url/0.4.0: + dev: false + resolution: + integrity: sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + /source-map/0.5.7: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + /source-map/0.6.1: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + /spdx-correct/3.1.0: + dependencies: + spdx-expression-parse: 3.0.0 + spdx-license-ids: 3.0.5 + dev: false + resolution: + integrity: sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== + /spdx-exceptions/2.2.0: + dev: false + resolution: + integrity: sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== + /spdx-expression-parse/3.0.0: + dependencies: + spdx-exceptions: 2.2.0 + spdx-license-ids: 3.0.5 + dev: false + resolution: + integrity: sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== + /spdx-license-ids/3.0.5: + dev: false + resolution: + integrity: sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== + /split-string/3.1.0: + dependencies: + extend-shallow: 3.0.2 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + /sshpk/1.16.1: + dependencies: + asn1: 0.2.4 + assert-plus: 1.0.0 + bcrypt-pbkdf: 1.0.2 + dashdash: 1.14.1 + ecc-jsbn: 0.1.2 + getpass: 0.1.7 + jsbn: 0.1.1 + safer-buffer: 2.1.2 + tweetnacl: 0.14.5 + dev: false + engines: + node: '>=0.10.0' + hasBin: true + resolution: + integrity: sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + /ssri/6.0.1: + dependencies: + figgy-pudding: 3.5.1 + dev: false + resolution: + integrity: sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== + /static-extend/0.1.2: + dependencies: + define-property: 0.2.5 + object-copy: 0.1.0 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + /statuses/1.5.0: + dev: false + engines: + node: '>= 0.6' + resolution: + integrity: sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + /stealthy-require/1.1.1: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= + /stream-browserify/2.0.2: + dependencies: + inherits: 2.0.4 + readable-stream: 2.3.6 + dev: false + resolution: + integrity: sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== + /stream-each/1.2.3: + dependencies: + end-of-stream: 1.4.4 + stream-shift: 1.0.0 + dev: false + resolution: + integrity: sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== + /stream-http/2.8.3: + dependencies: + builtin-status-codes: 3.0.0 + inherits: 2.0.4 + readable-stream: 2.3.6 + to-arraybuffer: 1.0.1 + xtend: 4.0.2 + dev: false + resolution: + integrity: sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== + /stream-shift/1.0.0: + dev: false + resolution: + integrity: sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= + /string-width/1.0.2: + dependencies: + code-point-at: 1.1.0 + is-fullwidth-code-point: 1.0.0 + strip-ansi: 3.0.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + /string-width/3.1.0: + dependencies: + emoji-regex: 7.0.3 + is-fullwidth-code-point: 2.0.0 + strip-ansi: 5.2.0 + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + /string.prototype.trimleft/2.1.0: + dependencies: + define-properties: 1.1.3 + function-bind: 1.1.1 + dev: false + engines: + node: '>= 0.4' + resolution: + integrity: sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw== + /string.prototype.trimright/2.1.0: + dependencies: + define-properties: 1.1.3 + function-bind: 1.1.1 + dev: false + engines: + node: '>= 0.4' + resolution: + integrity: sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg== + /string_decoder/1.1.1: + dependencies: + safe-buffer: 5.1.2 + dev: false + resolution: + integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + /string_decoder/1.3.0: + dependencies: + safe-buffer: 5.2.0 + dev: false + resolution: + integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + /stringify-object/3.3.0: + dependencies: + get-own-enumerable-property-symbols: 3.0.2 + is-obj: 1.0.1 + is-regexp: 1.0.0 + dev: false + engines: + node: '>=4' + resolution: + integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== + /strip-ansi/3.0.1: + dependencies: + ansi-regex: 2.1.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + /strip-ansi/5.2.0: + dependencies: + ansi-regex: 4.1.0 + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + /strip-bom/2.0.0: + dependencies: + is-utf8: 0.2.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= + /strip-comments/1.0.2: + dependencies: + babel-extract-comments: 1.0.0 + babel-plugin-transform-object-rest-spread: 6.26.0 + dev: false + engines: + node: '>=4' + resolution: + integrity: sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw== + /strip-eof/1.0.0: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + /supports-color/5.5.0: + dependencies: + has-flag: 3.0.0 + dev: false + engines: + node: '>=4' + resolution: + integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + /supports-color/6.1.0: + dependencies: + has-flag: 3.0.0 + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + /symbol-tree/3.2.4: + dev: false + resolution: + integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + /tapable/1.1.3: + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + /temp-dir/1.0.0: + dev: false + engines: + node: '>=4' + resolution: + integrity: sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0= + /temp/0.9.1: + dependencies: + rimraf: 2.6.3 + dev: false + engines: + node: '>=6.0.0' + resolution: + integrity: sha512-WMuOgiua1xb5R56lE0eH6ivpVmg/lq2OHm4+LtT/xtEtPQ+sz6N3bBM6WZ5FvO1lO4IKIOb43qnhoc4qxP5OeA== + /tempy/0.3.0: + dependencies: + temp-dir: 1.0.0 + type-fest: 0.3.1 + unique-string: 1.0.0 + dev: false + engines: + node: '>=8' + resolution: + integrity: sha512-WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ== + /terser-webpack-plugin/1.4.3_webpack@4.41.2: + dependencies: + cacache: 12.0.3 + find-cache-dir: 2.1.0 + is-wsl: 1.1.0 + schema-utils: 1.0.0 + serialize-javascript: 2.1.2 + source-map: 0.6.1 + terser: 4.4.2 + webpack: 4.41.2_webpack@4.41.2 + webpack-sources: 1.4.3 + worker-farm: 1.7.0 + dev: false + engines: + node: '>= 6.9.0' + peerDependencies: + webpack: ^4.0.0 + resolution: + integrity: sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA== + /terser/4.4.2: + dependencies: + commander: 2.20.3 + source-map: 0.6.1 + source-map-support: 0.5.16 + dev: false + engines: + node: '>=6.0.0' + hasBin: true + resolution: + integrity: sha512-Uufrsvhj9O1ikwgITGsZ5EZS6qPokUOkCegS7fYOdGTv+OA90vndUbU6PEjr5ePqHfNUbGyMO7xyIZv2MhsALQ== + /through2/2.0.5: + dependencies: + readable-stream: 2.3.6 + xtend: 4.0.2 + dev: false + resolution: + integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + /timers-browserify/2.0.11: + dependencies: + setimmediate: 1.0.5 + dev: false + engines: + node: '>=0.6.0' + resolution: + integrity: sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ== + /to-arraybuffer/1.0.1: + dev: false + resolution: + integrity: sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= + /to-object-path/0.3.0: + dependencies: + kind-of: 3.2.2 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + /to-regex-range/2.1.1: + dependencies: + is-number: 3.0.0 + repeat-string: 1.6.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + /to-regex/3.0.2: + dependencies: + define-property: 2.0.2 + extend-shallow: 3.0.2 + regex-not: 1.0.2 + safe-regex: 1.1.0 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + /toidentifier/1.0.0: + dev: false + engines: + node: '>=0.6' + resolution: + integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== + /toposort/1.0.7: + dev: false + resolution: + integrity: sha1-LmhELZ9k7HILjMieZEOsbKqVACk= + /tough-cookie/2.4.3: + dependencies: + psl: 1.6.0 + punycode: 1.4.1 + dev: false + engines: + node: '>=0.8' + resolution: + integrity: sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== + /tough-cookie/2.5.0: + dependencies: + psl: 1.6.0 + punycode: 2.1.1 + dev: false + engines: + node: '>=0.8' + resolution: + integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + /tough-cookie/3.0.1: + dependencies: + ip-regex: 2.1.0 + psl: 1.6.0 + punycode: 2.1.1 + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== + /tr46/1.0.1: + dependencies: + punycode: 2.1.1 + dev: false + resolution: + integrity: sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= + /tslib/1.10.0: + dev: false + resolution: + integrity: sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== + /tty-browserify/0.0.0: + dev: false + resolution: + integrity: sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= + /tunnel-agent/0.6.0: + dependencies: + safe-buffer: 5.2.0 + dev: false + resolution: + integrity: sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + /tweetnacl/0.14.5: + dev: false + resolution: + integrity: sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + /type-check/0.3.2: + dependencies: + prelude-ls: 1.1.2 + dev: false + engines: + node: '>= 0.8.0' + resolution: + integrity: sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + /type-fest/0.3.1: + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ== + /type-is/1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.25 + dev: false + engines: + node: '>= 0.6' + resolution: + integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + /typedarray/0.0.6: + dev: false + resolution: + integrity: sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + /uglify-js/3.4.10: + dependencies: + commander: 2.19.0 + source-map: 0.6.1 + dev: false + engines: + node: '>=0.8.0' + hasBin: true + resolution: + integrity: sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw== + /union-value/1.0.1: + dependencies: + arr-union: 3.1.0 + get-value: 2.0.6 + is-extendable: 0.1.1 + set-value: 2.0.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + /unique-filename/1.1.1: + dependencies: + unique-slug: 2.0.2 + dev: false + resolution: + integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== + /unique-slug/2.0.2: + dependencies: + imurmurhash: 0.1.4 + dev: false + resolution: + integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== + /unique-string/1.0.0: + dependencies: + crypto-random-string: 1.0.0 + dev: false + engines: + node: '>=4' + resolution: + integrity: sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo= + /universalify/0.1.2: + dev: false + engines: + node: '>= 4.0.0' + resolution: + integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + /unpipe/1.0.0: + dev: false + engines: + node: '>= 0.8' + resolution: + integrity: sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + /unset-value/1.0.0: + dependencies: + has-value: 0.3.1 + isobject: 3.0.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + /upath/1.2.0: + dev: false + engines: + node: '>=4' + resolution: + integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== + /upper-case/1.1.3: + dev: false + resolution: + integrity: sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= + /uri-js/4.2.2: + dependencies: + punycode: 2.1.1 + dev: false + resolution: + integrity: sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + /urix/0.1.0: + dev: false + resolution: + integrity: sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + /url/0.11.0: + dependencies: + punycode: 1.3.2 + querystring: 0.2.0 + dev: false + resolution: + integrity: sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= + /use/3.1.1: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + /util-deprecate/1.0.2: + dev: false + resolution: + integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + /util.promisify/1.0.0: + dependencies: + define-properties: 1.1.3 + object.getownpropertydescriptors: 2.0.3 + dev: false + resolution: + integrity: sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== + /util/0.10.3: + dependencies: + inherits: 2.0.1 + dev: false + resolution: + integrity: sha1-evsa/lCAUkZInj23/g7TeTNqwPk= + /util/0.11.1: + dependencies: + inherits: 2.0.3 + dev: false + resolution: + integrity: sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== + /utila/0.4.0: + dev: false + resolution: + integrity: sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= + /utils-merge/1.0.1: + dev: false + engines: + node: '>= 0.4.0' + resolution: + integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + /uuid/3.3.3: + dev: false + hasBin: true + resolution: + integrity: sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== + /v8-compile-cache/2.0.3: + dev: false + resolution: + integrity: sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w== + /validate-npm-package-license/3.0.4: + dependencies: + spdx-correct: 3.1.0 + spdx-expression-parse: 3.0.0 + dev: false + resolution: + integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + /vary/1.1.2: + dev: false + engines: + node: '>= 0.8' + resolution: + integrity: sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + /verror/1.10.0: + dependencies: + assert-plus: 1.0.0 + core-util-is: 1.0.2 + extsprintf: 1.3.0 + dev: false + engines: + '0': node >=0.6.0 + resolution: + integrity: sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + /vm-browserify/1.1.2: + dev: false + resolution: + integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== + /w3c-hr-time/1.0.1: + dependencies: + browser-process-hrtime: 0.1.3 + dev: false + resolution: + integrity: sha1-gqwr/2PZUOqeMYmlimViX+3xkEU= + /w3c-xmlserializer/1.1.2: + dependencies: + domexception: 1.0.1 + webidl-conversions: 4.0.2 + xml-name-validator: 3.0.0 + dev: false + resolution: + integrity: sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg== + /watchpack/1.6.0: + dependencies: + chokidar: 2.1.8 + graceful-fs: 4.2.3 + neo-async: 2.6.1 + dev: false + resolution: + integrity: sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA== + /webidl-conversions/4.0.2: + dev: false + resolution: + integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== + /webpack-cli/3.3.10_webpack@4.41.2: + dependencies: + chalk: 2.4.2 + cross-spawn: 6.0.5 + enhanced-resolve: 4.1.0 + findup-sync: 3.0.0 + global-modules: 2.0.0 + import-local: 2.0.0 + interpret: 1.2.0 + loader-utils: 1.2.3 + supports-color: 6.1.0 + v8-compile-cache: 2.0.3 + webpack: 4.41.2_webpack@4.41.2 + yargs: 13.2.4 + dev: false + engines: + node: '>=6.11.5' + hasBin: true + peerDependencies: + webpack: 4.x.x + resolution: + integrity: sha512-u1dgND9+MXaEt74sJR4PR7qkPxXUSQ0RXYq8x1L6Jg1MYVEmGPrH6Ah6C4arD4r0J1P5HKjRqpab36k0eIzPqg== + /webpack-log/2.0.0: + dependencies: + ansi-colors: 3.2.4 + uuid: 3.3.3 + dev: false + engines: + node: '>= 6' + resolution: + integrity: sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== + /webpack-sources/1.4.3: + dependencies: + source-list-map: 2.0.1 + source-map: 0.6.1 + dev: false + resolution: + integrity: sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== + /webpack/4.41.2_webpack@4.41.2: + dependencies: + '@webassemblyjs/ast': 1.8.5 + '@webassemblyjs/helper-module-context': 1.8.5 + '@webassemblyjs/wasm-edit': 1.8.5 + '@webassemblyjs/wasm-parser': 1.8.5 + acorn: 6.4.0 + ajv: 6.10.2 + ajv-keywords: 3.4.1_ajv@6.10.2 + chrome-trace-event: 1.0.2 + enhanced-resolve: 4.1.1 + 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.1 + 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_webpack@4.41.2 + watchpack: 1.6.0 + webpack-sources: 1.4.3 + dev: false + engines: + node: '>=6.11.5' + hasBin: true + peerDependencies: + webpack: '*' + resolution: + integrity: sha512-Zhw69edTGfbz9/8JJoyRQ/pq8FYUoY0diOXqW0T6yhgdhCv6wr0hra5DwwWexNRns2Z2+gsnrNcbe9hbGBgk/A== + /whatwg-encoding/1.0.5: + dependencies: + iconv-lite: 0.4.24 + dev: false + resolution: + integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + /whatwg-mimetype/2.3.0: + dev: false + resolution: + integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + /whatwg-url/6.5.0: + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + dev: false + resolution: + integrity: sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ== + /whatwg-url/7.1.0: + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + dev: false + resolution: + integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== + /which-module/1.0.0: + dev: false + resolution: + integrity: sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8= + /which-module/2.0.0: + dev: false + resolution: + integrity: sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + /which/1.3.1: + dependencies: + isexe: 2.0.0 + dev: false + hasBin: true + resolution: + integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + /word-wrap/1.2.3: + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + /workbox-background-sync/4.3.1: + dependencies: + workbox-core: 4.3.1 + dev: false + resolution: + integrity: sha512-1uFkvU8JXi7L7fCHVBEEnc3asPpiAL33kO495UMcD5+arew9IbKW2rV5lpzhoWcm/qhGB89YfO4PmB/0hQwPRg== + /workbox-broadcast-update/4.3.1: + dependencies: + workbox-core: 4.3.1 + dev: false + resolution: + integrity: sha512-MTSfgzIljpKLTBPROo4IpKjESD86pPFlZwlvVG32Kb70hW+aob4Jxpblud8EhNb1/L5m43DUM4q7C+W6eQMMbA== + /workbox-build/4.3.1: + dependencies: + '@babel/runtime': 7.7.6 + '@hapi/joi': 15.1.1 + common-tags: 1.8.0 + fs-extra: 4.0.3 + glob: 7.1.6 + lodash.template: 4.5.0 + pretty-bytes: 5.3.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 + dev: false + engines: + node: '>=4.0.0' + resolution: + integrity: sha512-UHdwrN3FrDvicM3AqJS/J07X0KXj67R8Cg0waq1MKEOqzo89ap6zh6LmaLnRAjpB+bDIz+7OlPye9iii9KBnxw== + /workbox-cacheable-response/4.3.1: + dependencies: + workbox-core: 4.3.1 + dev: false + resolution: + integrity: sha512-Rp5qlzm6z8IOvnQNkCdO9qrDgDpoPNguovs0H8C+wswLuPgSzSp9p2afb5maUt9R1uTIwOXrVQMmPfPypv+npw== + /workbox-core/4.3.1: + dev: false + resolution: + integrity: sha512-I3C9jlLmMKPxAC1t0ExCq+QoAMd0vAAHULEgRZ7kieCdUd919n53WC0AfvokHNwqRhGn+tIIj7vcb5duCjs2Kg== + /workbox-expiration/4.3.1: + dependencies: + workbox-core: 4.3.1 + dev: false + resolution: + integrity: sha512-vsJLhgQsQouv9m0rpbXubT5jw0jMQdjpkum0uT+d9tTwhXcEZks7qLfQ9dGSaufTD2eimxbUOJfWLbNQpIDMPw== + /workbox-google-analytics/4.3.1: + dependencies: + workbox-background-sync: 4.3.1 + workbox-core: 4.3.1 + workbox-routing: 4.3.1 + workbox-strategies: 4.3.1 + dev: false + resolution: + integrity: sha512-xzCjAoKuOb55CBSwQrbyWBKqp35yg1vw9ohIlU2wTy06ZrYfJ8rKochb1MSGlnoBfXGWss3UPzxR5QL5guIFdg== + /workbox-navigation-preload/4.3.1: + dependencies: + workbox-core: 4.3.1 + dev: false + resolution: + integrity: sha512-K076n3oFHYp16/C+F8CwrRqD25GitA6Rkd6+qAmLmMv1QHPI2jfDwYqrytOfKfYq42bYtW8Pr21ejZX7GvALOw== + /workbox-precaching/4.3.1: + dependencies: + workbox-core: 4.3.1 + dev: false + resolution: + integrity: sha512-piSg/2csPoIi/vPpp48t1q5JLYjMkmg5gsXBQkh/QYapCdVwwmKlU9mHdmy52KsDGIjVaqEUMFvEzn2LRaigqQ== + /workbox-range-requests/4.3.1: + dependencies: + workbox-core: 4.3.1 + dev: false + resolution: + integrity: sha512-S+HhL9+iTFypJZ/yQSl/x2Bf5pWnbXdd3j57xnb0V60FW1LVn9LRZkPtneODklzYuFZv7qK6riZ5BNyc0R0jZA== + /workbox-routing/4.3.1: + dependencies: + workbox-core: 4.3.1 + dev: false + resolution: + integrity: sha512-FkbtrODA4Imsi0p7TW9u9MXuQ5P4pVs1sWHK4dJMMChVROsbEltuE79fBoIk/BCztvOJ7yUpErMKa4z3uQLX+g== + /workbox-strategies/4.3.1: + dependencies: + workbox-core: 4.3.1 + dev: false + resolution: + integrity: sha512-F/+E57BmVG8dX6dCCopBlkDvvhg/zj6VDs0PigYwSN23L8hseSRwljrceU2WzTvk/+BSYICsWmRq5qHS2UYzhw== + /workbox-streams/4.3.1: + dependencies: + workbox-core: 4.3.1 + dev: false + resolution: + integrity: sha512-4Kisis1f/y0ihf4l3u/+ndMkJkIT4/6UOacU3A4BwZSAC9pQ9vSvJpIi/WFGQRH/uPXvuVjF5c2RfIPQFSS2uA== + /workbox-sw/4.3.1: + dev: false + resolution: + integrity: sha512-0jXdusCL2uC5gM3yYFT6QMBzKfBr2XTk0g5TPAV4y8IZDyVNDyj1a8uSXy3/XrvkVTmQvLN4O5k3JawGReXr9w== + /workbox-webpack-plugin/4.3.1_webpack@4.41.2: + dependencies: + '@babel/runtime': 7.7.6 + json-stable-stringify: 1.0.1 + webpack: 4.41.2_webpack@4.41.2 + workbox-build: 4.3.1 + dev: false + engines: + node: '>=4.0.0' + peerDependencies: + webpack: ^2.0.0 || ^3.0.0 || ^4.0.0 + resolution: + integrity: sha512-gJ9jd8Mb8wHLbRz9ZvGN57IAmknOipD3W4XNE/Lk/4lqs5Htw4WOQgakQy/o/4CoXQlMCYldaqUg+EJ35l9MEQ== + /workbox-window/4.3.1: + dependencies: + workbox-core: 4.3.1 + dev: false + resolution: + integrity: sha512-C5gWKh6I58w3GeSc0wp2Ne+rqVw8qwcmZnQGpjiek8A2wpbxSJb1FdCoQVO+jDJs35bFgo/WETgl1fqgsxN0Hg== + /worker-farm/1.7.0: + dependencies: + errno: 0.1.7 + dev: false + resolution: + integrity: sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== + /wrap-ansi/2.1.0: + dependencies: + string-width: 1.0.2 + strip-ansi: 3.0.1 + dev: false + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= + /wrap-ansi/5.1.0: + dependencies: + ansi-styles: 3.2.1 + string-width: 3.1.0 + strip-ansi: 5.2.0 + dev: false + engines: + node: '>=6' + resolution: + integrity: sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + /wrappy/1.0.2: + dev: false + resolution: + integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + /ws/5.2.2: + dependencies: + async-limiter: 1.0.1 + dev: false + resolution: + integrity: sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== + /ws/6.2.1: + dependencies: + async-limiter: 1.0.1 + dev: false + resolution: + integrity: sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== + /ws/7.2.0: + dependencies: + async-limiter: 1.0.1 + dev: false + resolution: + integrity: sha512-+SqNqFbwTm/0DC18KYzIsMTnEWpLwJsiasW/O17la4iDRRIO9uaHbvKiAS3AHgTiuuWerK/brj4O6MYZkei9xg== + /xml-name-validator/3.0.0: + dev: false + resolution: + integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + /xmlchars/2.2.0: + dev: false + resolution: + integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + /xtend/4.0.2: + dev: false + engines: + node: '>=0.4' + resolution: + integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + /y18n/3.2.1: + dev: false + resolution: + integrity: sha1-bRX7qITAhnnA136I53WegR4H+kE= + /y18n/4.0.0: + dev: false + resolution: + integrity: sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== + /yallist/3.1.1: + dev: false + resolution: + integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + /yargs-parser/13.1.1: + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + dev: false + resolution: + integrity: sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== + /yargs-parser/4.2.1: + dependencies: + camelcase: 3.0.0 + dev: false + resolution: + integrity: sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw= + /yargs/13.2.4: + dependencies: + cliui: 5.0.0 + find-up: 3.0.0 + get-caller-file: 2.0.5 + os-locale: 3.1.0 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 3.1.0 + which-module: 2.0.0 + y18n: 4.0.0 + yargs-parser: 13.1.1 + dev: false + resolution: + integrity: sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg== + /yargs/6.6.0: + dependencies: + camelcase: 3.0.0 + cliui: 3.2.0 + decamelize: 1.2.0 + get-caller-file: 1.0.3 + os-locale: 1.4.0 + read-pkg-up: 1.0.1 + require-directory: 2.1.1 + require-main-filename: 1.0.1 + set-blocking: 2.0.0 + string-width: 1.0.2 + which-module: 1.0.0 + y18n: 3.2.1 + yargs-parser: 4.2.1 + dev: false + resolution: + integrity: sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg= + /yauzl/2.4.1: + dependencies: + fd-slicer: 1.0.1 + dev: false + resolution: + integrity: sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU= +specifiers: + '@prerenderer/renderer-jsdom': ^0.2.0 + copy-webpack-plugin: ^5.1.0 + elm-webpack-loader: ^6.0.1 + html-webpack-plugin: ^3.2.0 + jsdom: ^15.2.1 + prerender-spa-plugin: ^3.4.0 + tempy: ^0.3.0 + webpack: ^4.41.2 + webpack-cli: ^3.3.10 + workbox-webpack-plugin: ^4.3.1 diff --git a/src/MParser.elm b/src/MParser.elm new file mode 100644 index 0000000..6310d53 --- /dev/null +++ b/src/MParser.elm @@ -0,0 +1,127 @@ +module MParser exposing (ezmd) + +import Element exposing (..) +import Element.Background +import Element.Border +import Element.Font as Font +import Html.Attributes +import Markdown.Html +import Markdown.Parser +import SiteComponents exposing (..) + + +ezmd input = + case markdownView input of + Ok rendered -> + Element.column [ Element.spacing 30 ] rendered + + Err errors -> + Element.text errors + + +markdownView : String -> Result String (List (Element msg)) +markdownView markdown = + markdown + |> Markdown.Parser.parse + |> Result.mapError (\error -> error |> List.map Markdown.Parser.deadEndToString |> String.join "\n") + |> Result.andThen (Markdown.Parser.render renderer) + + +renderer : Markdown.Parser.Renderer (Element msg) +renderer = + { heading = heading + , raw = Element.paragraph [ Element.spacing 15 ] + , thematicBreak = Element.none + , plain = Element.text + , bold = \content -> Element.row [ Font.bold ] [ Element.text content ] + , italic = \content -> Element.row [ Font.italic ] [ Element.text content ] + , code = code + , link = + \{ destination } body -> + (if List.member (String.left 1 destination) [ "#", "/" ] then + Element.link + + else + Element.newTabLink + ) + [ Element.htmlAttribute (Html.Attributes.style "display" "inline-flex") ] + { url = destination + , label = Element.paragraph [ Font.color basedGreen, Font.underline ] body + } + |> Ok + , image = + \image body -> + Element.image [ Element.width Element.fill ] { src = image.src, description = body } + |> Ok + , list = + \items -> + Element.column [ Element.spacing 15 ] + (items + |> List.map + (\itemBlocks -> + Element.row [ Element.spacing 5 ] + [ Element.el + [ Element.alignTop ] + (Element.text "•") + , itemBlocks + ] + ) + ) + , codeBlock = codeBlock + , html = Markdown.Html.oneOf [] + } + + +rawTextToId rawText = + rawText + |> String.toLower + |> String.replace " " "-" + + +heading : { level : Int, rawText : String, children : List (Element msg) } -> Element msg +heading { level, rawText, children } = + let + fontSize = + case level of + 1 -> + 36 + + 2 -> + 24 + + _ -> + 20 + in + paragraph + [ Element.htmlAttribute (Html.Attributes.attribute "name" (rawTextToId rawText)) + , Element.htmlAttribute (Html.Attributes.id (rawTextToId rawText)) + , width fill + , height shrink + , padding 10 + , greenLines + , Font.size fontSize + ] + children + + +code : String -> Element msg +code snippet = + Element.el + [ Element.Background.color (Element.rgba 0 0 0 0.04) + , scrollbars + , Element.Border.rounded 2 + , Element.paddingXY 5 3 + ] + (Element.text snippet) + + +codeBlock : { body : String, language : Maybe String } -> Element msg +codeBlock details = + Element.el + [ Element.Background.color (Element.rgba 0 0 0 0.03) + , scrollbars + , Element.htmlAttribute (Html.Attributes.style "white-space" "pre") + , Element.padding 20 + , Element.width Element.fill + ] + (Element.text details.body) diff --git a/src/Main.elm b/src/Main.elm new file mode 100644 index 0000000..f91bd3b --- /dev/null +++ b/src/Main.elm @@ -0,0 +1,269 @@ +module Main exposing (main) + +import Browser +import Browser.Navigation as Nav +import Dict exposing (Dict) +import Element exposing (..) +import Element.Font as Font +import Http +import List +import MParser exposing (ezmd) +import SiteComponents exposing (..) +import Url +import Url.Parser exposing ((), Parser) + + + +-- MAIN + + +main : Program () Model Msg +main = + Browser.application + { init = init + , view = view + , update = update + , subscriptions = subscriptions + , onUrlChange = UrlChanged + , onUrlRequest = LinkClicked + } + + + +-- MODEL + + +routeParser : Parser (Route -> a) a +routeParser = + Url.Parser.oneOf + [ Url.Parser.map Home Url.Parser.top + , Url.Parser.map Posts (Url.Parser.s "posts") + , Url.Parser.map Post (Url.Parser.s "posts" Url.Parser.string) + , Url.Parser.map About (Url.Parser.s "about") + ] + + +routeFromUrl : Url.Url -> Route +routeFromUrl url = + Maybe.withDefault NotFound (Url.Parser.parse routeParser url) + + +type Route + = Home + | Posts + | Post String + | About + | NotFound + + +type alias Model = + { key : Nav.Key + , route : Route + , sources : Dict String String + } + + +fetchPage pageName = + Http.get + { url = "/data/pages/" ++ pageName ++ ".md" + , expect = Http.expectString (GotSrc pageName) + } + + +init : () -> Url.Url -> Nav.Key -> ( Model, Cmd Msg ) +init _ url key = + ( { key = key, route = routeFromUrl url, sources = Dict.empty } + , Cmd.batch + [ fetchPage "home" + , fetchPage "about" + , fetchPage "posts/viveahk" + , fetchPage "posts/librebasics" + ] + ) + + + +-- UPDATE + + +nameFromRoute route = + case route of + Home -> + "home" + + About -> + "about" + + Posts -> + "posts" + + Post name -> + "post " ++ name + + NotFound -> + "404" + + +type Msg + = LinkClicked Browser.UrlRequest + | UrlChanged Url.Url + | GotSrc String (Result Http.Error String) + + +update : Msg -> Model -> ( Model, Cmd Msg ) +update msg model = + case msg of + LinkClicked urlRequest -> + case urlRequest of + Browser.Internal url -> + ( model, Nav.pushUrl model.key (Url.toString url) ) + + Browser.External href -> + ( model, Nav.load href ) + + UrlChanged url -> + ( { model | route = routeFromUrl url }, Cmd.none ) + + GotSrc pageName result -> + case result of + Ok src -> + ( { model | sources = Dict.insert pageName src model.sources } + , Cmd.none + ) + + Err err -> + ( model, Cmd.none ) + + + +-- SUBSCRIPTIONS + + +subscriptions : Model -> Sub Msg +subscriptions _ = + Sub.none + + + +-- VIEW + + +view : Model -> Browser.Document Msg +view model = + { title = "gen2.space ~ " ++ nameFromRoute model.route + , body = + [ layout + [ Font.family + [ Font.typeface "Monoid" + , Font.typeface "monospace" + , Font.monospace + ] + ] + (page model) + ] + } + + +navbarHeader = + link + [ centerX + , centerY + , Font.size 30 + ] + { url = "/", label = image [ width fill ] { src = "/data/banner.png", description = "gen2 space" } } + + +navbarLinks = + List.map + (\pageLink -> + link + [ Font.color basedPurple ] + { url = "/" ++ pageLink + , label = text ("/" ++ pageLink) + } + ) + [ "" + , "posts" + , "about" + ] + |> row + [ centerX + , spacing 30 + ] + + +navbar = + column + [ width fill + , greenLines + , spacing 10 + , padding 10 + ] + [ navbarHeader, navbarLinks ] + + +page model = + column + [ width fill + , height fill + , linesBackground "#222222" + , spacing 20 + ] + [ navbar + , body model + ] + + +posts = + Dict.fromList + [ ( "viveahk", { subtext = "Using the Vive Pro controllers on Windows to run shortucts" } ) + , ( "librebasics", { subtext = "How to use the internet for free* in poor countries" } ) + ] + + +postPreview ( name, data ) = + textColumn [ width fill, spacing 15 ] [ link [ Font.color basedPurple ] { url = "/posts/" ++ name, label = niceHeader ("Post: " ++ name) }, paragraph [] [ text data.subtext ] ] + + +postsText = + [ List.map postPreview (Dict.toList posts) + |> textColumn [ width fill, spacing 50 ] + ] + + +notFoundLines = + [ text "this page doesn't exist, sorry" ] + + +postText model name = + case Dict.get name posts of + Nothing -> + notFoundLines + + Just data -> + niceBigHeader name :: [ ezmd (Maybe.withDefault "" (Dict.get ("posts/" ++ name) model.sources)) ] + + +body model = + el + [ linesBackground "#220044" + , Font.color (rgb255 255 255 255) + , padding 30 + , width (maximum 1300 fill) + , centerX + ] + (textColumn [ width fill, spacing 15 ] + (case model.route of + Posts -> + postsText + + Post name -> + postText model name + + NotFound -> + notFoundLines + + _ -> + [ ezmd (Maybe.withDefault "" (Dict.get (nameFromRoute model.route) model.sources)) ] + ) + ) diff --git a/src/SiteComponents.elm b/src/SiteComponents.elm new file mode 100644 index 0000000..721cf3a --- /dev/null +++ b/src/SiteComponents.elm @@ -0,0 +1,51 @@ +module SiteComponents exposing (basedGreen, basedPurple, edges, greenLines, linesBackground, niceBigHeader, niceHeader) + +import Element exposing (..) +import Element.Font as Font +import Html.Attributes + + +edges = + { top = 0 + , right = 0 + , bottom = 0 + , left = 0 + } + + +basedPurple = + rgb255 40 0 90 + + +basedGreen = + rgb255 20 100 20 + + +linesBackground cssColor = + htmlAttribute (Html.Attributes.style "background" ("repeating-linear-gradient(" ++ cssColor ++ ", " ++ cssColor ++ " 1px, #2F2F2F 1px, #2F2F2F 2px)")) + + +greenLines = + linesBackground "#004400" + + +niceHeader headerText = + el + [ width fill + , height shrink + , padding 10 + , Font.size 24 + , greenLines + ] + (text headerText) + + +niceBigHeader headerText = + el + [ width fill + , height shrink + , padding 10 + , Font.size 30 + , greenLines + ] + (text headerText) diff --git a/src/index.js b/src/index.js new file mode 100644 index 0000000..09957ce --- /dev/null +++ b/src/index.js @@ -0,0 +1,7 @@ +const { Elm } = require('./Main.elm'); + +Elm.Main.init({}); + +if ('serviceWorker' in navigator) { + window.addEventListener('load', () => navigator.serviceWorker.register('/sw.js')); +} diff --git a/versions.dat b/versions.dat new file mode 100644 index 0000000000000000000000000000000000000000..2cdfa657edf4de43ce3dfc445b9b9a75503443bb GIT binary patch literal 115508 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 Q8an68g|U|f<;!aRAM$pj9RL6T literal 0 HcmV?d00001