From feb7b76edc2e7f0ada36fa3b5ef4e9d7836897ae Mon Sep 17 00:00:00 2001 From: Ramaguru Radhakrishnan <r_ramaguru@cb.amrita.edu> Date: Mon, 14 Feb 2022 10:24:34 +0530 Subject: [PATCH] Update public/favicon.ico, public/index.html, src/App.vue, src/background.js, src/main.js, src/assets/css/tailwind.css, src/components/Dashboard.vue, src/components/Footer.vue, src/components/Navbar.vue, src/components/Sidebar.vue, src/pages/Account.vue, src/pages/all.vue, src/pages/Anomalies.vue, src/pages/BackedupFiles.vue, src/pages/DIDcreation.vue, src/pages/FileSharing.vue, src/pages/Home.vue, src/pages/Logs.vue, src/pages/NewFileUpload.vue, src/pages/NMS.vue, src/pages/UserLog.vue, src/pages/Verifier.vue, src/pages/VerifyDID.vue, src/store/index.js, vue.config.js, tailwind.js, postcss.config.js, package.json, pnpm-lock.yaml, babel.config.js --- babel.config.js | 5 + package.json | 72 + pnpm-lock.yaml | 10934 +++++++++++++++++++++++++++++++++ postcss.config.js | 6 + public/favicon.ico | Bin 0 -> 4286 bytes public/index.html | 17 + src/App.vue | 11 + src/assets/css/tailwind.css | 33 + src/background.js | 79 + src/components/Dashboard.vue | 42 + src/components/Footer.vue | 17 + src/components/Navbar.vue | 118 + src/components/Sidebar.vue | 120 + src/main.js | 59 + src/pages/Account.vue | 113 + src/pages/Anomalies.vue | 166 + src/pages/BackedupFiles.vue | 176 + src/pages/DIDcreation.vue | 225 + src/pages/FileSharing.vue | 383 ++ src/pages/Home.vue | 423 ++ src/pages/Logs.vue | 198 + src/pages/NMS.vue | 692 +++ src/pages/NewFileUpload.vue | 359 ++ src/pages/UserLog.vue | 203 + src/pages/Verifier.vue | 411 ++ src/pages/VerifyDID.vue | 262 + src/pages/all.vue | 229 + src/store/index.js | 25 + tailwind.js | 7 + vue.config.js | 6 + 30 files changed, 15391 insertions(+) create mode 100644 babel.config.js create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 postcss.config.js create mode 100644 public/favicon.ico create mode 100644 public/index.html create mode 100644 src/App.vue create mode 100644 src/assets/css/tailwind.css create mode 100644 src/background.js create mode 100644 src/components/Dashboard.vue create mode 100644 src/components/Footer.vue create mode 100644 src/components/Navbar.vue create mode 100644 src/components/Sidebar.vue create mode 100644 src/main.js create mode 100644 src/pages/Account.vue create mode 100644 src/pages/Anomalies.vue create mode 100644 src/pages/BackedupFiles.vue create mode 100644 src/pages/DIDcreation.vue create mode 100644 src/pages/FileSharing.vue create mode 100644 src/pages/Home.vue create mode 100644 src/pages/Logs.vue create mode 100644 src/pages/NMS.vue create mode 100644 src/pages/NewFileUpload.vue create mode 100644 src/pages/UserLog.vue create mode 100644 src/pages/Verifier.vue create mode 100644 src/pages/VerifyDID.vue create mode 100644 src/pages/all.vue create mode 100644 src/store/index.js create mode 100644 tailwind.js create mode 100644 vue.config.js diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..e955840 --- /dev/null +++ b/babel.config.js @@ -0,0 +1,5 @@ +module.exports = { + presets: [ + '@vue/cli-plugin-babel/preset' + ] +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..240e207 --- /dev/null +++ b/package.json @@ -0,0 +1,72 @@ +{ + "name": "WAMPAC", + "version": "0.1.0", + "private": true, + "scripts": { + "serve": "vue-cli-service serve --port 9000", + "build": "vue-cli-service build --port 9000", + "lint": "vue-cli-service lint", + "electron:build": "vue-cli-service electron:build", + "electron:serve": "vue-cli-service electron:serve", + "postinstall": "electron-builder install-app-deps", + "postuninstall": "electron-builder install-app-deps" + }, + "main": "background.js", + "dependencies": { + "axios": "^0.21.0", + "chart.js": "^2.9.3", + "core-js": "^3.6.4", + "easy-circular-progress": "^1.0.4", + "v-file-upload": "^3.1.7", + "vue": "^2.6.11", + "vue-axios-cors": "^1.0.1", + "vue-chartjs": "^3.5.0", + "vue-clipboard2": "^0.3.1", + "vue-good-table": "^2.21.3", + "vue-js-modal": "^2.0.0-rc.6", + "vue-notification": "^1.3.20", + "vue-over-body": "^0.0.5", + "vue-picture-input": "^2.1.6", + "vue-progress-circle": "^1.1.2", + "vue-progress-path": "^0.0.2", + "vue-promise-dialogs": "^1.0.2", + "vue-router": "^3.1.5", + "vue-suggestion": "^1.1.0", + "vue2-circle-progress": "^1.2.3", + "vuejs-smart-table": "^0.0.7", + "vuex": "^3.1.2" + }, + "devDependencies": { + "@vue/cli-plugin-babel": "^4.2.0", + "@vue/cli-plugin-eslint": "^4.2.0", + "@vue/cli-service": "^4.2.0", + "babel-eslint": "^10.0.3", + "electron": "^9.0.0", + "electron-devtools-installer": "^3.1.0", + "eslint": "^6.7.2", + "eslint-plugin-vue": "^6.1.2", + "tailwindcss": "^1.2.0", + "vue-cli-plugin-electron-builder": "~2.0.0-rc.5", + "vue-template-compiler": "^2.6.11" + }, + "eslintConfig": { + "root": true, + "env": { + "node": true + }, + "extends": [ + "plugin:vue/essential", + "eslint:recommended" + ], + "parserOptions": { + "parser": "babel-eslint" + }, + "rules": { + "no-unused-vars": "off" + } + }, + "browserslist": [ + "> 1%", + "last 2 versions" + ] +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..f1f7a6b --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,10934 @@ +dependencies: + axios: 0.21.0 + chart.js: 2.9.4 + core-js: 3.6.5 + easy-circular-progress: 1.0.4 + v-file-upload: 3.1.7 + vue: 2.6.12 + vue-axios-cors: 1.0.1 + vue-chartjs: 3.5.1_chart.js@2.9.4 + vue-clipboard2: 0.3.1 + vue-good-table: 2.21.3 + vue-js-modal: 2.0.0-rc.6_vue@2.6.12 + vue-notification: 1.3.20_vue@2.6.12 + vue-over-body: 0.0.5 + vue-picture-input: 2.1.6 + vue-progress-circle: 1.1.2 + vue-progress-path: 0.0.2_vue@2.6.12 + vue-promise-dialogs: 1.0.2_vue@2.6.12 + vue-router: 3.4.8 + vue-suggestion: 1.1.0 + vue2-circle-progress: 1.2.3 + vuejs-smart-table: 0.0.7 + vuex: 3.5.1_vue@2.6.12 +devDependencies: + '@vue/cli-plugin-babel': 4.5.8_5b7752e5c9d4bf3fd64f7a4cf6aa43d8 + '@vue/cli-plugin-eslint': 4.5.8_1a4d12566c509b98c7476343ac8d4ae9 + '@vue/cli-service': 4.5.8_12db9aa67a02336f4285118dbe3a07e2 + babel-eslint: 10.1.0_eslint@6.8.0 + electron: 9.4.0 + electron-devtools-installer: 3.1.1 + eslint: 6.8.0 + eslint-plugin-vue: 6.2.2_eslint@6.8.0 + tailwindcss: 1.9.6 + vue-cli-plugin-electron-builder: 2.0.0-rc.5 + vue-template-compiler: 2.6.12 +lockfileVersion: 5.1 +packages: + /7zip-bin/5.0.3: + dev: true + resolution: + integrity: sha512-GLyWIFBbGvpKPGo55JyRZAo4lVbnBiD52cKlw/0Vt+wnmKvWJkpZvsjVoaIolyBXDeAQKSicRtqFNPem9w0WYA== + /@babel/code-frame/7.10.4: + dependencies: + '@babel/highlight': 7.10.4 + dev: true + resolution: + integrity: sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== + /@babel/code-frame/7.12.11: + dependencies: + '@babel/highlight': 7.10.4 + dev: true + resolution: + integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + /@babel/compat-data/7.12.5: + dev: true + resolution: + integrity: sha512-DTsS7cxrsH3by8nqQSpFSyjSfSYl57D6Cf4q8dW3LK83tBKBDCkfcay1nYkXq1nIHXnpX8WMMb/O25HOy3h1zg== + /@babel/core/7.12.3: + dependencies: + '@babel/code-frame': 7.10.4 + '@babel/generator': 7.12.5 + '@babel/helper-module-transforms': 7.12.1 + '@babel/helpers': 7.12.5 + '@babel/parser': 7.12.5 + '@babel/template': 7.10.4 + '@babel/traverse': 7.12.5 + '@babel/types': 7.12.6 + convert-source-map: 1.7.0 + debug: 4.2.0 + gensync: 1.0.0-beta.2 + json5: 2.1.3 + lodash: 4.17.20 + resolve: 1.18.1 + semver: 5.7.1 + source-map: 0.5.7 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g== + /@babel/generator/7.12.5: + dependencies: + '@babel/types': 7.12.6 + jsesc: 2.5.2 + source-map: 0.5.7 + dev: true + resolution: + integrity: sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A== + /@babel/helper-annotate-as-pure/7.10.4: + dependencies: + '@babel/types': 7.12.6 + dev: true + resolution: + integrity: sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA== + /@babel/helper-builder-binary-assignment-operator-visitor/7.10.4: + dependencies: + '@babel/helper-explode-assignable-expression': 7.12.1 + '@babel/types': 7.12.6 + dev: true + resolution: + integrity: sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg== + /@babel/helper-compilation-targets/7.12.5_@babel+core@7.12.3: + dependencies: + '@babel/compat-data': 7.12.5 + '@babel/core': 7.12.3 + '@babel/helper-validator-option': 7.12.1 + browserslist: 4.14.6 + semver: 5.7.1 + dev: true + peerDependencies: + '@babel/core': ^7.0.0 + resolution: + integrity: sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw== + /@babel/helper-create-class-features-plugin/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-function-name': 7.10.4 + '@babel/helper-member-expression-to-functions': 7.12.1 + '@babel/helper-optimise-call-expression': 7.10.4 + '@babel/helper-replace-supers': 7.12.5 + '@babel/helper-split-export-declaration': 7.11.0 + dev: true + peerDependencies: + '@babel/core': ^7.0.0 + resolution: + integrity: sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w== + /@babel/helper-create-regexp-features-plugin/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-annotate-as-pure': 7.10.4 + '@babel/helper-regex': 7.10.5 + regexpu-core: 4.7.1 + dev: true + peerDependencies: + '@babel/core': ^7.0.0 + resolution: + integrity: sha512-rsZ4LGvFTZnzdNZR5HZdmJVuXK8834R5QkF3WvcnBhrlVtF0HSIUC6zbreL9MgjTywhKokn8RIYRiq99+DLAxA== + /@babel/helper-define-map/7.10.5: + dependencies: + '@babel/helper-function-name': 7.10.4 + '@babel/types': 7.12.6 + lodash: 4.17.20 + dev: true + resolution: + integrity: sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ== + /@babel/helper-explode-assignable-expression/7.12.1: + dependencies: + '@babel/types': 7.12.6 + dev: true + resolution: + integrity: sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA== + /@babel/helper-function-name/7.10.4: + dependencies: + '@babel/helper-get-function-arity': 7.10.4 + '@babel/template': 7.10.4 + '@babel/types': 7.12.6 + dev: true + resolution: + integrity: sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ== + /@babel/helper-get-function-arity/7.10.4: + dependencies: + '@babel/types': 7.12.6 + dev: true + resolution: + integrity: sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A== + /@babel/helper-hoist-variables/7.10.4: + dependencies: + '@babel/types': 7.12.6 + dev: true + resolution: + integrity: sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA== + /@babel/helper-member-expression-to-functions/7.12.1: + dependencies: + '@babel/types': 7.12.6 + dev: true + resolution: + integrity: sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ== + /@babel/helper-module-imports/7.12.5: + dependencies: + '@babel/types': 7.12.6 + dev: true + resolution: + integrity: sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA== + /@babel/helper-module-transforms/7.12.1: + dependencies: + '@babel/helper-module-imports': 7.12.5 + '@babel/helper-replace-supers': 7.12.5 + '@babel/helper-simple-access': 7.12.1 + '@babel/helper-split-export-declaration': 7.11.0 + '@babel/helper-validator-identifier': 7.10.4 + '@babel/template': 7.10.4 + '@babel/traverse': 7.12.5 + '@babel/types': 7.12.6 + lodash: 4.17.20 + dev: true + resolution: + integrity: sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w== + /@babel/helper-optimise-call-expression/7.10.4: + dependencies: + '@babel/types': 7.12.6 + dev: true + resolution: + integrity: sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg== + /@babel/helper-plugin-utils/7.10.4: + dev: true + resolution: + integrity: sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== + /@babel/helper-regex/7.10.5: + dependencies: + lodash: 4.17.20 + dev: true + resolution: + integrity: sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg== + /@babel/helper-remap-async-to-generator/7.12.1: + dependencies: + '@babel/helper-annotate-as-pure': 7.10.4 + '@babel/helper-wrap-function': 7.12.3 + '@babel/types': 7.12.6 + dev: true + resolution: + integrity: sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A== + /@babel/helper-replace-supers/7.12.5: + dependencies: + '@babel/helper-member-expression-to-functions': 7.12.1 + '@babel/helper-optimise-call-expression': 7.10.4 + '@babel/traverse': 7.12.5 + '@babel/types': 7.12.6 + dev: true + resolution: + integrity: sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA== + /@babel/helper-simple-access/7.12.1: + dependencies: + '@babel/types': 7.12.6 + dev: true + resolution: + integrity: sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA== + /@babel/helper-skip-transparent-expression-wrappers/7.12.1: + dependencies: + '@babel/types': 7.12.6 + dev: true + resolution: + integrity: sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA== + /@babel/helper-split-export-declaration/7.11.0: + dependencies: + '@babel/types': 7.12.6 + dev: true + resolution: + integrity: sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg== + /@babel/helper-validator-identifier/7.10.4: + dev: true + resolution: + integrity: sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== + /@babel/helper-validator-identifier/7.12.11: + dev: true + resolution: + integrity: sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== + /@babel/helper-validator-option/7.12.1: + dev: true + resolution: + integrity: sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A== + /@babel/helper-wrap-function/7.12.3: + dependencies: + '@babel/helper-function-name': 7.10.4 + '@babel/template': 7.10.4 + '@babel/traverse': 7.12.5 + '@babel/types': 7.12.6 + dev: true + resolution: + integrity: sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow== + /@babel/helpers/7.12.5: + dependencies: + '@babel/template': 7.10.4 + '@babel/traverse': 7.12.5 + '@babel/types': 7.12.6 + dev: true + resolution: + integrity: sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA== + /@babel/highlight/7.10.4: + dependencies: + '@babel/helper-validator-identifier': 7.12.11 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + resolution: + integrity: sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== + /@babel/parser/7.12.5: + dev: true + engines: + node: '>=6.0.0' + hasBin: true + resolution: + integrity: sha512-FVM6RZQ0mn2KCf1VUED7KepYeUWoVShczewOCfm3nzoBybaih51h+sYVVGthW9M6lPByEPTQf+xm27PBdlpwmQ== + /@babel/plugin-proposal-async-generator-functions/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + '@babel/helper-remap-async-to-generator': 7.12.1 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.12.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A== + /@babel/plugin-proposal-class-properties/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-create-class-features-plugin': 7.12.1_@babel+core@7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w== + /@babel/plugin-proposal-decorators/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-create-class-features-plugin': 7.12.1_@babel+core@7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + '@babel/plugin-syntax-decorators': 7.12.1_@babel+core@7.12.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-knNIuusychgYN8fGJHONL0RbFxLGawhXOJNLBk75TniTsZZeA+wdkDuv6wp4lGwzQEKjZi6/WYtnb3udNPmQmQ== + /@babel/plugin-proposal-dynamic-import/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.12.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ== + /@babel/plugin-proposal-export-namespace-from/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.12.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw== + /@babel/plugin-proposal-json-strings/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.12.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw== + /@babel/plugin-proposal-logical-assignment-operators/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.12.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA== + /@babel/plugin-proposal-nullish-coalescing-operator/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.12.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg== + /@babel/plugin-proposal-numeric-separator/7.12.5_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.12.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-UiAnkKuOrCyjZ3sYNHlRlfuZJbBHknMQ9VMwVeX97Ofwx7RpD6gS2HfqTCh8KNUQgcOm8IKt103oR4KIjh7Q8g== + /@babel/plugin-proposal-object-rest-spread/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.12.3 + '@babel/plugin-transform-parameters': 7.12.1_@babel+core@7.12.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA== + /@babel/plugin-proposal-optional-catch-binding/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.12.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g== + /@babel/plugin-proposal-optional-chaining/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + '@babel/helper-skip-transparent-expression-wrappers': 7.12.1 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.12.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw== + /@babel/plugin-proposal-private-methods/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-create-class-features-plugin': 7.12.1_@babel+core@7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w== + /@babel/plugin-proposal-unicode-property-regex/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-create-regexp-features-plugin': 7.12.1_@babel+core@7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + engines: + node: '>=4' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w== + /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + /@babel/plugin-syntax-class-properties/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA== + /@babel/plugin-syntax-decorators/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-ir9YW5daRrTYiy9UJ2TzdNIJEZu8KclVzDcfSt4iEmOtwQ4llPtWInNKJyKnVXp1vE4bbVd5S31M/im3mYMO1w== + /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + /@babel/plugin-syntax-jsx/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg== + /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + /@babel/plugin-syntax-top-level-await/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A== + /@babel/plugin-transform-arrow-functions/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A== + /@babel/plugin-transform-async-to-generator/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-module-imports': 7.12.5 + '@babel/helper-plugin-utils': 7.10.4 + '@babel/helper-remap-async-to-generator': 7.12.1 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A== + /@babel/plugin-transform-block-scoped-functions/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA== + /@babel/plugin-transform-block-scoping/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w== + /@babel/plugin-transform-classes/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-annotate-as-pure': 7.10.4 + '@babel/helper-define-map': 7.10.5 + '@babel/helper-function-name': 7.10.4 + '@babel/helper-optimise-call-expression': 7.10.4 + '@babel/helper-plugin-utils': 7.10.4 + '@babel/helper-replace-supers': 7.12.5 + '@babel/helper-split-export-declaration': 7.11.0 + globals: 11.12.0 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog== + /@babel/plugin-transform-computed-properties/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg== + /@babel/plugin-transform-destructuring/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw== + /@babel/plugin-transform-dotall-regex/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-create-regexp-features-plugin': 7.12.1_@babel+core@7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA== + /@babel/plugin-transform-duplicate-keys/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw== + /@babel/plugin-transform-exponentiation-operator/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.10.4 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug== + /@babel/plugin-transform-for-of/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg== + /@babel/plugin-transform-function-name/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-function-name': 7.10.4 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw== + /@babel/plugin-transform-literals/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ== + /@babel/plugin-transform-member-expression-literals/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg== + /@babel/plugin-transform-modules-amd/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-module-transforms': 7.12.1 + '@babel/helper-plugin-utils': 7.10.4 + babel-plugin-dynamic-import-node: 2.3.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ== + /@babel/plugin-transform-modules-commonjs/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-module-transforms': 7.12.1 + '@babel/helper-plugin-utils': 7.10.4 + '@babel/helper-simple-access': 7.12.1 + babel-plugin-dynamic-import-node: 2.3.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag== + /@babel/plugin-transform-modules-systemjs/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-hoist-variables': 7.10.4 + '@babel/helper-module-transforms': 7.12.1 + '@babel/helper-plugin-utils': 7.10.4 + '@babel/helper-validator-identifier': 7.10.4 + babel-plugin-dynamic-import-node: 2.3.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q== + /@babel/plugin-transform-modules-umd/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-module-transforms': 7.12.1 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q== + /@babel/plugin-transform-named-capturing-groups-regex/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-create-regexp-features-plugin': 7.12.1_@babel+core@7.12.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0 + resolution: + integrity: sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q== + /@babel/plugin-transform-new-target/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw== + /@babel/plugin-transform-object-super/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + '@babel/helper-replace-supers': 7.12.5 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw== + /@babel/plugin-transform-parameters/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg== + /@babel/plugin-transform-property-literals/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ== + /@babel/plugin-transform-regenerator/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + regenerator-transform: 0.14.5 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng== + /@babel/plugin-transform-reserved-words/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A== + /@babel/plugin-transform-runtime/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-module-imports': 7.12.5 + '@babel/helper-plugin-utils': 7.10.4 + resolve: 1.18.1 + semver: 5.7.1 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-Ac/H6G9FEIkS2tXsZjL4RAdS3L3WHxci0usAnz7laPWUmFiGtj7tIASChqKZMHTSQTQY6xDbOq+V1/vIq3QrWg== + /@babel/plugin-transform-shorthand-properties/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw== + /@babel/plugin-transform-spread/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + '@babel/helper-skip-transparent-expression-wrappers': 7.12.1 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng== + /@babel/plugin-transform-sticky-regex/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + '@babel/helper-regex': 7.10.5 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-CiUgKQ3AGVk7kveIaPEET1jNDhZZEl1RPMWdTBE1799bdz++SwqDHStmxfCtDfBhQgCl38YRiSnrMuUMZIWSUQ== + /@babel/plugin-transform-template-literals/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw== + /@babel/plugin-transform-typeof-symbol/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-EPGgpGy+O5Kg5pJFNDKuxt9RdmTgj5sgrus2XVeMp/ZIbOESadgILUbm50SNpghOh3/6yrbsH+NB5+WJTmsA7Q== + /@babel/plugin-transform-unicode-escapes/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q== + /@babel/plugin-transform-unicode-regex/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-create-regexp-features-plugin': 7.12.1_@babel+core@7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg== + /@babel/preset-env/7.12.1_@babel+core@7.12.3: + dependencies: + '@babel/compat-data': 7.12.5 + '@babel/core': 7.12.3 + '@babel/helper-compilation-targets': 7.12.5_@babel+core@7.12.3 + '@babel/helper-module-imports': 7.12.5 + '@babel/helper-plugin-utils': 7.10.4 + '@babel/helper-validator-option': 7.12.1 + '@babel/plugin-proposal-async-generator-functions': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-proposal-class-properties': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-proposal-dynamic-import': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-proposal-export-namespace-from': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-proposal-json-strings': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-proposal-logical-assignment-operators': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-proposal-nullish-coalescing-operator': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-proposal-numeric-separator': 7.12.5_@babel+core@7.12.3 + '@babel/plugin-proposal-object-rest-spread': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-proposal-optional-catch-binding': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-proposal-optional-chaining': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-proposal-private-methods': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-proposal-unicode-property-regex': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.12.3 + '@babel/plugin-syntax-class-properties': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.12.3 + '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.12.3 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.12.3 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.12.3 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.12.3 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.12.3 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.12.3 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.12.3 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.12.3 + '@babel/plugin-syntax-top-level-await': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-arrow-functions': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-async-to-generator': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-block-scoped-functions': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-block-scoping': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-classes': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-computed-properties': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-destructuring': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-dotall-regex': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-duplicate-keys': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-exponentiation-operator': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-for-of': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-function-name': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-literals': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-member-expression-literals': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-modules-amd': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-modules-commonjs': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-modules-systemjs': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-modules-umd': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-named-capturing-groups-regex': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-new-target': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-object-super': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-parameters': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-property-literals': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-regenerator': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-reserved-words': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-shorthand-properties': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-spread': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-sticky-regex': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-template-literals': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-typeof-symbol': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-unicode-escapes': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-unicode-regex': 7.12.1_@babel+core@7.12.3 + '@babel/preset-modules': 0.1.4_@babel+core@7.12.3 + '@babel/types': 7.12.6 + core-js-compat: 3.6.5 + semver: 5.7.1 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg== + /@babel/preset-modules/0.1.4_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-plugin-utils': 7.10.4 + '@babel/plugin-proposal-unicode-property-regex': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-dotall-regex': 7.12.1_@babel+core@7.12.3 + '@babel/types': 7.12.6 + esutils: 2.0.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg== + /@babel/runtime/7.12.5: + dependencies: + regenerator-runtime: 0.13.7 + dev: true + resolution: + integrity: sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg== + /@babel/template/7.10.4: + dependencies: + '@babel/code-frame': 7.10.4 + '@babel/parser': 7.12.5 + '@babel/types': 7.12.6 + dev: true + resolution: + integrity: sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== + /@babel/traverse/7.12.5: + dependencies: + '@babel/code-frame': 7.10.4 + '@babel/generator': 7.12.5 + '@babel/helper-function-name': 7.10.4 + '@babel/helper-split-export-declaration': 7.11.0 + '@babel/parser': 7.12.5 + '@babel/types': 7.12.6 + debug: 4.2.0 + globals: 11.12.0 + lodash: 4.17.20 + dev: true + resolution: + integrity: sha512-xa15FbQnias7z9a62LwYAA5SZZPkHIXpd42C6uW68o8uTuua96FHZy1y61Va5P/i83FAAcMpW8+A/QayntzuqA== + /@babel/types/7.12.6: + dependencies: + '@babel/helper-validator-identifier': 7.10.4 + lodash: 4.17.20 + to-fast-properties: 2.0.0 + dev: true + resolution: + integrity: sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA== + /@develar/schema-utils/2.6.5: + dependencies: + ajv: 6.12.6 + ajv-keywords: 3.5.2_ajv@6.12.6 + dev: true + engines: + node: '>= 8.9.0' + resolution: + integrity: sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig== + /@electron/get/1.12.2: + dependencies: + debug: 4.3.1 + env-paths: 2.2.0 + fs-extra: 8.1.0 + got: 9.6.0 + progress: 2.0.3 + sanitize-filename: 1.6.3 + sumchecker: 3.0.1 + dev: true + engines: + node: '>=8.6' + optionalDependencies: + global-agent: 2.1.12 + global-tunnel-ng: 2.7.1 + resolution: + integrity: sha512-vAuHUbfvBQpYTJ5wB7uVIDq5c/Ry0fiTBMs7lnEYAo/qXXppIVcWdfBr57u6eRnKdVso7KSiH6p/LbQAG6Izrg== + /@fullhuman/postcss-purgecss/2.3.0: + dependencies: + postcss: 7.0.32 + purgecss: 2.3.0 + dev: true + resolution: + integrity: sha512-qnKm5dIOyPGJ70kPZ5jiz0I9foVOic0j+cOzNDoo8KoCf6HjicIZ99UfO2OmE7vCYSKAAepEwJtNzpiiZAh9xw== + /@hapi/address/2.1.4: + deprecated: Moved to 'npm install @sideway/address' + dev: true + resolution: + integrity: sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ== + /@hapi/bourne/1.3.2: + deprecated: This version has been deprecated and is no longer supported or maintained + dev: true + resolution: + integrity: sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA== + /@hapi/hoek/8.5.1: + deprecated: This version has been deprecated and is no longer supported or maintained + dev: true + resolution: + integrity: sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow== + /@hapi/joi/15.1.1: + dependencies: + '@hapi/address': 2.1.4 + '@hapi/bourne': 1.3.2 + '@hapi/hoek': 8.5.1 + '@hapi/topo': 3.1.6 + deprecated: Switch to 'npm install joi' + dev: true + resolution: + integrity: sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ== + /@hapi/topo/3.1.6: + dependencies: + '@hapi/hoek': 8.5.1 + deprecated: This version has been deprecated and is no longer supported or maintained + dev: true + resolution: + integrity: sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ== + /@intervolga/optimize-cssnano-plugin/1.0.6_webpack@4.44.2: + dependencies: + cssnano: 4.1.10 + cssnano-preset-default: 4.0.7 + postcss: 7.0.35 + webpack: 4.44.2_webpack@4.44.2 + dev: true + peerDependencies: + webpack: ^4.0.0 + resolution: + integrity: sha512-zN69TnSr0viRSU6cEDIcuPcP67QcpQ6uHACg58FiN9PDrU6SLyGW3MR4tiISbYxy1kDWAVPwD+XwQTWE5cigAA== + /@mrmlnc/readdir-enhanced/2.2.1: + dependencies: + call-me-maybe: 1.0.1 + glob-to-regexp: 0.3.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g== + /@nodelib/fs.stat/1.1.3: + dev: true + engines: + node: '>= 6' + resolution: + integrity: sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== + /@npmcli/move-file/1.0.1: + dependencies: + mkdirp: 1.0.4 + dev: true + engines: + node: '>=10' + resolution: + integrity: sha512-Uv6h1sT+0DrblvIrolFtbvM1FgWm+/sy4B3pvLp67Zys+thcukzS5ekn7HsZFGpWP4Q3fYJCljbWQE/XivMRLw== + /@sindresorhus/is/0.14.0: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== + /@soda/friendly-errors-webpack-plugin/1.7.1_webpack@4.44.2: + dependencies: + chalk: 1.1.3 + error-stack-parser: 2.0.6 + string-width: 2.1.1 + webpack: 4.44.2_webpack@4.44.2 + dev: true + peerDependencies: + webpack: ^2.0.0 || ^3.0.0 || ^4.0.0 + resolution: + integrity: sha512-cWKrGaFX+rfbMrAxVv56DzhPNqOJPZuNIS2HGMELtgGzb+vsMzyig9mml5gZ/hr2BGtSLV+dP2LUEuAL8aG2mQ== + /@soda/get-current-script/1.0.2: + dev: true + resolution: + integrity: sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w== + /@szmarczak/http-timer/1.1.2: + dependencies: + defer-to-connect: 1.1.3 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== + /@types/anymatch/1.3.1: + dev: true + resolution: + integrity: sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA== + /@types/body-parser/1.19.0: + dependencies: + '@types/connect': 3.4.33 + '@types/node': 14.14.6 + dev: true + resolution: + integrity: sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ== + /@types/chart.js/2.9.27: + dependencies: + moment: 2.29.1 + dev: false + resolution: + integrity: sha512-b3ho2RpPLWzLzOXKkFwpvlRDEVWQrCknu2/p90mLY5v2DO8owk0OwWkv4MqAC91kJL52bQGXkVw/De+N/0/1+A== + /@types/connect-history-api-fallback/1.3.3: + dependencies: + '@types/express-serve-static-core': 4.17.13 + '@types/node': 14.14.6 + dev: true + resolution: + integrity: sha512-7SxFCd+FLlxCfwVwbyPxbR4khL9aNikJhrorw8nUIOqeuooc9gifBuDQOJw5kzN7i6i3vLn9G8Wde/4QDihpYw== + /@types/connect/3.4.33: + dependencies: + '@types/node': 14.14.6 + dev: true + resolution: + integrity: sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A== + /@types/debug/4.1.5: + dev: true + resolution: + integrity: sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ== + /@types/express-serve-static-core/4.17.13: + dependencies: + '@types/node': 14.14.6 + '@types/qs': 6.9.5 + '@types/range-parser': 1.2.3 + dev: true + resolution: + integrity: sha512-RgDi5a4nuzam073lRGKTUIaL3eF2+H7LJvJ8eUnCI0wA6SNjXc44DCmWNiTLs/AZ7QlsFWZiw/gTG3nSQGL0fA== + /@types/express/4.17.8: + dependencies: + '@types/body-parser': 1.19.0 + '@types/express-serve-static-core': 4.17.13 + '@types/qs': 6.9.5 + '@types/serve-static': 1.13.6 + dev: true + resolution: + integrity: sha512-wLhcKh3PMlyA2cNAB9sjM1BntnhPMiM0JOBwPBqttjHev2428MLEB4AYVN+d8s2iyCVZac+o41Pflm/ZH5vLXQ== + /@types/fs-extra/9.0.6: + dependencies: + '@types/node': 14.14.20 + dev: true + resolution: + integrity: sha512-ecNRHw4clCkowNOBJH1e77nvbPxHYnWIXMv1IAoG/9+MYGkgoyr3Ppxr7XYFNL41V422EDhyV4/4SSK8L2mlig== + /@types/glob/7.1.3: + dependencies: + '@types/minimatch': 3.0.3 + '@types/node': 14.14.6 + dev: true + resolution: + integrity: sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== + /@types/http-proxy-middleware/0.19.3: + dependencies: + '@types/connect': 3.4.33 + '@types/http-proxy': 1.17.4 + '@types/node': 14.14.6 + dev: true + resolution: + integrity: sha512-lnBTx6HCOUeIJMLbI/LaL5EmdKLhczJY5oeXZpX/cXE4rRqb3RmV7VcMpiEfYkmTjipv3h7IAyIINe4plEv7cA== + /@types/http-proxy/1.17.4: + dependencies: + '@types/node': 14.14.6 + dev: true + resolution: + integrity: sha512-IrSHl2u6AWXduUaDLqYpt45tLVCtYv7o4Z0s1KghBCDgIIS9oW5K1H8mZG/A2CfeLdEa7rTd1ACOiHBc1EMT2Q== + /@types/json-schema/7.0.6: + dev: true + resolution: + integrity: sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw== + /@types/mime/2.0.3: + dev: true + resolution: + integrity: sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q== + /@types/minimatch/3.0.3: + dev: true + resolution: + integrity: sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== + /@types/minimist/1.2.0: + dev: true + resolution: + integrity: sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY= + /@types/node/12.19.13: + dev: true + resolution: + integrity: sha512-qdixo2f0U7z6m0UJUugTJqVF94GNDkdgQhfBtMs8t5898JE7G/D2kJYw4rc1nzjIPLVAsDkY2MdABnLAP5lM1w== + /@types/node/14.14.20: + dev: true + resolution: + integrity: sha512-Y93R97Ouif9JEOWPIUyU+eyIdyRqQR0I8Ez1dzku4hDx34NWh4HbtIc3WNzwB1Y9ULvNGeu5B8h8bVL5cAk4/A== + /@types/node/14.14.6: + dev: true + resolution: + integrity: sha512-6QlRuqsQ/Ox/aJEQWBEJG7A9+u7oSYl3mem/K8IzxXG/kAGbV1YPD9Bg9Zw3vyxC/YP+zONKwy8hGkSt1jxFMw== + /@types/normalize-package-data/2.4.0: + dev: true + resolution: + integrity: sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== + /@types/q/1.5.4: + dev: true + resolution: + integrity: sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug== + /@types/qs/6.9.5: + dev: true + resolution: + integrity: sha512-/JHkVHtx/REVG0VVToGRGH2+23hsYLHdyG+GrvoUGlGAd0ErauXDyvHtRI/7H7mzLm+tBCKA7pfcpkQ1lf58iQ== + /@types/range-parser/1.2.3: + dev: true + resolution: + integrity: sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== + /@types/serve-static/1.13.6: + dependencies: + '@types/mime': 2.0.3 + '@types/node': 14.14.6 + dev: true + resolution: + integrity: sha512-nuRJmv7jW7VmCVTn+IgYDkkbbDGyIINOeu/G0d74X3lm6E5KfMeQPJhxIt1ayQeQB3cSxvYs1RA/wipYoFB4EA== + /@types/source-list-map/0.1.2: + dev: true + resolution: + integrity: sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== + /@types/tapable/1.0.6: + dev: true + resolution: + integrity: sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA== + /@types/uglify-js/3.11.1: + dependencies: + source-map: 0.6.1 + dev: true + resolution: + integrity: sha512-7npvPKV+jINLu1SpSYVWG8KvyJBhBa8tmzMMdDoVc2pWUYHN8KIXlPJhjJ4LT97c4dXJA2SHL/q6ADbDriZN+Q== + /@types/webpack-dev-server/3.11.1: + dependencies: + '@types/connect-history-api-fallback': 1.3.3 + '@types/express': 4.17.8 + '@types/http-proxy-middleware': 0.19.3 + '@types/serve-static': 1.13.6 + '@types/webpack': 4.41.24 + dev: true + resolution: + integrity: sha512-rIb+LtUkKnh7+oIJm3WiMJONd71Q0lZuqGLcSqhZ5qjN9gV/CNmZe7Bai+brnBPZ/KVYOsr+4bFLiNZwjBicLw== + /@types/webpack-sources/2.0.0: + dependencies: + '@types/node': 14.14.6 + '@types/source-list-map': 0.1.2 + source-map: 0.7.3 + dev: true + resolution: + integrity: sha512-a5kPx98CNFRKQ+wqawroFunvFqv7GHm/3KOI52NY9xWADgc8smu4R6prt4EU/M4QfVjvgBkMqU4fBhw3QfMVkg== + /@types/webpack/4.41.24: + dependencies: + '@types/anymatch': 1.3.1 + '@types/node': 14.14.6 + '@types/tapable': 1.0.6 + '@types/uglify-js': 3.11.1 + '@types/webpack-sources': 2.0.0 + source-map: 0.6.1 + dev: true + resolution: + integrity: sha512-1A0MXPwZiMOD3DPMuOKUKcpkdPo8Lq33UGggZ7xio6wJ/jV1dAu5cXDrOfGDnldUroPIRLsr/DT43/GqOA4RFQ== + /@types/yargs-parser/20.2.0: + dev: true + resolution: + integrity: sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== + /@types/yargs/15.0.12: + dependencies: + '@types/yargs-parser': 20.2.0 + dev: true + resolution: + integrity: sha512-f+fD/fQAo3BCbCDlrUpznF1A5Zp9rB0noS5vnoormHSIPFKL0Z2DcUJ3Gxp5ytH4uLRNxy7AwYUC9exZzqGMAw== + /@vue/babel-helper-vue-jsx-merge-props/1.2.1: + dev: true + resolution: + integrity: sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA== + /@vue/babel-helper-vue-transform-on/1.0.0-rc.2: + dev: true + resolution: + integrity: sha512-1+7CwjQ0Kasml6rHoNQUmbISwqLNNfFVBUcZl6QBremUl296ZmLrVQPqJP5pyAAWjZke5bpI1hlj+LVVuT7Jcg== + /@vue/babel-plugin-jsx/1.0.0-rc.3_@babel+core@7.12.3: + dependencies: + '@babel/helper-module-imports': 7.12.5 + '@babel/plugin-syntax-jsx': 7.12.1_@babel+core@7.12.3 + '@babel/traverse': 7.12.5 + '@babel/types': 7.12.6 + '@vue/babel-helper-vue-transform-on': 1.0.0-rc.2 + camelcase: 6.2.0 + html-tags: 3.1.0 + svg-tags: 1.0.0 + dev: true + peerDependencies: + '@babel/core': '*' + resolution: + integrity: sha512-/Ibq0hoKsidnHWPhgRpjcjYhYcHpqEm2fiKVAPO88OXZNHGwaGgS4yXkC6TDEvlZep4mBDo+2S5T81wpbVh90Q== + /@vue/babel-plugin-transform-vue-jsx/1.2.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-module-imports': 7.12.5 + '@babel/plugin-syntax-jsx': 7.12.1_@babel+core@7.12.3 + '@vue/babel-helper-vue-jsx-merge-props': 1.2.1 + html-tags: 2.0.0 + lodash.kebabcase: 4.1.1 + svg-tags: 1.0.0 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-HJuqwACYehQwh1fNT8f4kyzqlNMpBuUK4rSiSES5D4QsYncv5fxFsLyrxFPG2ksO7t5WP+Vgix6tt6yKClwPzA== + /@vue/babel-preset-app/4.5.8_vue@2.6.12: + dependencies: + '@babel/core': 7.12.3 + '@babel/helper-compilation-targets': 7.12.5_@babel+core@7.12.3 + '@babel/helper-module-imports': 7.12.5 + '@babel/plugin-proposal-class-properties': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-proposal-decorators': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.12.3 + '@babel/plugin-syntax-jsx': 7.12.1_@babel+core@7.12.3 + '@babel/plugin-transform-runtime': 7.12.1_@babel+core@7.12.3 + '@babel/preset-env': 7.12.1_@babel+core@7.12.3 + '@babel/runtime': 7.12.5 + '@vue/babel-plugin-jsx': 1.0.0-rc.3_@babel+core@7.12.3 + '@vue/babel-preset-jsx': 1.2.4_@babel+core@7.12.3 + babel-plugin-dynamic-import-node: 2.3.3 + core-js: 3.6.5 + core-js-compat: 3.6.5 + semver: 6.3.0 + vue: 2.6.12 + dev: true + peerDependencies: + vue: ^2 || ^3.0.0-0 + peerDependenciesMeta: + core-js: + optional: true + vue: + optional: true + resolution: + integrity: sha512-efCBo2HY8Jcs6+SyCnvWl8jGeF1Fl38reFL35AjO4SBcro0ol/qjPkeeJLjzvXUxrHAsM9DMfL/DvPa/hBmZwQ== + /@vue/babel-preset-jsx/1.2.4_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@vue/babel-helper-vue-jsx-merge-props': 1.2.1 + '@vue/babel-plugin-transform-vue-jsx': 1.2.1_@babel+core@7.12.3 + '@vue/babel-sugar-composition-api-inject-h': 1.2.1_@babel+core@7.12.3 + '@vue/babel-sugar-composition-api-render-instance': 1.2.4_@babel+core@7.12.3 + '@vue/babel-sugar-functional-vue': 1.2.2_@babel+core@7.12.3 + '@vue/babel-sugar-inject-h': 1.2.2_@babel+core@7.12.3 + '@vue/babel-sugar-v-model': 1.2.3_@babel+core@7.12.3 + '@vue/babel-sugar-v-on': 1.2.3_@babel+core@7.12.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-oRVnmN2a77bYDJzeGSt92AuHXbkIxbf/XXSE3klINnh9AXBmVS1DGa1f0d+dDYpLfsAKElMnqKTQfKn7obcL4w== + /@vue/babel-sugar-composition-api-inject-h/1.2.1_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/plugin-syntax-jsx': 7.12.1_@babel+core@7.12.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-4B3L5Z2G+7s+9Bwbf+zPIifkFNcKth7fQwekVbnOA3cr3Pq71q71goWr97sk4/yyzH8phfe5ODVzEjX7HU7ItQ== + /@vue/babel-sugar-composition-api-render-instance/1.2.4_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/plugin-syntax-jsx': 7.12.1_@babel+core@7.12.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-joha4PZznQMsxQYXtR3MnTgCASC9u3zt9KfBxIeuI5g2gscpTsSKRDzWQt4aqNIpx6cv8On7/m6zmmovlNsG7Q== + /@vue/babel-sugar-functional-vue/1.2.2_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/plugin-syntax-jsx': 7.12.1_@babel+core@7.12.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-JvbgGn1bjCLByIAU1VOoepHQ1vFsroSA/QkzdiSs657V79q6OwEWLCQtQnEXD/rLTA8rRit4rMOhFpbjRFm82w== + /@vue/babel-sugar-inject-h/1.2.2_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/plugin-syntax-jsx': 7.12.1_@babel+core@7.12.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-y8vTo00oRkzQTgufeotjCLPAvlhnpSkcHFEp60+LJUwygGcd5Chrpn5480AQp/thrxVm8m2ifAk0LyFel9oCnw== + /@vue/babel-sugar-v-model/1.2.3_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/plugin-syntax-jsx': 7.12.1_@babel+core@7.12.3 + '@vue/babel-helper-vue-jsx-merge-props': 1.2.1 + '@vue/babel-plugin-transform-vue-jsx': 1.2.1_@babel+core@7.12.3 + camelcase: 5.3.1 + html-tags: 2.0.0 + svg-tags: 1.0.0 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-A2jxx87mySr/ulAsSSyYE8un6SIH0NWHiLaCWpodPCVOlQVODCaSpiR4+IMsmBr73haG+oeCuSvMOM+ttWUqRQ== + /@vue/babel-sugar-v-on/1.2.3_@babel+core@7.12.3: + dependencies: + '@babel/core': 7.12.3 + '@babel/plugin-syntax-jsx': 7.12.1_@babel+core@7.12.3 + '@vue/babel-plugin-transform-vue-jsx': 1.2.1_@babel+core@7.12.3 + camelcase: 5.3.1 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-kt12VJdz/37D3N3eglBywV8GStKNUhNrsxChXIV+o0MwVXORYuhDTHJRKPgLJRb/EY3vM2aRFQdxJBp9CLikjw== + /@vue/cli-overlay/4.5.8: + dev: true + resolution: + integrity: sha512-M6q4QPKQfErHk54ycxBASgBadgdsK45f6v2NWUTAiFXdTtqv1Z7gR8JAbQhiXbni/m9571bLJnZFv5c8uhAHnw== + /@vue/cli-plugin-babel/4.5.8_5b7752e5c9d4bf3fd64f7a4cf6aa43d8: + dependencies: + '@babel/core': 7.12.3 + '@vue/babel-preset-app': 4.5.8_vue@2.6.12 + '@vue/cli-service': 4.5.8_12db9aa67a02336f4285118dbe3a07e2 + '@vue/cli-shared-utils': 4.5.8 + babel-loader: 8.1.0_427212bc1158d185e577033f19ca0757 + cache-loader: 4.1.0_webpack@4.44.2 + thread-loader: 2.1.3_webpack@4.44.2 + webpack: 4.44.2_webpack@4.44.2 + dev: true + peerDependencies: + '@vue/cli-service': ^3.0.0 || ^4.0.0-0 + vue: '*' + resolution: + integrity: sha512-2quuLuCZq2vH29xfp66L5YfUxQvyMX9te5jMslfQGVzvUmFpPbz8ceioZYW9+VqWjg8pzqSuBE+ANJLWdy2RtQ== + /@vue/cli-plugin-eslint/4.5.8_1a4d12566c509b98c7476343ac8d4ae9: + dependencies: + '@vue/cli-service': 4.5.8_12db9aa67a02336f4285118dbe3a07e2 + '@vue/cli-shared-utils': 4.5.8 + eslint: 6.8.0 + eslint-loader: 2.2.1_eslint@6.8.0+webpack@4.44.2 + globby: 9.2.0 + inquirer: 7.3.3 + webpack: 4.44.2_webpack@4.44.2 + yorkie: 2.0.0 + dev: true + peerDependencies: + '@vue/cli-service': ^3.0.0 || ^4.0.0-0 + eslint: '>= 1.6.0 < 7.0.0' + resolution: + integrity: sha512-1lg3K2D/harXbN4FvRoA1b0X9947H+G4Ql/43rxJY39OqswfK/d1ck438Fo9M4l1+zhBSUNDmcjn7Q2EH6qWmA== + /@vue/cli-plugin-router/4.5.8_@vue+cli-service@4.5.8: + dependencies: + '@vue/cli-service': 4.5.8_12db9aa67a02336f4285118dbe3a07e2 + '@vue/cli-shared-utils': 4.5.8 + dev: true + peerDependencies: + '@vue/cli-service': ^3.0.0 || ^4.0.0-0 + resolution: + integrity: sha512-tJwVLdX4jj0Ia/1hsBejRbo4gs0hb2z1z5ert+4Ve5RNdpOKUG69OaPQgXPqvuYSQh9MW7bqG0iJmYtVD+KBNw== + /@vue/cli-plugin-vuex/4.5.8_@vue+cli-service@4.5.8: + dependencies: + '@vue/cli-service': 4.5.8_12db9aa67a02336f4285118dbe3a07e2 + dev: true + peerDependencies: + '@vue/cli-service': ^3.0.0 || ^4.0.0-0 + resolution: + integrity: sha512-wU9WPhay1zBxtdd/HLRYhFRLBbG9lw3YTBJep9sTnYwUeXiEgum4O88Q2j6cwBBPPHMgeMrKMPHS85Jf4hMc0g== + /@vue/cli-service/4.5.8_12db9aa67a02336f4285118dbe3a07e2: + dependencies: + '@intervolga/optimize-cssnano-plugin': 1.0.6_webpack@4.44.2 + '@soda/friendly-errors-webpack-plugin': 1.7.1_webpack@4.44.2 + '@soda/get-current-script': 1.0.2 + '@types/minimist': 1.2.0 + '@types/webpack': 4.41.24 + '@types/webpack-dev-server': 3.11.1 + '@vue/cli-overlay': 4.5.8 + '@vue/cli-plugin-router': 4.5.8_@vue+cli-service@4.5.8 + '@vue/cli-plugin-vuex': 4.5.8_@vue+cli-service@4.5.8 + '@vue/cli-shared-utils': 4.5.8 + '@vue/component-compiler-utils': 3.2.0 + '@vue/preload-webpack-plugin': 1.1.2_e19cda6b5f21e6c518504c22be752ae4 + '@vue/web-component-wrapper': 1.2.0 + acorn: 7.4.1 + acorn-walk: 7.2.0 + address: 1.1.2 + autoprefixer: 9.8.6 + browserslist: 4.14.6 + cache-loader: 4.1.0_webpack@4.44.2 + case-sensitive-paths-webpack-plugin: 2.3.0 + cli-highlight: 2.1.4 + clipboardy: 2.3.0 + cliui: 6.0.0 + copy-webpack-plugin: 5.1.2_webpack@4.44.2 + css-loader: 3.6.0_webpack@4.44.2 + cssnano: 4.1.10 + debug: 4.2.0 + default-gateway: 5.0.5 + dotenv: 8.2.0 + dotenv-expand: 5.1.0 + file-loader: 4.3.0_webpack@4.44.2 + fs-extra: 7.0.1 + globby: 9.2.0 + hash-sum: 2.0.0 + html-webpack-plugin: 3.2.0_webpack@4.44.2 + launch-editor-middleware: 2.2.1 + lodash.defaultsdeep: 4.6.1 + lodash.mapvalues: 4.6.0 + lodash.transform: 4.6.0 + mini-css-extract-plugin: 0.9.0_webpack@4.44.2 + minimist: 1.2.5 + pnp-webpack-plugin: 1.6.4 + portfinder: 1.0.28 + postcss-loader: 3.0.0 + ssri: 7.1.0 + terser-webpack-plugin: 2.3.8_webpack@4.44.2 + thread-loader: 2.1.3_webpack@4.44.2 + url-loader: 2.3.0_file-loader@4.3.0+webpack@4.44.2 + vue-loader: 15.9.5_e6f9754d45536372aa6e5c6b320144db + vue-style-loader: 4.1.2 + vue-template-compiler: 2.6.12 + webpack: 4.44.2_webpack@4.44.2 + webpack-bundle-analyzer: 3.9.0 + webpack-chain: 6.5.1 + webpack-dev-server: 3.11.0_webpack@4.44.2 + webpack-merge: 4.2.2 + dev: true + engines: + node: '>=8' + hasBin: true + optionalDependencies: + vue-loader-v16: /vue-loader/16.0.0-beta.10 + peerDependencies: + '@vue/cli-service': '*' + '@vue/compiler-sfc': ^3.0.0-beta.14 + less-loader: '*' + pug-plain-loader: '*' + raw-loader: '*' + sass-loader: '*' + stylus-loader: '*' + vue-template-compiler: ^2.0.0 + peerDependenciesMeta: + '@vue/compiler-sfc': + optional: true + less-loader: + optional: true + pug-plain-loader: + optional: true + raw-loader: + optional: true + sass-loader: + optional: true + stylus-loader: + optional: true + vue-template-compiler: + optional: true + resolution: + integrity: sha512-YcVEJvA5vQOcfRzhCQDfHxRW9WHvKqlQeiuSvNddfV2uQqKD3ifhsNYiZZuFvbev9qgRUmtmxSafpwYzj/LLBw== + /@vue/cli-shared-utils/4.5.10: + dependencies: + '@hapi/joi': 15.1.1 + chalk: 2.4.2 + execa: 1.0.0 + launch-editor: 2.2.1 + lru-cache: 5.1.1 + node-ipc: 9.1.3 + open: 6.4.0 + ora: 3.4.0 + read-pkg: 5.2.0 + request: 2.88.2 + semver: 6.3.0 + strip-ansi: 6.0.0 + dev: true + resolution: + integrity: sha512-Lid6FflDqcvo/JBIBjUriAQ1RkQaKbBpzXSLEK/JmoKkQRHW/rRhDLGI1dEVyOLYnDEiL1m8o1xPJaplUUiXpA== + /@vue/cli-shared-utils/4.5.8: + dependencies: + '@hapi/joi': 15.1.1 + chalk: 2.4.2 + execa: 1.0.0 + launch-editor: 2.2.1 + lru-cache: 5.1.1 + node-ipc: 9.1.1 + open: 6.4.0 + ora: 3.4.0 + read-pkg: 5.2.0 + request: 2.88.2 + semver: 6.3.0 + strip-ansi: 6.0.0 + dev: true + resolution: + integrity: sha512-pa6oenhBO/5HeDLRSokiwVN01gROACEDy3ESXWuPmragOREGNmmFKtkPHlqeYavGEX6LFp7f0VK3uMX6UYS5mQ== + /@vue/component-compiler-utils/3.2.0: + dependencies: + consolidate: 0.15.1 + hash-sum: 1.0.2 + lru-cache: 4.1.5 + merge-source-map: 1.1.0 + postcss: 7.0.35 + postcss-selector-parser: 6.0.4 + source-map: 0.6.1 + vue-template-es2015-compiler: 1.9.1 + dev: true + optionalDependencies: + prettier: 1.19.1 + resolution: + integrity: sha512-lejBLa7xAMsfiZfNp7Kv51zOzifnb29FwdnMLa96z26kXErPFioSf9BMcePVIQ6/Gc6/mC0UrPpxAWIHyae0vw== + /@vue/preload-webpack-plugin/1.1.2_e19cda6b5f21e6c518504c22be752ae4: + dependencies: + html-webpack-plugin: 3.2.0_webpack@4.44.2 + webpack: 4.44.2_webpack@4.44.2 + dev: true + engines: + node: '>=6.0.0' + peerDependencies: + html-webpack-plugin: '>=2.26.0' + webpack: '>=4.0.0' + resolution: + integrity: sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ== + /@vue/web-component-wrapper/1.2.0: + dev: true + resolution: + integrity: sha512-Xn/+vdm9CjuC9p3Ae+lTClNutrVhsXpzxvoTXXtoys6kVRX9FkueSUAqSWAyZntmVLlR4DosBV4pH8y5Z/HbUw== + /@webassemblyjs/ast/1.9.0: + dependencies: + '@webassemblyjs/helper-module-context': 1.9.0 + '@webassemblyjs/helper-wasm-bytecode': 1.9.0 + '@webassemblyjs/wast-parser': 1.9.0 + dev: true + resolution: + integrity: sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== + /@webassemblyjs/floating-point-hex-parser/1.9.0: + dev: true + resolution: + integrity: sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== + /@webassemblyjs/helper-api-error/1.9.0: + dev: true + resolution: + integrity: sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== + /@webassemblyjs/helper-buffer/1.9.0: + dev: true + resolution: + integrity: sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== + /@webassemblyjs/helper-code-frame/1.9.0: + dependencies: + '@webassemblyjs/wast-printer': 1.9.0 + dev: true + resolution: + integrity: sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== + /@webassemblyjs/helper-fsm/1.9.0: + dev: true + resolution: + integrity: sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== + /@webassemblyjs/helper-module-context/1.9.0: + dependencies: + '@webassemblyjs/ast': 1.9.0 + dev: true + resolution: + integrity: sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== + /@webassemblyjs/helper-wasm-bytecode/1.9.0: + dev: true + resolution: + integrity: sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== + /@webassemblyjs/helper-wasm-section/1.9.0: + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/helper-buffer': 1.9.0 + '@webassemblyjs/helper-wasm-bytecode': 1.9.0 + '@webassemblyjs/wasm-gen': 1.9.0 + dev: true + resolution: + integrity: sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== + /@webassemblyjs/ieee754/1.9.0: + dependencies: + '@xtuc/ieee754': 1.2.0 + dev: true + resolution: + integrity: sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== + /@webassemblyjs/leb128/1.9.0: + dependencies: + '@xtuc/long': 4.2.2 + dev: true + resolution: + integrity: sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== + /@webassemblyjs/utf8/1.9.0: + dev: true + resolution: + integrity: sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== + /@webassemblyjs/wasm-edit/1.9.0: + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/helper-buffer': 1.9.0 + '@webassemblyjs/helper-wasm-bytecode': 1.9.0 + '@webassemblyjs/helper-wasm-section': 1.9.0 + '@webassemblyjs/wasm-gen': 1.9.0 + '@webassemblyjs/wasm-opt': 1.9.0 + '@webassemblyjs/wasm-parser': 1.9.0 + '@webassemblyjs/wast-printer': 1.9.0 + dev: true + resolution: + integrity: sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== + /@webassemblyjs/wasm-gen/1.9.0: + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/helper-wasm-bytecode': 1.9.0 + '@webassemblyjs/ieee754': 1.9.0 + '@webassemblyjs/leb128': 1.9.0 + '@webassemblyjs/utf8': 1.9.0 + dev: true + resolution: + integrity: sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== + /@webassemblyjs/wasm-opt/1.9.0: + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/helper-buffer': 1.9.0 + '@webassemblyjs/wasm-gen': 1.9.0 + '@webassemblyjs/wasm-parser': 1.9.0 + dev: true + resolution: + integrity: sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== + /@webassemblyjs/wasm-parser/1.9.0: + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/helper-api-error': 1.9.0 + '@webassemblyjs/helper-wasm-bytecode': 1.9.0 + '@webassemblyjs/ieee754': 1.9.0 + '@webassemblyjs/leb128': 1.9.0 + '@webassemblyjs/utf8': 1.9.0 + dev: true + resolution: + integrity: sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== + /@webassemblyjs/wast-parser/1.9.0: + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/floating-point-hex-parser': 1.9.0 + '@webassemblyjs/helper-api-error': 1.9.0 + '@webassemblyjs/helper-code-frame': 1.9.0 + '@webassemblyjs/helper-fsm': 1.9.0 + '@xtuc/long': 4.2.2 + dev: true + resolution: + integrity: sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== + /@webassemblyjs/wast-printer/1.9.0: + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/wast-parser': 1.9.0 + '@xtuc/long': 4.2.2 + dev: true + resolution: + integrity: sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== + /@xtuc/ieee754/1.2.0: + dev: true + resolution: + integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + /@xtuc/long/4.2.2: + dev: true + resolution: + integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + /accepts/1.3.7: + dependencies: + mime-types: 2.1.27 + negotiator: 0.6.2 + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== + /acorn-jsx/5.3.1_acorn@7.4.1: + dependencies: + acorn: 7.4.1 + dev: true + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + resolution: + integrity: sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== + /acorn-node/1.8.2: + dependencies: + acorn: 7.4.1 + acorn-walk: 7.2.0 + xtend: 4.0.2 + dev: true + resolution: + integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== + /acorn-walk/7.2.0: + dev: true + engines: + node: '>=0.4.0' + resolution: + integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== + /acorn/6.4.2: + dev: true + engines: + node: '>=0.4.0' + hasBin: true + resolution: + integrity: sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== + /acorn/7.4.1: + dev: true + engines: + node: '>=0.4.0' + hasBin: true + resolution: + integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + /address/1.1.2: + dev: true + engines: + node: '>= 0.12.0' + resolution: + integrity: sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA== + /aggregate-error/3.1.0: + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + /ajv-errors/1.0.1_ajv@6.12.6: + dependencies: + ajv: 6.12.6 + dev: true + peerDependencies: + ajv: '>=5.0.0' + resolution: + integrity: sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== + /ajv-keywords/3.5.2_ajv@6.12.6: + dependencies: + ajv: 6.12.6 + dev: true + peerDependencies: + ajv: ^6.9.1 + resolution: + integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + /ajv/6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + resolution: + integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + /alphanum-sort/1.0.2: + dev: true + resolution: + integrity: sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= + /ansi-align/3.0.0: + dependencies: + string-width: 3.1.0 + dev: true + resolution: + integrity: sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw== + /ansi-colors/3.2.4: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== + /ansi-escapes/4.3.1: + dependencies: + type-fest: 0.11.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== + /ansi-html/0.0.7: + dev: true + engines: + '0': node >= 0.8.0 + hasBin: true + resolution: + integrity: sha1-gTWEAhliqenm/QOflA0S9WynhZ4= + /ansi-regex/2.1.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + /ansi-regex/3.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + /ansi-regex/4.1.0: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + /ansi-regex/5.0.0: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + /ansi-styles/2.2.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + /ansi-styles/3.2.1: + dependencies: + color-convert: 1.9.3 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + /ansi-styles/4.3.0: + dependencies: + color-convert: 2.0.1 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + /any-promise/1.3.0: + dev: true + resolution: + integrity: sha1-q8av7tzqUugJzcA3au0845Y10X8= + /anymatch/2.0.0: + dependencies: + micromatch: 3.1.10 + normalize-path: 2.1.1 + dev: true + resolution: + integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + /anymatch/3.1.1: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.2.2 + dev: true + engines: + node: '>= 8' + resolution: + integrity: sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== + /app-builder-bin/3.5.10: + dev: true + resolution: + integrity: sha512-Jd+GW68lR0NeetgZDo47PdWBEPdnD+p0jEa7XaxjRC8u6Oo/wgJsfKUkORRgr2NpkD19IFKN50P6JYy04XHFLQ== + /app-builder-lib/22.9.1: + dependencies: + 7zip-bin: 5.0.3 + '@develar/schema-utils': 2.6.5 + async-exit-hook: 2.0.1 + bluebird-lst: 1.0.9 + builder-util: 22.9.1 + builder-util-runtime: 8.7.2 + chromium-pickle-js: 0.2.0 + debug: 4.3.1 + ejs: 3.1.5 + electron-publish: 22.9.1 + fs-extra: 9.0.1 + hosted-git-info: 3.0.7 + is-ci: 2.0.0 + isbinaryfile: 4.0.6 + js-yaml: 3.14.1 + lazy-val: 1.0.4 + minimatch: 3.0.4 + normalize-package-data: 2.5.0 + read-config-file: 6.0.0 + sanitize-filename: 1.6.3 + semver: 7.3.4 + temp-file: 3.3.7 + dev: true + engines: + node: '>=8.12.0' + resolution: + integrity: sha512-KfXim/fiNwFW2SKffsjEMdAU7RbbEXn62x5YyXle1b4j9X/wEHW9iwox8De6y0hJdR+/kCC/49lI+VgNwLhV7A== + /aproba/1.2.0: + dev: true + resolution: + integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + /arch/2.2.0: + dev: true + resolution: + integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== + /argparse/1.0.10: + dependencies: + sprintf-js: 1.0.3 + dev: true + resolution: + integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + /arr-diff/4.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + /arr-flatten/1.1.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + /arr-union/3.1.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + /array-flatten/1.1.1: + dev: true + resolution: + integrity: sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + /array-flatten/2.1.2: + dev: true + resolution: + integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== + /array-union/1.0.2: + dependencies: + array-uniq: 1.0.3 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + /array-uniq/1.0.3: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + /array-unique/0.3.2: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + /asn1.js/5.4.1: + dependencies: + bn.js: 4.11.9 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + safer-buffer: 2.1.2 + dev: true + resolution: + integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== + /asn1/0.2.4: + dependencies: + safer-buffer: 2.1.2 + dev: true + resolution: + integrity: sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + /assert-plus/1.0.0: + dev: true + engines: + node: '>=0.8' + resolution: + integrity: sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + /assert/1.5.0: + dependencies: + object-assign: 4.1.1 + util: 0.10.3 + dev: true + resolution: + integrity: sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== + /assign-symbols/1.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + /astral-regex/1.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== + /async-each/1.0.3: + dev: true + resolution: + integrity: sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== + /async-exit-hook/2.0.1: + dev: true + engines: + node: '>=0.12.0' + resolution: + integrity: sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw== + /async-limiter/1.0.1: + dev: true + resolution: + integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== + /async/0.9.2: + dev: true + resolution: + integrity: sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= + /async/2.6.3: + dependencies: + lodash: 4.17.20 + dev: true + resolution: + integrity: sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + /asynckit/0.4.0: + dev: true + resolution: + integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k= + /at-least-node/1.0.0: + dev: true + engines: + node: '>= 4.0.0' + resolution: + integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + /atob/2.1.2: + dev: true + engines: + node: '>= 4.5.0' + hasBin: true + resolution: + integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + /autoprefixer/9.8.6: + dependencies: + browserslist: 4.14.6 + caniuse-lite: 1.0.30001156 + colorette: 1.2.1 + normalize-range: 0.1.2 + num2fraction: 1.2.2 + postcss: 7.0.35 + postcss-value-parser: 4.1.0 + dev: true + hasBin: true + resolution: + integrity: sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg== + /aws-sign2/0.7.0: + dev: true + resolution: + integrity: sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + /aws4/1.11.0: + dev: true + resolution: + integrity: sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== + /axios/0.19.2: + dependencies: + follow-redirects: 1.5.10 + dev: false + resolution: + integrity: sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA== + /axios/0.21.0: + dependencies: + follow-redirects: 1.13.0 + dev: false + resolution: + integrity: sha512-fmkJBknJKoZwem3/IKSSLpkdNXZeBu5Q7GA/aRsr2btgrptmSCxi2oFjZHqGdK9DoTil9PIHlPIZw2EcRJXRvw== + /babel-eslint/10.1.0_eslint@6.8.0: + dependencies: + '@babel/code-frame': 7.10.4 + '@babel/parser': 7.12.5 + '@babel/traverse': 7.12.5 + '@babel/types': 7.12.6 + eslint: 6.8.0 + eslint-visitor-keys: 1.3.0 + resolve: 1.18.1 + dev: true + engines: + node: '>=6' + peerDependencies: + eslint: '>= 4.12.1' + resolution: + integrity: sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg== + /babel-loader/8.1.0_427212bc1158d185e577033f19ca0757: + dependencies: + '@babel/core': 7.12.3 + find-cache-dir: 2.1.0 + loader-utils: 1.4.0 + mkdirp: 0.5.5 + pify: 4.0.1 + schema-utils: 2.7.1 + webpack: 4.44.2_webpack@4.44.2 + dev: true + engines: + node: '>= 6.9' + peerDependencies: + '@babel/core': ^7.0.0 + webpack: '>=2' + resolution: + integrity: sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw== + /babel-plugin-dynamic-import-node/2.3.3: + dependencies: + object.assign: 4.1.2 + dev: true + resolution: + integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== + /balanced-match/1.0.0: + dev: true + 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: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + /base64-js/1.3.1: + dev: true + resolution: + integrity: sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== + /batch/0.6.1: + dev: true + resolution: + integrity: sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= + /bcrypt-pbkdf/1.0.2: + dependencies: + tweetnacl: 0.14.5 + dev: true + resolution: + integrity: sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + /bfj/6.1.2: + dependencies: + bluebird: 3.7.2 + check-types: 8.0.3 + hoopy: 0.1.4 + tryer: 1.0.1 + dev: true + engines: + node: '>= 6.0.0' + resolution: + integrity: sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw== + /big.js/3.2.0: + dev: true + resolution: + integrity: sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q== + /big.js/5.2.2: + dev: true + resolution: + integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + /binary-extensions/1.13.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== + /binary-extensions/2.2.0: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + /bindings/1.5.0: + dependencies: + file-uri-to-path: 1.0.0 + dev: true + optional: true + resolution: + integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + /bluebird-lst/1.0.9: + dependencies: + bluebird: 3.7.2 + dev: true + resolution: + integrity: sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw== + /bluebird/3.7.2: + dev: true + resolution: + integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + /bn.js/4.11.9: + dev: true + resolution: + integrity: sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== + /bn.js/5.1.3: + dev: true + resolution: + integrity: sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ== + /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: true + engines: + node: '>= 0.8' + resolution: + integrity: sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== + /bonjour/3.5.0: + dependencies: + array-flatten: 2.1.2 + deep-equal: 1.1.1 + dns-equal: 1.0.0 + dns-txt: 2.0.2 + multicast-dns: 6.2.3 + multicast-dns-service-types: 1.1.0 + dev: true + resolution: + integrity: sha1-jokKGD2O6aI5OzhExpGkK897yfU= + /boolbase/1.0.0: + dev: true + resolution: + integrity: sha1-aN/1++YMUes3cl6p4+0xDcwed24= + /boolean/3.0.2: + dev: true + optional: true + resolution: + integrity: sha512-RwywHlpCRc3/Wh81MiCKun4ydaIFyW5Ea6JbL6sRCVx5q5irDw7pMXBUFYF/jArQ6YrG36q0kpovc9P/Kd3I4g== + /boxen/4.2.0: + dependencies: + ansi-align: 3.0.0 + camelcase: 5.3.1 + chalk: 3.0.0 + cli-boxes: 2.2.1 + string-width: 4.2.0 + term-size: 2.2.1 + type-fest: 0.8.1 + widest-line: 3.1.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ== + /brace-expansion/1.1.11: + dependencies: + balanced-match: 1.0.0 + concat-map: 0.0.1 + dev: true + 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: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + /braces/3.0.2: + dependencies: + fill-range: 7.0.1 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + /brorand/1.1.0: + dev: true + resolution: + integrity: sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + /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.1 + dev: true + 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: true + 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.1 + dev: true + resolution: + integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + /browserify-rsa/4.0.1: + dependencies: + bn.js: 4.11.9 + randombytes: 2.1.0 + dev: true + resolution: + integrity: sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= + /browserify-sign/4.2.1: + dependencies: + bn.js: 5.1.3 + browserify-rsa: 4.0.1 + create-hash: 1.2.0 + create-hmac: 1.1.7 + elliptic: 6.5.3 + inherits: 2.0.4 + parse-asn1: 5.1.6 + readable-stream: 3.6.0 + safe-buffer: 5.2.1 + dev: true + resolution: + integrity: sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== + /browserify-zlib/0.2.0: + dependencies: + pako: 1.0.11 + dev: true + resolution: + integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== + /browserslist/4.14.6: + dependencies: + caniuse-lite: 1.0.30001156 + electron-to-chromium: 1.3.588 + escalade: 3.1.1 + node-releases: 1.1.65 + dev: true + engines: + node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 + hasBin: true + resolution: + integrity: sha512-zeFYcUo85ENhc/zxHbiIp0LGzzTrE2Pv2JhxvS7kpUb9Q9D38kUX6Bie7pGutJ/5iF5rOxE7CepAuWD56xJ33A== + /buffer-crc32/0.2.13: + dev: true + resolution: + integrity: sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= + /buffer-from/1.1.1: + dev: true + resolution: + integrity: sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + /buffer-indexof/1.1.1: + dev: true + resolution: + integrity: sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== + /buffer-json/2.0.0: + dev: true + resolution: + integrity: sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw== + /buffer-xor/1.0.3: + dev: true + resolution: + integrity: sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= + /buffer/4.9.2: + dependencies: + base64-js: 1.3.1 + ieee754: 1.2.1 + isarray: 1.0.0 + dev: true + resolution: + integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== + /builder-util-runtime/8.7.2: + dependencies: + debug: 4.3.1 + sax: 1.2.4 + dev: true + engines: + node: '>=8.2.5' + resolution: + integrity: sha512-xBqv+8bg6cfnzAQK1k3OGpfaHg+QkPgIgpEkXNhouZ0WiUkyZCftuRc2LYzQrLucFywpa14Xbc6+hTbpq83yRA== + /builder-util/22.9.1: + dependencies: + 7zip-bin: 5.0.3 + '@types/debug': 4.1.5 + '@types/fs-extra': 9.0.6 + app-builder-bin: 3.5.10 + bluebird-lst: 1.0.9 + builder-util-runtime: 8.7.2 + chalk: 4.1.0 + debug: 4.3.1 + fs-extra: 9.0.1 + is-ci: 2.0.0 + js-yaml: 3.14.1 + source-map-support: 0.5.19 + stat-mode: 1.0.0 + temp-file: 3.3.7 + dev: true + resolution: + integrity: sha512-5hN/XOaYu4ZQUS6F+5CXE6jTo+NAnVqAxDuKGSaHWb9bejfv/rluChTLoY3/nJh7RFjkoyVjvFJv7zQDB1QmHw== + /builtin-status-codes/3.0.0: + dev: true + resolution: + integrity: sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= + /bytes/3.0.0: + dev: true + engines: + node: '>= 0.8' + resolution: + integrity: sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= + /bytes/3.1.0: + dev: true + engines: + node: '>= 0.8' + resolution: + integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== + /cacache/12.0.4: + dependencies: + bluebird: 3.7.2 + chownr: 1.1.4 + figgy-pudding: 3.5.2 + glob: 7.1.6 + graceful-fs: 4.2.4 + infer-owner: 1.0.4 + lru-cache: 5.1.1 + mississippi: 3.0.0 + mkdirp: 0.5.5 + 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: true + resolution: + integrity: sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== + /cacache/13.0.1: + dependencies: + chownr: 1.1.4 + figgy-pudding: 3.5.2 + fs-minipass: 2.1.0 + glob: 7.1.6 + graceful-fs: 4.2.4 + infer-owner: 1.0.4 + lru-cache: 5.1.1 + minipass: 3.1.3 + minipass-collect: 1.0.2 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + mkdirp: 0.5.5 + move-concurrently: 1.0.1 + p-map: 3.0.0 + promise-inflight: 1.0.1 + rimraf: 2.7.1 + ssri: 7.1.0 + unique-filename: 1.1.1 + dev: true + engines: + node: '>= 8' + resolution: + integrity: sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w== + /cacache/15.0.5: + dependencies: + '@npmcli/move-file': 1.0.1 + chownr: 2.0.0 + fs-minipass: 2.1.0 + glob: 7.1.6 + infer-owner: 1.0.4 + lru-cache: 6.0.0 + minipass: 3.1.3 + minipass-collect: 1.0.2 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + mkdirp: 1.0.4 + p-map: 4.0.0 + promise-inflight: 1.0.1 + rimraf: 3.0.2 + ssri: 8.0.0 + tar: 6.1.0 + unique-filename: 1.1.1 + dev: true + engines: + node: '>= 10' + resolution: + integrity: sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A== + /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: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + /cache-loader/4.1.0_webpack@4.44.2: + dependencies: + buffer-json: 2.0.0 + find-cache-dir: 3.3.1 + loader-utils: 1.4.0 + mkdirp: 0.5.5 + neo-async: 2.6.2 + schema-utils: 2.7.1 + webpack: 4.44.2_webpack@4.44.2 + dev: true + engines: + node: '>= 8.9.0' + peerDependencies: + webpack: ^4.0.0 + resolution: + integrity: sha512-ftOayxve0PwKzBF/GLsZNC9fJBXl8lkZE3TOsjkboHfVHVkL39iUEs1FO07A33mizmci5Dudt38UZrrYXDtbhw== + /cacheable-request/6.1.0: + dependencies: + clone-response: 1.0.2 + get-stream: 5.2.0 + http-cache-semantics: 4.1.0 + keyv: 3.1.0 + lowercase-keys: 2.0.0 + normalize-url: 4.5.0 + responselike: 1.0.2 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== + /call-bind/1.0.0: + dependencies: + function-bind: 1.1.1 + get-intrinsic: 1.0.1 + dev: true + resolution: + integrity: sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w== + /call-me-maybe/1.0.1: + dev: true + resolution: + integrity: sha1-JtII6onje1y95gJQoV8DHBak1ms= + /caller-callsite/2.0.0: + dependencies: + callsites: 2.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= + /caller-path/2.0.0: + dependencies: + caller-callsite: 2.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= + /callsites/2.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= + /callsites/3.1.0: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + /camel-case/3.0.0: + dependencies: + no-case: 2.3.2 + upper-case: 1.1.3 + dev: true + resolution: + integrity: sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= + /camelcase-css/2.0.1: + dev: true + engines: + node: '>= 6' + resolution: + integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== + /camelcase/5.3.1: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + /camelcase/6.2.0: + dev: true + engines: + node: '>=10' + resolution: + integrity: sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + /caniuse-api/3.0.0: + dependencies: + browserslist: 4.14.6 + caniuse-lite: 1.0.30001156 + lodash.memoize: 4.1.2 + lodash.uniq: 4.5.0 + dev: true + resolution: + integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== + /caniuse-lite/1.0.30001156: + dev: true + resolution: + integrity: sha512-z7qztybA2eFZTB6Z3yvaQBIoJpQtsewRD74adw2UbRWwsRq3jIPvgrQGawBMbfafekQaD21FWuXNcywtTDGGCw== + /case-sensitive-paths-webpack-plugin/2.3.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ== + /caseless/0.12.0: + dev: true + resolution: + integrity: sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + /chalk/1.1.3: + dependencies: + ansi-styles: 2.2.1 + escape-string-regexp: 1.0.5 + has-ansi: 2.0.0 + strip-ansi: 3.0.1 + supports-color: 2.0.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + /chalk/2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + /chalk/3.0.0: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + /chalk/4.1.0: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + engines: + node: '>=10' + resolution: + integrity: sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + /chardet/0.7.0: + dev: true + resolution: + integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + /chart.js/2.9.4: + dependencies: + chartjs-color: 2.4.1 + moment: 2.29.1 + dev: false + resolution: + integrity: sha512-B07aAzxcrikjAPyV+01j7BmOpxtQETxTSlQ26BEYJ+3iUkbNKaOJ/nDbT6JjyqYxseM0ON12COHYdU2cTIjC7A== + /chartjs-color-string/0.6.0: + dependencies: + color-name: 1.1.4 + dev: false + resolution: + integrity: sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A== + /chartjs-color/2.4.1: + dependencies: + chartjs-color-string: 0.6.0 + color-convert: 1.9.3 + dev: false + resolution: + integrity: sha512-haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w== + /check-types/8.0.3: + dev: true + resolution: + integrity: sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ== + /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 + deprecated: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies. + dev: true + optionalDependencies: + fsevents: 1.2.13 + resolution: + integrity: sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== + /chokidar/3.4.3: + dependencies: + anymatch: 3.1.1 + braces: 3.0.2 + glob-parent: 5.1.1 + is-binary-path: 2.1.0 + is-glob: 4.0.1 + normalize-path: 3.0.0 + readdirp: 3.5.0 + dev: true + engines: + node: '>= 8.10.0' + optional: true + optionalDependencies: + fsevents: 2.1.3 + resolution: + integrity: sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ== + /chokidar/3.5.0: + dependencies: + anymatch: 3.1.1 + braces: 3.0.2 + glob-parent: 5.1.1 + is-binary-path: 2.1.0 + is-glob: 4.0.1 + normalize-path: 3.0.0 + readdirp: 3.5.0 + dev: true + engines: + node: '>= 8.10.0' + optionalDependencies: + fsevents: 2.3.1 + resolution: + integrity: sha512-JgQM9JS92ZbFR4P90EvmzNpSGhpPBGBSj10PILeDyYFwp4h2/D9OM03wsJ4zW1fEp4ka2DGrnUeD7FuvQ2aZ2Q== + /chownr/1.1.4: + dev: true + resolution: + integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + /chownr/2.0.0: + dev: true + engines: + node: '>=10' + resolution: + integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + /chrome-trace-event/1.0.2: + dependencies: + tslib: 1.14.1 + dev: true + engines: + node: '>=6.0' + resolution: + integrity: sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== + /chromium-pickle-js/0.2.0: + dev: true + resolution: + integrity: sha1-BKEGZywYsIWrd02YPfo+oTjyIgU= + /ci-info/1.6.0: + dev: true + resolution: + integrity: sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== + /ci-info/2.0.0: + dev: true + resolution: + integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + /cipher-base/1.0.4: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: true + 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: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + /clean-css/4.2.3: + dependencies: + source-map: 0.6.1 + dev: true + engines: + node: '>= 4.0' + resolution: + integrity: sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== + /clean-stack/2.2.0: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + /cli-boxes/2.2.1: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== + /cli-cursor/2.1.0: + dependencies: + restore-cursor: 2.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= + /cli-cursor/3.1.0: + dependencies: + restore-cursor: 3.1.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + /cli-highlight/2.1.4: + dependencies: + chalk: 3.0.0 + highlight.js: 9.18.3 + mz: 2.7.0 + parse5: 5.1.1 + parse5-htmlparser2-tree-adapter: 5.1.1 + yargs: 15.4.1 + dev: true + engines: + node: '>=8.0.0' + npm: '>=5.0.0' + hasBin: true + resolution: + integrity: sha512-s7Zofobm20qriqDoU9sXptQx0t2R9PEgac92mENNm7xaEe1hn71IIMsXMK+6encA6WRCWWxIGQbipr3q998tlQ== + /cli-spinners/2.5.0: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-PC+AmIuK04E6aeSs/pUccSujsTzBhu4HzC2dL+CfJB/Jcc2qTRbEwZQDfIUpt2Xl8BodYBEq8w4fc0kU2I9DjQ== + /cli-width/3.0.0: + dev: true + engines: + node: '>= 10' + resolution: + integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + /clipboard/2.0.6: + dependencies: + good-listener: 1.2.2 + select: 1.1.2 + tiny-emitter: 2.1.0 + dev: false + resolution: + integrity: sha512-g5zbiixBRk/wyKakSwCKd7vQXDjFnAMGHoEyBogG/bw9kTD9GvdAvaoRR1ALcEzt3pVKxZR0pViekPMIS0QyGg== + /clipboardy/2.3.0: + dependencies: + arch: 2.2.0 + execa: 1.0.0 + is-wsl: 2.2.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ== + /cliui/5.0.0: + dependencies: + string-width: 3.1.0 + strip-ansi: 5.2.0 + wrap-ansi: 5.1.0 + dev: true + resolution: + integrity: sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + /cliui/6.0.0: + dependencies: + string-width: 4.2.0 + strip-ansi: 6.0.0 + wrap-ansi: 6.2.0 + dev: true + resolution: + integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + /cliui/7.0.4: + dependencies: + string-width: 4.2.0 + strip-ansi: 6.0.0 + wrap-ansi: 7.0.0 + dev: true + resolution: + integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + /clone-response/1.0.2: + dependencies: + mimic-response: 1.0.1 + dev: true + resolution: + integrity: sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= + /clone/1.0.4: + dev: true + engines: + node: '>=0.8' + resolution: + integrity: sha1-2jCcwmPfFZlMaIypAheco8fNfH4= + /coa/2.0.2: + dependencies: + '@types/q': 1.5.4 + chalk: 2.4.2 + q: 1.5.1 + dev: true + engines: + node: '>= 4.0' + resolution: + integrity: sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== + /collection-visit/1.0.0: + dependencies: + map-visit: 1.0.0 + object-visit: 1.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + /color-convert/1.9.3: + dependencies: + color-name: 1.1.3 + resolution: + integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + /color-convert/2.0.1: + dependencies: + color-name: 1.1.4 + dev: true + engines: + node: '>=7.0.0' + resolution: + integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + /color-name/1.1.3: + resolution: + integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + /color-name/1.1.4: + resolution: + integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + /color-string/1.5.4: + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + dev: true + resolution: + integrity: sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw== + /color/3.1.3: + dependencies: + color-convert: 1.9.3 + color-string: 1.5.4 + dev: true + resolution: + integrity: sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ== + /colorette/1.2.1: + dev: true + resolution: + integrity: sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== + /combined-stream/1.0.8: + dependencies: + delayed-stream: 1.0.0 + dev: true + engines: + node: '>= 0.8' + resolution: + integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + /commander/2.17.1: + dev: true + resolution: + integrity: sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== + /commander/2.19.0: + dev: true + resolution: + integrity: sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== + /commander/2.20.3: + dev: true + resolution: + integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + /commander/5.1.0: + dev: true + engines: + node: '>= 6' + resolution: + integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== + /commondir/1.0.1: + dev: true + resolution: + integrity: sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + /component-emitter/1.3.0: + dev: true + resolution: + integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + /compressible/2.0.18: + dependencies: + mime-db: 1.45.0 + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + /compression/1.7.4: + dependencies: + accepts: 1.3.7 + bytes: 3.0.0 + compressible: 2.0.18 + debug: 2.6.9 + on-headers: 1.0.2 + safe-buffer: 5.1.2 + vary: 1.1.2 + dev: true + engines: + node: '>= 0.8.0' + resolution: + integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + /concat-map/0.0.1: + dev: true + resolution: + integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + /concat-stream/1.6.2: + dependencies: + buffer-from: 1.1.1 + inherits: 2.0.4 + readable-stream: 2.3.7 + typedarray: 0.0.6 + dev: true + engines: + '0': node >= 0.8 + resolution: + integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + /config-chain/1.1.12: + dependencies: + ini: 1.3.8 + proto-list: 1.2.4 + dev: true + optional: true + resolution: + integrity: sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA== + /configstore/5.0.1: + dependencies: + dot-prop: 5.3.0 + graceful-fs: 4.2.4 + make-dir: 3.1.0 + unique-string: 2.0.0 + write-file-atomic: 3.0.3 + xdg-basedir: 4.0.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== + /connect-history-api-fallback/1.6.0: + dev: true + engines: + node: '>=0.8' + resolution: + integrity: sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== + /console-browserify/1.2.0: + dev: true + resolution: + integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== + /consolidate/0.15.1: + dependencies: + bluebird: 3.7.2 + dev: true + engines: + node: '>= 0.10.0' + resolution: + integrity: sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw== + /constants-browserify/1.0.0: + dev: true + resolution: + integrity: sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= + /content-disposition/0.5.3: + dependencies: + safe-buffer: 5.1.2 + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== + /content-type/1.0.4: + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + /convert-source-map/1.7.0: + dependencies: + safe-buffer: 5.1.2 + dev: true + resolution: + integrity: sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== + /cookie-signature/1.0.6: + dev: true + resolution: + integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + /cookie/0.4.0: + dev: true + 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.5 + rimraf: 2.7.1 + run-queue: 1.0.3 + dev: true + resolution: + integrity: sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== + /copy-descriptor/0.1.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + /copy-webpack-plugin/5.1.2_webpack@4.44.2: + dependencies: + cacache: 12.0.4 + find-cache-dir: 2.1.0 + glob-parent: 3.1.0 + globby: 7.1.1 + is-glob: 4.0.1 + loader-utils: 1.4.0 + minimatch: 3.0.4 + normalize-path: 3.0.0 + p-limit: 2.3.0 + schema-utils: 1.0.0 + serialize-javascript: 4.0.0 + webpack: 4.44.2_webpack@4.44.2 + webpack-log: 2.0.0 + dev: true + engines: + node: '>= 6.9.0' + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + resolution: + integrity: sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ== + /core-js-compat/3.6.5: + dependencies: + browserslist: 4.14.6 + semver: 7.0.0 + dev: true + resolution: + integrity: sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng== + /core-js/3.6.5: + requiresBuild: true + resolution: + integrity: sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA== + /core-js/3.8.3: + dev: false + requiresBuild: true + resolution: + integrity: sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q== + /core-util-is/1.0.2: + dev: true + resolution: + integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + /cosmiconfig/5.2.1: + dependencies: + import-fresh: 2.0.0 + is-directory: 0.3.1 + js-yaml: 3.14.0 + parse-json: 4.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== + /create-ecdh/4.0.4: + dependencies: + bn.js: 4.11.9 + elliptic: 6.5.3 + dev: true + resolution: + integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== + /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: true + 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.1 + sha.js: 2.4.11 + dev: true + resolution: + integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + /cross-spawn/5.1.0: + dependencies: + lru-cache: 4.1.5 + shebang-command: 1.2.0 + which: 1.3.1 + dev: true + resolution: + integrity: sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= + /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: true + engines: + node: '>=4.8' + resolution: + integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + /cross-spawn/7.0.3: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + engines: + node: '>= 8' + resolution: + integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + /crypto-browserify/3.12.0: + dependencies: + browserify-cipher: 1.0.1 + browserify-sign: 4.2.1 + create-ecdh: 4.0.4 + create-hash: 1.2.0 + create-hmac: 1.1.7 + diffie-hellman: 5.0.3 + inherits: 2.0.4 + pbkdf2: 3.1.1 + public-encrypt: 4.0.3 + randombytes: 2.1.0 + randomfill: 1.0.4 + dev: true + resolution: + integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== + /crypto-random-string/2.0.0: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== + /css-color-names/0.0.4: + dev: true + resolution: + integrity: sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= + /css-declaration-sorter/4.0.1: + dependencies: + postcss: 7.0.35 + timsort: 0.3.0 + dev: true + engines: + node: '>4' + resolution: + integrity: sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA== + /css-loader/3.6.0_webpack@4.44.2: + dependencies: + camelcase: 5.3.1 + cssesc: 3.0.0 + icss-utils: 4.1.1 + loader-utils: 1.4.0 + normalize-path: 3.0.0 + postcss: 7.0.35 + postcss-modules-extract-imports: 2.0.0 + postcss-modules-local-by-default: 3.0.3 + postcss-modules-scope: 2.2.0 + postcss-modules-values: 3.0.0 + postcss-value-parser: 4.1.0 + schema-utils: 2.7.1 + semver: 6.3.0 + webpack: 4.44.2_webpack@4.44.2 + dev: true + engines: + node: '>= 8.9.0' + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + resolution: + integrity: sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ== + /css-select-base-adapter/0.1.1: + dev: true + resolution: + integrity: sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== + /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: true + resolution: + integrity: sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= + /css-select/2.1.0: + dependencies: + boolbase: 1.0.0 + css-what: 3.4.2 + domutils: 1.7.0 + nth-check: 1.0.2 + dev: true + resolution: + integrity: sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== + /css-tree/1.0.0: + dependencies: + mdn-data: 2.0.12 + source-map: 0.6.1 + dev: true + engines: + node: '>=8.0.0' + resolution: + integrity: sha512-CdVYz/Yuqw0VdKhXPBIgi8DO3NicJVYZNWeX9XcIuSp9ZoFT5IcleVRW07O5rMjdcx1mb+MEJPknTTEW7DdsYw== + /css-tree/1.0.0-alpha.37: + dependencies: + mdn-data: 2.0.4 + source-map: 0.6.1 + dev: true + engines: + node: '>=8.0.0' + resolution: + integrity: sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== + /css-unit-converter/1.1.2: + dev: true + resolution: + integrity: sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA== + /css-what/2.1.3: + dev: true + resolution: + integrity: sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== + /css-what/3.4.2: + dev: true + engines: + node: '>= 6' + resolution: + integrity: sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== + /cssesc/3.0.0: + dev: true + engines: + node: '>=4' + hasBin: true + resolution: + integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + /cssnano-preset-default/4.0.7: + dependencies: + css-declaration-sorter: 4.0.1 + cssnano-util-raw-cache: 4.0.1 + postcss: 7.0.35 + postcss-calc: 7.0.5 + postcss-colormin: 4.0.3 + postcss-convert-values: 4.0.1 + postcss-discard-comments: 4.0.2 + postcss-discard-duplicates: 4.0.2 + postcss-discard-empty: 4.0.1 + postcss-discard-overridden: 4.0.1 + postcss-merge-longhand: 4.0.11 + postcss-merge-rules: 4.0.3 + postcss-minify-font-values: 4.0.2 + postcss-minify-gradients: 4.0.2 + postcss-minify-params: 4.0.2 + postcss-minify-selectors: 4.0.2 + postcss-normalize-charset: 4.0.1 + postcss-normalize-display-values: 4.0.2 + postcss-normalize-positions: 4.0.2 + postcss-normalize-repeat-style: 4.0.2 + postcss-normalize-string: 4.0.2 + postcss-normalize-timing-functions: 4.0.2 + postcss-normalize-unicode: 4.0.1 + postcss-normalize-url: 4.0.1 + postcss-normalize-whitespace: 4.0.2 + postcss-ordered-values: 4.1.2 + postcss-reduce-initial: 4.0.3 + postcss-reduce-transforms: 4.0.2 + postcss-svgo: 4.0.2 + postcss-unique-selectors: 4.0.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA== + /cssnano-util-get-arguments/4.0.0: + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= + /cssnano-util-get-match/4.0.0: + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= + /cssnano-util-raw-cache/4.0.1: + dependencies: + postcss: 7.0.35 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA== + /cssnano-util-same-parent/4.0.1: + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== + /cssnano/4.1.10: + dependencies: + cosmiconfig: 5.2.1 + cssnano-preset-default: 4.0.7 + is-resolvable: 1.1.0 + postcss: 7.0.35 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ== + /csso/4.1.0: + dependencies: + css-tree: 1.0.0 + dev: true + engines: + node: '>=8.0.0' + resolution: + integrity: sha512-h+6w/W1WqXaJA4tb1dk7r5tVbOm97MsKxzwnvOR04UQ6GILroryjMWu3pmCCtL2mLaEStQ0fZgeGiy99mo7iyg== + /cyclist/1.0.1: + dev: true + resolution: + integrity: sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= + /dashdash/1.14.1: + dependencies: + assert-plus: 1.0.0 + dev: true + engines: + node: '>=0.10' + resolution: + integrity: sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + /date-fns/2.17.0: + dev: false + engines: + node: '>=0.11' + resolution: + integrity: sha512-ZEhqxUtEZeGgg9eHNSOAJ8O9xqSgiJdrL0lzSSfMF54x6KXWJiOH/xntSJ9YomJPrYH/p08t6gWjGWq1SDJlSA== + /de-indent/1.0.2: + dev: true + resolution: + integrity: sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0= + /debug/2.6.9: + dependencies: + ms: 2.0.0 + dev: true + resolution: + integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + /debug/3.1.0: + dependencies: + ms: 2.0.0 + dev: false + resolution: + integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== + /debug/3.2.6: + dependencies: + ms: 2.1.2 + dev: true + resolution: + integrity: sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== + /debug/3.2.7: + dependencies: + ms: 2.1.3 + dev: true + resolution: + integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + /debug/4.2.0: + dependencies: + ms: 2.1.2 + dev: true + engines: + node: '>=6.0' + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + resolution: + integrity: sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== + /debug/4.2.0_supports-color@6.1.0: + dependencies: + ms: 2.1.2 + supports-color: 6.1.0 + dev: true + engines: + node: '>=6.0' + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + resolution: + integrity: sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== + /debug/4.3.1: + dependencies: + ms: 2.1.2 + dev: true + engines: + node: '>=6.0' + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + resolution: + integrity: sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + /decamelize/1.2.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + /decode-uri-component/0.2.0: + dev: true + engines: + node: '>=0.10' + resolution: + integrity: sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + /decompress-response/3.3.0: + dependencies: + mimic-response: 1.0.1 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= + /deep-equal/1.1.1: + dependencies: + is-arguments: 1.0.4 + is-date-object: 1.0.2 + is-regex: 1.1.1 + object-is: 1.1.3 + object-keys: 1.1.1 + regexp.prototype.flags: 1.3.0 + dev: true + resolution: + integrity: sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== + /deep-extend/0.6.0: + dev: true + engines: + node: '>=4.0.0' + resolution: + integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + /deep-is/0.1.3: + dev: true + resolution: + integrity: sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + /deepmerge/1.5.2: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ== + /default-gateway/4.2.0: + dependencies: + execa: 1.0.0 + ip-regex: 2.1.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA== + /default-gateway/5.0.5: + dependencies: + execa: 3.4.0 + dev: true + engines: + node: ^8.12.0 || >=9.7.0 + resolution: + integrity: sha512-z2RnruVmj8hVMmAnEJMTIJNijhKCDiGjbLP+BHJFOT7ld3Bo5qcIBpVYDniqhbMIIf+jZDlkP2MkPXiQy/DBLA== + /defaults/1.0.3: + dependencies: + clone: 1.0.4 + dev: true + resolution: + integrity: sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= + /defer-to-connect/1.1.3: + dev: true + resolution: + integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== + /define-properties/1.1.3: + dependencies: + object-keys: 1.1.1 + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + /define-property/0.2.5: + dependencies: + is-descriptor: 0.1.6 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + /define-property/1.0.0: + dependencies: + is-descriptor: 1.0.2 + dev: true + 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: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + /defined/1.0.0: + dev: true + resolution: + integrity: sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= + /del/4.1.1: + dependencies: + '@types/glob': 7.1.3 + globby: 6.1.0 + is-path-cwd: 2.2.0 + is-path-in-cwd: 2.1.0 + p-map: 2.1.0 + pify: 4.0.1 + rimraf: 2.7.1 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== + /delayed-stream/1.0.0: + dev: true + engines: + node: '>=0.4.0' + resolution: + integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + /delegate/3.2.0: + dev: false + resolution: + integrity: sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw== + /depd/1.1.2: + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + /des.js/1.0.1: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + dev: true + resolution: + integrity: sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== + /destroy/1.0.4: + dev: true + resolution: + integrity: sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + /detect-node/2.0.4: + dev: true + resolution: + integrity: sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== + /detective/5.2.0: + dependencies: + acorn-node: 1.8.2 + defined: 1.0.0 + minimist: 1.2.5 + dev: true + engines: + node: '>=0.8.0' + hasBin: true + resolution: + integrity: sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg== + /diacriticless/1.0.1: + dev: false + resolution: + integrity: sha1-592peMKRlgm7SK7h78XeajN71MM= + /diffie-hellman/5.0.3: + dependencies: + bn.js: 4.11.9 + miller-rabin: 4.0.1 + randombytes: 2.1.0 + dev: true + resolution: + integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + /dir-glob/2.2.2: + dependencies: + path-type: 3.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== + /dmg-builder/22.9.1: + dependencies: + app-builder-lib: 22.9.1 + builder-util: 22.9.1 + fs-extra: 9.0.1 + iconv-lite: 0.6.2 + js-yaml: 3.14.1 + sanitize-filename: 1.6.3 + dev: true + resolution: + integrity: sha512-jc+DAirqmQrNT6KbDHdfEp8D1kD0DBTnsLhwUR3MX+hMBun5bT134LQzpdK0GKvd22GqF8L1Cz/NOgaVjscAXQ== + /dns-equal/1.0.0: + dev: true + resolution: + integrity: sha1-s55/HabrCnW6nBcySzR1PEfgZU0= + /dns-packet/1.3.1: + dependencies: + ip: 1.1.5 + safe-buffer: 5.2.1 + dev: true + resolution: + integrity: sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg== + /dns-txt/2.0.2: + dependencies: + buffer-indexof: 1.1.1 + dev: true + resolution: + integrity: sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= + /doctrine/3.0.0: + dependencies: + esutils: 2.0.3 + dev: true + engines: + node: '>=6.0.0' + resolution: + integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + /dom-converter/0.2.0: + dependencies: + utila: 0.4.0 + dev: true + resolution: + integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== + /dom-serializer/0.2.2: + dependencies: + domelementtype: 2.0.2 + entities: 2.1.0 + dev: true + resolution: + integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== + /domain-browser/1.2.0: + dev: true + engines: + node: '>=0.4' + npm: '>=1.2' + resolution: + integrity: sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== + /domelementtype/1.3.1: + dev: true + resolution: + integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + /domelementtype/2.0.2: + dev: true + resolution: + integrity: sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA== + /domhandler/2.4.2: + dependencies: + domelementtype: 1.3.1 + dev: true + resolution: + integrity: sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== + /domutils/1.5.1: + dependencies: + dom-serializer: 0.2.2 + domelementtype: 1.3.1 + dev: true + resolution: + integrity: sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= + /domutils/1.7.0: + dependencies: + dom-serializer: 0.2.2 + domelementtype: 1.3.1 + dev: true + resolution: + integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== + /dot-prop/5.3.0: + dependencies: + is-obj: 2.0.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== + /dotenv-expand/5.1.0: + dev: true + resolution: + integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== + /dotenv/8.2.0: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== + /duplexer/0.1.2: + dev: true + resolution: + integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + /duplexer3/0.1.4: + dev: true + resolution: + integrity: sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= + /duplexify/3.7.1: + dependencies: + end-of-stream: 1.4.4 + inherits: 2.0.4 + readable-stream: 2.3.7 + stream-shift: 1.0.1 + dev: true + resolution: + integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== + /duplexify/4.1.1: + dependencies: + end-of-stream: 1.4.4 + inherits: 2.0.4 + readable-stream: 3.6.0 + stream-shift: 1.0.1 + dev: true + resolution: + integrity: sha512-DY3xVEmVHTv1wSzKNbwoU6nVjzI369Y6sPoqfYr0/xlx3IdX2n94xIszTcjPO8W8ZIv0Wb0PXNcjuZyT4wiICA== + /easy-circular-progress/1.0.4: + dependencies: + core-js: 3.8.3 + vue: 2.6.12 + dev: false + resolution: + integrity: sha512-Spfg9Oo/PvxKL92SRghg5lk2z2ooWNbfPdvv2dJPgo16kgfT4bhFo4v/KM5lgadyos88SobPz/Qv9647nd4K4g== + /easy-stack/1.0.0: + dev: true + engines: + node: '>=6.0.0' + resolution: + integrity: sha1-EskbMIWjfwuqM26UhurEv5Tj54g= + /easy-stack/1.0.1: + dev: true + engines: + node: '>=6.0.0' + resolution: + integrity: sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w== + /ecc-jsbn/0.1.2: + dependencies: + jsbn: 0.1.1 + safer-buffer: 2.1.2 + dev: true + resolution: + integrity: sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + /ee-first/1.1.1: + dev: true + resolution: + integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + /ejs/2.7.4: + dev: true + engines: + node: '>=0.10.0' + requiresBuild: true + resolution: + integrity: sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== + /ejs/3.1.5: + dependencies: + jake: 10.8.2 + dev: true + engines: + node: '>=0.10.0' + hasBin: true + resolution: + integrity: sha512-dldq3ZfFtgVTJMLjOe+/3sROTzALlL9E34V4/sDtUd/KlBSS0s6U1/+WPE1B4sj9CXHJpL1M6rhNJnc9Wbal9w== + /electron-builder/22.9.1: + dependencies: + '@types/yargs': 15.0.12 + app-builder-lib: 22.9.1 + bluebird-lst: 1.0.9 + builder-util: 22.9.1 + builder-util-runtime: 8.7.2 + chalk: 4.1.0 + dmg-builder: 22.9.1 + fs-extra: 9.0.1 + is-ci: 2.0.0 + lazy-val: 1.0.4 + read-config-file: 6.0.0 + sanitize-filename: 1.6.3 + update-notifier: 4.1.3 + yargs: 16.2.0 + dev: true + engines: + node: '>=8.12.0' + hasBin: true + resolution: + integrity: sha512-GXPt8l5Mxwm1QKYopUM6/Tdh9W3695G6Ax+IFyj5pQ51G4SD5L1uq4/RkPSsOgs3rP7jNSV6g6OfDzdtVufPdA== + /electron-devtools-installer/3.1.1: + dependencies: + rimraf: 3.0.2 + semver: 7.3.4 + unzip-crx-3: 0.2.0 + dev: true + resolution: + integrity: sha512-g2D4J6APbpsiIcnLkFMyKZ6bOpEJ0Ltcc2m66F7oKUymyGAt628OWeU9nRZoh1cNmUs/a6Cls2UfOmsZtE496Q== + /electron-publish/22.9.1: + dependencies: + '@types/fs-extra': 9.0.6 + bluebird-lst: 1.0.9 + builder-util: 22.9.1 + builder-util-runtime: 8.7.2 + chalk: 4.1.0 + fs-extra: 9.0.1 + lazy-val: 1.0.4 + mime: 2.4.7 + dev: true + resolution: + integrity: sha512-ducLjRJLEeU87FaTCWaUyDjCoLXHkawkltP2zqS/n2PyGke54ZIql0tBuUheht4EpR8AhFbVJ11spSn1gy8r6w== + /electron-to-chromium/1.3.588: + dev: true + resolution: + integrity: sha512-0zr+ZfytnLeJZxGgmEpPTcItu5Mm4A5zHPZXLfHcGp0mdsk95rmD7ePNewYtK1yIdLbk8Z1U2oTRRfOtR4gbYg== + /electron/9.4.0: + dependencies: + '@electron/get': 1.12.2 + '@types/node': 12.19.13 + extract-zip: 1.7.0 + dev: true + engines: + node: '>= 8.6' + hasBin: true + requiresBuild: true + resolution: + integrity: sha512-hOC4q0jkb+UDYZRy8vrZ1IANnq+jznZnbkD62OEo06nU+hIbp2IrwDRBNuSLmQ3cwZMVir0WSIA1qEVK0PkzGA== + /elliptic/6.5.3: + dependencies: + bn.js: 4.11.9 + 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: true + resolution: + integrity: sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw== + /emoji-regex/7.0.3: + dev: true + resolution: + integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + /emoji-regex/8.0.0: + dev: true + resolution: + integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + /emojis-list/2.1.0: + dev: true + engines: + node: '>= 0.10' + resolution: + integrity: sha1-TapNnbAPmBmIDHn6RXrlsJof04k= + /emojis-list/3.0.0: + dev: true + engines: + node: '>= 4' + resolution: + integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + /encodeurl/1.0.2: + dev: true + engines: + node: '>= 0.8' + resolution: + integrity: sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + /end-of-stream/1.4.4: + dependencies: + once: 1.4.0 + dev: true + resolution: + integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + /enhanced-resolve/4.3.0: + dependencies: + graceful-fs: 4.2.4 + memory-fs: 0.5.0 + tapable: 1.1.3 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ== + /enhanced-resolve/4.5.0: + dependencies: + graceful-fs: 4.2.4 + memory-fs: 0.5.0 + tapable: 1.1.3 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== + /entities/1.1.2: + dev: true + resolution: + integrity: sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== + /entities/2.1.0: + dev: true + resolution: + integrity: sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w== + /env-paths/2.2.0: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA== + /errno/0.1.7: + dependencies: + prr: 1.0.1 + dev: true + hasBin: true + resolution: + integrity: sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== + /errno/0.1.8: + dependencies: + prr: 1.0.1 + dev: true + hasBin: true + resolution: + integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== + /error-ex/1.3.2: + dependencies: + is-arrayish: 0.2.1 + dev: true + resolution: + integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + /error-stack-parser/2.0.6: + dependencies: + stackframe: 1.2.0 + dev: true + resolution: + integrity: sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ== + /es-abstract/1.17.7: + dependencies: + es-to-primitive: 1.2.1 + function-bind: 1.1.1 + has: 1.0.3 + has-symbols: 1.0.1 + is-callable: 1.2.2 + is-regex: 1.1.1 + object-inspect: 1.8.0 + object-keys: 1.1.1 + object.assign: 4.1.2 + string.prototype.trimend: 1.0.2 + string.prototype.trimstart: 1.0.2 + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g== + /es-abstract/1.18.0-next.1: + dependencies: + es-to-primitive: 1.2.1 + function-bind: 1.1.1 + has: 1.0.3 + has-symbols: 1.0.1 + is-callable: 1.2.2 + is-negative-zero: 2.0.0 + is-regex: 1.1.1 + object-inspect: 1.8.0 + object-keys: 1.1.1 + object.assign: 4.1.2 + string.prototype.trimend: 1.0.2 + string.prototype.trimstart: 1.0.2 + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA== + /es-to-primitive/1.2.1: + dependencies: + is-callable: 1.2.2 + is-date-object: 1.0.2 + is-symbol: 1.0.3 + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + /es6-error/4.1.1: + dev: true + optional: true + resolution: + integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== + /escalade/3.1.1: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + /escape-goat/2.1.1: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== + /escape-html/1.0.3: + dev: true + resolution: + integrity: sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + /escape-string-regexp/1.0.5: + dev: true + engines: + node: '>=0.8.0' + resolution: + integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + /escape-string-regexp/4.0.0: + dev: true + engines: + node: '>=10' + optional: true + resolution: + integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + /eslint-loader/2.2.1_eslint@6.8.0+webpack@4.44.2: + dependencies: + eslint: 6.8.0 + loader-fs-cache: 1.0.3 + loader-utils: 1.4.0 + object-assign: 4.1.1 + object-hash: 1.3.1 + rimraf: 2.7.1 + webpack: 4.44.2_webpack@4.44.2 + deprecated: This loader has been deprecated. Please use eslint-webpack-plugin + dev: true + peerDependencies: + eslint: '>=1.6.0 <7.0.0' + webpack: '>=2.0.0 <5.0.0' + resolution: + integrity: sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg== + /eslint-plugin-vue/6.2.2_eslint@6.8.0: + dependencies: + eslint: 6.8.0 + natural-compare: 1.4.0 + semver: 5.7.1 + vue-eslint-parser: 7.1.1_eslint@6.8.0 + dev: true + engines: + node: '>=8.10' + peerDependencies: + eslint: ^5.0.0 || ^6.0.0 + resolution: + integrity: sha512-Nhc+oVAHm0uz/PkJAWscwIT4ijTrK5fqNqz9QB1D35SbbuMG1uB6Yr5AJpvPSWg+WOw7nYNswerYh0kOk64gqQ== + /eslint-scope/4.0.3: + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: true + engines: + node: '>=4.0.0' + resolution: + integrity: sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== + /eslint-scope/5.1.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: true + engines: + node: '>=8.0.0' + resolution: + integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + /eslint-utils/1.4.3: + dependencies: + eslint-visitor-keys: 1.3.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== + /eslint-visitor-keys/1.3.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + /eslint/6.8.0: + dependencies: + '@babel/code-frame': 7.10.4 + ajv: 6.12.6 + chalk: 2.4.2 + cross-spawn: 6.0.5 + debug: 4.2.0 + doctrine: 3.0.0 + eslint-scope: 5.1.1 + eslint-utils: 1.4.3 + eslint-visitor-keys: 1.3.0 + espree: 6.2.1 + esquery: 1.3.1 + esutils: 2.0.3 + file-entry-cache: 5.0.1 + functional-red-black-tree: 1.0.1 + glob-parent: 5.1.1 + globals: 12.4.0 + ignore: 4.0.6 + import-fresh: 3.2.2 + imurmurhash: 0.1.4 + inquirer: 7.3.3 + is-glob: 4.0.1 + js-yaml: 3.14.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.3.0 + lodash: 4.17.20 + minimatch: 3.0.4 + mkdirp: 0.5.5 + natural-compare: 1.4.0 + optionator: 0.8.3 + progress: 2.0.3 + regexpp: 2.0.1 + semver: 6.3.0 + strip-ansi: 5.2.0 + strip-json-comments: 3.1.1 + table: 5.4.6 + text-table: 0.2.0 + v8-compile-cache: 2.2.0 + dev: true + engines: + node: ^8.10.0 || ^10.13.0 || >=11.10.1 + hasBin: true + resolution: + integrity: sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig== + /espree/6.2.1: + dependencies: + acorn: 7.4.1 + acorn-jsx: 5.3.1_acorn@7.4.1 + eslint-visitor-keys: 1.3.0 + dev: true + engines: + node: '>=6.0.0' + resolution: + integrity: sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw== + /esprima/4.0.1: + dev: true + engines: + node: '>=4' + hasBin: true + resolution: + integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + /esquery/1.3.1: + dependencies: + estraverse: 5.2.0 + dev: true + engines: + node: '>=0.10' + resolution: + integrity: sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ== + /esrecurse/4.3.0: + dependencies: + estraverse: 5.2.0 + dev: true + engines: + node: '>=4.0' + resolution: + integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + /estraverse/4.3.0: + dev: true + engines: + node: '>=4.0' + resolution: + integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + /estraverse/5.2.0: + dev: true + engines: + node: '>=4.0' + resolution: + integrity: sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + /esutils/2.0.3: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + /etag/1.8.1: + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + /event-pubsub/4.3.0: + dev: true + engines: + node: '>=4.0.0' + resolution: + integrity: sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ== + /eventemitter3/4.0.7: + dev: true + resolution: + integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + /events/3.2.0: + dev: true + engines: + node: '>=0.8.x' + resolution: + integrity: sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg== + /eventsource/1.0.7: + dependencies: + original: 1.0.2 + dev: true + engines: + node: '>=0.12.0' + resolution: + integrity: sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ== + /evp_bytestokey/1.0.3: + dependencies: + md5.js: 1.3.5 + safe-buffer: 5.2.1 + dev: true + resolution: + integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + /execa/0.8.0: + dependencies: + cross-spawn: 5.1.0 + get-stream: 3.0.0 + is-stream: 1.1.0 + npm-run-path: 2.0.2 + p-finally: 1.0.0 + signal-exit: 3.0.3 + strip-eof: 1.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-2NdrvBtVIX7RkP1t1J08d07PyNo= + /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.3 + strip-eof: 1.0.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + /execa/3.4.0: + dependencies: + cross-spawn: 7.0.3 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.0 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + p-finally: 2.0.1 + signal-exit: 3.0.3 + strip-final-newline: 2.0.0 + dev: true + engines: + node: ^8.12.0 || >=9.7.0 + resolution: + integrity: sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g== + /execa/4.1.0: + dependencies: + cross-spawn: 7.0.3 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.0 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.3 + strip-final-newline: 2.0.0 + dev: true + engines: + node: '>=10' + resolution: + integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== + /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: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + /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.6 + 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: true + engines: + node: '>= 0.10.0' + resolution: + integrity: sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== + /extend-shallow/2.0.1: + dependencies: + is-extendable: 0.1.1 + dev: true + 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: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + /extend/3.0.2: + dev: true + resolution: + integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + /external-editor/3.1.0: + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + /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: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + /extract-zip/1.7.0: + dependencies: + concat-stream: 1.6.2 + debug: 2.6.9 + mkdirp: 0.5.5 + yauzl: 2.10.0 + dev: true + hasBin: true + resolution: + integrity: sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA== + /extsprintf/1.3.0: + dev: true + engines: + '0': node >=0.6.0 + resolution: + integrity: sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + /fast-deep-equal/3.1.3: + dev: true + resolution: + integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + /fast-glob/2.2.7: + dependencies: + '@mrmlnc/readdir-enhanced': 2.2.1 + '@nodelib/fs.stat': 1.1.3 + glob-parent: 3.1.0 + is-glob: 4.0.1 + merge2: 1.4.1 + micromatch: 3.1.10 + dev: true + engines: + node: '>=4.0.0' + resolution: + integrity: sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== + /fast-json-stable-stringify/2.1.0: + dev: true + resolution: + integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + /fast-levenshtein/2.0.6: + dev: true + resolution: + integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + /faye-websocket/0.10.0: + dependencies: + websocket-driver: 0.6.5 + dev: true + engines: + node: '>=0.4.0' + resolution: + integrity: sha1-TkkvjQTftviQA1B/btvy1QHnxvQ= + /faye-websocket/0.11.3: + dependencies: + websocket-driver: 0.7.4 + dev: true + engines: + node: '>=0.8.0' + resolution: + integrity: sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA== + /fd-slicer/1.1.0: + dependencies: + pend: 1.2.0 + dev: true + resolution: + integrity: sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= + /figgy-pudding/3.5.2: + dev: true + resolution: + integrity: sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== + /figures/3.2.0: + dependencies: + escape-string-regexp: 1.0.5 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + /file-entry-cache/5.0.1: + dependencies: + flat-cache: 2.0.1 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== + /file-loader/4.3.0_webpack@4.44.2: + dependencies: + loader-utils: 1.4.0 + schema-utils: 2.7.1 + webpack: 4.44.2_webpack@4.44.2 + dev: true + engines: + node: '>= 8.9.0' + peerDependencies: + webpack: ^4.0.0 + resolution: + integrity: sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA== + /file-uri-to-path/1.0.0: + dev: true + optional: true + resolution: + integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + /filelist/1.0.1: + dependencies: + minimatch: 3.0.4 + dev: true + resolution: + integrity: sha512-8zSK6Nu0DQIC08mUC46sWGXi+q3GGpKydAG36k+JDba6VRpkevvOWUW5a/PhShij4+vHT9M+ghgG7eM+a9JDUQ== + /filesize/3.6.1: + dev: true + engines: + node: '>= 0.4.0' + resolution: + integrity: sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== + /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: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + /fill-range/7.0.1: + dependencies: + to-regex-range: 5.0.1 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + /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: true + engines: + node: '>= 0.8' + resolution: + integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== + /find-cache-dir/0.1.1: + dependencies: + commondir: 1.0.1 + mkdirp: 0.5.5 + pkg-dir: 1.0.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-yN765XyKUqinhPnjHFfHQumToLk= + /find-cache-dir/2.1.0: + dependencies: + commondir: 1.0.1 + make-dir: 2.1.0 + pkg-dir: 3.0.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== + /find-cache-dir/3.3.1: + dependencies: + commondir: 1.0.1 + make-dir: 3.1.0 + pkg-dir: 4.2.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== + /find-up/1.1.2: + dependencies: + path-exists: 2.1.0 + pinkie-promise: 2.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= + /find-up/3.0.0: + dependencies: + locate-path: 3.0.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + /find-up/4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + /flat-cache/2.0.1: + dependencies: + flatted: 2.0.2 + rimraf: 2.6.3 + write: 1.0.3 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== + /flatted/2.0.2: + dev: true + resolution: + integrity: sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== + /flush-write-stream/1.1.1: + dependencies: + inherits: 2.0.4 + readable-stream: 2.3.7 + dev: true + resolution: + integrity: sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== + /follow-redirects/1.13.0: + engines: + node: '>=4.0' + resolution: + integrity: sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA== + /follow-redirects/1.5.10: + dependencies: + debug: 3.1.0 + dev: false + engines: + node: '>=4.0' + resolution: + integrity: sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ== + /for-in/1.0.2: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + /forever-agent/0.6.1: + dev: true + resolution: + integrity: sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + /form-data/2.3.3: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.28 + dev: true + engines: + node: '>= 0.12' + resolution: + integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + /forwarded/0.1.2: + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= + /fragment-cache/0.2.1: + dependencies: + map-cache: 0.2.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + /fresh/0.5.2: + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + /friendly-errors-webpack-plugin/1.7.0_webpack@4.46.0: + dependencies: + chalk: 1.1.3 + error-stack-parser: 2.0.6 + string-width: 2.1.1 + webpack: 4.46.0_webpack@4.46.0 + dev: true + peerDependencies: + webpack: ^2.0.0 || ^3.0.0 || ^4.0.0 + resolution: + integrity: sha512-K27M3VK30wVoOarP651zDmb93R9zF28usW4ocaK3mfQeIEI5BPht/EzZs5E8QLLwbLRJQMwscAjDxYPb1FuNiw== + /from2/2.3.0: + dependencies: + inherits: 2.0.4 + readable-stream: 2.3.7 + dev: true + resolution: + integrity: sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= + /fs-extra/7.0.1: + dependencies: + graceful-fs: 4.2.4 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + engines: + node: '>=6 <7 || >=8' + resolution: + integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + /fs-extra/8.1.0: + dependencies: + graceful-fs: 4.2.4 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + engines: + node: '>=6 <7 || >=8' + resolution: + integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + /fs-extra/9.0.1: + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.4 + jsonfile: 6.1.0 + universalify: 1.0.0 + dev: true + engines: + node: '>=10' + resolution: + integrity: sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== + /fs-minipass/2.1.0: + dependencies: + minipass: 3.1.3 + dev: true + engines: + node: '>= 8' + resolution: + integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + /fs-write-stream-atomic/1.0.10: + dependencies: + graceful-fs: 4.2.4 + iferr: 0.1.5 + imurmurhash: 0.1.4 + readable-stream: 2.3.7 + dev: true + resolution: + integrity: sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= + /fs.realpath/1.0.0: + dev: true + resolution: + integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + /fsevents/1.2.13: + dependencies: + bindings: 1.5.0 + nan: 2.14.2 + deprecated: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2. + dev: true + engines: + node: '>= 4.0' + optional: true + os: + - darwin + requiresBuild: true + resolution: + integrity: sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== + /fsevents/2.1.3: + dev: true + engines: + node: ^8.16.0 || ^10.6.0 || >=11.0.0 + optional: true + os: + - darwin + resolution: + integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== + /fsevents/2.3.1: + dev: true + engines: + node: ^8.16.0 || ^10.6.0 || >=11.0.0 + optional: true + os: + - darwin + resolution: + integrity: sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw== + /function-bind/1.1.1: + dev: true + resolution: + integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + /functional-red-black-tree/1.0.1: + dev: true + resolution: + integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + /gensync/1.0.0-beta.2: + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + /get-caller-file/2.0.5: + dev: true + engines: + node: 6.* || 8.* || >= 10.* + resolution: + integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + /get-intrinsic/1.0.1: + dependencies: + function-bind: 1.1.1 + has: 1.0.3 + has-symbols: 1.0.1 + dev: true + resolution: + integrity: sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg== + /get-stream/3.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= + /get-stream/4.1.0: + dependencies: + pump: 3.0.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + /get-stream/5.2.0: + dependencies: + pump: 3.0.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== + /get-value/2.0.6: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + /getpass/0.1.7: + dependencies: + assert-plus: 1.0.0 + dev: true + resolution: + integrity: sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + /glob-parent/3.1.0: + dependencies: + is-glob: 3.1.0 + path-dirname: 1.0.2 + dev: true + resolution: + integrity: sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + /glob-parent/5.1.1: + dependencies: + is-glob: 4.0.1 + dev: true + engines: + node: '>= 6' + resolution: + integrity: sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== + /glob-to-regexp/0.3.0: + dev: true + resolution: + integrity: sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= + /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: true + resolution: + integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + /global-agent/2.1.12: + dependencies: + boolean: 3.0.2 + core-js: 3.6.5 + es6-error: 4.1.1 + matcher: 3.0.0 + roarr: 2.15.4 + semver: 7.3.4 + serialize-error: 7.0.1 + dev: true + engines: + node: '>=10.0' + optional: true + resolution: + integrity: sha512-caAljRMS/qcDo69X9BfkgrihGUgGx44Fb4QQToNQjsiWh+YlQ66uqYVAdA8Olqit+5Ng0nkz09je3ZzANMZcjg== + /global-dirs/2.1.0: + dependencies: + ini: 1.3.7 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ== + /global-tunnel-ng/2.7.1: + dependencies: + encodeurl: 1.0.2 + lodash: 4.17.20 + npm-conf: 1.1.3 + tunnel: 0.0.6 + dev: true + engines: + node: '>=0.10' + optional: true + resolution: + integrity: sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg== + /globals/11.12.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + /globals/12.4.0: + dependencies: + type-fest: 0.8.1 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== + /globalthis/1.0.1: + dependencies: + define-properties: 1.1.3 + dev: true + engines: + node: '>= 0.4' + optional: true + resolution: + integrity: sha512-mJPRTc/P39NH/iNG4mXa9aIhNymaQikTrnspeCa2ZuJ+mH2QN/rXwtX3XwKrHqWgUQFbNZKtHM105aHzJalElw== + /globby/6.1.0: + dependencies: + array-union: 1.0.2 + glob: 7.1.6 + object-assign: 4.1.1 + pify: 2.3.0 + pinkie-promise: 2.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= + /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: true + engines: + node: '>=4' + resolution: + integrity: sha1-+yzP+UAfhgCUXfral0QMypcrhoA= + /globby/9.2.0: + dependencies: + '@types/glob': 7.1.3 + array-union: 1.0.2 + dir-glob: 2.2.2 + fast-glob: 2.2.7 + glob: 7.1.6 + ignore: 4.0.6 + pify: 4.0.1 + slash: 2.0.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg== + /good-listener/1.2.2: + dependencies: + delegate: 3.2.0 + dev: false + resolution: + integrity: sha1-1TswzfkxPf+33JoNR3CWqm0UXFA= + /got/9.6.0: + dependencies: + '@sindresorhus/is': 0.14.0 + '@szmarczak/http-timer': 1.1.2 + cacheable-request: 6.1.0 + decompress-response: 3.3.0 + duplexer3: 0.1.4 + get-stream: 4.1.0 + lowercase-keys: 1.0.1 + mimic-response: 1.0.1 + p-cancelable: 1.1.0 + to-readable-stream: 1.0.0 + url-parse-lax: 3.0.0 + dev: true + engines: + node: '>=8.6' + resolution: + integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== + /graceful-fs/4.2.4: + dev: true + resolution: + integrity: sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== + /gzip-size/5.1.1: + dependencies: + duplexer: 0.1.2 + pify: 4.0.1 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA== + /handle-thing/2.0.1: + dev: true + resolution: + integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== + /har-schema/2.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + /har-validator/5.1.5: + dependencies: + ajv: 6.12.6 + har-schema: 2.0.0 + deprecated: this library is no longer supported + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== + /has-ansi/2.0.0: + dependencies: + ansi-regex: 2.1.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + /has-flag/3.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + /has-flag/4.0.0: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + /has-symbols/1.0.1: + dev: true + 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: true + 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: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + /has-values/0.1.4: + dev: true + 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: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + /has-yarn/2.1.0: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== + /has/1.0.3: + dependencies: + function-bind: 1.1.1 + dev: true + engines: + node: '>= 0.4.0' + resolution: + integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + /hash-base/3.1.0: + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.0 + safe-buffer: 5.2.1 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + /hash-sum/1.0.2: + dev: true + resolution: + integrity: sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ= + /hash-sum/2.0.0: + dev: true + resolution: + integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg== + /hash.js/1.1.7: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + dev: true + resolution: + integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + /he/1.2.0: + dev: true + hasBin: true + resolution: + integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + /hex-color-regex/1.1.0: + dev: true + resolution: + integrity: sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== + /highlight.js/9.18.3: + dev: true + resolution: + integrity: sha512-zBZAmhSupHIl5sITeMqIJnYCDfAEc3Gdkqj65wC1lpI468MMQeeQkhcIAvk+RylAkxrCcI9xy9piHiXeQ1BdzQ== + /hmac-drbg/1.0.1: + dependencies: + hash.js: 1.1.7 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + dev: true + resolution: + integrity: sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + /hoopy/0.1.4: + dev: true + engines: + node: '>= 6.0.0' + resolution: + integrity: sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== + /hosted-git-info/2.8.8: + dev: true + resolution: + integrity: sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== + /hosted-git-info/3.0.7: + dependencies: + lru-cache: 6.0.0 + dev: true + engines: + node: '>=10' + resolution: + integrity: sha512-fWqc0IcuXs+BmE9orLDyVykAG9GJtGLGuZAAqgcckPgv5xad4AcXGIv8galtQvlwutxSlaMcdw7BUtq2EIvqCQ== + /hpack.js/2.1.6: + dependencies: + inherits: 2.0.4 + obuf: 1.1.2 + readable-stream: 2.3.7 + wbuf: 1.7.3 + dev: true + resolution: + integrity: sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= + /hsl-regex/1.0.0: + dev: true + resolution: + integrity: sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= + /hsla-regex/1.0.0: + dev: true + resolution: + integrity: sha1-wc56MWjIxmFAM6S194d/OyJfnDg= + /html-comment-regex/1.1.2: + dev: true + resolution: + integrity: sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== + /html-entities/1.3.1: + dev: true + resolution: + integrity: sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA== + /html-minifier/3.5.21: + dependencies: + camel-case: 3.0.0 + clean-css: 4.2.3 + commander: 2.17.1 + he: 1.2.0 + param-case: 2.1.1 + relateurl: 0.2.7 + uglify-js: 3.4.10 + dev: true + engines: + node: '>=4' + hasBin: true + resolution: + integrity: sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA== + /html-tags/2.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos= + /html-tags/3.1.0: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg== + /html-webpack-plugin/3.2.0_webpack@4.44.2: + dependencies: + html-minifier: 3.5.21 + loader-utils: 0.2.17 + lodash: 4.17.20 + pretty-error: 2.1.2 + tapable: 1.1.3 + toposort: 1.0.7 + util.promisify: 1.0.0 + webpack: 4.44.2_webpack@4.44.2 + dev: true + 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.6.0 + dev: true + resolution: + integrity: sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== + /http-cache-semantics/4.1.0: + dev: true + resolution: + integrity: sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== + /http-deceiver/1.2.7: + dev: true + resolution: + integrity: sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= + /http-errors/1.6.3: + dependencies: + depd: 1.1.2 + inherits: 2.0.3 + setprototypeof: 1.1.0 + statuses: 1.5.0 + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + /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: true + 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: true + engines: + node: '>= 0.6' + resolution: + integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== + /http-parser-js/0.5.2: + dev: true + resolution: + integrity: sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ== + /http-proxy-middleware/0.19.1: + dependencies: + http-proxy: 1.18.1 + is-glob: 4.0.1 + lodash: 4.17.20 + micromatch: 3.1.10 + dev: true + engines: + node: '>=4.0.0' + resolution: + integrity: sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q== + /http-proxy/1.18.1: + dependencies: + eventemitter3: 4.0.7 + follow-redirects: 1.13.0 + requires-port: 1.0.0 + dev: true + engines: + node: '>=8.0.0' + resolution: + integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + /http-signature/1.2.0: + dependencies: + assert-plus: 1.0.0 + jsprim: 1.4.1 + sshpk: 1.16.1 + dev: true + engines: + node: '>=0.8' + npm: '>=1.3.7' + resolution: + integrity: sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + /https-browserify/1.0.0: + dev: true + resolution: + integrity: sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= + /human-signals/1.1.1: + dev: true + engines: + node: '>=8.12.0' + resolution: + integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== + /iconv-lite/0.4.24: + dependencies: + safer-buffer: 2.1.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + /iconv-lite/0.6.2: + dependencies: + safer-buffer: 2.1.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ== + /icss-utils/4.1.1: + dependencies: + postcss: 7.0.35 + dev: true + engines: + node: '>= 6' + resolution: + integrity: sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== + /ieee754/1.2.1: + dev: true + resolution: + integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + /iferr/0.1.5: + dev: true + resolution: + integrity: sha1-xg7taebY/bazEEofy8ocGS3FtQE= + /ignore/3.3.10: + dev: true + resolution: + integrity: sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== + /ignore/4.0.6: + dev: true + engines: + node: '>= 4' + resolution: + integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + /immediate/3.0.6: + dev: true + resolution: + integrity: sha1-nbHb0Pr43m++D13V5Wu2BigN5ps= + /import-cwd/2.1.0: + dependencies: + import-from: 2.1.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= + /import-fresh/2.0.0: + dependencies: + caller-path: 2.0.0 + resolve-from: 3.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-2BNVwVYS04bGH53dOSLUMEgipUY= + /import-fresh/3.2.2: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw== + /import-from/2.1.0: + dependencies: + resolve-from: 3.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-M1238qev/VOqpHHUuAId7ja387E= + /import-lazy/2.1.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= + /import-local/2.0.0: + dependencies: + pkg-dir: 3.0.0 + resolve-cwd: 2.0.0 + dev: true + engines: + node: '>=6' + hasBin: true + resolution: + integrity: sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== + /imurmurhash/0.1.4: + dev: true + engines: + node: '>=0.8.19' + resolution: + integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o= + /indent-string/4.0.0: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + /indexes-of/1.0.1: + dev: true + resolution: + integrity: sha1-8w9xbI4r00bHtn0985FVZqfAVgc= + /infer-owner/1.0.4: + dev: true + resolution: + integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== + /inflight/1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + resolution: + integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + /inherits/2.0.1: + dev: true + resolution: + integrity: sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= + /inherits/2.0.3: + dev: true + resolution: + integrity: sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + /inherits/2.0.4: + dev: true + resolution: + integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + /ini/1.3.7: + dev: true + resolution: + integrity: sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ== + /ini/1.3.8: + dev: true + resolution: + integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + /inquirer/7.3.3: + dependencies: + ansi-escapes: 4.3.1 + chalk: 4.1.0 + cli-cursor: 3.1.0 + cli-width: 3.0.0 + external-editor: 3.1.0 + figures: 3.2.0 + lodash: 4.17.20 + mute-stream: 0.0.8 + run-async: 2.4.1 + rxjs: 6.6.3 + string-width: 4.2.0 + strip-ansi: 6.0.0 + through: 2.3.8 + dev: true + engines: + node: '>=8.0.0' + resolution: + integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== + /internal-ip/4.3.0: + dependencies: + default-gateway: 4.2.0 + ipaddr.js: 1.9.1 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg== + /ip-regex/2.1.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + /ip/1.1.5: + dev: true + resolution: + integrity: sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= + /ipaddr.js/1.9.1: + dev: true + engines: + node: '>= 0.10' + resolution: + integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + /is-absolute-url/2.1.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= + /is-absolute-url/3.0.3: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== + /is-accessor-descriptor/0.1.6: + dependencies: + kind-of: 3.2.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + /is-accessor-descriptor/1.0.0: + dependencies: + kind-of: 6.0.3 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + /is-arguments/1.0.4: + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== + /is-arrayish/0.2.1: + dev: true + resolution: + integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + /is-arrayish/0.3.2: + dev: true + resolution: + integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== + /is-binary-path/1.0.1: + dependencies: + binary-extensions: 1.13.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + /is-binary-path/2.1.0: + dependencies: + binary-extensions: 2.2.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + /is-buffer/1.1.6: + dev: true + resolution: + integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + /is-callable/1.2.2: + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA== + /is-ci/1.2.1: + dependencies: + ci-info: 1.6.0 + dev: true + hasBin: true + resolution: + integrity: sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== + /is-ci/2.0.0: + dependencies: + ci-info: 2.0.0 + dev: true + hasBin: true + resolution: + integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + /is-color-stop/1.1.0: + dependencies: + css-color-names: 0.0.4 + hex-color-regex: 1.1.0 + hsl-regex: 1.0.0 + hsla-regex: 1.0.0 + rgb-regex: 1.0.1 + rgba-regex: 1.0.0 + dev: true + resolution: + integrity: sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= + /is-core-module/2.1.0: + dependencies: + has: 1.0.3 + dev: true + resolution: + integrity: sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA== + /is-core-module/2.2.0: + dependencies: + has: 1.0.3 + dev: true + resolution: + integrity: sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== + /is-data-descriptor/0.1.4: + dependencies: + kind-of: 3.2.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + /is-data-descriptor/1.0.0: + dependencies: + kind-of: 6.0.3 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + /is-date-object/1.0.2: + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== + /is-descriptor/0.1.6: + dependencies: + is-accessor-descriptor: 0.1.6 + is-data-descriptor: 0.1.4 + kind-of: 5.1.0 + dev: true + 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.3 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + /is-directory/0.3.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= + /is-docker/2.1.1: + dev: true + engines: + node: '>=8' + hasBin: true + resolution: + integrity: sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== + /is-extendable/0.1.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + /is-extendable/1.0.1: + dependencies: + is-plain-object: 2.0.4 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + /is-extglob/2.1.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + /is-fullwidth-code-point/2.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + /is-fullwidth-code-point/3.0.0: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + /is-glob/3.1.0: + dependencies: + is-extglob: 2.1.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + /is-glob/4.0.1: + dependencies: + is-extglob: 2.1.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + /is-installed-globally/0.3.2: + dependencies: + global-dirs: 2.1.0 + is-path-inside: 3.0.2 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g== + /is-negative-zero/2.0.0: + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE= + /is-npm/4.0.0: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig== + /is-number/3.0.0: + dependencies: + kind-of: 3.2.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + /is-number/7.0.0: + dev: true + engines: + node: '>=0.12.0' + resolution: + integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + /is-obj/2.0.0: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== + /is-path-cwd/2.2.0: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== + /is-path-in-cwd/2.1.0: + dependencies: + is-path-inside: 2.1.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ== + /is-path-inside/2.1.0: + dependencies: + path-is-inside: 1.0.2 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== + /is-path-inside/3.0.2: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg== + /is-plain-obj/1.1.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + /is-plain-object/2.0.4: + dependencies: + isobject: 3.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + /is-regex/1.1.1: + dependencies: + has-symbols: 1.0.1 + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg== + /is-resolvable/1.1.0: + dev: true + resolution: + integrity: sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== + /is-stream/1.1.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + /is-stream/2.0.0: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + /is-svg/3.0.0: + dependencies: + html-comment-regex: 1.1.2 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ== + /is-symbol/1.0.3: + dependencies: + has-symbols: 1.0.1 + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== + /is-typedarray/1.0.0: + dev: true + resolution: + integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + /is-windows/1.0.2: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + /is-wsl/1.1.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + /is-wsl/2.2.0: + dependencies: + is-docker: 2.1.1 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + /is-yarn-global/0.3.0: + dev: true + resolution: + integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== + /isarray/1.0.0: + dev: true + resolution: + integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + /isbinaryfile/4.0.6: + dev: true + engines: + node: '>= 8.0.0' + resolution: + integrity: sha512-ORrEy+SNVqUhrCaal4hA4fBzhggQQ+BaLntyPOdoEiwlKZW9BZiJXjg3RMiruE4tPEI3pyVPpySHQF/dKWperg== + /isexe/2.0.0: + dev: true + resolution: + integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + /isobject/2.1.0: + dependencies: + isarray: 1.0.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + /isobject/3.0.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + /isstream/0.1.2: + dev: true + resolution: + integrity: sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + /jake/10.8.2: + dependencies: + async: 0.9.2 + chalk: 2.4.2 + filelist: 1.0.1 + minimatch: 3.0.4 + dev: true + hasBin: true + resolution: + integrity: sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A== + /javascript-stringify/2.0.1: + dev: true + resolution: + integrity: sha512-yV+gqbd5vaOYjqlbk16EG89xB5udgjqQF3C5FAORDg4f/IS1Yc5ERCv5e/57yBcfJYw05V5JyIXabhwb75Xxow== + /jest-worker/25.5.0: + dependencies: + merge-stream: 2.0.0 + supports-color: 7.2.0 + dev: true + engines: + node: '>= 8.3' + resolution: + integrity: sha512-/dsSmUkIy5EBGfv/IjjqmFxrNAUpBERfGs1oHROyD7yxjG/w+t0GOJDX8O1k32ySmd7+a5IhnJU2qQFcJ4n1vw== + /jest-worker/26.6.2: + dependencies: + '@types/node': 14.14.20 + merge-stream: 2.0.0 + supports-color: 7.2.0 + dev: true + engines: + node: '>= 10.13.0' + resolution: + integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== + /jquery-circle-progress/1.2.2: + dependencies: + jquery: 3.5.1 + dev: false + resolution: + integrity: sha1-Jg6RMKyOK1Vy6qepO56Kaye8juo= + /jquery-easing/0.0.1: + dependencies: + jquery: 3.5.1 + dev: false + resolution: + integrity: sha1-s8N1JbVXNNwe4a0JtsM3MYdodxU= + /jquery/3.5.1: + dev: false + resolution: + integrity: sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg== + /js-message/1.0.5: + dev: true + engines: + node: '>=0.6.0' + resolution: + integrity: sha1-IwDSSxrwjondCVvBpMnJz8uJLRU= + /js-message/1.0.7: + dev: true + engines: + node: '>=0.6.0' + resolution: + integrity: sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA== + /js-queue/2.0.0: + dependencies: + easy-stack: 1.0.0 + dev: true + engines: + node: '>=1.0.0' + resolution: + integrity: sha1-NiITz4YPRo8BJfxslqvBdCUx+Ug= + /js-queue/2.0.2: + dependencies: + easy-stack: 1.0.1 + dev: true + engines: + node: '>=1.0.0' + resolution: + integrity: sha512-pbKLsbCfi7kriM3s1J4DDCo7jQkI58zPLHi0heXPzPlj0hjUsm+FesPUbE0DSbIVIK503A36aUBoCN7eMFedkA== + /js-tokens/4.0.0: + dev: true + resolution: + integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + /js-yaml/3.14.0: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + hasBin: true + resolution: + integrity: sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== + /js-yaml/3.14.1: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + hasBin: true + resolution: + integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + /jsbn/0.1.1: + dev: true + resolution: + integrity: sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + /jsesc/0.5.0: + dev: true + hasBin: true + resolution: + integrity: sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + /jsesc/2.5.2: + dev: true + engines: + node: '>=4' + hasBin: true + resolution: + integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + /json-buffer/3.0.0: + dev: true + resolution: + integrity: sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= + /json-parse-better-errors/1.0.2: + dev: true + resolution: + integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + /json-parse-even-better-errors/2.3.1: + dev: true + resolution: + integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + /json-schema-traverse/0.4.1: + dev: true + resolution: + integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + /json-schema/0.2.3: + dev: true + resolution: + integrity: sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + /json-stable-stringify-without-jsonify/1.0.1: + dev: true + resolution: + integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + /json-stringify-safe/5.0.1: + dev: true + resolution: + integrity: sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + /json3/3.3.3: + dev: true + resolution: + integrity: sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== + /json5/0.5.1: + dev: true + hasBin: true + resolution: + integrity: sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= + /json5/1.0.1: + dependencies: + minimist: 1.2.5 + dev: true + hasBin: true + resolution: + integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + /json5/2.1.3: + dependencies: + minimist: 1.2.5 + dev: true + engines: + node: '>=6' + hasBin: true + resolution: + integrity: sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== + /jsonfile/4.0.0: + dev: true + optionalDependencies: + graceful-fs: 4.2.4 + resolution: + integrity: sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + /jsonfile/6.1.0: + dependencies: + universalify: 2.0.0 + dev: true + optionalDependencies: + graceful-fs: 4.2.4 + resolution: + integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + /jsprim/1.4.1: + dependencies: + assert-plus: 1.0.0 + extsprintf: 1.3.0 + json-schema: 0.2.3 + verror: 1.10.0 + dev: true + engines: + '0': node >=0.6.0 + resolution: + integrity: sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + /jszip/3.5.0: + dependencies: + lie: 3.3.0 + pako: 1.0.11 + readable-stream: 2.3.7 + set-immediate-shim: 1.0.1 + dev: true + resolution: + integrity: sha512-WRtu7TPCmYePR1nazfrtuF216cIVon/3GWOvHS9QR5bIwSbnxtdpma6un3jyGGNhHsKCSzn5Ypk+EkDRvTGiFA== + /keyv/3.1.0: + dependencies: + json-buffer: 3.0.0 + dev: true + resolution: + integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== + /killable/1.0.1: + dev: true + resolution: + integrity: sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== + /kind-of/3.2.2: + dependencies: + is-buffer: 1.1.6 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + /kind-of/4.0.0: + dependencies: + is-buffer: 1.1.6 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + /kind-of/5.1.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + /kind-of/6.0.3: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + /latest-version/5.1.0: + dependencies: + package-json: 6.5.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== + /launch-editor-middleware/2.2.1: + dependencies: + launch-editor: 2.2.1 + dev: true + resolution: + integrity: sha512-s0UO2/gEGiCgei3/2UN3SMuUj1phjQN8lcpnvgLSz26fAzNWPQ6Nf/kF5IFClnfU2ehp6LrmKdMU/beveO+2jg== + /launch-editor/2.2.1: + dependencies: + chalk: 2.4.2 + shell-quote: 1.7.2 + dev: true + resolution: + integrity: sha512-On+V7K2uZK6wK7x691ycSUbLD/FyKKelArkbaAMSSJU8JmqmhwN2+mnJDNINuJWSrh2L0kDk+ZQtbC/gOWUwLw== + /lazy-val/1.0.4: + dev: true + resolution: + integrity: sha512-u93kb2fPbIrfzBuLjZE+w+fJbUUMhNDXxNmMfaqNgpfQf1CO5ZSe2LfsnBqVAk7i/2NF48OSoRj+Xe2VT+lE8Q== + /levn/0.3.0: + dependencies: + prelude-ls: 1.1.2 + type-check: 0.3.2 + dev: true + engines: + node: '>= 0.8.0' + resolution: + integrity: sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + /lie/3.3.0: + dependencies: + immediate: 3.0.6 + dev: true + resolution: + integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ== + /lines-and-columns/1.1.6: + dev: true + resolution: + integrity: sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + /loader-fs-cache/1.0.3: + dependencies: + find-cache-dir: 0.1.1 + mkdirp: 0.5.5 + dev: true + resolution: + integrity: sha512-ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA== + /loader-runner/2.4.0: + dev: true + 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: true + resolution: + integrity: sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g= + /loader-utils/1.4.0: + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 1.0.1 + dev: true + engines: + node: '>=4.0.0' + resolution: + integrity: sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== + /loader-utils/2.0.0: + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 2.1.3 + dev: true + engines: + node: '>=8.9.0' + optional: true + resolution: + integrity: sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== + /locate-path/3.0.0: + dependencies: + p-locate: 3.0.0 + path-exists: 3.0.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + /locate-path/5.0.0: + dependencies: + p-locate: 4.1.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + /lodash.assign/4.2.0: + dev: false + resolution: + integrity: sha1-DZnzzNem0mHRm9rrkkUAXShYCOc= + /lodash.clonedeep/4.5.0: + dev: false + resolution: + integrity: sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= + /lodash.defaultsdeep/4.6.1: + dev: true + resolution: + integrity: sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA== + /lodash.filter/4.6.0: + dev: false + resolution: + integrity: sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4= + /lodash.foreach/4.5.0: + dev: false + resolution: + integrity: sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM= + /lodash.isequal/4.5.0: + dev: false + resolution: + integrity: sha1-QVxEePK8wwEgwizhDtMib30+GOA= + /lodash.kebabcase/4.1.1: + dev: true + resolution: + integrity: sha1-hImxyw0p/4gZXM7KRI/21swpXDY= + /lodash.mapvalues/4.6.0: + dev: true + resolution: + integrity: sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw= + /lodash.memoize/4.1.2: + dev: true + resolution: + integrity: sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= + /lodash.merge/4.6.2: + dev: true + resolution: + integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + /lodash.toarray/4.4.0: + dev: true + resolution: + integrity: sha1-JMS/zWsvuji/0FlNsRedjptlZWE= + /lodash.transform/4.6.0: + dev: true + resolution: + integrity: sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A= + /lodash.uniq/4.5.0: + dev: true + resolution: + integrity: sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + /lodash/4.17.20: + dev: true + resolution: + integrity: sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== + /log-symbols/2.2.0: + dependencies: + chalk: 2.4.2 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== + /loglevel/1.7.0: + dev: true + engines: + node: '>= 0.6.0' + resolution: + integrity: sha512-i2sY04nal5jDcagM3FMfG++T69GEEM8CYuOfeOIvmXzOIcwE9a/CJPR0MFM97pYMj/u10lzz7/zd7+qwhrBTqQ== + /lower-case/1.1.4: + dev: true + resolution: + integrity: sha1-miyr0bno4K6ZOkv31YdcOcQujqw= + /lowercase-keys/1.0.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== + /lowercase-keys/2.0.0: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== + /lru-cache/4.1.5: + dependencies: + pseudomap: 1.0.2 + yallist: 2.1.2 + dev: true + resolution: + integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + /lru-cache/5.1.1: + dependencies: + yallist: 3.1.1 + dev: true + resolution: + integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + /lru-cache/6.0.0: + dependencies: + yallist: 4.0.0 + dev: true + engines: + node: '>=10' + resolution: + integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + /make-dir/2.1.0: + dependencies: + pify: 4.0.1 + semver: 5.7.1 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + /make-dir/3.1.0: + dependencies: + semver: 6.3.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + /map-cache/0.2.2: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + /map-visit/1.0.0: + dependencies: + object-visit: 1.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + /matcher/3.0.0: + dependencies: + escape-string-regexp: 4.0.0 + dev: true + engines: + node: '>=10' + optional: true + resolution: + integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng== + /md5.js/1.3.5: + dependencies: + hash-base: 3.1.0 + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: true + resolution: + integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + /mdn-data/2.0.12: + dev: true + resolution: + integrity: sha512-ULbAlgzVb8IqZ0Hsxm6hHSlQl3Jckst2YEQS7fODu9ilNWy2LvcoSY7TRFIktABP2mdppBioc66va90T+NUs8Q== + /mdn-data/2.0.4: + dev: true + resolution: + integrity: sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== + /media-typer/0.3.0: + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + /memory-fs/0.4.1: + dependencies: + errno: 0.1.7 + readable-stream: 2.3.7 + dev: true + resolution: + integrity: sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= + /memory-fs/0.5.0: + dependencies: + errno: 0.1.8 + readable-stream: 2.3.7 + dev: true + engines: + node: '>=4.3.0 <5.0.0 || >=5.10' + resolution: + integrity: sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== + /merge-descriptors/1.0.1: + dev: true + resolution: + integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + /merge-source-map/1.1.0: + dependencies: + source-map: 0.6.1 + dev: true + resolution: + integrity: sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== + /merge-stream/2.0.0: + dev: true + resolution: + integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + /merge2/1.4.1: + dev: true + engines: + node: '>= 8' + resolution: + integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + /methods/1.1.2: + dev: true + 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.3 + nanomatch: 1.2.13 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + /miller-rabin/4.0.1: + dependencies: + bn.js: 4.11.9 + brorand: 1.1.0 + dev: true + hasBin: true + resolution: + integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + /mime-db/1.44.0: + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== + /mime-db/1.45.0: + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w== + /mime-types/2.1.27: + dependencies: + mime-db: 1.44.0 + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== + /mime-types/2.1.28: + dependencies: + mime-db: 1.45.0 + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ== + /mime/1.6.0: + dev: true + engines: + node: '>=4' + hasBin: true + resolution: + integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + /mime/2.4.6: + dev: true + engines: + node: '>=4.0.0' + hasBin: true + resolution: + integrity: sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA== + /mime/2.4.7: + dev: true + engines: + node: '>=4.0.0' + hasBin: true + resolution: + integrity: sha512-dhNd1uA2u397uQk3Nv5LM4lm93WYDUXFn3Fu291FJerns4jyTudqhIWe4W04YLy7Uk1tm1Ore04NpjRvQp/NPA== + /mimic-fn/1.2.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== + /mimic-fn/2.1.0: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + /mimic-response/1.0.1: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== + /mini-css-extract-plugin/0.9.0_webpack@4.44.2: + dependencies: + loader-utils: 1.4.0 + normalize-url: 1.9.1 + schema-utils: 1.0.0 + webpack: 4.44.2_webpack@4.44.2 + webpack-sources: 1.4.3 + dev: true + engines: + node: '>= 6.9.0' + peerDependencies: + webpack: ^4.4.0 + resolution: + integrity: sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A== + /minimalistic-assert/1.0.1: + dev: true + resolution: + integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + /minimalistic-crypto-utils/1.0.1: + dev: true + resolution: + integrity: sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + /minimatch/3.0.4: + dependencies: + brace-expansion: 1.1.11 + dev: true + resolution: + integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + /minimist/1.2.5: + dev: true + resolution: + integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + /minipass-collect/1.0.2: + dependencies: + minipass: 3.1.3 + dev: true + engines: + node: '>= 8' + resolution: + integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== + /minipass-flush/1.0.5: + dependencies: + minipass: 3.1.3 + dev: true + engines: + node: '>= 8' + resolution: + integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== + /minipass-pipeline/1.2.4: + dependencies: + minipass: 3.1.3 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== + /minipass/3.1.3: + dependencies: + yallist: 4.0.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg== + /minizlib/2.1.2: + dependencies: + minipass: 3.1.3 + yallist: 4.0.0 + dev: true + engines: + node: '>= 8' + resolution: + integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + /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: true + 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: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + /mkdirp/0.5.5: + dependencies: + minimist: 1.2.5 + dev: true + hasBin: true + resolution: + integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + /mkdirp/1.0.4: + dev: true + engines: + node: '>=10' + hasBin: true + resolution: + integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + /moment/2.29.1: + dev: false + resolution: + integrity: sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== + /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.5 + rimraf: 2.7.1 + run-queue: 1.0.3 + dev: true + resolution: + integrity: sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= + /ms/2.0.0: + resolution: + integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + /ms/2.1.1: + dev: true + resolution: + integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + /ms/2.1.2: + dev: true + resolution: + integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + /ms/2.1.3: + dev: true + resolution: + integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + /multicast-dns-service-types/1.1.0: + dev: true + resolution: + integrity: sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= + /multicast-dns/6.2.3: + dependencies: + dns-packet: 1.3.1 + thunky: 1.1.0 + dev: true + hasBin: true + resolution: + integrity: sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== + /mute-stream/0.0.8: + dev: true + resolution: + integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + /mz/2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + dev: true + resolution: + integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== + /nan/2.14.2: + dev: true + optional: true + resolution: + integrity: sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== + /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.3 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + /natural-compare/1.4.0: + dev: true + resolution: + integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + /negotiator/0.6.2: + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== + /neo-async/2.6.2: + dev: true + resolution: + integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + /nice-try/1.0.5: + dev: true + resolution: + integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + /no-case/2.3.2: + dependencies: + lower-case: 1.1.4 + dev: true + resolution: + integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== + /node-emoji/1.10.0: + dependencies: + lodash.toarray: 4.4.0 + dev: true + resolution: + integrity: sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw== + /node-forge/0.10.0: + dev: true + engines: + node: '>= 6.0.0' + resolution: + integrity: sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== + /node-ipc/9.1.1: + dependencies: + event-pubsub: 4.3.0 + js-message: 1.0.5 + js-queue: 2.0.0 + dev: true + engines: + node: '>=4.0.0' + resolution: + integrity: sha512-FAyICv0sIRJxVp3GW5fzgaf9jwwRQxAKDJlmNFUL5hOy+W4X/I5AypyHoq0DXXbo9o/gt79gj++4cMr4jVWE/w== + /node-ipc/9.1.3: + dependencies: + event-pubsub: 4.3.0 + js-message: 1.0.7 + js-queue: 2.0.2 + dev: true + engines: + node: '>=8.0.0' + resolution: + integrity: sha512-8RS4RZyS/KMKKYG8mrje+cLxwATe9dBCuOiqKFSWND4oOuKytfuKCiR9yinvhoXF/nGdX/WnbywaUee+9U87zA== + /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.2.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.7 + stream-browserify: 2.0.2 + stream-http: 2.8.3 + string_decoder: 1.3.0 + timers-browserify: 2.0.12 + tty-browserify: 0.0.0 + url: 0.11.0 + util: 0.11.1 + vm-browserify: 1.1.2 + dev: true + resolution: + integrity: sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== + /node-releases/1.1.65: + dev: true + resolution: + integrity: sha512-YpzJOe2WFIW0V4ZkJQd/DGR/zdVwc/pI4Nl1CZrBO19FdRcSTmsuhdttw9rsTzzJLrNcSloLiBbEYx1C4f6gpA== + /normalize-package-data/2.5.0: + dependencies: + hosted-git-info: 2.8.8 + resolve: 1.19.0 + semver: 5.7.1 + validate-npm-package-license: 3.0.4 + dev: true + resolution: + integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + /normalize-path/1.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-MtDkcvkf80VwHBWoMRAY07CpA3k= + /normalize-path/2.1.1: + dependencies: + remove-trailing-separator: 1.1.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + /normalize-path/3.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + /normalize-range/0.1.2: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= + /normalize-url/1.9.1: + dependencies: + object-assign: 4.1.1 + prepend-http: 1.0.4 + query-string: 4.3.4 + sort-keys: 1.1.2 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= + /normalize-url/3.3.0: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== + /normalize-url/4.5.0: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ== + /normalize.css/8.0.1: + dev: true + resolution: + integrity: sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg== + /npm-conf/1.1.3: + dependencies: + config-chain: 1.1.12 + pify: 3.0.0 + dev: true + engines: + node: '>=4' + optional: true + resolution: + integrity: sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw== + /npm-run-path/2.0.2: + dependencies: + path-key: 2.0.1 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + /npm-run-path/4.0.1: + dependencies: + path-key: 3.1.1 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + /nth-check/1.0.2: + dependencies: + boolbase: 1.0.0 + dev: true + resolution: + integrity: sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== + /num2fraction/1.2.2: + dev: true + resolution: + integrity: sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= + /oauth-sign/0.9.0: + dev: true + resolution: + integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + /object-assign/4.1.1: + dev: true + 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: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + /object-hash/1.3.1: + dev: true + engines: + node: '>= 0.10.0' + resolution: + integrity: sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA== + /object-hash/2.0.3: + dev: true + engines: + node: '>= 6' + resolution: + integrity: sha512-JPKn0GMu+Fa3zt3Bmr66JhokJU5BaNBIh4ZeTlaCBzrBsOeXzwcKKAK1tbLiPKgvwmPXsDvvLHoWh5Bm7ofIYg== + /object-inspect/1.8.0: + dev: true + resolution: + integrity: sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA== + /object-is/1.1.3: + dependencies: + define-properties: 1.1.3 + es-abstract: 1.18.0-next.1 + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-teyqLvFWzLkq5B9ki8FVWA902UER2qkxmdA4nLf+wjOLAWgxzCWZNCxpDq9MvE8MmhWNr+I8w3BN49Vx36Y6Xg== + /object-keys/1.1.1: + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + /object-visit/1.0.1: + dependencies: + isobject: 3.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + /object.assign/4.1.2: + dependencies: + call-bind: 1.0.0 + define-properties: 1.1.3 + has-symbols: 1.0.1 + object-keys: 1.1.1 + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== + /object.getownpropertydescriptors/2.1.0: + dependencies: + define-properties: 1.1.3 + es-abstract: 1.17.7 + dev: true + engines: + node: '>= 0.8' + resolution: + integrity: sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg== + /object.pick/1.3.0: + dependencies: + isobject: 3.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + /object.values/1.1.1: + dependencies: + define-properties: 1.1.3 + es-abstract: 1.17.7 + function-bind: 1.1.1 + has: 1.0.3 + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA== + /obuf/1.1.2: + dev: true + resolution: + integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + /on-finished/2.3.0: + dependencies: + ee-first: 1.1.1 + dev: true + engines: + node: '>= 0.8' + resolution: + integrity: sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + /on-headers/1.0.2: + dev: true + engines: + node: '>= 0.8' + resolution: + integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + /once/1.4.0: + dependencies: + wrappy: 1.0.2 + dev: true + resolution: + integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + /onetime/2.0.1: + dependencies: + mimic-fn: 1.2.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= + /onetime/5.1.2: + dependencies: + mimic-fn: 2.1.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + /open/6.4.0: + dependencies: + is-wsl: 1.1.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg== + /opener/1.5.2: + dev: true + hasBin: true + resolution: + integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + /opn/5.5.0: + dependencies: + is-wsl: 1.1.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA== + /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: true + engines: + node: '>= 0.8.0' + resolution: + integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + /ora/3.4.0: + dependencies: + chalk: 2.4.2 + cli-cursor: 2.1.0 + cli-spinners: 2.5.0 + log-symbols: 2.2.0 + strip-ansi: 5.2.0 + wcwidth: 1.0.1 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg== + /original/1.0.2: + dependencies: + url-parse: 1.4.7 + dev: true + resolution: + integrity: sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== + /os-browserify/0.3.0: + dev: true + resolution: + integrity: sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= + /os-tmpdir/1.0.2: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + /p-cancelable/1.1.0: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== + /p-finally/1.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + /p-finally/2.0.1: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw== + /p-limit/2.3.0: + dependencies: + p-try: 2.2.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + /p-limit/3.1.0: + dependencies: + yocto-queue: 0.1.0 + dev: true + engines: + node: '>=10' + resolution: + integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + /p-locate/3.0.0: + dependencies: + p-limit: 2.3.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + /p-locate/4.1.0: + dependencies: + p-limit: 2.3.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + /p-map/2.1.0: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== + /p-map/3.0.0: + dependencies: + aggregate-error: 3.1.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== + /p-map/4.0.0: + dependencies: + aggregate-error: 3.1.0 + dev: true + engines: + node: '>=10' + resolution: + integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + /p-retry/3.0.1: + dependencies: + retry: 0.12.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w== + /p-try/2.2.0: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + /package-json/6.5.0: + dependencies: + got: 9.6.0 + registry-auth-token: 4.2.1 + registry-url: 5.1.0 + semver: 6.3.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== + /pako/1.0.11: + dev: true + resolution: + integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + /parallel-transform/1.2.0: + dependencies: + cyclist: 1.0.1 + inherits: 2.0.4 + readable-stream: 2.3.7 + dev: true + resolution: + integrity: sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== + /param-case/2.1.1: + dependencies: + no-case: 2.3.2 + dev: true + resolution: + integrity: sha1-35T9jPZTHs915r75oIWPvHK+Ikc= + /parent-module/1.0.1: + dependencies: + callsites: 3.1.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + /parse-asn1/5.1.6: + dependencies: + asn1.js: 5.4.1 + browserify-aes: 1.2.0 + evp_bytestokey: 1.0.3 + pbkdf2: 3.1.1 + safe-buffer: 5.2.1 + dev: true + resolution: + integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== + /parse-json/4.0.0: + dependencies: + error-ex: 1.3.2 + json-parse-better-errors: 1.0.2 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + /parse-json/5.1.0: + dependencies: + '@babel/code-frame': 7.12.11 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.1.6 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ== + /parse5-htmlparser2-tree-adapter/5.1.1: + dependencies: + parse5: 5.1.1 + dev: true + resolution: + integrity: sha512-CF+TKjXqoqyDwHqBhFQ+3l5t83xYi6fVT1tQNg+Ye0JRLnTxWvIroCjEp1A0k4lneHNBGnICUf0cfYVYGEazqw== + /parse5/5.1.1: + dev: true + resolution: + integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== + /parseurl/1.3.3: + dev: true + engines: + node: '>= 0.8' + resolution: + integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + /pascalcase/0.1.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + /path-browserify/0.0.1: + dev: true + resolution: + integrity: sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== + /path-dirname/1.0.2: + dev: true + resolution: + integrity: sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + /path-exists/2.1.0: + dependencies: + pinkie-promise: 2.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= + /path-exists/3.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + /path-exists/4.0.0: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + /path-is-absolute/1.0.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + /path-is-inside/1.0.2: + dev: true + resolution: + integrity: sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + /path-key/2.0.1: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + /path-key/3.1.1: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + /path-parse/1.0.6: + dev: true + resolution: + integrity: sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + /path-to-regexp/0.1.7: + dev: true + resolution: + integrity: sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + /path-type/3.0.0: + dependencies: + pify: 3.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== + /pbkdf2/3.1.1: + dependencies: + create-hash: 1.2.0 + create-hmac: 1.1.7 + ripemd160: 2.0.2 + safe-buffer: 5.2.1 + sha.js: 2.4.11 + dev: true + engines: + node: '>=0.12' + resolution: + integrity: sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg== + /pend/1.2.0: + dev: true + resolution: + integrity: sha1-elfrVQpng/kRUzH89GY9XI4AelA= + /performance-now/2.1.0: + dev: true + resolution: + integrity: sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + /picomatch/2.2.2: + dev: true + engines: + node: '>=8.6' + resolution: + integrity: sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== + /pify/2.3.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + /pify/3.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + /pify/4.0.1: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + /pinkie-promise/2.0.1: + dependencies: + pinkie: 2.0.4 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-ITXW36ejWMBprJsXh3YogihFD/o= + /pinkie/2.0.4: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + /pkg-dir/1.0.0: + dependencies: + find-up: 1.1.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-ektQio1bstYp1EcFb/TpyTFM89Q= + /pkg-dir/3.0.0: + dependencies: + find-up: 3.0.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== + /pkg-dir/4.2.0: + dependencies: + find-up: 4.1.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + /pnp-webpack-plugin/1.6.4: + dependencies: + ts-pnp: 1.2.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg== + /portfinder/1.0.28: + dependencies: + async: 2.6.3 + debug: 3.2.7 + mkdirp: 0.5.5 + dev: true + engines: + node: '>= 0.12.0' + resolution: + integrity: sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== + /posix-character-classes/0.1.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + /postcss-calc/7.0.5: + dependencies: + postcss: 7.0.35 + postcss-selector-parser: 6.0.4 + postcss-value-parser: 4.1.0 + dev: true + resolution: + integrity: sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg== + /postcss-colormin/4.0.3: + dependencies: + browserslist: 4.14.6 + color: 3.1.3 + has: 1.0.3 + postcss: 7.0.35 + postcss-value-parser: 3.3.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw== + /postcss-convert-values/4.0.1: + dependencies: + postcss: 7.0.35 + postcss-value-parser: 3.3.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ== + /postcss-discard-comments/4.0.2: + dependencies: + postcss: 7.0.35 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg== + /postcss-discard-duplicates/4.0.2: + dependencies: + postcss: 7.0.35 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ== + /postcss-discard-empty/4.0.1: + dependencies: + postcss: 7.0.35 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w== + /postcss-discard-overridden/4.0.1: + dependencies: + postcss: 7.0.35 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg== + /postcss-functions/3.0.0: + dependencies: + glob: 7.1.6 + object-assign: 4.1.1 + postcss: 6.0.23 + postcss-value-parser: 3.3.1 + dev: true + resolution: + integrity: sha1-DpTQFERwCkgd4g3k1V+yZAVkJQ4= + /postcss-js/2.0.3: + dependencies: + camelcase-css: 2.0.1 + postcss: 7.0.35 + dev: true + resolution: + integrity: sha512-zS59pAk3deu6dVHyrGqmC3oDXBdNdajk4k1RyxeVXCrcEDBUBHoIhE4QTsmhxgzXxsaqFDAkUZfmMa5f/N/79w== + /postcss-load-config/2.1.2: + dependencies: + cosmiconfig: 5.2.1 + import-cwd: 2.1.0 + dev: true + engines: + node: '>= 4' + resolution: + integrity: sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw== + /postcss-loader/3.0.0: + dependencies: + loader-utils: 1.4.0 + postcss: 7.0.35 + postcss-load-config: 2.1.2 + schema-utils: 1.0.0 + dev: true + engines: + node: '>= 6' + resolution: + integrity: sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA== + /postcss-merge-longhand/4.0.11: + dependencies: + css-color-names: 0.0.4 + postcss: 7.0.35 + postcss-value-parser: 3.3.1 + stylehacks: 4.0.3 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw== + /postcss-merge-rules/4.0.3: + dependencies: + browserslist: 4.14.6 + caniuse-api: 3.0.0 + cssnano-util-same-parent: 4.0.1 + postcss: 7.0.35 + postcss-selector-parser: 3.1.2 + vendors: 1.0.4 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ== + /postcss-minify-font-values/4.0.2: + dependencies: + postcss: 7.0.35 + postcss-value-parser: 3.3.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg== + /postcss-minify-gradients/4.0.2: + dependencies: + cssnano-util-get-arguments: 4.0.0 + is-color-stop: 1.1.0 + postcss: 7.0.35 + postcss-value-parser: 3.3.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q== + /postcss-minify-params/4.0.2: + dependencies: + alphanum-sort: 1.0.2 + browserslist: 4.14.6 + cssnano-util-get-arguments: 4.0.0 + postcss: 7.0.35 + postcss-value-parser: 3.3.1 + uniqs: 2.0.0 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg== + /postcss-minify-selectors/4.0.2: + dependencies: + alphanum-sort: 1.0.2 + has: 1.0.3 + postcss: 7.0.35 + postcss-selector-parser: 3.1.2 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g== + /postcss-modules-extract-imports/2.0.0: + dependencies: + postcss: 7.0.35 + dev: true + engines: + node: '>= 6' + resolution: + integrity: sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== + /postcss-modules-local-by-default/3.0.3: + dependencies: + icss-utils: 4.1.1 + postcss: 7.0.35 + postcss-selector-parser: 6.0.4 + postcss-value-parser: 4.1.0 + dev: true + engines: + node: '>= 6' + resolution: + integrity: sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw== + /postcss-modules-scope/2.2.0: + dependencies: + postcss: 7.0.35 + postcss-selector-parser: 6.0.4 + dev: true + engines: + node: '>= 6' + resolution: + integrity: sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== + /postcss-modules-values/3.0.0: + dependencies: + icss-utils: 4.1.1 + postcss: 7.0.35 + dev: true + resolution: + integrity: sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== + /postcss-nested/4.2.3: + dependencies: + postcss: 7.0.35 + postcss-selector-parser: 6.0.4 + dev: true + resolution: + integrity: sha512-rOv0W1HquRCamWy2kFl3QazJMMe1ku6rCFoAAH+9AcxdbpDeBr6k968MLWuLjvjMcGEip01ak09hKOEgpK9hvw== + /postcss-normalize-charset/4.0.1: + dependencies: + postcss: 7.0.35 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g== + /postcss-normalize-display-values/4.0.2: + dependencies: + cssnano-util-get-match: 4.0.0 + postcss: 7.0.35 + postcss-value-parser: 3.3.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ== + /postcss-normalize-positions/4.0.2: + dependencies: + cssnano-util-get-arguments: 4.0.0 + has: 1.0.3 + postcss: 7.0.35 + postcss-value-parser: 3.3.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA== + /postcss-normalize-repeat-style/4.0.2: + dependencies: + cssnano-util-get-arguments: 4.0.0 + cssnano-util-get-match: 4.0.0 + postcss: 7.0.35 + postcss-value-parser: 3.3.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q== + /postcss-normalize-string/4.0.2: + dependencies: + has: 1.0.3 + postcss: 7.0.35 + postcss-value-parser: 3.3.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA== + /postcss-normalize-timing-functions/4.0.2: + dependencies: + cssnano-util-get-match: 4.0.0 + postcss: 7.0.35 + postcss-value-parser: 3.3.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A== + /postcss-normalize-unicode/4.0.1: + dependencies: + browserslist: 4.14.6 + postcss: 7.0.35 + postcss-value-parser: 3.3.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg== + /postcss-normalize-url/4.0.1: + dependencies: + is-absolute-url: 2.1.0 + normalize-url: 3.3.0 + postcss: 7.0.35 + postcss-value-parser: 3.3.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA== + /postcss-normalize-whitespace/4.0.2: + dependencies: + postcss: 7.0.35 + postcss-value-parser: 3.3.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA== + /postcss-ordered-values/4.1.2: + dependencies: + cssnano-util-get-arguments: 4.0.0 + postcss: 7.0.35 + postcss-value-parser: 3.3.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw== + /postcss-reduce-initial/4.0.3: + dependencies: + browserslist: 4.14.6 + caniuse-api: 3.0.0 + has: 1.0.3 + postcss: 7.0.35 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA== + /postcss-reduce-transforms/4.0.2: + dependencies: + cssnano-util-get-match: 4.0.0 + has: 1.0.3 + postcss: 7.0.35 + postcss-value-parser: 3.3.1 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg== + /postcss-selector-parser/3.1.2: + dependencies: + dot-prop: 5.3.0 + indexes-of: 1.0.1 + uniq: 1.0.1 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA== + /postcss-selector-parser/6.0.4: + dependencies: + cssesc: 3.0.0 + indexes-of: 1.0.1 + uniq: 1.0.1 + util-deprecate: 1.0.2 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw== + /postcss-svgo/4.0.2: + dependencies: + is-svg: 3.0.0 + postcss: 7.0.35 + postcss-value-parser: 3.3.1 + svgo: 1.3.2 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw== + /postcss-unique-selectors/4.0.1: + dependencies: + alphanum-sort: 1.0.2 + postcss: 7.0.35 + uniqs: 2.0.0 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg== + /postcss-value-parser/3.3.1: + dev: true + resolution: + integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== + /postcss-value-parser/4.1.0: + dev: true + resolution: + integrity: sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== + /postcss/6.0.23: + dependencies: + chalk: 2.4.2 + source-map: 0.6.1 + supports-color: 5.5.0 + dev: true + engines: + node: '>=4.0.0' + resolution: + integrity: sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== + /postcss/7.0.32: + dependencies: + chalk: 2.4.2 + source-map: 0.6.1 + supports-color: 6.1.0 + dev: true + engines: + node: '>=6.0.0' + resolution: + integrity: sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw== + /postcss/7.0.35: + dependencies: + chalk: 2.4.2 + source-map: 0.6.1 + supports-color: 6.1.0 + dev: true + engines: + node: '>=6.0.0' + resolution: + integrity: sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== + /prelude-ls/1.1.2: + dev: true + engines: + node: '>= 0.8.0' + resolution: + integrity: sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + /prepend-http/1.0.4: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + /prepend-http/2.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= + /prettier/1.19.1: + dev: true + engines: + node: '>=4' + hasBin: true + optional: true + resolution: + integrity: sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== + /pretty-error/2.1.2: + dependencies: + lodash: 4.17.20 + renderkid: 2.0.4 + dev: true + resolution: + integrity: sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== + /pretty-hrtime/1.0.3: + dev: true + engines: + node: '>= 0.8' + resolution: + integrity: sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= + /process-nextick-args/2.0.1: + dev: true + resolution: + integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + /process/0.11.10: + dev: true + engines: + node: '>= 0.6.0' + resolution: + integrity: sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + /progress/2.0.3: + dev: true + engines: + node: '>=0.4.0' + resolution: + integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + /promise-inflight/1.0.1: + dev: true + resolution: + integrity: sha1-mEcocL8igTL8vdhoEputEsPAKeM= + /proto-list/1.2.4: + dev: true + optional: true + resolution: + integrity: sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= + /proxy-addr/2.0.6: + dependencies: + forwarded: 0.1.2 + ipaddr.js: 1.9.1 + dev: true + engines: + node: '>= 0.10' + resolution: + integrity: sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw== + /prr/1.0.1: + dev: true + resolution: + integrity: sha1-0/wRS6BplaRexok/SEzrHXj19HY= + /pseudomap/1.0.2: + dev: true + resolution: + integrity: sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + /psl/1.8.0: + dev: true + resolution: + integrity: sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + /public-encrypt/4.0.3: + dependencies: + bn.js: 4.11.9 + browserify-rsa: 4.0.1 + create-hash: 1.2.0 + parse-asn1: 5.1.6 + randombytes: 2.1.0 + safe-buffer: 5.2.1 + dev: true + resolution: + integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + /pump/2.0.1: + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: true + resolution: + integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== + /pump/3.0.0: + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: true + 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: true + resolution: + integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== + /pumpify/2.0.1: + dependencies: + duplexify: 4.1.1 + inherits: 2.0.4 + pump: 3.0.0 + dev: true + resolution: + integrity: sha512-m7KOje7jZxrmutanlkS1daj1dS6z6BgslzOXmcSEpIlCxM3VJH7lG5QLeck/6hgF6F4crFf01UtQmNsJfweTAw== + /punycode/1.3.2: + dev: true + resolution: + integrity: sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + /punycode/1.4.1: + dev: true + resolution: + integrity: sha1-wNWmOycYgArY4esPpSachN1BhF4= + /punycode/2.1.1: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + /pupa/2.1.1: + dependencies: + escape-goat: 2.1.1 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== + /purgecss/2.3.0: + dependencies: + commander: 5.1.0 + glob: 7.1.6 + postcss: 7.0.32 + postcss-selector-parser: 6.0.4 + dev: true + hasBin: true + resolution: + integrity: sha512-BE5CROfVGsx2XIhxGuZAT7rTH9lLeQx/6M0P7DTXQH4IUc3BBzs9JUzt4yzGf3JrH9enkeq6YJBe9CTtkm1WmQ== + /q/1.5.1: + dev: true + engines: + node: '>=0.6.0' + teleport: '>=0.2.0' + resolution: + integrity: sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + /qs/6.5.2: + dev: true + engines: + node: '>=0.6' + resolution: + integrity: sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + /qs/6.7.0: + dev: true + engines: + node: '>=0.6' + resolution: + integrity: sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== + /qs/6.9.4: + dev: false + engines: + node: '>=0.6' + resolution: + integrity: sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ== + /query-string/4.3.4: + dependencies: + object-assign: 4.1.1 + strict-uri-encode: 1.1.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-u7aTucqRXCMlFbIosaArYJBD2+s= + /querystring-es3/0.2.1: + dev: true + engines: + node: '>=0.4.x' + resolution: + integrity: sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= + /querystring/0.2.0: + dev: true + engines: + node: '>=0.4.x' + resolution: + integrity: sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + /querystringify/2.2.0: + dev: true + resolution: + integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + /randombytes/2.1.0: + dependencies: + safe-buffer: 5.2.1 + dev: true + resolution: + integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + /randomfill/1.0.4: + dependencies: + randombytes: 2.1.0 + safe-buffer: 5.2.1 + dev: true + resolution: + integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + /range-parser/1.2.1: + dev: true + 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: true + engines: + node: '>= 0.8' + resolution: + integrity: sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== + /rc/1.2.8: + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.5 + strip-json-comments: 2.0.1 + dev: true + hasBin: true + resolution: + integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + /read-config-file/6.0.0: + dependencies: + dotenv: 8.2.0 + dotenv-expand: 5.1.0 + js-yaml: 3.14.1 + json5: 2.1.3 + lazy-val: 1.0.4 + dev: true + engines: + node: '>=10.0.0' + resolution: + integrity: sha512-PHjROSdpceKUmqS06wqwP92VrM46PZSTubmNIMJ5DrMwg1OgenSTSEHIkCa6TiOJ+y/J0xnG1fFwG3M+Oi1aNA== + /read-pkg/5.2.0: + dependencies: + '@types/normalize-package-data': 2.4.0 + normalize-package-data: 2.5.0 + parse-json: 5.1.0 + type-fest: 0.6.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + /readable-stream/2.3.7: + 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: true + resolution: + integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + /readable-stream/3.6.0: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + dev: true + engines: + node: '>= 6' + resolution: + integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + /readdirp/2.2.1: + dependencies: + graceful-fs: 4.2.4 + micromatch: 3.1.10 + readable-stream: 2.3.7 + dev: true + engines: + node: '>=0.10' + resolution: + integrity: sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + /readdirp/3.5.0: + dependencies: + picomatch: 2.2.2 + dev: true + engines: + node: '>=8.10.0' + resolution: + integrity: sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== + /reduce-css-calc/2.1.7: + dependencies: + css-unit-converter: 1.1.2 + postcss-value-parser: 3.3.1 + dev: true + resolution: + integrity: sha512-fDnlZ+AybAS3C7Q9xDq5y8A2z+lT63zLbynew/lur/IR24OQF5x98tfNwf79mzEdfywZ0a2wpM860FhFfMxZlA== + /regenerate-unicode-properties/8.2.0: + dependencies: + regenerate: 1.4.2 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== + /regenerate/1.4.2: + dev: true + resolution: + integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + /regenerator-runtime/0.13.7: + dev: true + resolution: + integrity: sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== + /regenerator-transform/0.14.5: + dependencies: + '@babel/runtime': 7.12.5 + dev: true + resolution: + integrity: sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== + /regex-not/1.0.2: + dependencies: + extend-shallow: 3.0.2 + safe-regex: 1.1.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + /regexp.prototype.flags/1.3.0: + dependencies: + define-properties: 1.1.3 + es-abstract: 1.17.7 + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ== + /regexpp/2.0.1: + dev: true + engines: + node: '>=6.5.0' + resolution: + integrity: sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== + /regexpu-core/4.7.1: + dependencies: + regenerate: 1.4.2 + regenerate-unicode-properties: 8.2.0 + regjsgen: 0.5.2 + regjsparser: 0.6.4 + unicode-match-property-ecmascript: 1.0.4 + unicode-match-property-value-ecmascript: 1.2.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== + /registry-auth-token/4.2.1: + dependencies: + rc: 1.2.8 + dev: true + engines: + node: '>=6.0.0' + resolution: + integrity: sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw== + /registry-url/5.1.0: + dependencies: + rc: 1.2.8 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== + /regjsgen/0.5.2: + dev: true + resolution: + integrity: sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== + /regjsparser/0.6.4: + dependencies: + jsesc: 0.5.0 + dev: true + hasBin: true + resolution: + integrity: sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw== + /relateurl/0.2.7: + dev: true + engines: + node: '>= 0.10' + resolution: + integrity: sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= + /remove-trailing-separator/1.1.0: + dev: true + resolution: + integrity: sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + /renderkid/2.0.4: + dependencies: + css-select: 1.2.0 + dom-converter: 0.2.0 + htmlparser2: 3.10.1 + lodash: 4.17.20 + strip-ansi: 3.0.1 + dev: true + resolution: + integrity: sha512-K2eXrSOJdq+HuKzlcjOlGoOarUu5SDguDEhE7+Ah4zuOWL40j8A/oHvLlLob9PSTNvVnBd+/q0Er1QfpEuem5g== + /repeat-element/1.1.3: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + /repeat-string/1.6.1: + dev: true + engines: + node: '>=0.10' + resolution: + integrity: sha1-jcrkcOHIirwtYA//Sndihtp15jc= + /request/2.88.2: + dependencies: + aws-sign2: 0.7.0 + aws4: 1.11.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.5 + http-signature: 1.2.0 + is-typedarray: 1.0.0 + isstream: 0.1.2 + json-stringify-safe: 5.0.1 + mime-types: 2.1.28 + oauth-sign: 0.9.0 + performance-now: 2.1.0 + qs: 6.5.2 + safe-buffer: 5.2.1 + tough-cookie: 2.5.0 + tunnel-agent: 0.6.0 + uuid: 3.4.0 + deprecated: 'request has been deprecated, see https://github.com/request/request/issues/3142' + dev: true + engines: + node: '>= 6' + resolution: + integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + /require-directory/2.1.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + /require-main-filename/2.0.0: + dev: true + resolution: + integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + /requires-port/1.0.0: + dev: true + resolution: + integrity: sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= + /resize-observer-polyfill/1.5.1: + dev: false + resolution: + integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== + /resolve-cwd/2.0.0: + dependencies: + resolve-from: 3.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= + /resolve-from/3.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-six699nWiBvItuZTM17rywoYh0g= + /resolve-from/4.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + /resolve-url/0.2.1: + deprecated: 'https://github.com/lydell/resolve-url#deprecated' + dev: true + resolution: + integrity: sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + /resolve/1.18.1: + dependencies: + is-core-module: 2.1.0 + path-parse: 1.0.6 + dev: true + resolution: + integrity: sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA== + /resolve/1.19.0: + dependencies: + is-core-module: 2.2.0 + path-parse: 1.0.6 + dev: true + resolution: + integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== + /responselike/1.0.2: + dependencies: + lowercase-keys: 1.0.1 + dev: true + resolution: + integrity: sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= + /restore-cursor/2.0.0: + dependencies: + onetime: 2.0.1 + signal-exit: 3.0.3 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-n37ih/gv0ybU/RYpI9YhKe7g368= + /restore-cursor/3.1.0: + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.3 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + /ret/0.1.15: + dev: true + engines: + node: '>=0.12' + resolution: + integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + /retry/0.12.0: + dev: true + engines: + node: '>= 4' + resolution: + integrity: sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= + /rgb-regex/1.0.1: + dev: true + resolution: + integrity: sha1-wODWiC3w4jviVKR16O3UGRX+rrE= + /rgba-regex/1.0.0: + dev: true + resolution: + integrity: sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= + /rimraf/2.6.3: + dependencies: + glob: 7.1.6 + dev: true + hasBin: true + resolution: + integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== + /rimraf/2.7.1: + dependencies: + glob: 7.1.6 + dev: true + hasBin: true + resolution: + integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + /rimraf/3.0.2: + dependencies: + glob: 7.1.6 + dev: true + hasBin: true + resolution: + integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + /ripemd160/2.0.2: + dependencies: + hash-base: 3.1.0 + inherits: 2.0.4 + dev: true + resolution: + integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + /roarr/2.15.4: + dependencies: + boolean: 3.0.2 + detect-node: 2.0.4 + globalthis: 1.0.1 + json-stringify-safe: 5.0.1 + semver-compare: 1.0.0 + sprintf-js: 1.1.2 + dev: true + engines: + node: '>=8.0' + optional: true + resolution: + integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A== + /run-async/2.4.1: + dev: true + engines: + node: '>=0.12.0' + resolution: + integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== + /run-queue/1.0.3: + dependencies: + aproba: 1.2.0 + dev: true + resolution: + integrity: sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= + /rxjs/6.6.3: + dependencies: + tslib: 1.14.1 + dev: true + engines: + npm: '>=2.0.0' + resolution: + integrity: sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== + /safe-buffer/5.1.2: + dev: true + resolution: + integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + /safe-buffer/5.2.1: + dev: true + resolution: + integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + /safe-regex/1.1.0: + dependencies: + ret: 0.1.15 + dev: true + resolution: + integrity: sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + /safer-buffer/2.1.2: + dev: true + resolution: + integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + /sanitize-filename/1.6.3: + dependencies: + truncate-utf8-bytes: 1.0.2 + dev: true + resolution: + integrity: sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg== + /sax/1.2.4: + dev: true + resolution: + integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + /schema-utils/1.0.0: + dependencies: + ajv: 6.12.6 + ajv-errors: 1.0.1_ajv@6.12.6 + ajv-keywords: 3.5.2_ajv@6.12.6 + dev: true + engines: + node: '>= 4' + resolution: + integrity: sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== + /schema-utils/2.7.1: + dependencies: + '@types/json-schema': 7.0.6 + ajv: 6.12.6 + ajv-keywords: 3.5.2_ajv@6.12.6 + dev: true + engines: + node: '>= 8.9.0' + resolution: + integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== + /select-hose/2.0.0: + dev: true + resolution: + integrity: sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= + /select/1.1.2: + dev: false + resolution: + integrity: sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0= + /selfsigned/1.10.8: + dependencies: + node-forge: 0.10.0 + dev: true + resolution: + integrity: sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w== + /semver-compare/1.0.0: + dev: true + optional: true + resolution: + integrity: sha1-De4hahyUGrN+nvsXiPavxf9VN/w= + /semver-diff/3.1.1: + dependencies: + semver: 6.3.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== + /semver/5.7.1: + dev: true + hasBin: true + resolution: + integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + /semver/6.3.0: + dev: true + hasBin: true + resolution: + integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + /semver/7.0.0: + dev: true + hasBin: true + resolution: + integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + /semver/7.3.4: + dependencies: + lru-cache: 6.0.0 + dev: true + engines: + node: '>=10' + hasBin: true + resolution: + integrity: sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== + /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: true + engines: + node: '>= 0.8.0' + resolution: + integrity: sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== + /serialize-error/7.0.1: + dependencies: + type-fest: 0.13.1 + dev: true + engines: + node: '>=10' + optional: true + resolution: + integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw== + /serialize-javascript/4.0.0: + dependencies: + randombytes: 2.1.0 + dev: true + resolution: + integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== + /serve-index/1.9.1: + dependencies: + accepts: 1.3.7 + batch: 0.6.1 + debug: 2.6.9 + escape-html: 1.0.3 + http-errors: 1.6.3 + mime-types: 2.1.27 + parseurl: 1.3.3 + dev: true + engines: + node: '>= 0.8.0' + resolution: + integrity: sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= + /serve-static/1.14.1: + dependencies: + encodeurl: 1.0.2 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.17.1 + dev: true + engines: + node: '>= 0.8.0' + resolution: + integrity: sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== + /set-blocking/2.0.0: + dev: true + resolution: + integrity: sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + /set-immediate-shim/1.0.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E= + /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: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + /setimmediate/1.0.5: + dev: true + resolution: + integrity: sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + /setprototypeof/1.1.0: + dev: true + resolution: + integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + /setprototypeof/1.1.1: + dev: true + resolution: + integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== + /sha.js/2.4.11: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: true + hasBin: true + resolution: + integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + /shebang-command/1.2.0: + dependencies: + shebang-regex: 1.0.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + /shebang-command/2.0.0: + dependencies: + shebang-regex: 3.0.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + /shebang-loader/0.0.1: + dev: true + resolution: + integrity: sha1-pAAEldRMzu++xjQ157FphWn6Uuw= + /shebang-regex/1.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + /shebang-regex/3.0.0: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + /shell-quote/1.7.2: + dev: true + resolution: + integrity: sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== + /signal-exit/3.0.3: + dev: true + resolution: + integrity: sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + /simple-swizzle/0.2.2: + dependencies: + is-arrayish: 0.3.2 + dev: true + resolution: + integrity: sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + /slash/1.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= + /slash/2.0.0: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== + /slice-ansi/2.1.0: + dependencies: + ansi-styles: 3.2.1 + astral-regex: 1.0.0 + is-fullwidth-code-point: 2.0.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== + /snapdragon-node/2.1.1: + dependencies: + define-property: 1.0.0 + isobject: 3.0.1 + snapdragon-util: 3.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + /snapdragon-util/3.0.1: + dependencies: + kind-of: 3.2.2 + dev: true + 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.3 + use: 3.1.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + /sockjs-client/1.4.0: + dependencies: + debug: 3.2.6 + eventsource: 1.0.7 + faye-websocket: 0.11.3 + inherits: 2.0.4 + json3: 3.3.3 + url-parse: 1.4.7 + dev: true + resolution: + integrity: sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g== + /sockjs/0.3.20: + dependencies: + faye-websocket: 0.10.0 + uuid: 3.4.0 + websocket-driver: 0.6.5 + dev: true + resolution: + integrity: sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA== + /sort-keys/1.1.2: + dependencies: + is-plain-obj: 1.1.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-RBttTTRnmPG05J6JIK37oOVD+a0= + /source-list-map/2.0.1: + dev: true + resolution: + integrity: sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== + /source-map-resolve/0.5.3: + 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: true + resolution: + integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + /source-map-support/0.5.19: + dependencies: + buffer-from: 1.1.1 + source-map: 0.6.1 + dev: true + resolution: + integrity: sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== + /source-map-url/0.4.0: + dev: true + resolution: + integrity: sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + /source-map/0.5.7: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + /source-map/0.6.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + /source-map/0.7.3: + dev: true + engines: + node: '>= 8' + resolution: + integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + /spdx-correct/3.1.1: + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.7 + dev: true + resolution: + integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + /spdx-exceptions/2.3.0: + dev: true + resolution: + integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + /spdx-expression-parse/3.0.1: + dependencies: + spdx-exceptions: 2.3.0 + spdx-license-ids: 3.0.7 + dev: true + resolution: + integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + /spdx-license-ids/3.0.7: + dev: true + resolution: + integrity: sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== + /spdy-transport/3.0.0_supports-color@6.1.0: + dependencies: + debug: 4.2.0_supports-color@6.1.0 + detect-node: 2.0.4 + hpack.js: 2.1.6 + obuf: 1.1.2 + readable-stream: 3.6.0 + wbuf: 1.7.3 + dev: true + peerDependencies: + supports-color: '*' + resolution: + integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== + /spdy/4.0.2_supports-color@6.1.0: + dependencies: + debug: 4.2.0_supports-color@6.1.0 + handle-thing: 2.0.1 + http-deceiver: 1.2.7 + select-hose: 2.0.0 + spdy-transport: 3.0.0_supports-color@6.1.0 + dev: true + engines: + node: '>=6.0.0' + peerDependencies: + supports-color: '*' + resolution: + integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== + /split-string/3.1.0: + dependencies: + extend-shallow: 3.0.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + /split2/3.2.2: + dependencies: + readable-stream: 3.6.0 + dev: true + resolution: + integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== + /sprintf-js/1.0.3: + dev: true + resolution: + integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + /sprintf-js/1.1.2: + dev: true + optional: true + resolution: + integrity: sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== + /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: true + engines: + node: '>=0.10.0' + hasBin: true + resolution: + integrity: sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + /ssri/6.0.1: + dependencies: + figgy-pudding: 3.5.2 + dev: true + resolution: + integrity: sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== + /ssri/7.1.0: + dependencies: + figgy-pudding: 3.5.2 + minipass: 3.1.3 + dev: true + engines: + node: '>= 8' + resolution: + integrity: sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g== + /ssri/8.0.0: + dependencies: + minipass: 3.1.3 + dev: true + engines: + node: '>= 8' + resolution: + integrity: sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA== + /stable/0.1.8: + dev: true + resolution: + integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + /stackframe/1.2.0: + dev: true + resolution: + integrity: sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA== + /stat-mode/1.0.0: + dev: true + engines: + node: '>= 6' + resolution: + integrity: sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg== + /static-extend/0.1.2: + dependencies: + define-property: 0.2.5 + object-copy: 0.1.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + /statuses/1.5.0: + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + /stream-browserify/2.0.2: + dependencies: + inherits: 2.0.4 + readable-stream: 2.3.7 + dev: true + resolution: + integrity: sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== + /stream-each/1.2.3: + dependencies: + end-of-stream: 1.4.4 + stream-shift: 1.0.1 + dev: true + 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.7 + to-arraybuffer: 1.0.1 + xtend: 4.0.2 + dev: true + resolution: + integrity: sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== + /stream-shift/1.0.1: + dev: true + resolution: + integrity: sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== + /strict-uri-encode/1.1.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + /string-width/2.1.1: + dependencies: + is-fullwidth-code-point: 2.0.0 + strip-ansi: 4.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + /string-width/3.1.0: + dependencies: + emoji-regex: 7.0.3 + is-fullwidth-code-point: 2.0.0 + strip-ansi: 5.2.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + /string-width/4.2.0: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + /string.prototype.trimend/1.0.2: + dependencies: + define-properties: 1.1.3 + es-abstract: 1.18.0-next.1 + dev: true + resolution: + integrity: sha512-8oAG/hi14Z4nOVP0z6mdiVZ/wqjDtWSLygMigTzAb+7aPEDTleeFf+WrF+alzecxIRkckkJVn+dTlwzJXORATw== + /string.prototype.trimstart/1.0.2: + dependencies: + define-properties: 1.1.3 + es-abstract: 1.18.0-next.1 + dev: true + resolution: + integrity: sha512-7F6CdBTl5zyu30BJFdzSTlSlLPwODC23Od+iLoVH8X6+3fvDPPuBVVj9iaB1GOsSTSIgVfsfm27R2FGrAPznWg== + /string_decoder/1.1.1: + dependencies: + safe-buffer: 5.1.2 + dev: true + resolution: + integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + /string_decoder/1.3.0: + dependencies: + safe-buffer: 5.2.1 + dev: true + resolution: + integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + /strip-ansi/3.0.1: + dependencies: + ansi-regex: 2.1.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + /strip-ansi/4.0.0: + dependencies: + ansi-regex: 3.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-qEeQIusaw2iocTibY1JixQXuNo8= + /strip-ansi/5.2.0: + dependencies: + ansi-regex: 4.1.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + /strip-ansi/6.0.0: + dependencies: + ansi-regex: 5.0.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + /strip-eof/1.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + /strip-final-newline/2.0.0: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + /strip-indent/2.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= + /strip-json-comments/2.0.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo= + /strip-json-comments/3.1.1: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + /stylehacks/4.0.3: + dependencies: + browserslist: 4.14.6 + postcss: 7.0.35 + postcss-selector-parser: 3.1.2 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g== + /sumchecker/3.0.1: + dependencies: + debug: 4.3.1 + dev: true + engines: + node: '>= 8.0' + resolution: + integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg== + /supports-color/2.0.0: + dev: true + engines: + node: '>=0.8.0' + resolution: + integrity: sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + /supports-color/5.5.0: + dependencies: + has-flag: 3.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + /supports-color/6.1.0: + dependencies: + has-flag: 3.0.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + /supports-color/7.2.0: + dependencies: + has-flag: 4.0.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + /svg-tags/1.0.0: + dev: true + resolution: + integrity: sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q= + /svgo/1.3.2: + dependencies: + chalk: 2.4.2 + coa: 2.0.2 + css-select: 2.1.0 + css-select-base-adapter: 0.1.1 + css-tree: 1.0.0-alpha.37 + csso: 4.1.0 + js-yaml: 3.14.0 + mkdirp: 0.5.5 + object.values: 1.1.1 + sax: 1.2.4 + stable: 0.1.8 + unquote: 1.1.1 + util.promisify: 1.0.1 + dev: true + engines: + node: '>=4.0.0' + hasBin: true + resolution: + integrity: sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== + /table/5.4.6: + dependencies: + ajv: 6.12.6 + lodash: 4.17.20 + slice-ansi: 2.1.0 + string-width: 3.1.0 + dev: true + engines: + node: '>=6.0.0' + resolution: + integrity: sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== + /tailwindcss/1.9.6: + dependencies: + '@fullhuman/postcss-purgecss': 2.3.0 + autoprefixer: 9.8.6 + browserslist: 4.14.6 + bytes: 3.1.0 + chalk: 4.1.0 + color: 3.1.3 + detective: 5.2.0 + fs-extra: 8.1.0 + html-tags: 3.1.0 + lodash: 4.17.20 + node-emoji: 1.10.0 + normalize.css: 8.0.1 + object-hash: 2.0.3 + postcss: 7.0.35 + postcss-functions: 3.0.0 + postcss-js: 2.0.3 + postcss-nested: 4.2.3 + postcss-selector-parser: 6.0.4 + postcss-value-parser: 4.1.0 + pretty-hrtime: 1.0.3 + reduce-css-calc: 2.1.7 + resolve: 1.18.1 + dev: true + engines: + node: '>=8.9.0' + hasBin: true + resolution: + integrity: sha512-nY8WYM/RLPqGsPEGEV2z63riyQPcHYZUJpAwdyBzVpxQHOHqHE+F/fvbCeXhdF1+TA5l72vSkZrtYCB9hRcwkQ== + /tapable/1.1.3: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + /tar/6.1.0: + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 3.1.3 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + dev: true + engines: + node: '>= 10' + resolution: + integrity: sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA== + /temp-file/3.3.7: + dependencies: + async-exit-hook: 2.0.1 + fs-extra: 8.1.0 + dev: true + resolution: + integrity: sha512-9tBJKt7GZAQt/Rg0QzVWA8Am8c1EFl+CAv04/aBVqlx5oyfQ508sFIABshQ0xbZu6mBrFLWIUXO/bbLYghW70g== + /term-size/2.2.1: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== + /terser-webpack-plugin/1.4.5_webpack@4.44.2: + dependencies: + cacache: 12.0.4 + find-cache-dir: 2.1.0 + is-wsl: 1.1.0 + schema-utils: 1.0.0 + serialize-javascript: 4.0.0 + source-map: 0.6.1 + terser: 4.8.0 + webpack: 4.44.2_webpack@4.44.2 + webpack-sources: 1.4.3 + worker-farm: 1.7.0 + dev: true + engines: + node: '>= 6.9.0' + peerDependencies: + webpack: ^4.0.0 + resolution: + integrity: sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== + /terser-webpack-plugin/1.4.5_webpack@4.46.0: + dependencies: + cacache: 12.0.4 + find-cache-dir: 2.1.0 + is-wsl: 1.1.0 + schema-utils: 1.0.0 + serialize-javascript: 4.0.0 + source-map: 0.6.1 + terser: 4.8.0 + webpack: 4.46.0_webpack@4.46.0 + webpack-sources: 1.4.3 + worker-farm: 1.7.0 + dev: true + engines: + node: '>= 6.9.0' + peerDependencies: + webpack: ^4.0.0 + resolution: + integrity: sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== + /terser-webpack-plugin/2.3.8_webpack@4.44.2: + dependencies: + cacache: 13.0.1 + find-cache-dir: 3.3.1 + jest-worker: 25.5.0 + p-limit: 2.3.0 + schema-utils: 2.7.1 + serialize-javascript: 4.0.0 + source-map: 0.6.1 + terser: 4.8.0 + webpack: 4.44.2_webpack@4.44.2 + webpack-sources: 1.4.3 + dev: true + engines: + node: '>= 8.9.0' + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + resolution: + integrity: sha512-/fKw3R+hWyHfYx7Bv6oPqmk4HGQcrWLtV3X6ggvPuwPNHSnzvVV51z6OaaCOus4YLjutYGOz3pEpbhe6Up2s1w== + /terser-webpack-plugin/3.1.0_webpack@4.46.0: + dependencies: + cacache: 15.0.5 + find-cache-dir: 3.3.1 + jest-worker: 26.6.2 + p-limit: 3.1.0 + schema-utils: 2.7.1 + serialize-javascript: 4.0.0 + source-map: 0.6.1 + terser: 4.8.0 + webpack: 4.46.0_webpack@4.46.0 + webpack-sources: 1.4.3 + dev: true + engines: + node: '>= 10.13.0' + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + resolution: + integrity: sha512-cjdZte66fYkZ65rQ2oJfrdCAkkhJA7YLYk5eGOcGCSGlq0ieZupRdjedSQXYknMPo2IveQL+tPdrxUkERENCFA== + /terser/4.8.0: + dependencies: + commander: 2.20.3 + source-map: 0.6.1 + source-map-support: 0.5.19 + dev: true + engines: + node: '>=6.0.0' + hasBin: true + resolution: + integrity: sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== + /text-table/0.2.0: + dev: true + resolution: + integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + /thenify-all/1.6.0: + dependencies: + thenify: 3.3.1 + dev: true + engines: + node: '>=0.8' + resolution: + integrity: sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY= + /thenify/3.3.1: + dependencies: + any-promise: 1.3.0 + dev: true + resolution: + integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== + /thread-loader/2.1.3_webpack@4.44.2: + dependencies: + loader-runner: 2.4.0 + loader-utils: 1.4.0 + neo-async: 2.6.2 + webpack: 4.44.2_webpack@4.44.2 + dev: true + engines: + node: '>= 6.9.0 <7.0.0 || >= 8.9.0' + peerDependencies: + webpack: ^2.0.0 || ^3.0.0 || ^4.0.0 + resolution: + integrity: sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg== + /through/2.3.8: + dev: true + resolution: + integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + /through2-filter/3.0.0: + dependencies: + through2: 2.0.5 + xtend: 4.0.2 + dev: true + resolution: + integrity: sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA== + /through2-map/3.0.0: + dependencies: + through2: 2.0.5 + xtend: 4.0.2 + dev: true + resolution: + integrity: sha1-psMCbOY7SJipl9VAUGtm/9lw8nE= + /through2/2.0.5: + dependencies: + readable-stream: 2.3.7 + xtend: 4.0.2 + dev: true + resolution: + integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + /thunky/1.1.0: + dev: true + resolution: + integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== + /timers-browserify/2.0.12: + dependencies: + setimmediate: 1.0.5 + dev: true + engines: + node: '>=0.6.0' + resolution: + integrity: sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== + /timsort/0.3.0: + dev: true + resolution: + integrity: sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= + /tiny-emitter/2.1.0: + dev: false + resolution: + integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q== + /tmp/0.0.33: + dependencies: + os-tmpdir: 1.0.2 + dev: true + engines: + node: '>=0.6.0' + resolution: + integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + /to-arraybuffer/1.0.1: + dev: true + resolution: + integrity: sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= + /to-fast-properties/2.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + /to-object-path/0.3.0: + dependencies: + kind-of: 3.2.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + /to-readable-stream/1.0.0: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== + /to-regex-range/2.1.1: + dependencies: + is-number: 3.0.0 + repeat-string: 1.6.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + /to-regex-range/5.0.1: + dependencies: + is-number: 7.0.0 + dev: true + engines: + node: '>=8.0' + resolution: + integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + /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: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + /toidentifier/1.0.0: + dev: true + engines: + node: '>=0.6' + resolution: + integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== + /toposort/1.0.7: + dev: true + resolution: + integrity: sha1-LmhELZ9k7HILjMieZEOsbKqVACk= + /tough-cookie/2.5.0: + dependencies: + psl: 1.8.0 + punycode: 2.1.1 + dev: true + engines: + node: '>=0.8' + resolution: + integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + /truncate-utf8-bytes/1.0.2: + dependencies: + utf8-byte-length: 1.0.4 + dev: true + resolution: + integrity: sha1-QFkjkJWS1W94pYGENLC3hInKXys= + /tryer/1.0.1: + dev: true + resolution: + integrity: sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== + /ts-pnp/1.2.0: + dev: true + engines: + node: '>=6' + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + resolution: + integrity: sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== + /tslib/1.14.1: + dev: true + resolution: + integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + /tty-browserify/0.0.0: + dev: true + resolution: + integrity: sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= + /tunnel-agent/0.6.0: + dependencies: + safe-buffer: 5.2.1 + dev: true + resolution: + integrity: sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + /tunnel/0.0.6: + dev: true + engines: + node: '>=0.6.11 <=0.7.0 || >=0.7.3' + optional: true + resolution: + integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== + /tweetnacl/0.14.5: + dev: true + resolution: + integrity: sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + /type-check/0.3.2: + dependencies: + prelude-ls: 1.1.2 + dev: true + engines: + node: '>= 0.8.0' + resolution: + integrity: sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + /type-fest/0.11.0: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== + /type-fest/0.13.1: + dev: true + engines: + node: '>=10' + optional: true + resolution: + integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== + /type-fest/0.6.0: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + /type-fest/0.8.1: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + /type-is/1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.27 + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + /typedarray-to-buffer/3.1.5: + dependencies: + is-typedarray: 1.0.0 + dev: true + resolution: + integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + /typedarray/0.0.6: + dev: true + resolution: + integrity: sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + /uglify-js/3.4.10: + dependencies: + commander: 2.19.0 + source-map: 0.6.1 + dev: true + engines: + node: '>=0.8.0' + hasBin: true + resolution: + integrity: sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw== + /unicode-canonical-property-names-ecmascript/1.0.4: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== + /unicode-match-property-ecmascript/1.0.4: + dependencies: + unicode-canonical-property-names-ecmascript: 1.0.4 + unicode-property-aliases-ecmascript: 1.1.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== + /unicode-match-property-value-ecmascript/1.2.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== + /unicode-property-aliases-ecmascript/1.1.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== + /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: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + /uniq/1.0.1: + dev: true + resolution: + integrity: sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= + /uniqs/2.0.0: + dev: true + resolution: + integrity: sha1-/+3ks2slKQaW5uFl1KWe25mOawI= + /unique-filename/1.1.1: + dependencies: + unique-slug: 2.0.2 + dev: true + resolution: + integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== + /unique-slug/2.0.2: + dependencies: + imurmurhash: 0.1.4 + dev: true + resolution: + integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== + /unique-string/2.0.0: + dependencies: + crypto-random-string: 2.0.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== + /universalify/0.1.2: + dev: true + engines: + node: '>= 4.0.0' + resolution: + integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + /universalify/1.0.0: + dev: true + engines: + node: '>= 10.0.0' + resolution: + integrity: sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== + /universalify/2.0.0: + dev: true + engines: + node: '>= 10.0.0' + resolution: + integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + /unpipe/1.0.0: + dev: true + engines: + node: '>= 0.8' + resolution: + integrity: sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + /unquote/1.1.1: + dev: true + resolution: + integrity: sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= + /unset-value/1.0.0: + dependencies: + has-value: 0.3.1 + isobject: 3.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + /unzip-crx-3/0.2.0: + dependencies: + jszip: 3.5.0 + mkdirp: 0.5.5 + yaku: 0.16.7 + dev: true + resolution: + integrity: sha512-0+JiUq/z7faJ6oifVB5nSwt589v1KCduqIJupNVDoWSXZtWDmjDGO3RAEOvwJ07w90aoXoP4enKsR7ecMrJtWQ== + /unzip-crx/0.2.0: + dependencies: + jszip: 3.5.0 + mkdirp: 0.5.5 + yaku: 0.16.7 + dev: true + resolution: + integrity: sha1-TAuqi9rHViVnVL7KeEPBPXuFjBg= + /upath/1.2.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== + /update-notifier/4.1.3: + dependencies: + boxen: 4.2.0 + chalk: 3.0.0 + configstore: 5.0.1 + has-yarn: 2.1.0 + import-lazy: 2.1.0 + is-ci: 2.0.0 + is-installed-globally: 0.3.2 + is-npm: 4.0.0 + is-yarn-global: 0.3.0 + latest-version: 5.1.0 + pupa: 2.1.1 + semver-diff: 3.1.1 + xdg-basedir: 4.0.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A== + /upper-case/1.1.3: + dev: true + resolution: + integrity: sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= + /uri-js/4.4.1: + dependencies: + punycode: 2.1.1 + dev: true + resolution: + integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + /urix/0.1.0: + deprecated: 'Please see https://github.com/lydell/urix#deprecated' + dev: true + resolution: + integrity: sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + /url-loader/2.3.0_file-loader@4.3.0+webpack@4.44.2: + dependencies: + file-loader: 4.3.0_webpack@4.44.2 + loader-utils: 1.4.0 + mime: 2.4.6 + schema-utils: 2.7.1 + webpack: 4.44.2_webpack@4.44.2 + dev: true + engines: + node: '>= 8.9.0' + peerDependencies: + file-loader: '*' + webpack: ^4.0.0 + peerDependenciesMeta: + file-loader: + optional: true + resolution: + integrity: sha512-goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog== + /url-parse-lax/3.0.0: + dependencies: + prepend-http: 2.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= + /url-parse/1.4.7: + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + dev: true + resolution: + integrity: sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg== + /url/0.11.0: + dependencies: + punycode: 1.3.2 + querystring: 0.2.0 + dev: true + resolution: + integrity: sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= + /use/3.1.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + /utf8-byte-length/1.0.4: + dev: true + resolution: + integrity: sha1-9F8VDExm7uloGGUFq5P8u4rWv2E= + /util-deprecate/1.0.2: + dev: true + resolution: + integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + /util.promisify/1.0.0: + dependencies: + define-properties: 1.1.3 + object.getownpropertydescriptors: 2.1.0 + dev: true + resolution: + integrity: sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== + /util.promisify/1.0.1: + dependencies: + define-properties: 1.1.3 + es-abstract: 1.17.7 + has-symbols: 1.0.1 + object.getownpropertydescriptors: 2.1.0 + dev: true + resolution: + integrity: sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== + /util/0.10.3: + dependencies: + inherits: 2.0.1 + dev: true + resolution: + integrity: sha1-evsa/lCAUkZInj23/g7TeTNqwPk= + /util/0.11.1: + dependencies: + inherits: 2.0.3 + dev: true + resolution: + integrity: sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== + /utila/0.4.0: + dev: true + resolution: + integrity: sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= + /utils-merge/1.0.1: + dev: true + engines: + node: '>= 0.4.0' + resolution: + integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + /uuid/3.4.0: + dev: true + hasBin: true + resolution: + integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + /v-file-upload/3.1.7: + dev: false + resolution: + integrity: sha512-ce+LVMB6NnA+qv0MsCQXpMHy8VnZ+EjzPcSKXGYWXPxKf/qYVGns+AxAw3fUZVuYRGmrSp7YQ7XEOGkZuGMugA== + /v8-compile-cache/2.2.0: + dev: true + resolution: + integrity: sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q== + /validate-npm-package-license/3.0.4: + dependencies: + spdx-correct: 3.1.1 + spdx-expression-parse: 3.0.1 + dev: true + resolution: + integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + /vary/1.1.2: + dev: true + engines: + node: '>= 0.8' + resolution: + integrity: sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + /vendors/1.0.4: + dev: true + resolution: + integrity: sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== + /verror/1.10.0: + dependencies: + assert-plus: 1.0.0 + core-util-is: 1.0.2 + extsprintf: 1.3.0 + dev: true + engines: + '0': node >=0.6.0 + resolution: + integrity: sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + /vm-browserify/1.1.2: + dev: true + resolution: + integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== + /vue-axios-cors/1.0.1: + dependencies: + axios: 0.19.2 + qs: 6.9.4 + vue: 2.6.12 + dev: false + resolution: + integrity: sha512-8Tzd+joqZifoJUQi09+sIsjqR0ScipB6HZNs95z/KOWg8GUsXy20JFnHMcR4P9jLcCDGsyMqsP62V2PsKdqkwg== + /vue-chartjs/3.5.1_chart.js@2.9.4: + dependencies: + '@types/chart.js': 2.9.27 + chart.js: 2.9.4 + dev: false + engines: + node: '>=6.9.0' + npm: '>= 3.0.0' + peerDependencies: + chart.js: '>= 2.5' + resolution: + integrity: sha512-foocQbJ7FtveICxb4EV5QuVpo6d8CmZFmAopBppDIGKY+esJV8IJgwmEW0RexQhxqXaL/E1xNURsgFFYyKzS/g== + /vue-cli-plugin-electron-builder/2.0.0-rc.5: + dependencies: + '@vue/cli-shared-utils': 4.5.10 + chokidar: 3.5.0 + electron-builder: 22.9.1 + execa: 4.1.0 + friendly-errors-webpack-plugin: 1.7.0_webpack@4.46.0 + fs-extra: 9.0.1 + lodash.merge: 4.6.2 + portfinder: 1.0.28 + pumpify: 2.0.1 + semver: 7.3.4 + shebang-loader: 0.0.1 + split2: 3.2.2 + terser-webpack-plugin: 3.1.0_webpack@4.46.0 + through2-filter: 3.0.0 + through2-map: 3.0.0 + unzip-crx: 0.2.0 + webpack: 4.46.0_webpack@4.46.0 + webpack-chain: 6.5.1 + webpack-merge: 4.2.2 + yargs: 15.4.1 + dev: true + resolution: + integrity: sha512-l1/BkwxMDgDSz3fW+KPM3mdVu6ItR6jGhqR6xGhTHxre3dH9XCEfpT+esZp6wxex9trUJzlL+wMmzm79dYKl0A== + /vue-clipboard2/0.3.1: + dependencies: + clipboard: 2.0.6 + dev: false + resolution: + integrity: sha512-H5S/agEDj0kXjUb5GP2c0hCzIXWRBygaWLN3NEFsaI9I3uWin778SFEMt8QRXiPG+7anyjqWiw2lqcxWUSfkYg== + /vue-eslint-parser/7.1.1_eslint@6.8.0: + dependencies: + debug: 4.2.0 + eslint: 6.8.0 + eslint-scope: 5.1.1 + eslint-visitor-keys: 1.3.0 + espree: 6.2.1 + esquery: 1.3.1 + lodash: 4.17.20 + dev: true + engines: + node: '>=8.10' + peerDependencies: + eslint: '>=5.0.0' + resolution: + integrity: sha512-8FdXi0gieEwh1IprIBafpiJWcApwrU+l2FEj8c1HtHFdNXMd0+2jUSjBVmcQYohf/E72irwAXEXLga6TQcB3FA== + /vue-good-table/2.21.3: + dependencies: + date-fns: 2.17.0 + diacriticless: 1.0.1 + lodash.assign: 4.2.0 + lodash.clonedeep: 4.5.0 + lodash.filter: 4.6.0 + lodash.foreach: 4.5.0 + lodash.isequal: 4.5.0 + dev: false + resolution: + integrity: sha512-JQOHl4KYadiXdv9wjMq5SL3o7WqMAyJODP5C4QVe09xwYmFh5cEf8dT+ch96Kl8WIW5fFUqW2nKX7zEF8QfazQ== + /vue-hot-reload-api/2.3.4: + dev: true + resolution: + integrity: sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog== + /vue-js-modal/2.0.0-rc.6_vue@2.6.12: + dependencies: + resize-observer-polyfill: 1.5.1 + vue: 2.6.12 + dev: false + peerDependencies: + vue: 2.6.11 + resolution: + integrity: sha512-bJOm7Yhrl0ur/QyXjoC3gMMmE7UxiVEcS2rl8v9iPXIe9QLvjiCSZElSOvvyps8LNuG1X0rPifZGxI/CWKCFaw== + /vue-loader/15.9.5_e6f9754d45536372aa6e5c6b320144db: + dependencies: + '@vue/component-compiler-utils': 3.2.0 + cache-loader: 4.1.0_webpack@4.44.2 + css-loader: 3.6.0_webpack@4.44.2 + hash-sum: 1.0.2 + loader-utils: 1.4.0 + vue-hot-reload-api: 2.3.4 + vue-style-loader: 4.1.2 + vue-template-compiler: 2.6.12 + webpack: 4.44.2_webpack@4.44.2 + dev: true + peerDependencies: + cache-loader: '*' + css-loader: '*' + vue-template-compiler: '*' + webpack: ^3.0.0 || ^4.1.0 || ^5.0.0-0 + peerDependenciesMeta: + cache-loader: + optional: true + vue-template-compiler: + optional: true + resolution: + integrity: sha512-oeMOs2b5o5gRqkxfds10bCx6JeXYTwivRgbb8hzOrcThD2z1+GqEKE3EX9A2SGbsYDf4rXwRg6D5n1w0jO5SwA== + /vue-loader/16.0.0-beta.10: + dependencies: + chalk: 4.1.0 + hash-sum: 2.0.0 + loader-utils: 2.0.0 + dev: true + optional: true + resolution: + integrity: sha512-PflGsj4RHW3tuYFmSPhcozAkds8ELXf8d19twWorQTjcuWxl/Xqb9W1NgfsY7AAkCkkRRYy2FwIX4tSnskfKig== + /vue-notification/1.3.20_vue@2.6.12: + dependencies: + vue: 2.6.12 + dev: false + peerDependencies: + vue: ^2.0.0 + resolution: + integrity: sha512-vPj67Ah72p8xvtyVE8emfadqVWguOScAjt6OJDEUdcW5hW189NsqvfkOrctxHUUO9UYl9cTbIkzAEcPnHu+zBQ== + /vue-over-body/0.0.5: + dev: false + resolution: + integrity: sha512-PZUeSz1Os4FoCL1wwkNo5nyR1Hd3ECg36A4KUnd4iXGwgqcNWQcflds6G6tCf32o98IR8F8v0ogY9pBFF5c57A== + /vue-picture-input/2.1.6: + dev: false + resolution: + integrity: sha512-aM5Pyjz3Kup35/6OCjpgA0BEpLTW9YuN7Ds44XLibXZcxnYYLQezmXpb6IXg/orVTMwMLWNpsHCT3wPhLfjdeA== + /vue-progress-circle/1.1.2: + dependencies: + vue: 2.6.12 + dev: false + resolution: + integrity: sha512-f4NTVPSpzG6zheNPBgCaGd4dThxpRIH+rYf9zlseuKFiJhs/Usz9KejGvBOpf10JzVOjHubYBJlocUUcqqhkXw== + /vue-progress-path/0.0.2_vue@2.6.12: + dependencies: + vue: 2.6.12 + dev: false + peerDependencies: + vue: ^2.4.2 + resolution: + integrity: sha512-olD0dTbxZkwpodYbvPU/O2tJT7CbZt8NHP1ewtM6iXrzsjnfi9KZ6+CsUadsW87jCemSPIu9ez1iHcrvpqIJeg== + /vue-promise-dialogs/1.0.2_vue@2.6.12: + dependencies: + vue: 2.6.12 + dev: false + peerDependencies: + vue: ^2.6.4 + resolution: + integrity: sha512-gMj7uGN56pxO/QLlpG09iJEIfZWKLpsR71FIP3doeMsOVt1sX5AZC5F7ukA1hhMeIgMP0zAAku61Pxq0HLtjwg== + /vue-router/3.4.8: + dev: false + resolution: + integrity: sha512-3BsR84AqarcmweXjItxw3jwQsiYNssYg090yi4rlzTnCJxmHtkyCvhNz9Z7qRSOkmiV485KkUCReTp5AjNY4wg== + /vue-style-loader/4.1.2: + dependencies: + hash-sum: 1.0.2 + loader-utils: 1.4.0 + dev: true + resolution: + integrity: sha512-0ip8ge6Gzz/Bk0iHovU9XAUQaFt/G2B61bnWa2tCcqqdgfHs1lF9xXorFbE55Gmy92okFT+8bfmySuUOu13vxQ== + /vue-suggestion/1.1.0: + dev: false + resolution: + integrity: sha512-l5NE8kyQj5p7nDzCuXTJLXXrz8WLfw92Ks+YY6ei4yhqQ0+fm+ok2wMDg1JqfapITVz3iq1sOxXpyv5XNVDOpw== + /vue-template-compiler/2.6.12: + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + dev: true + resolution: + integrity: sha512-OzzZ52zS41YUbkCBfdXShQTe69j1gQDZ9HIX8miuC9C3rBCk9wIRjLiZZLrmX9V+Ftq/YEyv1JaVr5Y/hNtByg== + /vue-template-es2015-compiler/1.9.1: + dev: true + resolution: + integrity: sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw== + /vue/2.6.12: + dev: false + resolution: + integrity: sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg== + /vue2-circle-progress/1.2.3: + dependencies: + jquery-circle-progress: 1.2.2 + jquery-easing: 0.0.1 + vue: 2.6.12 + dev: false + resolution: + integrity: sha1-fDivTYTGgpnAeBiOrQk0P3RUG78= + /vuejs-smart-table/0.0.7: + dependencies: + vue: 2.6.12 + dev: false + resolution: + integrity: sha512-uaxJpWJrqcA+3nw+0QRoVT3s16yx2ld8fLzRncE6KsuLyvpj9H/fTZzugVpz/4T6qigKbne+DYctzGN0FtOUdg== + /vuex/3.5.1_vue@2.6.12: + dependencies: + vue: 2.6.12 + dev: false + peerDependencies: + vue: ^2.0.0 + resolution: + integrity: sha512-w7oJzmHQs0FM9LXodfskhw9wgKBiaB+totOdb8sNzbTB2KDCEEwEs29NzBZFh/lmEK1t5tDmM1vtsO7ubG1DFw== + /watchpack-chokidar2/2.0.0: + dependencies: + chokidar: 2.1.8 + dev: true + engines: + node: <8.10.0 + optional: true + resolution: + integrity: sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA== + /watchpack-chokidar2/2.0.1: + dependencies: + chokidar: 2.1.8 + dev: true + optional: true + resolution: + integrity: sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== + /watchpack/1.7.4: + dependencies: + graceful-fs: 4.2.4 + neo-async: 2.6.2 + dev: true + optionalDependencies: + chokidar: 3.4.3 + watchpack-chokidar2: 2.0.0 + resolution: + integrity: sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg== + /watchpack/1.7.5: + dependencies: + graceful-fs: 4.2.4 + neo-async: 2.6.2 + dev: true + optionalDependencies: + chokidar: 3.5.0 + watchpack-chokidar2: 2.0.1 + resolution: + integrity: sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== + /wbuf/1.7.3: + dependencies: + minimalistic-assert: 1.0.1 + dev: true + resolution: + integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== + /wcwidth/1.0.1: + dependencies: + defaults: 1.0.3 + dev: true + resolution: + integrity: sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= + /webpack-bundle-analyzer/3.9.0: + dependencies: + acorn: 7.4.1 + acorn-walk: 7.2.0 + bfj: 6.1.2 + chalk: 2.4.2 + commander: 2.20.3 + ejs: 2.7.4 + express: 4.17.1 + filesize: 3.6.1 + gzip-size: 5.1.1 + lodash: 4.17.20 + mkdirp: 0.5.5 + opener: 1.5.2 + ws: 6.2.1 + dev: true + engines: + node: '>= 6.14.4' + hasBin: true + resolution: + integrity: sha512-Ob8amZfCm3rMB1ScjQVlbYYUEJyEjdEtQ92jqiFUYt5VkEeO2v5UMbv49P/gnmCZm3A6yaFQzCBvpZqN4MUsdA== + /webpack-chain/6.5.1: + dependencies: + deepmerge: 1.5.2 + javascript-stringify: 2.0.1 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA== + /webpack-dev-middleware/3.7.2_webpack@4.44.2: + dependencies: + memory-fs: 0.4.1 + mime: 2.4.6 + mkdirp: 0.5.5 + range-parser: 1.2.1 + webpack: 4.44.2_webpack@4.44.2 + webpack-log: 2.0.0 + dev: true + engines: + node: '>= 6' + peerDependencies: + webpack: ^4.0.0 + resolution: + integrity: sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw== + /webpack-dev-server/3.11.0_webpack@4.44.2: + dependencies: + ansi-html: 0.0.7 + bonjour: 3.5.0 + chokidar: 2.1.8 + compression: 1.7.4 + connect-history-api-fallback: 1.6.0 + debug: 4.2.0_supports-color@6.1.0 + del: 4.1.1 + express: 4.17.1 + html-entities: 1.3.1 + http-proxy-middleware: 0.19.1 + import-local: 2.0.0 + internal-ip: 4.3.0 + ip: 1.1.5 + is-absolute-url: 3.0.3 + killable: 1.0.1 + loglevel: 1.7.0 + opn: 5.5.0 + p-retry: 3.0.1 + portfinder: 1.0.28 + schema-utils: 1.0.0 + selfsigned: 1.10.8 + semver: 6.3.0 + serve-index: 1.9.1 + sockjs: 0.3.20 + sockjs-client: 1.4.0 + spdy: 4.0.2_supports-color@6.1.0 + strip-ansi: 3.0.1 + supports-color: 6.1.0 + url: 0.11.0 + webpack: 4.44.2_webpack@4.44.2 + webpack-dev-middleware: 3.7.2_webpack@4.44.2 + webpack-log: 2.0.0 + ws: 6.2.1 + yargs: 13.3.2 + dev: true + engines: + node: '>= 6.11.5' + hasBin: true + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + resolution: + integrity: sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg== + /webpack-log/2.0.0: + dependencies: + ansi-colors: 3.2.4 + uuid: 3.4.0 + dev: true + engines: + node: '>= 6' + resolution: + integrity: sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== + /webpack-merge/4.2.2: + dependencies: + lodash: 4.17.20 + dev: true + resolution: + integrity: sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g== + /webpack-sources/1.4.3: + dependencies: + source-list-map: 2.0.1 + source-map: 0.6.1 + dev: true + resolution: + integrity: sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== + /webpack/4.44.2_webpack@4.44.2: + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/helper-module-context': 1.9.0 + '@webassemblyjs/wasm-edit': 1.9.0 + '@webassemblyjs/wasm-parser': 1.9.0 + acorn: 6.4.2 + ajv: 6.12.6 + ajv-keywords: 3.5.2_ajv@6.12.6 + chrome-trace-event: 1.0.2 + enhanced-resolve: 4.3.0 + eslint-scope: 4.0.3 + json-parse-better-errors: 1.0.2 + loader-runner: 2.4.0 + loader-utils: 1.4.0 + memory-fs: 0.4.1 + micromatch: 3.1.10 + mkdirp: 0.5.5 + neo-async: 2.6.2 + node-libs-browser: 2.2.1 + schema-utils: 1.0.0 + tapable: 1.1.3 + terser-webpack-plugin: 1.4.5_webpack@4.44.2 + watchpack: 1.7.4 + webpack-sources: 1.4.3 + dev: true + engines: + node: '>=6.11.5' + hasBin: true + peerDependencies: + webpack: '*' + webpack-cli: '*' + webpack-command: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + webpack-command: + optional: true + resolution: + integrity: sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q== + /webpack/4.46.0_webpack@4.46.0: + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/helper-module-context': 1.9.0 + '@webassemblyjs/wasm-edit': 1.9.0 + '@webassemblyjs/wasm-parser': 1.9.0 + acorn: 6.4.2 + ajv: 6.12.6 + ajv-keywords: 3.5.2_ajv@6.12.6 + chrome-trace-event: 1.0.2 + enhanced-resolve: 4.5.0 + eslint-scope: 4.0.3 + json-parse-better-errors: 1.0.2 + loader-runner: 2.4.0 + loader-utils: 1.4.0 + memory-fs: 0.4.1 + micromatch: 3.1.10 + mkdirp: 0.5.5 + neo-async: 2.6.2 + node-libs-browser: 2.2.1 + schema-utils: 1.0.0 + tapable: 1.1.3 + terser-webpack-plugin: 1.4.5_webpack@4.46.0 + watchpack: 1.7.5 + webpack-sources: 1.4.3 + dev: true + engines: + node: '>=6.11.5' + hasBin: true + peerDependencies: + webpack: '*' + webpack-cli: '*' + webpack-command: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + webpack-command: + optional: true + resolution: + integrity: sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q== + /websocket-driver/0.6.5: + dependencies: + websocket-extensions: 0.1.4 + dev: true + engines: + node: '>=0.6.0' + resolution: + integrity: sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY= + /websocket-driver/0.7.4: + dependencies: + http-parser-js: 0.5.2 + safe-buffer: 5.2.1 + websocket-extensions: 0.1.4 + dev: true + engines: + node: '>=0.8.0' + resolution: + integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + /websocket-extensions/0.1.4: + dev: true + engines: + node: '>=0.8.0' + resolution: + integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + /which-module/2.0.0: + dev: true + resolution: + integrity: sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + /which/1.3.1: + dependencies: + isexe: 2.0.0 + dev: true + hasBin: true + resolution: + integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + /which/2.0.2: + dependencies: + isexe: 2.0.0 + dev: true + engines: + node: '>= 8' + hasBin: true + resolution: + integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + /widest-line/3.1.0: + dependencies: + string-width: 4.2.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== + /word-wrap/1.2.3: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + /worker-farm/1.7.0: + dependencies: + errno: 0.1.7 + dev: true + resolution: + integrity: sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== + /wrap-ansi/5.1.0: + dependencies: + ansi-styles: 3.2.1 + string-width: 3.1.0 + strip-ansi: 5.2.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + /wrap-ansi/6.2.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.0 + strip-ansi: 6.0.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + /wrap-ansi/7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.0 + strip-ansi: 6.0.0 + dev: true + engines: + node: '>=10' + resolution: + integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + /wrappy/1.0.2: + dev: true + resolution: + integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + /write-file-atomic/3.0.3: + dependencies: + imurmurhash: 0.1.4 + is-typedarray: 1.0.0 + signal-exit: 3.0.3 + typedarray-to-buffer: 3.1.5 + dev: true + resolution: + integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + /write/1.0.3: + dependencies: + mkdirp: 0.5.5 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== + /ws/6.2.1: + dependencies: + async-limiter: 1.0.1 + dev: true + resolution: + integrity: sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== + /xdg-basedir/4.0.0: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== + /xtend/4.0.2: + dev: true + engines: + node: '>=0.4' + resolution: + integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + /y18n/4.0.0: + dev: true + resolution: + integrity: sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== + /y18n/4.0.1: + dev: true + resolution: + integrity: sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== + /y18n/5.0.5: + dev: true + engines: + node: '>=10' + resolution: + integrity: sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg== + /yaku/0.16.7: + dev: true + resolution: + integrity: sha1-HRlceKqbW/hHnIlblQT9TwhHmE4= + /yallist/2.1.2: + dev: true + resolution: + integrity: sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + /yallist/3.1.1: + dev: true + resolution: + integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + /yallist/4.0.0: + dev: true + resolution: + integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + /yargs-parser/13.1.2: + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + dev: true + resolution: + integrity: sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + /yargs-parser/18.1.3: + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + /yargs-parser/20.2.4: + dev: true + engines: + node: '>=10' + resolution: + integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== + /yargs/13.3.2: + dependencies: + cliui: 5.0.0 + find-up: 3.0.0 + get-caller-file: 2.0.5 + 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.2 + dev: true + resolution: + integrity: sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== + /yargs/15.4.1: + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.0 + which-module: 2.0.0 + y18n: 4.0.1 + yargs-parser: 18.1.3 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== + /yargs/16.2.0: + dependencies: + cliui: 7.0.4 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.0 + y18n: 5.0.5 + yargs-parser: 20.2.4 + dev: true + engines: + node: '>=10' + resolution: + integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + /yauzl/2.10.0: + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + dev: true + resolution: + integrity: sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= + /yocto-queue/0.1.0: + dev: true + engines: + node: '>=10' + resolution: + integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + /yorkie/2.0.0: + dependencies: + execa: 0.8.0 + is-ci: 1.2.1 + normalize-path: 1.0.0 + strip-indent: 2.0.0 + dev: true + engines: + node: '>=4' + requiresBuild: true + resolution: + integrity: sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw== +specifiers: + '@vue/cli-plugin-babel': ^4.2.0 + '@vue/cli-plugin-eslint': ^4.2.0 + '@vue/cli-service': ^4.2.0 + axios: ^0.21.0 + babel-eslint: ^10.0.3 + chart.js: ^2.9.3 + core-js: ^3.6.4 + easy-circular-progress: ^1.0.4 + electron: ^9.0.0 + electron-devtools-installer: ^3.1.0 + eslint: ^6.7.2 + eslint-plugin-vue: ^6.1.2 + tailwindcss: ^1.2.0 + v-file-upload: ^3.1.7 + vue: ^2.6.11 + vue-axios-cors: ^1.0.1 + vue-chartjs: ^3.5.0 + vue-cli-plugin-electron-builder: ~2.0.0-rc.5 + vue-clipboard2: ^0.3.1 + vue-good-table: ^2.21.3 + vue-js-modal: ^2.0.0-rc.6 + vue-notification: ^1.3.20 + vue-over-body: ^0.0.5 + vue-picture-input: ^2.1.6 + vue-progress-circle: ^1.1.2 + vue-progress-path: ^0.0.2 + vue-promise-dialogs: ^1.0.2 + vue-router: ^3.1.5 + vue-suggestion: ^1.1.0 + vue-template-compiler: ^2.6.11 + vue2-circle-progress: ^1.2.3 + vuejs-smart-table: ^0.0.7 + vuex: ^3.1.2 diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..54b41e3 --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + "plugins": [ + require('tailwindcss')('tailwind.js'), + require('autoprefixer')(), + ] +} \ No newline at end of file diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmZQzU}RuqP*4ET3Jfa*7#PGD7#K7d7#I{77#JKFAmR)lAOIqU2X5Zs$bgLL=_@3A zjhlBkf-u-E^l}5#e(vTSjvJvE#HNe&P`g3?jcVTE_#KKtY>*hu-2k;;s(FXw$>tr7 z|DhPf28q$seyH6be^xc`aQp|g8{`HM8zcsjqlp`k?AB}E;dmd(Zjk*T3=#v$(Zmf< z`&pZJIL^XiH^_bv2FZccP&Evoc7y!o(Y(X)10MT9av(JzwN!Hh)P8~H9gaKj*bVYO z2!qss)KbNMsNEp{q&4qw{6&QQAT=PhAUzbj0cyWO^A5*L7<TV;{ND`1h<ph0KL~@= zg7i>iKh$o<<{gf0*zB%ZV*ek6akv4b2c(xQH$d$Mg`s)#4##Kc_BU;D{GXL$3C18c zx;#`5NH53?lHCBcpR;*~<1!4hcRKzrpKSX--p3S-L2Mjh0MZLGgCzT*c7xm<)V#y- z3yS?a9sf71bNHW@Xz@SJ!xW4`Y>*fhH-Pkl%mA51v>TxIi#G3YJcMF5D4p$e{9n{+ z^FPkh6a|CCu-Feuiy$*VW)WpS)NYV_3!8U1{z0*Sr{n+HW%mD*!_C3|hP%PT6f6dk z!{P>z86dMjW)gG*)P9ZT9geq9><0OLyW{`dGAmTOVd3Cm3YKf$4zCkIeurU@Ss*j< z+7Gpxxp{}<Bn-QEI{vSmZTCMRzznDTAUTj4EMWk02gpp2*;w5GwHp*h4$V6p-=N#y zxXIyvW~Sx;Sa;NThsS}ZDOe7q2Ba2UKh#W+*&sVG+yJ$o7uuczxfg+VI{q*1v;80M zjoWURJ3wkcYH@@CsJ#ZV1I2!*-5__xHt%r!f#UX^j{ob|IQ&nIMN4y_c=s}W8VAB4 zHVk{1g4KfbU~vP;Y>*uwyWnns+ArO_!|@D?-JmqL!|{JXy){Z+gZlMPypL%f2*-Jv z{(*|Y)q(V2GYe`5$S$z`P`g3ysYPp3f$Nr<MfU%bLNL=@yqD?0!~ip45C*YP?DsGQ z>jCM-5(c2Q8ptk?oiME5yu<M!x_g_pI{wcow8WO)Kgau+2E=)oGJr6c?P>ZM-3=hU zAT!X-h1vzO6J$So^A5*3=xSPaIsUJhX8S+E&kP=>F!STRO_wBvm~$isnlXSdhz$~h z$-`)nUXU3ev(U|l+6l5d9HUJID&yBX{7+ATmhrH(1){x7pC<U4nZ|pYGGwJ$f-#5< z62q1jL1r|pcL2vFnj1iEHIUt)Hsgur9gfFfxMi2)v9gJ_$Kt(BkHvYS;FIy*rllE) zmP|>(=HT=LB0y}A7)UP8)AS^=9*`Lzvp{CT%!kq-J3)5yHScf)<w*qI>ByT?WW^if zV!|8eX^Mgqe9c%vaSpN<8H2>Ya%k#7X5<uE@;2{8vjbu$AF>$(!Tt{e|LXt$|6>oq zKji=a2jLI=|NlQ=hu{Ou|Nnz<1LOby3=ClWkAa~cg#R!w*n{v71_t>L3=I4r{D6Uh a9fS`sFffB~17iat17ib}cK|F4vKj!X^7qaF literal 0 HcmV?d00001 diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..4123528 --- /dev/null +++ b/public/index.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width,initial-scale=1.0"> + <link rel="icon" href="<%= BASE_URL %>favicon.ico"> + <title><%= htmlWebpackPlugin.options.title %></title> + </head> + <body> + <noscript> + <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong> + </noscript> + <div id="app"></div> + <!-- built files will be auto injected --> + </body> +</html> diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..eef8113 --- /dev/null +++ b/src/App.vue @@ -0,0 +1,11 @@ +<template> + <div id="app"> + <router-view /> + </div> +</template> + +<script> +export default { + name: 'app' +} +</script> diff --git a/src/assets/css/tailwind.css b/src/assets/css/tailwind.css new file mode 100644 index 0000000..fa4e5b6 --- /dev/null +++ b/src/assets/css/tailwind.css @@ -0,0 +1,33 @@ +@import url('https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700'); + +@tailwind base; +@tailwind components; +@tailwind utilities; + +body { + font-family: Poppins, sans-serif; +} + +body::-webkit-scrollbar { + display: none; +} + +.overlay { + position: relative; +} + +/* 1024 -1 so it doesnt show when it hits 1024px */ +@media only screen and (max-width: 1023px) { + .overlay:after { + content: " "; + z-index: 29; + display: block; + height: 100%; + top: 80px; + left: 0; + right: 0; + background: rgba(0, 0, 0, 0.5); + pointer-events: none; + position: fixed; + } +} \ No newline at end of file diff --git a/src/background.js b/src/background.js new file mode 100644 index 0000000..e40b910 --- /dev/null +++ b/src/background.js @@ -0,0 +1,79 @@ +'use strict' + +import { app, protocol, BrowserWindow } from 'electron' +import { createProtocol } from 'vue-cli-plugin-electron-builder/lib' +import installExtension, { VUEJS_DEVTOOLS } from 'electron-devtools-installer' +const isDevelopment = process.env.NODE_ENV !== 'production' + +// Scheme must be registered before the app is ready +protocol.registerSchemesAsPrivileged([ + { scheme: 'app', privileges: { secure: true, standard: true } } +]) + +async function createWindow() { + // Create the browser window. + const win = new BrowserWindow({ + width: 800, + height: 600, + webPreferences: { + // Use pluginOptions.nodeIntegration, leave this alone + // See nklayman.github.io/vue-cli-plugin-electron-builder/guide/security.html#node-integration for more info + nodeIntegration: process.env.ELECTRON_NODE_INTEGRATION + } + }) + + if (process.env.WEBPACK_DEV_SERVER_URL) { + // Load the url of the dev server if in development mode + await win.loadURL(process.env.WEBPACK_DEV_SERVER_URL) + if (!process.env.IS_TEST) win.webContents.openDevTools() + } else { + createProtocol('app') + // Load the index.html when not in development + win.loadURL('app://./index.html') + } +} + +// Quit when all windows are closed. +app.on('window-all-closed', () => { + // On macOS it is common for applications and their menu bar + // to stay active until the user quits explicitly with Cmd + Q + if (process.platform !== 'darwin') { + app.quit() + } +}) + +app.on('activate', () => { + // On macOS it's common to re-create a window in the app when the + // dock icon is clicked and there are no other windows open. + if (BrowserWindow.getAllWindows().length === 0) createWindow() +}) + +// This method will be called when Electron has finished +// initialization and is ready to create browser windows. +// Some APIs can only be used after this event occurs. +app.on('ready', async () => { + if (isDevelopment && !process.env.IS_TEST) { + // Install Vue Devtools + try { + await installExtension(VUEJS_DEVTOOLS) + } catch (e) { + console.error('Vue Devtools failed to install:', e.toString()) + } + } + createWindow() +}) + +// Exit cleanly on request from parent process in development mode. +if (isDevelopment) { + if (process.platform === 'win32') { + process.on('message', (data) => { + if (data === 'graceful-exit') { + app.quit() + } + }) + } else { + process.on('SIGTERM', () => { + app.quit() + }) + } +} diff --git a/src/components/Dashboard.vue b/src/components/Dashboard.vue new file mode 100644 index 0000000..d84522d --- /dev/null +++ b/src/components/Dashboard.vue @@ -0,0 +1,42 @@ +<template> + <div class="leading-normal tracking-normal" id="main-body"> + <div class="flex flex-wrap"> + + <Sidebar /> + + <div class="w-full bg-gray-100 pl-0 lg:pl-64 min-h-screen" :class="sideBarOpen ? 'overlay' : ''" id="main-content"> + + <Navbar /> + + <div class="p-6 bg-gray-100 mb-20"> + <router-view /> + </div> + + <Footer /> + + </div> + </div> + </div> +</template> + +// TODO: HIDE SIDEBAR + +<script> +import { mapState } from 'vuex' + +import Sidebar from './Sidebar' +import Navbar from './Navbar' +import Footer from './Footer' + +export default { + name: 'Dashboard', + computed: { + ...mapState(['sideBarOpen']) + }, + components: { + Sidebar, + Navbar, + Footer + } +} +</script> diff --git a/src/components/Footer.vue b/src/components/Footer.vue new file mode 100644 index 0000000..f816251 --- /dev/null +++ b/src/components/Footer.vue @@ -0,0 +1,17 @@ +<template> + <div class="w-full border-t-2 px-8 py-6 lg:flex justify-between items-center"> + <!-- <p class="mb-2 lg:mb-0">© Copyright 2020 Ensurity</p> --> + + <div class="flex"> + <!-- <a href="#" class="mr-6 hover:text-gray-900">Terms of Use</a> + <a href="#" class="mr-6 hover:text-gray-900">Privacy Policy</a> --> + <!-- <a href="#" class="hover:text-gray-900">About WAMPAC</a> --> + </div> + </div> +</template> + +// <script> +// export default { +// name: 'Footer' +// } +// </script> \ No newline at end of file diff --git a/src/components/Navbar.vue b/src/components/Navbar.vue new file mode 100644 index 0000000..e654e3e --- /dev/null +++ b/src/components/Navbar.vue @@ -0,0 +1,118 @@ +<template> + <div class="sticky top-0 z-40"> + <div class="w-full h-20 px-6 bg-gray-100 border-b flex items-center justify-between"> + + <!-- left navbar --> + <div class="flex"> + + <!-- mobile hamburger --> + <div class="inline-block lg:hidden flex items-center mr-4"> + <button class="hover:text-blue-500 hover:border-white focus:outline-none navbar-burger" @click="toggleSidebar()"> + <svg class="h-5 w-5" v-bind:style="{ fill: 'black' }" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><title>Menu</title><path d="M0 3h20v2H0V3zm0 6h20v2H0V9zm0 6h20v2H0v-2z"/></svg> + </button> + </div> + + <!-- search bar --> + <div class="relative text-gray-600"> + <input type="search" name="serch" placeholder="Search logs" class="bg-white h-10 w-full xl:w-64 px-5 rounded-lg border text-sm focus:outline-none"> + <button type="submit" class="absolute right-0 top-0 mt-3 mr-4"> + <svg class="h-4 w-4 fill-current" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Capa_1" x="0px" y="0px" viewBox="0 0 56.966 56.966" style="enable-background:new 0 0 56.966 56.966;" xml:space="preserve" width="512px" height="512px"> + <path d="M55.146,51.887L41.588,37.786c3.486-4.144,5.396-9.358,5.396-14.786c0-12.682-10.318-23-23-23s-23,10.318-23,23 s10.318,23,23,23c4.761,0,9.298-1.436,13.177-4.162l13.661,14.208c0.571,0.593,1.339,0.92,2.162,0.92 c0.779,0,1.518-0.297,2.079-0.837C56.255,54.982,56.293,53.08,55.146,51.887z M23.984,6c9.374,0,17,7.626,17,17s-7.626,17-17,17 s-17-7.626-17-17S14.61,6,23.984,6z"/> + </svg> + </button> + </div> + </div> + + <!-- right navbar --> + <div class="flex items-center relative"> + <li class="border-yellow-200 bg-yellow-200 inline-block -ml-3"> + <router-link to="/dashboard/logs" class="text-xs h-4 w-45 flex items-center justify-center overflow-hidden text-grey"> + Last Logged on {{lastUpdateTime}} + </router-link> + </li> + <div class="px-4"> + <button v-on:click="syncButton(), fetchingStats = true" class="center bg-blue-400 hover:bg-blue-600 focus:outline-none rounded-lg px-2 text-white font-semibold shadow">{{syncMessage}}</button> + </div> + <!--svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24" class="fill-current mr-3 hover:text-blue-500"><path d="M0 0h24v24H0z" fill="none"/><path d="M12 22c1.1 0 2-.9 2-2h-4c0 1.1.9 2 2 2zm6-6v-5c0-3.07-1.63-5.64-4.5-6.32V4c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.68C7.64 5.36 6 7.92 6 11v5l-2 2v1h16v-1l-2-2zm-2 1H8v-6c0-2.48 1.51-4.5 4-4.5s4 2.02 4 4.5v6z"/></svg--> + <!-- <img src="https://a7sas.net/wp-content/uploads/2019/07/4060.jpeg" class="w-12 h-12 rounded-full shadow-lg" @click="dropDownOpen = !dropDownOpen"> --> + <a @click="dropDownOpen = !dropDownOpen" class="hover:text-gray-900">Profile</a> + </div> + + </div> + + <!-- dropdown menu --> + <div class="absolute bg-gray-100 border border-t-0 shadow-xl text-gray-700 rounded-b-lg w-48 bottom-10 right-0 mr-6" :class="dropDownOpen ? '' : 'hidden'"> + <router-link to="/dashboard/account"><a href="#" class="block px-4 py-2 hover:bg-gray-200">Account</a></router-link> + <a v-on:click="shutdownWAMPAC()" class="block px-4 py-2 hover:bg-gray-200">Shutdown</a> + </div> + <!-- dropdown menu end --> + + </div> +</template> + +<script> +import { mapState } from 'vuex' +import axios from 'axios' +export default { + name: 'Navbar', + computed: { + ...mapState(['sideBarOpen']) + }, + data() { + return { + dropDownOpen: false, + syncMessage: 'sync', + lastUpdateTime: "", + } + }, + methods: { + syncButton: function () { + + console.log("SYNC STARTED..") + + axios.get('http://localhost:1898/sync') + .then((response) => { + console.log(response); + this.syncMessage = response.data.data.payload + }) + .catch(function (error) { + console.log(error); + }); + }, + + lastUpdate: function () { + + axios.get('http://localhost:1898/getLastLogTime') + .then((response) => { + console.log(response); + this.lastUpdateTime = response.data.data + }) + .catch(function (error) { + console.log(error); + }); + }, + + toggleSidebar() { + this.$store.dispatch('toggleSidebar') + }, + shutdownWAMPAC: function () { + + console.log("Shutting Down WAMPAC") + + axios.get('http://localhost:1898/shutdown') + .then((response) => { + + console.log(response); + this.$router.push({path: '/shutdown'}) + + }) + .catch(function (error) { + console.log(error); + }); + } + }, + beforeMount() { + this.lastUpdate() + }, +} +</script> \ No newline at end of file diff --git a/src/components/Sidebar.vue b/src/components/Sidebar.vue new file mode 100644 index 0000000..5f27f54 --- /dev/null +++ b/src/components/Sidebar.vue @@ -0,0 +1,120 @@ +<template> + <!-- give the sidebar z-50 class so its higher than the navbar if you want to see the logo --> + <!-- you will need to add a little "X" button next to the logo in order to close it though --> + <div class="w-1/2 md:w-1/3 lg:w-64 fixed md:top-0 md:left-0 h-screen lg:block bg-gray-100 border-r z-30" :class="sideBarOpen ? '' : 'hidden'" id="main-nav"> + + <div class="w-full h-20 border-b flex px-4 items-center mb-8"> + <p class="font-semibold text-3xl text-blue-400 pl-4">WAMPAC</p> + </div> + + <div class="mb-4 px-4"> + <p class="pl-4 text-sm font-semibold mb-1">MAIN</p> + <div class="w-full flex items-center text-blue-400 h-10 pl-4 bg-gray-200 hover:bg-gray-200 rounded-lg cursor-pointer"> + <svg class="h-6 w-6 fill-current mr-2" viewBox="0 0 20 20"> + <path d="M18.121,9.88l-7.832-7.836c-0.155-0.158-0.428-0.155-0.584,0L1.842,9.913c-0.262,0.263-0.073,0.705,0.292,0.705h2.069v7.042c0,0.227,0.187,0.414,0.414,0.414h3.725c0.228,0,0.414-0.188,0.414-0.414v-3.313h2.483v3.313c0,0.227,0.187,0.414,0.413,0.414h3.726c0.229,0,0.414-0.188,0.414-0.414v-7.042h2.068h0.004C18.331,10.617,18.389,10.146,18.121,9.88 M14.963,17.245h-2.896v-3.313c0-0.229-0.186-0.415-0.414-0.415H8.342c-0.228,0-0.414,0.187-0.414,0.415v3.313H5.032v-6.628h9.931V17.245z M3.133,9.79l6.864-6.868l6.867,6.868H3.133z"></path> + </svg> + <router-link to="/dashboard/home"><span class="text-gray-700">Home</span></router-link> + </div> + <!--div class="w-full flex items-center text-blue-400 h-10 pl-4 hover:bg-gray-200 rounded-lg cursor-pointer"> + <svg class="h-6 w-6 fill-current mr-2" viewBox="0 0 20 20"> + <path d="M17.283,5.549h-5.26V4.335c0-0.222-0.183-0.404-0.404-0.404H8.381c-0.222,0-0.404,0.182-0.404,0.404v1.214h-5.26c-0.223,0-0.405,0.182-0.405,0.405v9.71c0,0.223,0.182,0.405,0.405,0.405h14.566c0.223,0,0.404-0.183,0.404-0.405v-9.71C17.688,5.731,17.506,5.549,17.283,5.549 M8.786,4.74h2.428v0.809H8.786V4.74z M16.879,15.26H3.122v-4.046h5.665v1.201c0,0.223,0.182,0.404,0.405,0.404h1.618c0.222,0,0.405-0.182,0.405-0.404v-1.201h5.665V15.26z M9.595,9.583h0.81v2.428h-0.81V9.583zM16.879,10.405h-5.665V9.19c0-0.222-0.183-0.405-0.405-0.405H9.191c-0.223,0-0.405,0.183-0.405,0.405v1.215H3.122V6.358h13.757V10.405z"></path> + </svg> + <router-link to="/dashboard/files"><span class="text-gray-700">WAMPAC Drive</span></router-link> + </div--> + <div v-if="!isVerifier" class="w-full flex items-center text-blue-400 h-10 pl-4 hover:bg-gray-200 rounded-lg cursor-pointer"> + <svg class="h-6 w-6 fill-current mr-2" viewBox="0 0 20 20"> + <path d="M17.498,11.697c-0.453-0.453-0.704-1.055-0.704-1.697c0-0.642,0.251-1.244,0.704-1.697c0.069-0.071,0.15-0.141,0.257-0.22c0.127-0.097,0.181-0.262,0.137-0.417c-0.164-0.558-0.388-1.093-0.662-1.597c-0.075-0.141-0.231-0.22-0.391-0.199c-0.13,0.02-0.238,0.027-0.336,0.027c-1.325,0-2.401-1.076-2.401-2.4c0-0.099,0.008-0.207,0.027-0.336c0.021-0.158-0.059-0.316-0.199-0.391c-0.503-0.274-1.039-0.498-1.597-0.662c-0.154-0.044-0.32,0.01-0.416,0.137c-0.079,0.106-0.148,0.188-0.22,0.257C11.244,2.956,10.643,3.207,10,3.207c-0.642,0-1.244-0.25-1.697-0.704c-0.071-0.069-0.141-0.15-0.22-0.257C7.987,2.119,7.821,2.065,7.667,2.109C7.109,2.275,6.571,2.497,6.07,2.771C5.929,2.846,5.85,3.004,5.871,3.162c0.02,0.129,0.027,0.237,0.027,0.336c0,1.325-1.076,2.4-2.401,2.4c-0.098,0-0.206-0.007-0.335-0.027C3.001,5.851,2.845,5.929,2.77,6.07C2.496,6.572,2.274,7.109,2.108,7.667c-0.044,0.154,0.01,0.32,0.137,0.417c0.106,0.079,0.187,0.148,0.256,0.22c0.938,0.936,0.938,2.458,0,3.394c-0.069,0.072-0.15,0.141-0.256,0.221c-0.127,0.096-0.181,0.262-0.137,0.416c0.166,0.557,0.388,1.096,0.662,1.596c0.075,0.143,0.231,0.221,0.392,0.199c0.129-0.02,0.237-0.027,0.335-0.027c1.325,0,2.401,1.076,2.401,2.402c0,0.098-0.007,0.205-0.027,0.334C5.85,16.996,5.929,17.154,6.07,17.23c0.501,0.273,1.04,0.496,1.597,0.66c0.154,0.047,0.32-0.008,0.417-0.137c0.079-0.105,0.148-0.186,0.22-0.256c0.454-0.453,1.055-0.703,1.697-0.703c0.643,0,1.244,0.25,1.697,0.703c0.071,0.07,0.141,0.15,0.22,0.256c0.073,0.098,0.188,0.152,0.307,0.152c0.036,0,0.073-0.004,0.109-0.016c0.558-0.164,1.096-0.387,1.597-0.66c0.141-0.076,0.22-0.234,0.199-0.393c-0.02-0.129-0.027-0.236-0.027-0.334c0-1.326,1.076-2.402,2.401-2.402c0.098,0,0.206,0.008,0.336,0.027c0.159,0.021,0.315-0.057,0.391-0.199c0.274-0.5,0.496-1.039,0.662-1.596c0.044-0.154-0.01-0.32-0.137-0.416C17.648,11.838,17.567,11.77,17.498,11.697 M16.671,13.334c-0.059-0.002-0.114-0.002-0.168-0.002c-1.749,0-3.173,1.422-3.173,3.172c0,0.053,0.002,0.109,0.004,0.166c-0.312,0.158-0.64,0.295-0.976,0.406c-0.039-0.045-0.077-0.086-0.115-0.123c-0.601-0.6-1.396-0.93-2.243-0.93s-1.643,0.33-2.243,0.93c-0.039,0.037-0.077,0.078-0.116,0.123c-0.336-0.111-0.664-0.248-0.976-0.406c0.002-0.057,0.004-0.113,0.004-0.166c0-1.75-1.423-3.172-3.172-3.172c-0.054,0-0.11,0-0.168,0.002c-0.158-0.312-0.293-0.639-0.405-0.975c0.044-0.039,0.085-0.078,0.124-0.115c1.236-1.236,1.236-3.25,0-4.486C3.009,7.719,2.969,7.68,2.924,7.642c0.112-0.336,0.247-0.664,0.405-0.976C3.387,6.668,3.443,6.67,3.497,6.67c1.75,0,3.172-1.423,3.172-3.172c0-0.054-0.002-0.11-0.004-0.168c0.312-0.158,0.64-0.293,0.976-0.405C7.68,2.969,7.719,3.01,7.757,3.048c0.6,0.6,1.396,0.93,2.243,0.93s1.643-0.33,2.243-0.93c0.038-0.039,0.076-0.079,0.115-0.123c0.336,0.112,0.663,0.247,0.976,0.405c-0.002,0.058-0.004,0.114-0.004,0.168c0,1.749,1.424,3.172,3.173,3.172c0.054,0,0.109-0.002,0.168-0.004c0.158,0.312,0.293,0.64,0.405,0.976c-0.045,0.038-0.086,0.077-0.124,0.116c-0.6,0.6-0.93,1.396-0.93,2.242c0,0.847,0.33,1.645,0.93,2.244c0.038,0.037,0.079,0.076,0.124,0.115C16.964,12.695,16.829,13.021,16.671,13.334 M10,5.417c-2.528,0-4.584,2.056-4.584,4.583c0,2.529,2.056,4.584,4.584,4.584s4.584-2.055,4.584-4.584C14.584,7.472,12.528,5.417,10,5.417 M10,13.812c-2.102,0-3.812-1.709-3.812-3.812c0-2.102,1.71-3.812,3.812-3.812c2.102,0,3.812,1.71,3.812,3.812C13.812,12.104,12.102,13.812,10,13.812"></path> + </svg> + <router-link to="/dashboard/backup"><span class="text-gray-700">Backed Up Files</span></router-link> + </div> + <!-- <div class="w-full flex items-center text-blue-400 h-10 pl-4 hover:bg-gray-200 rounded-lg cursor-pointer"> + <svg class="h-6 w-6 fill-current mr-2" viewBox="0 0 20 20"> + <path d="M16.557,4.467h-1.64v-0.82c0-0.225-0.183-0.41-0.409-0.41c-0.226,0-0.41,0.185-0.41,0.41v0.82H5.901v-0.82c0-0.225-0.185-0.41-0.41-0.41c-0.226,0-0.41,0.185-0.41,0.41v0.82H3.442c-0.904,0-1.64,0.735-1.64,1.639v9.017c0,0.904,0.736,1.64,1.64,1.64h13.114c0.904,0,1.64-0.735,1.64-1.64V6.106C18.196,5.203,17.461,4.467,16.557,4.467 M17.377,15.123c0,0.453-0.366,0.819-0.82,0.819H3.442c-0.453,0-0.82-0.366-0.82-0.819V8.976h14.754V15.123z M17.377,8.156H2.623V6.106c0-0.453,0.367-0.82,0.82-0.82h1.639v1.23c0,0.225,0.184,0.41,0.41,0.41c0.225,0,0.41-0.185,0.41-0.41v-1.23h8.196v1.23c0,0.225,0.185,0.41,0.41,0.41c0.227,0,0.409-0.185,0.409-0.41v-1.23h1.64c0.454,0,0.82,0.367,0.82,0.82V8.156z"></path> + </svg> + <span class="text-gray-700">Calender</span> + </div> --> + </div> + + <div class="mb-4 px-4"> + <p class="pl-4 text-sm font-semibold mb-1">SYSTEM</p> + <div class="w-full flex items-center text-blue-400 h-10 pl-4 hover:bg-gray-200 rounded-lg cursor-pointer"> + <svg class="h-6 w-6 fill-current mr-2" viewBox="0 0 20 20"> + <path d="M14.613,10c0,0.23-0.188,0.419-0.419,0.419H10.42v3.774c0,0.23-0.189,0.42-0.42,0.42s-0.419-0.189-0.419-0.42v-3.774H5.806c-0.23,0-0.419-0.189-0.419-0.419s0.189-0.419,0.419-0.419h3.775V5.806c0-0.23,0.189-0.419,0.419-0.419s0.42,0.189,0.42,0.419v3.775h3.774C14.425,9.581,14.613,9.77,14.613,10 M17.969,10c0,4.401-3.567,7.969-7.969,7.969c-4.402,0-7.969-3.567-7.969-7.969c0-4.402,3.567-7.969,7.969-7.969C14.401,2.031,17.969,5.598,17.969,10 M17.13,10c0-3.932-3.198-7.13-7.13-7.13S2.87,6.068,2.87,10c0,3.933,3.198,7.13,7.13,7.13S17.13,13.933,17.13,10"></path> + </svg> + <router-link to="/dashboard/NMS"><span class="text-gray-700">Monitoring</span></router-link> + </div> + <div v-if="!isVerifier" class="w-full flex items-center text-blue-400 h-10 pl-4 hover:bg-gray-200 rounded-lg cursor-pointer"> + <svg class="h-6 w-6 fill-current mr-2" viewBox="0 0 20 20"> + <path d="M15.396,2.292H4.604c-0.212,0-0.385,0.174-0.385,0.386v14.646c0,0.212,0.173,0.385,0.385,0.385h10.792c0.211,0,0.385-0.173,0.385-0.385V2.677C15.781,2.465,15.607,2.292,15.396,2.292 M15.01,16.938H4.99v-2.698h1.609c0.156,0.449,0.586,0.771,1.089,0.771c0.638,0,1.156-0.519,1.156-1.156s-0.519-1.156-1.156-1.156c-0.503,0-0.933,0.321-1.089,0.771H4.99v-3.083h1.609c0.156,0.449,0.586,0.771,1.089,0.771c0.638,0,1.156-0.518,1.156-1.156c0-0.638-0.519-1.156-1.156-1.156c-0.503,0-0.933,0.322-1.089,0.771H4.99V6.531h1.609C6.755,6.98,7.185,7.302,7.688,7.302c0.638,0,1.156-0.519,1.156-1.156c0-0.638-0.519-1.156-1.156-1.156c-0.503,0-0.933,0.322-1.089,0.771H4.99V3.062h10.02V16.938z M7.302,13.854c0-0.212,0.173-0.386,0.385-0.386s0.385,0.174,0.385,0.386s-0.173,0.385-0.385,0.385S7.302,14.066,7.302,13.854 M7.302,10c0-0.212,0.173-0.385,0.385-0.385S8.073,9.788,8.073,10s-0.173,0.385-0.385,0.385S7.302,10.212,7.302,10 M7.302,6.146c0-0.212,0.173-0.386,0.385-0.386s0.385,0.174,0.385,0.386S7.899,6.531,7.688,6.531S7.302,6.358,7.302,6.146"></path> + </svg> + <router-link to="/dashboard/logs"><span class="text-gray-700">Logs</span></router-link> + </div> + <div class="w-full flex items-center text-blue-400 h-10 pl-4 hover:bg-gray-200 rounded-lg cursor-pointer"> + <svg class="h-6 w-6 fill-current mr-2" viewBox="0 0 20 20"> + <path d="M15.396,2.292H4.604c-0.212,0-0.385,0.174-0.385,0.386v14.646c0,0.212,0.173,0.385,0.385,0.385h10.792c0.211,0,0.385-0.173,0.385-0.385V2.677C15.781,2.465,15.607,2.292,15.396,2.292 M15.01,16.938H4.99v-2.698h1.609c0.156,0.449,0.586,0.771,1.089,0.771c0.638,0,1.156-0.519,1.156-1.156s-0.519-1.156-1.156-1.156c-0.503,0-0.933,0.321-1.089,0.771H4.99v-3.083h1.609c0.156,0.449,0.586,0.771,1.089,0.771c0.638,0,1.156-0.518,1.156-1.156c0-0.638-0.519-1.156-1.156-1.156c-0.503,0-0.933,0.322-1.089,0.771H4.99V6.531h1.609C6.755,6.98,7.185,7.302,7.688,7.302c0.638,0,1.156-0.519,1.156-1.156c0-0.638-0.519-1.156-1.156-1.156c-0.503,0-0.933,0.322-1.089,0.771H4.99V3.062h10.02V16.938z M7.302,13.854c0-0.212,0.173-0.386,0.385-0.386s0.385,0.174,0.385,0.386s-0.173,0.385-0.385,0.385S7.302,14.066,7.302,13.854 M7.302,10c0-0.212,0.173-0.385,0.385-0.385S8.073,9.788,8.073,10s-0.173,0.385-0.385,0.385S7.302,10.212,7.302,10 M7.302,6.146c0-0.212,0.173-0.386,0.385-0.386s0.385,0.174,0.385,0.386S7.899,6.531,7.688,6.531S7.302,6.358,7.302,6.146"></path> + </svg> + <router-link to="/dashboard/anomalies"><span class="text-gray-700">Anomalies</span></router-link> + </div> + </div> + + <!-- <div class="mb-4 px-4"> + <p class="pl-4 text-sm font-semibold mb-1">ADMIN</p> --> + <!-- <div class="w-full flex items-center text-blue-400 h-10 pl-4 hover:bg-gray-200 rounded-lg cursor-pointer"> + <svg class="h-6 w-6 fill-current mr-2" viewBox="0 0 20 20"> + <path d="M17.592,8.936l-6.531-6.534c-0.593-0.631-0.751-0.245-0.751,0.056l0.002,2.999L5.427,9.075H2.491c-0.839,0-0.162,0.901-0.311,0.752l3.683,3.678l-3.081,3.108c-0.17,0.171-0.17,0.449,0,0.62c0.169,0.17,0.448,0.17,0.618,0l3.098-3.093l3.675,3.685c-0.099-0.099,0.773,0.474,0.773-0.296v-2.965l3.601-4.872l2.734-0.005C17.73,9.688,18.326,9.669,17.592,8.936 M3.534,9.904h1.906l4.659,4.66v1.906L3.534,9.904z M10.522,13.717L6.287,9.48l4.325-3.124l3.088,3.124L10.522,13.717z M14.335,8.845l-3.177-3.177V3.762l5.083,5.083H14.335z"></path> + </svg> + <span class="text-gray-700">Notices</span> + </div> + <div class="w-full flex items-center text-blue-400 h-10 pl-4 hover:bg-gray-200 rounded-lg cursor-pointer"> + <svg class="h-6 w-6 fill-current mr-2" viewBox="0 0 20 20"> + <path d="M6.176,7.241V6.78c0-0.221-0.181-0.402-0.402-0.402c-0.221,0-0.403,0.181-0.403,0.402v0.461C4.79,7.416,4.365,7.955,4.365,8.591c0,0.636,0.424,1.175,1.006,1.35v3.278c0,0.222,0.182,0.402,0.403,0.402c0.222,0,0.402-0.181,0.402-0.402V9.941c0.582-0.175,1.006-0.714,1.006-1.35C7.183,7.955,6.758,7.416,6.176,7.241 M5.774,9.195c-0.332,0-0.604-0.272-0.604-0.604c0-0.332,0.272-0.604,0.604-0.604c0.332,0,0.604,0.272,0.604,0.604C6.377,8.923,6.105,9.195,5.774,9.195 M10.402,10.058V6.78c0-0.221-0.181-0.402-0.402-0.402c-0.222,0-0.402,0.181-0.402,0.402v3.278c-0.582,0.175-1.006,0.714-1.006,1.35c0,0.637,0.424,1.175,1.006,1.351v0.461c0,0.222,0.181,0.402,0.402,0.402c0.221,0,0.402-0.181,0.402-0.402v-0.461c0.582-0.176,1.006-0.714,1.006-1.351C11.408,10.772,10.984,10.233,10.402,10.058M10,12.013c-0.333,0-0.604-0.272-0.604-0.604S9.667,10.805,10,10.805c0.332,0,0.604,0.271,0.604,0.604S10.332,12.013,10,12.013M14.629,8.448V6.78c0-0.221-0.182-0.402-0.403-0.402c-0.221,0-0.402,0.181-0.402,0.402v1.668c-0.581,0.175-1.006,0.714-1.006,1.35c0,0.636,0.425,1.176,1.006,1.351v2.07c0,0.222,0.182,0.402,0.402,0.402c0.222,0,0.403-0.181,0.403-0.402v-2.07c0.581-0.175,1.006-0.715,1.006-1.351C15.635,9.163,15.21,8.624,14.629,8.448 M14.226,10.402c-0.331,0-0.604-0.272-0.604-0.604c0-0.332,0.272-0.604,0.604-0.604c0.332,0,0.604,0.272,0.604,0.604C14.83,10.13,14.558,10.402,14.226,10.402 M17.647,3.962H2.353c-0.221,0-0.402,0.181-0.402,0.402v11.27c0,0.222,0.181,0.402,0.402,0.402h15.295c0.222,0,0.402-0.181,0.402-0.402V4.365C18.05,4.144,17.869,3.962,17.647,3.962 M17.245,15.232H2.755V4.768h14.49V15.232z"></path> + </svg> + <span class="text-gray-700">Controls</span> + </div> --> + <!-- <div class="w-full flex items-center text-blue-400 h-10 pl-4 hover:bg-gray-200 rounded-lg cursor-pointer"> + <svg class="h-6 w-6 fill-current mr-2" viewBox="0 0 20 20"> + <path d="M18.303,4.742l-1.454-1.455c-0.171-0.171-0.475-0.171-0.646,0l-3.061,3.064H2.019c-0.251,0-0.457,0.205-0.457,0.456v9.578c0,0.251,0.206,0.456,0.457,0.456h13.683c0.252,0,0.457-0.205,0.457-0.456V7.533l2.144-2.146C18.481,5.208,18.483,4.917,18.303,4.742 M15.258,15.929H2.476V7.263h9.754L9.695,9.792c-0.057,0.057-0.101,0.13-0.119,0.212L9.18,11.36h-3.98c-0.251,0-0.457,0.205-0.457,0.456c0,0.253,0.205,0.456,0.457,0.456h4.336c0.023,0,0.899,0.02,1.498-0.127c0.312-0.077,0.55-0.137,0.55-0.137c0.08-0.018,0.155-0.059,0.212-0.118l3.463-3.443V15.929z M11.241,11.156l-1.078,0.267l0.267-1.076l6.097-6.091l0.808,0.808L11.241,11.156z"></path> + </svg> + <router-link to="/dashboard/verification"><span class="text-gray-700">Identity Verification</span></router-link> + </div> --> + + <!-- </div> --> + + </div> +</template> + +<script> +import { mapState } from 'vuex' +import axios from 'axios' + + +export default { + name: 'Sidebar', + data() { + return { + + isVerifier:false, + } + }, + methods:{ + checkRole: function() { + axios.get('http://localhost:1898/checkRole') + .then((response) => { + + if(response.data.data.payload == 'Verifier') { + this.isVerifier = true + } + }) + .catch(function (error) { + console.log(error); + }); + }, + }, + computed: { + ...mapState(['sideBarOpen']) + }, + beforeMount() { + this.checkRole() + } +} +</script> \ No newline at end of file diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..8e672fd --- /dev/null +++ b/src/main.js @@ -0,0 +1,59 @@ +import Vue from 'vue' +import App from './App.vue' +import Router from 'vue-router' + +import Dashboard from '@/components/Dashboard' +import DashboardHome from '@/pages/Home' +import DashboardVerifier from '@/pages/Verifier' +import DIDcreation from '@/pages/DIDcreation' +import FileSharing from '@/pages/FileSharing' +import BackedupFiles from '@/pages/BackedupFiles' +import VerifyDID from '@/pages/VerifyDID' +import NMS from '@/pages/NMS' +import Logs from '@/pages/Logs' +import UserLog from '@/pages/UserLog' +import Account from '@/pages/Account' +import NewFileUpload from '@/pages/NewFileUpload' +import Anomalies from '@/pages/Anomalies' + +import store from './store' + +import '@/assets/css/tailwind.css' + + +Vue.config.productionTip = false + +Vue.use(Router) + +const routes = [ + { path: '/', redirect: { name: 'DashboardHome' } }, + { path: '/create-new-DID', name: 'DIDcreation', component: DIDcreation }, + { path: '/verification', name: 'VerifyDID', component: VerifyDID }, + { path: '/dashboard', component: Dashboard, children: [ + { path: '/', redirect: { name: 'DashboardHome' } }, + { path: 'home', name: 'DashboardHome', component: DashboardHome }, + { path: 'verifier', name: 'DashboardVerifier', component: DashboardVerifier }, + { path: 'NMS', name: 'NMS', component: NMS }, + { path: 'logs', name: 'logs', component: Logs }, + { path: 'user-log', name: 'UserLog', component: UserLog, props: true }, + { path: 'anomalies', name: 'anomalies', component: Anomalies }, + { path: 'files', name: 'FileSharing', component: FileSharing }, + { path: 'backup', name: 'BackedupFiles', component: BackedupFiles }, + { path: 'upload-file', name: 'NewFileUpload', component: NewFileUpload }, + { path: 'account', name: 'Account', component: Account }, + ] + }, + { path: '/about', redirect: { name: 'DashboardHome' } } +] + +const router = new Router({ + mode: 'history', + routes +}) + +new Vue({ + render: h => h(App), + router, + store +}).$mount('#app') + diff --git a/src/pages/Account.vue b/src/pages/Account.vue new file mode 100644 index 0000000..f451c87 --- /dev/null +++ b/src/pages/Account.vue @@ -0,0 +1,113 @@ +<template> + <div id="Account"> + <!-- breadcrumb --> + <nav class="text-sm font-semibold mb-6" aria-label="Breadcrumb"> + <ol class="list-none p-0 inline-flex"> + <li class="flex items-center text-blue-500"> + <a href="#" class="text-gray-700">Account</a> + <svg class="fill-current w-3 h-3 mx-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"/></svg> + </li> + <!-- <li class="flex items-center"> + <a href="#" class="text-gray-600"></a> + </li> --> + </ol> + </nav> + <!-- breadcrumb end --> + + <div class="lg:flex justify-between items-center mb-6"> + <p class="text-xl mb-2 lg:mb-0">Welcome, {{did}}</p> + </div> + + <div class="flex flex-wrap -mx-3 mb-20"> + </div> + </div> +</template> + +<script> +import axios from 'axios' + +export default { + name: 'DashboardHome', + data() { + return { + + did: 0, + } + }, + methods:{ + + checkStatus: function () { + + console.log("loading DID exists") + + axios.get('http://localhost:1898/checkDidExists') + .then((response) => { + + console.log(response); + if(response.data.data.payload == 'Failure'){ + console.log("moving to create DID") + this.$router.push({path: '/create-new-DID'}) + return; + } else { + console.log("loading DID verified") + axios.get('http://localhost:1898/checkDidVerified') + .then((response) => { + this.isVerified = response.data.data.payload + console.log(response); + if(response.data.data.payload == 'Failure'){ + console.log("moving to create DID [check]") + this.$router.push({path: '/verification'}) + return; + } + }) + .catch(function (error) { + console.log(error); + this.$router.push({path: '/verification'}) + return; + }); + } + }) + .catch(function (error) { + console.log(error); + this.$router.push({path: '/create-new-DID'}) + return; + }); + + + + + axios.get('http://localhost:1898/checkRole') + .then((response) => { + + console.log(response); + // this.myRole = response.data.data.payload + }) + .catch(function (error) { + console.log(error); + // this.$router.push({path: '/create-new-DID'}) + }); + }, + + getAccountInfo: function () { + + console.log("loading getAccountInfo") + + axios.get('http://localhost:1898/getAccountInfo') + .then((response) => { + + console.log(response); + this.did = response.data.did + + }) + .catch(function (error) { + console.log(error); + }); + }, + }, + + beforeMount() { + this.getAccountInfo() + this.checkStatus() + } +} +</script> \ No newline at end of file diff --git a/src/pages/Anomalies.vue b/src/pages/Anomalies.vue new file mode 100644 index 0000000..43f1e52 --- /dev/null +++ b/src/pages/Anomalies.vue @@ -0,0 +1,166 @@ +<template> + <div id="Anomalies"> + <!-- breadcrumb --> + <nav class="text-sm font-semibold mb-6" aria-label="Breadcrumb"> + <ol class="list-none p-0 inline-flex"> + <li class="flex items-center text-blue-500"> + <a href="#" class="text-gray-700">System</a> + <svg class="fill-current w-3 h-3 mx-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"/></svg> + </li> + <li class="flex items-center"> + <a href="#" class="text-gray-600">Anomalies</a> + </li> + + </ol> + </nav> + <!-- breadcrumb end --> + + <div class="lg:flex justify-between items-center mb-6"> + <p class="text-2xl font-semibold mb-2 lg:mb-0">Anomalies</p> + </div> + <div v-for="sysAnomaly in sysAnomaly" :key="sysAnomaly"> + <ul class="space_list w-full rounded-lg mt-2 mb-3 text-blue-800"> + <li class="w-fill flex p-3 pl-3 bg-gray-200 hover:bg-gray-400 rounded-lg"> + <div class="did font-semibold text-sm">{{ sysAnomaly.anomaly }} <p class="text-grey-700 font-semibold text-sm"> {{ sysAnomaly.did }}</p> <p class="text-red-500 font-semibold text-sm"> {{ sysAnomaly.timestamp }}</p> </div> + </li> + </ul> + </div> + </div> +</template> + +<script> +import axios from 'axios' +import Vue from 'vue' +import VModal from 'vue-js-modal' + +Vue.use(VModal, { + dynamicDefaults: { + draggable: true, + resizable: true, + height: 'auto' + } +}) + +export default { + name: 'Anomalies', + data() { + return { + + sysAnomaly:[], + } + }, + methods:{ + + userAnomaly: function () { + + axios.get('http://localhost:1898/getAnomalyListUser') + .then((response) => { + + console.log(response); + this.sysAnomaly = response.data.data + + }) + .catch(function (error) { + console.log(error); + }); + }, + + verifierAnomaly: function () { + + axios.get('http://localhost:1898/getAnomalyListVerifier') + .then((response) => { + + console.log(response); + this.sysAnomaly = response.data.data + + }) + .catch(function (error) { + console.log(error); + }); + }, + + + checkStatus: function () { + + console.log("loading DID exists") + + axios.get('http://localhost:1898/checkDidExists') + .then((response) => { + + console.log(response); + if(response.data.data.payload == 'Failure'){ + console.log("moving to create DID") + this.$router.push({path: '/create-new-DID'}) + return; + } else { + console.log("loading DID verified") + axios.get('http://localhost:1898/checkDidVerified') + .then((response) => { + this.isVerified = response.data.data.payload + console.log(response); + if(response.data.data.payload == 'Failure'){ + console.log("moving to create DID [check]") + this.$router.push({path: '/verification'}) + return; + } + else { + this.checkRole() + } + }) + .catch(function (error) { + console.log(error); + this.$router.push({path: '/verification'}) + return; + }); + } + }) + .catch(function (error) { + console.log(error); + this.$router.push({path: '/create-new-DID'}) + return; + }); + }, + + checkRole: function() { + axios.get('http://localhost:1898/checkRole') + .then((response) => { + + if(response.data.data.payload != 'Verifier') { + console.log("USER DATA") + this.userAnomaly() + } + else { + console.log("VERIFIER DATA") + this.verifierAnomaly() + } + }) + .catch(function (error) { + console.log(error); + }); + }, + + }, + beforeMount() { + this.checkStatus() + } +} +</script> + +<style> + +.center{ + text-align: center; +} +ul { + list-style-type: none; +} +.element1 { + display:inline-block;margin-right:10px; +} +ul.space_list li { margin-bottom: 0.5em; } + +.pre-formatted { + white-space: pre; +} + +</style> \ No newline at end of file diff --git a/src/pages/BackedupFiles.vue b/src/pages/BackedupFiles.vue new file mode 100644 index 0000000..c1fa854 --- /dev/null +++ b/src/pages/BackedupFiles.vue @@ -0,0 +1,176 @@ +<template> + <div id="BackedupFiles"> + <!-- breadcrumb --> + <nav class="text-sm font-semibold mb-6" aria-label="Breadcrumb"> + <ol class="list-none p-0 inline-flex"> + <li class="flex items-center text-blue-500"> + <a href="#" class="text-gray-700">Files</a> + <svg class="fill-current w-3 h-3 mx-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"/></svg> + </li> + <li class="flex items-center"> + <a href="#" class="text-gray-600">Backup</a> + </li> + </ol> + </nav> + <!-- breadcrumb end --> + + <div class="flex flex-wrap -mx-3"> + <div class="w-full xl:w-1/2 px-3"> + <p class="text-xl font-semibold mb-4">Already Backed Up Files</p> + <div class="px-10"> + <ul> + <li v-for="filesBackedUp in filesBackedUp" :key="filesBackedUp"> + <div class="did text-lg">{{ filesBackedUp }} + </div> + <hr> + </li> + </ul> + </div> + </div> + <div class="w-full xl:w-1/2 px-3"> + <p class="text-xl font-semibold mb-4">Pending Files For Back Up</p> + <p class="text-sm mb-4">Maximum allowed file size is 1 MB</p> + <div class="w-full xl:w-1/2 px-3"> + <input type="file" id="file" ref="file" v-on:change="handleFileUpload()"/> + <span class="p-40" v-if="showUpdating"> + <Progress strokeColor="#516091" value="87"> + <template v-slot:footer> + <b>Backing up Selected File, Please wait..</b> + </template> + </Progress> + </span> + <p class="text-gray-700 font-semibold text-xl center">{{updateResponse}}</p> + <div v-if="!showUpdating" class="w-full xl:w-1/2 px-3 py-10"> + <button v-on:click="launchFileContract(), fetchingStats = true" class="center bg-green-500 hover:bg-green-600 focus:outline-none rounded-lg px-6 py-2 text-white font-semibold shadow">Backup File</button> + </div> + </div> + </div> + </div> + </div> +</template> + +<script> +import axios from 'axios' +import Progress from 'easy-circular-progress' + +export default { + name: 'BackedupFiles', + data() { + return { + showUpdating: false, + updateResponse: '', + filesBackedUp: [], + newFile: {}, + } + }, + components: { + Progress + }, + methods:{ + + handleFileUpload(){ + this.newFile = this.$refs.file.files[0]; + }, + + launchFileContract: function () { + this.showUpdating = true + this.updateResponse = '' + const formData = new FormData() + formData.append('file', this.newFile) + + console.log("loading add backup") + + axios.post('http://localhost:1898/addBackup', formData,{ + headers: { + 'Content-Type': 'multipart/form-data' + } + }) + .then((response) => { + console.log("completed add backup") + this.showUpdating = false + this.updateResponse = response.data.data + this.newFile = {} + this.backedUp() + + }) + .catch(function (error) { + console.log(error); + }); + }, + + backedUp: function () { + + console.log("loading getDashboardData") + + axios.get('http://localhost:1898/getBackupFiles') + .then((response) => { + + console.log("GETTING BACKED UP FILES") + + this.filesBackedUp = response.data.data + console.log(this.filesBackedUp) + + }) + .catch(function (error) { + + console.log(error); + }); + }, + + checkStatus: function () { + + console.log("loading DID exists") + + axios.get('http://localhost:1898/checkDidExists') + .then((response) => { + + console.log(response); + if(response.data.data.payload == 'Failure'){ + console.log("moving to create DID") + this.$router.push({path: '/create-new-DID'}) + return; + } else { + console.log("loading DID verified") + axios.get('http://localhost:1898/checkDidVerified') + .then((response) => { + this.isVerified = response.data.data.payload + console.log(response); + if(response.data.data.payload == 'Failure'){ + console.log("moving to create DID [check]") + this.$router.push({path: '/verification'}) + return; + } + }) + .catch(function (error) { + console.log(error); + this.$router.push({path: '/verification'}) + return; + }); + } + }) + .catch(function (error) { + console.log(error); + this.$router.push({path: '/create-new-DID'}) + return; + }); + + axios.get('http://localhost:1898/checkRole') + .then((response) => { + + console.log(response); + // this.myRole = response.data.data.payload + }) + .catch(function (error) { + console.log(error); + // this.$router.push({path: '/create-new-DID'}) + }); + }, + + }, + + beforeMount() { + this.backedUp() + this.checkStatus() + } +} +</script> \ No newline at end of file diff --git a/src/pages/DIDcreation.vue b/src/pages/DIDcreation.vue new file mode 100644 index 0000000..8a73f78 --- /dev/null +++ b/src/pages/DIDcreation.vue @@ -0,0 +1,225 @@ +<template> + <div id="DIDcreation" class="p-6 bg-gray-100 mb-20"> + <!-- <div class="text-center" v-if="loading"> + <Progress strokeColor="#FF00AA" value="100.00"> + <template v-slot:footer> + <b>Creating Identity</b> + </template> + </Progress> + </div> + <div v-else> --> + <!-- breadcrumb --> + <div class="w-full h-20 border-b flex px-4 items-center mb-8"> + <p class="font-semibold text-3xl text-blue-400 pl-4">WAMPAC</p> + </div> + <nav class="text-sm font-semibold mb-6" aria-label="Breadcrumb"> + <ol class="list-none p-0 inline-flex"> + <li class="flex items-center text-blue-500"> + <a href="#" class="text-gray-700">Decentralised Identity</a> + <svg class="fill-current w-3 h-3 mx-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"/></svg> + </li> + <li class="flex items-center"> + <a href="#" class="text-gray-600">new DID form</a> + </li> + </ol> + </nav> + <!-- breadcrumb end --> + + <div class="lg:flex justify-between items-center mb-6"> + <p class="text-2xl font-semibold mb-2 lg:mb-0">Create new Decentralized Identity</p> + </div> + <div class="flex flex-wrap -mx-3"> + <p>{{ responseDID }}</p> + <div class="w-full xl:w-1/2 px-3"> + <p class="text-2l font-semibold mb-2 lg:mb-0 center">IP Address <input :disabled="true" v-model="ipFill" name="Keyphrase" placeholder="" class="bg-white h-10 w-full xl:w-64 px-5 rounded-lg border text-sm focus:outline-none"></p> + <br> + <p class="text-2l font-semibold mb-2 lg:mb-0 center">MAC Address <input :disabled="true" v-model="macFill" name="Keyphrase" placeholder="" class="bg-white h-10 w-full xl:w-64 px-5 rounded-lg border text-sm focus:outline-none"></p> + <br> + <p class="text-2l font-semibold mb-2 lg:mb-0 center">Keyphrase <input type="search" v-model="keyphrase" name="Keyphrase" placeholder="required for identity creation" class="bg-white h-10 w-full xl:w-64 px-5 rounded-lg border text-sm focus:outline-none"></p> + </div> + <div class="w-full xl:w-1/2 px-3"> + <div class="DIDimage"> + <picture-input + ref="pictureInput" + @change="onChange" + width="300" + height="300" + margin="16" + accept="image/jpeg,image/png" + size="10" + buttonClass="btn" + :customStrings="{ + upload: '<h1>Error!</h1>', + drag: 'Drag Seed Image (256x256 PNG)' + }"> + </picture-input> + </div> + </div> + </div> + <div class="center vld-parent"> + <br> + <button v-on:click="postCreateDID(ipFill.concat(macFill, keyphrase)), fetchingStats = true" :disabled=loading class="bg-blue-500 hover:bg-blue-600 focus:outline-none rounded-lg px-6 py-2 text-white font-semibold shadow">Get Identity</button> + </div> + <div class="text-center" v-if="loading"> + <Progress strokeColor="#516091" value="94"> + <template v-slot:footer> + <b>Creating Identity, Please wait..</b> + </template> + </Progress> + </div> + </div> + <!-- </div> --> +</template> + +<script> +import PictureInput from 'vue-picture-input' +import axios from 'axios' +import Progress from 'easy-circular-progress' + +export default { + name: 'DIDcreation', + data() { + return { + ipFill:'', + macFill:'', + responseDID: '', + data: '', + keyphrase: '', + loading: false, + } + }, + components: { + PictureInput, + Progress + }, + methods: { + onChange (image) { + console.log('New picture selected!') + if (image) { + console.log('Picture loaded.') + this.image = this.$refs.pictureInput.file + } else { + console.log('FileReader API not supported: use the <form>, bro!') + } + }, + + // TODO: USE progress-path loader animation + + reconnect: function() { + axios.get('http://localhost:1898/checkDidVerified') + .then((response) => { + this.isVerified = response.data.data.payload + if(response.data.data.payload == 'Success'){ + this.$router.push({path: '/dashboard/home'}) + return; + } + }) + .catch(function (error) { + console.log(error); + }); + }, + + postCreateDID: function (key) { + this.loading = true + const formData = new FormData() + console.log(key) + + formData.append('data', key) + formData.append('image', this.image) + + console.log("loading postCreateDID") + + axios.post('http://localhost:1898/create', formData,{ + headers: { + 'Content-Type': 'multipart/form-data' + } + }) + .then((response) => { + + console.log(response); + + console.log(this.responseDID) + if(response.data.data.payload.Status=='Success') { + this.$router.push({path: '/verification'}) + } else { + this.keyphrase = '' + this.data = '' + this.loading = false + } + + // TODO: GOTO HOME AND SHOW LOADER + + }) + .catch(function (error) { + console.log(error); + }); + }, + + getMAC: function () { + + console.log("loading mac address") + + axios.get('http://localhost:1898/getMac') + .then((response) => { + + console.log(response); + this.macFill = response.data.data.payload + + }) + .catch(function (error) { + console.log(error); + }); + }, + + getIP: function () { + + console.log("loading startWAMPAC") + + axios.get('http://localhost:1898/getIp') + .then((response) => { + + console.log(response); + this.ipFill = response.data.data.payload + + }) + .catch(function (error) { + console.log(error); + }); + }, + + // startWAMPAC: function () { + + // console.log("loading startWAMPAC") + + // axios.get('http://localhost:1898/start') + // .then((response) => { + + // console.log(response); + // this.$router.push({path: '/verification'}) + + // }) + // .catch(function (error) { + // console.log(error); + // }); + // } + }, + beforeMount() { + this.reconnect() + this.getMAC() + this.getIP() + }, +} + +</script> + +<style> + +option:disabled { + color: #abcdef; +} + +.center{ + text-align: center; +} + +</style> \ No newline at end of file diff --git a/src/pages/FileSharing.vue b/src/pages/FileSharing.vue new file mode 100644 index 0000000..2aa246d --- /dev/null +++ b/src/pages/FileSharing.vue @@ -0,0 +1,383 @@ +<template> + <div id="FileSharing"> + + <!-- breadcrumb --> + <nav class="text-sm font-semibold mb-6" aria-label="Breadcrumb"> + <ol class="list-none p-0 inline-flex"> + <li class="flex items-center text-blue-500"> + <a href="#" class="text-gray-700">Main</a> + <svg class="fill-current w-3 h-3 mx-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"/></svg> + </li> + <li class="flex items-center"> + <a href="#" class="text-gray-600">WAMPAC Drive</a> + </li> + </ol> + </nav> + <!-- breadcrumb end --> + <div class="flex flex-wrap -mx-3 mb-5"> + <div class="w-1/4 l:w-1/4 px-3"> + <div class="w-full bg-white border text-blue-400 rounded-lg flex items-center p-6 mb-6 xl:mb-0"> + <svg class="w-16 h-16 fill-current mr-4 hidden lg:block" viewBox="0 0 20 20"> + <path d="M14.999,8.543c0,0.229-0.188,0.417-0.416,0.417H5.417C5.187,8.959,5,8.772,5,8.543s0.188-0.417,0.417-0.417h9.167C14.812,8.126,14.999,8.314,14.999,8.543 M12.037,10.213H5.417C5.187,10.213,5,10.4,5,10.63c0,0.229,0.188,0.416,0.417,0.416h6.621c0.229,0,0.416-0.188,0.416-0.416C12.453,10.4,12.266,10.213,12.037,10.213 M14.583,6.046H5.417C5.187,6.046,5,6.233,5,6.463c0,0.229,0.188,0.417,0.417,0.417h9.167c0.229,0,0.416-0.188,0.416-0.417C14.999,6.233,14.812,6.046,14.583,6.046 M17.916,3.542v10c0,0.229-0.188,0.417-0.417,0.417H9.373l-2.829,2.796c-0.117,0.116-0.71,0.297-0.71-0.296v-2.5H2.5c-0.229,0-0.417-0.188-0.417-0.417v-10c0-0.229,0.188-0.417,0.417-0.417h15C17.729,3.126,17.916,3.313,17.916,3.542 M17.083,3.959H2.917v9.167H6.25c0.229,0,0.417,0.187,0.417,0.416v1.919l2.242-2.215c0.079-0.077,0.184-0.12,0.294-0.12h7.881V3.959z"></path> + </svg> + <div class="text-gray-700"> + <p class="font-semibold text-3xl">{{TokenCount}}</p> + <p>Token Balance <span class="px-2"></span></p> + </div> + </div> + </div> + </div> + + + <div class="lg:flex justify-between items-center mb-6"> + <p class="text-2xl font-semibold mb-2 lg:mb-0">WAMPAC Drive -<span> + <li class="border-blue-400 bg-blue-400 rounded-full inline-block -ml-3"> + <router-link to="" class="text-m rounded-full h-8 w-8 flex items-center justify-center overflow-hidden text-white"> + {{filesShared}} + </router-link> + </li> + </span> + </p> + <router-link to="/dashboard/upload-file"><button class="bg-blue-500 hover:bg-blue-600 focus:outline-none rounded-lg px-6 py-2 text-white font-semibold shadow">Create New Contract</button></router-link> + </div> + <p>Update any files shared with other nodes in the network. </p> + + <br> + <p v-if="filesShared==0">No Shared Files</p> + <div v-if="filesShared!=0" class="lg:flex justify-between items-center mb-6"> + <table class="tables table-fixed"> + <thead> + <tr> + <th class="w-1/4 ...">File Name</th> + <th class="w-1/4 ..."></th> + <th class="w-1/4 ..."></th> + </tr> + </thead> + <tbody> + <tr class="bg-blue-100" v-for="fileList in fileList" :key="fileList"> + <td>{{ fileList }} </td> + <td> <button v-on:click="detailsPopup(fileList)" class="bg-blue-100 hover:bg-blue-500 focus:outline-none rounded-sm px-6 py-2 text-black font-semibold shadow">Details</button> </td> + <td> <button v-on:click="toggleUpdate(fileList)" class="bg-blue-100 hover:bg-blue-500 focus:outline-none rounded-sm px-6 py-2 text-black font-semibold shadow">Update</button> </td> + </tr> + </tbody> + </table> + </div> + <modal name="file-update-modal"> + <div v-if=showPopup class="w-full bg-white border rounded-lg p-4"> + + <p class="text-l font-semibold mb-4">File Token: + <span class="text-sm font-normal mb-4">{{fileUpdate.fileHash}}</span></p> + <p class="text-l font-semibold mb-4">Current Hash: + <span class="text-sm font-normal mb-4">{{fileUpdate.token}}</span> </p> + <div class="w-full xl:w-1/2 px-3"> + <input type="file" id="file" ref="file" v-on:change="handleFileUpload()"/> + <span class="p-40" v-if="showUpdating"> + <Progress strokeColor="#516091" value="87"> + <template v-slot:footer> + <b>Updating Selected File, Please wait..</b> + </template> + </Progress> + </span> + </div> + </div> + <div v-if="!showUpdating && showPopup" class="w-full xl:w-1/2 px-3 py-10"> + <button v-on:click="launchFileContract(fileUpdate.token), fetchingStats = true" class="center bg-blue-500 hover:bg-blue-600 focus:outline-none rounded-sm px-2 py-2 text-white font-semibold shadow">Update</button> + </div> + <div class="py-20"> + <p class="text-gray-700 font-semibold text-xl center">{{updateResponse}}</p> + </div> + + </modal> + <modal name="file-info-modal"> + <div class="w-full bg-white border rounded-lg p-4"> + <p class="text-gray-700 font-semibold text-3xl">{{fileDetail.fileName}}</p> + <p class="text-gray-700 font-semibold text-sm">Token: {{fileDetail.token }}</p> + <p class="text-gray-700 font-semibold text-sm">File Hash: {{fileDetail.fileHash }}</p> + <p class="text-gray-700 font-semibold text-sm">Status: {{fileDetail.status }}</p> + <p class="text-black-700 font-semibold text-l">Contract Data</p> + <div class="w-full bg-white border rounded-lg p-4"> + <div class="w-full bg-gray-100 border rounded-lg flex justify-between items-center px-1 py-2"> + <div> + <ul> + <li v-for="data in fileDetail.contractData" :key="data"> + <div class="did font-semibold text-xs"><span class="text-black-500 font-normal text-xs"> {{data.did}}</span> {{ data.ip }} <span class="text-red-500 font-semibold text-sm"> {{ data.writeCount }}</span></div> + <hr> + </li> + </ul> + </div> + </div> + </div> + <p class="text-blue-700 font-semibold text-xl">You accessed this file {{fileDetail.accessCount }} times</p> + </div> + </modal> + </div> +</template> + +<script> +import Vue from 'vue' +import axios from 'axios' +import VModal from 'vue-js-modal' +import Progress from 'easy-circular-progress' + +Vue.use(VModal, { + dynamicDefaults: { + draggable: true, + resizable: true, + height: 'auto' + } +}) + +export default { + name: 'FileSharing', + data() { + return { + filesShared: 0, + TokenCount: 0, + open: false, + fileToken: "", + fileDetail: {}, + fileUpdate: {}, + showPopup: false, + showUpdating: false, + fileList: [], + updateResponse: '', + newFile: {} + } + }, + components: { + Progress + }, + + methods: { + + getTokenCount: function () { + + console.log("loading contactsOnline") + + axios.get('http://localhost:1898/getTokenCount') + .then((response) => { + this.TokenCount = response.data.data + + }) + .catch(function (error) { + console.log(error); + }); + }, + + thumbUrlOld (file) { + return file.myThumbUrlProperty + }, + thumbUrlNew (file) { + return file.myThumbUrlProperty + }, + // onChangeNew (file) { + // console.log('New File selected!') + // if (file) { + // this.newFile = file + // console.log("uploading file") + // } else { + // console.log('FileReader API not supported: use the <form>, please!') + // } + // }, + + handleFileUpload(){ + this.newFile = this.$refs.file.files[0]; + }, + + detailsPopup: function (token) { + this.$modal.show('file-info-modal'); + this.open = true + console.log(token) + const formData = new FormData() + formData.append('fileName', token) + + + console.log("loading file details") + + axios.post('http://localhost:1898/getSharedFileDetails', formData,{ + headers: { + 'Content-Type': 'multipart/form-data' + } + }) + .then((response) => { + + console.log(response); + this.fileDetail = response.data.data.response + console.log("printing result") + console.log(this.fileDetail.Status) + + }) + .catch(function (error) { + console.log(error); + }); + }, + + toggleUpdate: function (token) { + this.updateResponse = '' + this.showUpdating = false + this.$modal.show('file-update-modal'); + this.showPopup = true + this.fileToken = token + // if(token == 'close'){ + // this.showPopup = !this.showPopup + // } + console.log(token) + + const formData = new FormData() + formData.append('fileName', token) + + axios.post('http://localhost:1898/getSharedFileMetaData', formData,{ + headers: { + 'Content-Type': 'multipart/form-data' + } + }) + .then((response) => { + + console.log(response); + this.fileUpdate = response.data.data.response + // this.$modal.hide('file-update-modal'); + + }) + .catch(function (error) { + console.log(error); + }); + }, + + + launchFileContract: function (token) { + // this.open = false + this.showUpdating = true + this.updateResponse = '' + const formData = new FormData() + formData.append('newfile', this.newFile) + formData.append('token', token) + + console.log("loading launchFileContract") + + axios.post('http://localhost:1898/update', formData,{ + headers: { + 'Content-Type': 'multipart/form-data' + } + }) + .then((response) => { + this.showUpdating = false + this.updateResponse = response.data.data.response + this.newFile = '' + this.showPopup = false + // this.open = false + console.log(this.responseDID) + // TODO: GOTO HOME AND SHOW LOADER + + }) + .catch(function (error) { + console.log(error); + }); + }, + + checkStatus: function () { + + console.log("loading DID exists") + + axios.get('http://localhost:1898/checkDidExists') + .then((response) => { + + console.log(response); + if(response.data.data.payload == 'Failure'){ + console.log("moving to create DID") + this.$router.push({path: '/create-new-DID'}) + return; + } else { + console.log("loading DID verified") + axios.get('http://localhost:1898/checkDidVerified') + .then((response) => { + this.isVerified = response.data.data.payload + console.log(response); + if(response.data.data.payload == 'Failure'){ + console.log("moving to create DID [check]") + this.$router.push({path: '/verification'}) + return; + } + }) + .catch(function (error) { + console.log(error); + this.$router.push({path: '/verification'}) + return; + }); + } + }) + .catch(function (error) { + console.log(error); + this.$router.push({path: '/create-new-DID'}) + return; + }); + + + + + axios.get('http://localhost:1898/checkRole') + .then((response) => { + + console.log(response); + // this.myRole = response.data.data.payload + }) + .catch(function (error) { + console.log(error); + // this.$router.push({path: '/create-new-DID'}) + }); + }, + + getFiles: function () { + + console.log("loading list of Files") + + axios.get('http://localhost:1898/getSharedFiles') + .then((response) => { + this.fileList = response.data.data.response + this.filesShared = response.data.data.response.length + + }) + .catch(function (error) { + console.log(error); + }); + }, + + getToken: function () { + + axios.get('http://localhost:1898/requestTokens') + .then((response) => { + if(response.data.data.payload == 'Failure') { + this.$router.push({path: '/dashboard/home'}) + } + + }) + .catch(function (error) { + console.log(error); + }); + }, + + }, + beforeMount() { + this.getToken() + this.checkStatus() + this.getFiles() + this.getTokenCount() + } + +} +</script> + +<style> + +.center{ + text-align: center; +} +.modalBefore { + top:-300px; + margin:auto; +} + +.modalAfter { + top:200px; +} + +</style> \ No newline at end of file diff --git a/src/pages/Home.vue b/src/pages/Home.vue new file mode 100644 index 0000000..da6690d --- /dev/null +++ b/src/pages/Home.vue @@ -0,0 +1,423 @@ +<template> + <div id="home"> + <nav class="text-sm font-semibold mb-6" aria-label="Breadcrumb"> + <ol class="list-none p-0 inline-flex"> + <li class="flex items-center text-blue-500"> + <a href="#" class="text-gray-700">My DID</a> + <svg class="fill-current w-3 h-3 mx-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"/></svg> + </li> + <li class="flex items-center"> + <a href="#" class="text-gray-600">{{did}} <span v-if="isVerified=='Success'" class="text-green-500 text-l">Verified </span> <span v-if="isVerified=='Failure'" class="text-red-500 text-l">Not Verified</span></a> + </li> + </ol> + </nav> + + <div class="lg:flex justify-between items-center mb-6"> + <p class="text-2xl font-semibold mb-2 lg:mb-0">WAMPAC Blockchain Activities</p> + </div> + + <div class="flex flex-wrap -mx-3 mb-20"> + + <div class="w-1/2 xl:w-1/4 px-3"> + <div class="w-full bg-white border text-blue-400 rounded-lg flex items-center p-6 mb-6 xl:mb-0"> + <svg class="w-16 h-16 fill-current mr-4 hidden lg:block" viewBox="0 0 20 20"> + <path d="M17.35,2.219h-5.934c-0.115,0-0.225,0.045-0.307,0.128l-8.762,8.762c-0.171,0.168-0.171,0.443,0,0.611l5.933,5.934c0.167,0.171,0.443,0.169,0.612,0l8.762-8.763c0.083-0.083,0.128-0.192,0.128-0.307V2.651C17.781,2.414,17.587,2.219,17.35,2.219M16.916,8.405l-8.332,8.332l-5.321-5.321l8.333-8.332h5.32V8.405z M13.891,4.367c-0.957,0-1.729,0.772-1.729,1.729c0,0.957,0.771,1.729,1.729,1.729s1.729-0.772,1.729-1.729C15.619,5.14,14.848,4.367,13.891,4.367 M14.502,6.708c-0.326,0.326-0.896,0.326-1.223,0c-0.338-0.342-0.338-0.882,0-1.224c0.342-0.337,0.881-0.337,1.223,0C14.84,5.826,14.84,6.366,14.502,6.708"></path> + </svg> + + <div class="text-gray-700"> + <p class="font-semibold text-3xl">{{fileSharedCount}}</p> + <p>Files Shared</p> + </div> + + </div> + </div> + + <div class="w-1/2 xl:w-1/4 px-3"> + <div class="w-full bg-white border text-blue-400 rounded-lg flex items-center p-6 mb-6 xl:mb-0"> + <svg class="w-16 h-16 fill-current mr-4 hidden lg:block" viewBox="0 0 20 20"> + <path d="M17.684,7.925l-5.131-0.67L10.329,2.57c-0.131-0.275-0.527-0.275-0.658,0L7.447,7.255l-5.131,0.67C2.014,7.964,1.892,8.333,2.113,8.54l3.76,3.568L4.924,17.21c-0.056,0.297,0.261,0.525,0.533,0.379L10,15.109l4.543,2.479c0.273,0.153,0.587-0.089,0.533-0.379l-0.949-5.103l3.76-3.568C18.108,8.333,17.986,7.964,17.684,7.925 M13.481,11.723c-0.089,0.083-0.129,0.205-0.105,0.324l0.848,4.547l-4.047-2.208c-0.055-0.03-0.116-0.045-0.176-0.045s-0.122,0.015-0.176,0.045l-4.047,2.208l0.847-4.547c0.023-0.119-0.016-0.241-0.105-0.324L3.162,8.54L7.74,7.941c0.124-0.016,0.229-0.093,0.282-0.203L10,3.568l1.978,4.17c0.053,0.11,0.158,0.187,0.282,0.203l4.578,0.598L13.481,11.723z"></path> + </svg> + + <div class="text-gray-700"> + <p class="font-semibold text-3xl">{{contactsCount}}</p> + <p>Contacts</p> + </div> + </div> + </div> + + <div class="w-1/2 xl:w-1/4 px-3"> + <div class="w-full bg-white border text-blue-400 rounded-lg flex items-center p-6"> + <svg class="w-16 h-16 fill-current mr-4 hidden lg:block" viewBox="0 0 20 20"> + <path d="M14.999,8.543c0,0.229-0.188,0.417-0.416,0.417H5.417C5.187,8.959,5,8.772,5,8.543s0.188-0.417,0.417-0.417h9.167C14.812,8.126,14.999,8.314,14.999,8.543 M12.037,10.213H5.417C5.187,10.213,5,10.4,5,10.63c0,0.229,0.188,0.416,0.417,0.416h6.621c0.229,0,0.416-0.188,0.416-0.416C12.453,10.4,12.266,10.213,12.037,10.213 M14.583,6.046H5.417C5.187,6.046,5,6.233,5,6.463c0,0.229,0.188,0.417,0.417,0.417h9.167c0.229,0,0.416-0.188,0.416-0.417C14.999,6.233,14.812,6.046,14.583,6.046 M17.916,3.542v10c0,0.229-0.188,0.417-0.417,0.417H9.373l-2.829,2.796c-0.117,0.116-0.71,0.297-0.71-0.296v-2.5H2.5c-0.229,0-0.417-0.188-0.417-0.417v-10c0-0.229,0.188-0.417,0.417-0.417h15C17.729,3.126,17.916,3.313,17.916,3.542 M17.083,3.959H2.917v9.167H6.25c0.229,0,0.417,0.187,0.417,0.416v1.919l2.242-2.215c0.079-0.077,0.184-0.12,0.294-0.12h7.881V3.959z"></path> + </svg> + + <div class="text-gray-700"> + <p class="font-semibold text-3xl"> {{logsCount}}</p> + <p>Logs Sent</p> + </div> + </div> + </div> + + <div class="w-1/3 xl:w-1/4 px-3"> + <div class="w-full bg-white border text-blue-400 rounded-lg flex items-center p-6"> + <svg class="w-16 h-16 fill-current mr-4 hidden lg:block" viewBox="0 0 20 20"> + <path d="M17.431,2.156h-3.715c-0.228,0-0.413,0.186-0.413,0.413v6.973h-2.89V6.687c0-0.229-0.186-0.413-0.413-0.413H6.285c-0.228,0-0.413,0.184-0.413,0.413v6.388H2.569c-0.227,0-0.413,0.187-0.413,0.413v3.942c0,0.228,0.186,0.413,0.413,0.413h14.862c0.228,0,0.413-0.186,0.413-0.413V2.569C17.844,2.342,17.658,2.156,17.431,2.156 M5.872,17.019h-2.89v-3.117h2.89V17.019zM9.587,17.019h-2.89V7.1h2.89V17.019z M13.303,17.019h-2.89v-6.651h2.89V17.019z M17.019,17.019h-2.891V2.982h2.891V17.019z"></path> + </svg> + + <div class="text-gray-700"> + <p class="font-semibold text-3xl">{{systemStatus}}</p> + <p>Latest Log Status</p> + </div> + </div> + </div> + + </div> + + <div class="flex flex-wrap -mx-3"> + + <div class="w-full xl:w-1/2 px-3"> + + <p class="text-xl font-semibold mb-4">Anomaly</p> + + <div class="w-full bg-white border rounded-lg p-4"> + <div class="w-full bg-gray-100 border rounded-lg flex justify-between items-center px-1 py-2"> + <canvas id="chart" width="600" height="400"></canvas> + </div> + </div> + </div> + <div class="w-full xl:w-1/2 px-3"> + <p class="text-xl font-semibold mb-4">Anomaly History</p> + <div class="w-full bg-white border rounded-lg p-4"> + <div class="w-full bg-gray-100 border rounded-lg flex justify-between items-center px-1 py-2"> + <div> + <ul> + <li v-for="anomaly in anomaly" :key="anomaly"> + <div class="did font-semibold text-lg">{{ anomaly.anomaly }} > <span class="text-black-500 font-normal text-sm">{{anomaly.timestamp}}</span></div> + <hr> + </li> + </ul> + </div> + </div> + </div> + <br> + <p class="text-xl font-semibold mb-4">Contacts online ({{onlinePeersCount}} / {{contactsCount}})</p> + + <div class="w-full bg-white border rounded-lg p-4"> + <div class="w-full bg-gray-100 border rounded-lg flex justify-between items-center px-1 py-2"> + <div> + <ul> + <li v-for="user in onlinePeers" :key="user"> + <div class="did text-sm"> {{ user.did }} <span v-if=" user.onlineStatus == 'online' " class="text-green-500">●</span></div> + <hr> + </li> + </ul> + </div> + </div> + </div> + + + </div> + + + </div> + + </div> +</template> + +<script> +import Chart from 'chart.js' +import Vue from 'vue' +import axios from 'axios' +import VModal from 'vue-js-modal' +Vue.use(VModal, { + dynamicDefaults: { + draggable: true, + resizable: true, + height: 'auto' + } +}) + +function formatBytes(bytes, decimals = 0) { + if (bytes === 0) return '0 Bytes'; + + const k = 1024; + const dm = decimals < 0 ? 0 : decimals; + const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']; + const i = Math.floor(Math.log(bytes) / Math.log(k)); + + return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i]; +} + +export default { + name: 'DashboardHome', + data() { + return { + chart: null, + + isVerified:"", + myRole:"", + balanceToken: 0, + did: "Loading .. ", + systemStatus: '', + fileSharedCount:0, + contactsCount:'Loading..', + onlinePeersCount:0, + onlinePeers:[], + anomaly:[], + anomalyChart:[], + logsCount: 0, + } + }, + methods:{ + + checkStatus: function () { + + console.log("loading DID exists") + + axios.get('http://localhost:1898/checkDidExists') + .then((response) => { + + console.log(response); + if(response.data.data.payload == 'Failure'){ + console.log("moving to create DID") + this.$router.push({path: '/create-new-DID'}) + return; + } else { + console.log("loading DID verified") + axios.get('http://localhost:1898/checkDidVerified') + .then((response) => { + this.isVerified = response.data.data.payload + console.log(response); + if(response.data.data.payload == 'Failure'){ + console.log("moving to create DID [check]") + this.$router.push({path: '/verification'}) + return; + } + else { + this.getAnomalies() + this.logCount() + this.anomalyChartData() + this.systemLogStatus() + this.checkRole() + this.contactsOnline() + this.getDashboardData() + this.filesShared() + this.changeGraph(4) + } + }) + .catch(function (error) { + console.log(error); + this.$router.push({path: '/verification'}) + return; + }); + } + }) + .catch(function (error) { + console.log(error); + this.$router.push({path: '/create-new-DID'}) + return; + }); + }, + + logCount: function () { + console.log("loading logCount") + + axios.get('http://localhost:1898/getLogsCount') + .then((response) => { + + console.log(response); + console.log("logsCount"); + this.logsCount = response.data.data + + }) + .catch(function (error) { + console.log(error); + }); + }, + + anomalyChartData: function () { + console.log("loading anomalyChartData") + + axios.get('http://localhost:1898/anomalyBarChart') + .then((response) => { + console.log("ANOMALY CHART") + this.anomalyChart = response.data.data.payload + + this.chart = new Chart(document.getElementById("chart").getContext("2d"),{ + type: 'bar', + data:{ + labels : this.anomalyChart.map(i=>i.time), + datasets: [{ + label: 'Anomalies Recorded Per Day', + backgroundColor : "rgba(99,179,237,0.4)", + barPercentage: 1, + barThickness: 30, + maxBarThickness: 60, + minBarLength: 5, + data : this.anomalyChart.map(i=>i.count), + }], + } + } + ) + }) + .catch(function (error) { + console.log(error); + }); + }, + + getAnomalies: function () { + console.log("loading logCount") + + axios.get('http://localhost:1898/getLatestAnomalies') + .then((response) => { + + console.log(response); + console.log("logsCount"); + this.anomaly = response.data.data + + }) + .catch(function (error) { + console.log(error); + }); + }, + + systemLogStatus: function () { + console.log("loading logCount") + + axios.get('http://localhost:1898/latestSystemStatus') + .then((response) => { + + console.log(response); + console.log("logsCount"); + this.systemStatus = response.data.data + + }) + .catch(function (error) { + console.log(error); + }); + }, + + + checkRole: function() { + axios.get('http://localhost:1898/checkRole') + .then((response) => { + if(response.data.data.payload == 'Verifier') { + this.$router.push({path: '/dashboard/verifier'}) + } + }) + .catch(function (error) { + console.log(error); + }); + }, + + getDashboardData: function () { + + console.log("loading getDashboardData") + + axios.get('http://localhost:1898/getDashboard') + .then((response) => { + + console.log(response) + // if(response.data.data.payload.balance == null) { + // console.log("moving to create DID [getDashboard]") + // this.$router.push({path: '//create-new-DID'}) + // } + + this.contactsCount = response.data.data.payload.contactsCount + this.did = response.data.data.payload.did + }) + .catch(function (error) { + + console.log("RESPONSE ERROR CODE") + this.$router.push({path: '/create-new-DID'}) + + console.log(error); + }); + }, + + contactsOnline: function () { + + console.log("loading contactsOnline") + + axios.get('http://localhost:1898/getOnlinePeers') + .then((response) => { + + console.log(response); + this.onlinePeers = response.data.data.payload + console.log(this.onlinePeers) + + }) + .catch(function (error) { + console.log(error); + }); + }, + + filesShared: function () { + + console.log("loading filesShared") + + axios.get('http://localhost:1898/getSharedFilesCount') + .then((response) => { + + console.log(response); + this.fileSharedCount = response.data.data.response + console.log(this.fileSharedCount) + + }) + .catch(function (error) { + console.log(error); + }); + }, + + fileList: function () { + + console.log("loading filesShared") + + axios.get('http://localhost:1898/getSharedFiles') + .then((response) => { + + console.log(response); + this.sharedFiles = response.data.data.response + console.log(this.sharedFiles) + + }) + .catch(function (error) { + console.log(error); + }); + }, + + // scanNowFn: function () { + // this.$modal.show('system-scan-modal'); + // this.open = true + // console.log("loading scanNow") + + // axios.get('http://localhost:1898/scanNow') + // .then((response) => { + + // this.scanNow = response.data.data.payload + + // }) + // .catch(function (error) { + // console.log(error); + // }); + // }, + + }, + beforeMount() { + this.checkStatus() + }, + // mounted() { + // this.createChart(); + // console.log("mounted"); + // } +} +</script> + +<style> +.did{ +font-size: 10px; +} +ul { + list-style-type: none; +} +</style> \ No newline at end of file diff --git a/src/pages/Logs.vue b/src/pages/Logs.vue new file mode 100644 index 0000000..ebcaaae --- /dev/null +++ b/src/pages/Logs.vue @@ -0,0 +1,198 @@ +<template> + <div id="Logs"> + <!-- breadcrumb --> + <nav class="text-sm font-semibold mb-6" aria-label="Breadcrumb"> + <ol class="list-none p-0 inline-flex"> + <li class="flex items-center text-blue-500"> + <a href="#" class="text-gray-700">System</a> + <svg class="fill-current w-3 h-3 mx-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"/></svg> + </li> + <li class="flex items-center"> + <a href="#" class="text-gray-600">Logs</a> + </li> + + </ol> + </nav> + <!-- breadcrumb end --> + + <div class="lg:flex justify-between items-center mb-6"> + <p class="text-2xl font-semibold mb-2 lg:mb-0">Logs</p> + </div> + <div v-for="sysLog in sysLog" :key="sysLog"> + <ul class="space_list w-full rounded-lg mt-2 mb-3 text-blue-800"> + <li class="w-fill flex p-3 pl-3 bg-gray-200 hover:bg-gray-400 rounded-lg"> + <div class="did font-semibold text-sm">{{ sysLog.tid }}<span class="text-red-500 font-semibold text-sm"> {{ sysLog.status }}</span> <button v-on:click="TxnDetails(sysLog.tid), fetchingStats = true" class="center bg-blue-400 hover:bg-blue-600 focus:outline-none rounded-lg px-2 text-white font-semibold shadow">details</button> </div> + </li> + </ul> + </div> + <modal name="tid-info-modal"> + <div class="w-full bg-white rounded-lg p-4"> + <p class="text-black-700 font-semibold text-sm">Tid: {{txnDetails.tid }}</p> + <p class="text-red-700 font-semibold text-sm">Time: {{txnDetails.timestamp }}</p> + + <p class="text-gray-700 font-semibold text-xs pre-formatted">Hash: {{txnDetails.hash }}</p> + <p class="text-red-700 font-semibold text-sm">Quorum IPs:</p> + <ul> + <li v-for="data in txnDetails.quorumiplist" :key="data"> + <div class="did font-semibold text-xs"> {{data}} </div> + <hr> + </li> + </ul> + <!-- <p class="text-gray-700 font-semibold text-sm">Sign: {{txnDetails.sign }}</p> --> + <p class="text-green-700 font-semibold text-l">Verified and collected signature</p> + <p class="text-blue-700 font-semibold text-xl">Status: {{txnDetails.status }}</p> + </div> + </modal> + </div> +</template> + +<script> +import axios from 'axios' +import Vue from 'vue' +import VModal from 'vue-js-modal' + +Vue.use(VModal, { + dynamicDefaults: { + draggable: true, + resizable: true, + height: 'auto' + } +}) + +export default { + name: 'Logs', + data() { + return { + + sysLog:[], + txnDetails: {} + } + }, + methods:{ + + TxnDetails: function (tid) { + this.$modal.show('tid-info-modal'); + + const formData = new FormData() + + formData.append('tid', tid) + + axios.post('http://localhost:1898/getTxnDetails', formData,{ + headers: { + 'Content-Type': 'multipart/form-data' + } + }) + .then((response) => { + + console.log(response); + this.txnDetails = response.data.data + console.log(this.sysLog) + + }) + .catch(function (error) { + console.log(error); + }); + }, + + getLogs: function () { + + const formData = new FormData() + + formData.append('index', 0) + + axios.post('http://localhost:1898/getNmsUser', formData,{ + headers: { + 'Content-Type': 'multipart/form-data' + } + }) + .then((response) => { + + console.log(response); + this.sysLog = response.data.data.payload + console.log(this.sysLog) + + }) + .catch(function (error) { + console.log(error); + }); + }, + + + checkStatus: function () { + + console.log("loading DID exists") + + axios.get('http://localhost:1898/checkDidExists') + .then((response) => { + + console.log(response); + if(response.data.data.payload == 'Failure'){ + console.log("moving to create DID") + this.$router.push({path: '/create-new-DID'}) + return; + } else { + console.log("loading DID verified") + axios.get('http://localhost:1898/checkDidVerified') + .then((response) => { + this.isVerified = response.data.data.payload + console.log(response); + if(response.data.data.payload == 'Failure'){ + console.log("moving to create DID [check]") + this.$router.push({path: '/verification'}) + return; + } + }) + .catch(function (error) { + console.log(error); + this.$router.push({path: '/verification'}) + return; + }); + } + }) + .catch(function (error) { + console.log(error); + this.$router.push({path: '/create-new-DID'}) + return; + }); + + + + + axios.get('http://localhost:1898/checkRole') + .then((response) => { + + console.log(response); + // this.myRole = response.data.data.payload + }) + .catch(function (error) { + console.log(error); + // this.$router.push({path: '//create-new-DID'}) + }); + }, + + }, + beforeMount() { + this.getLogs() + this.checkStatus() + } +} +</script> + +<style> + +.center{ + text-align: center; +} +ul { + list-style-type: none; +} +.element1 { + display:inline-block;margin-right:10px; +} +ul.space_list li { margin-bottom: 0.5em; } + +.pre-formatted { + white-space: pre; +} + +</style> \ No newline at end of file diff --git a/src/pages/NMS.vue b/src/pages/NMS.vue new file mode 100644 index 0000000..b601454 --- /dev/null +++ b/src/pages/NMS.vue @@ -0,0 +1,692 @@ +<template> + <div id="NMS"> + <nav class="text-sm font-semibold mb-6" aria-label="Breadcrumb"> + <ol class="list-none p-0 inline-flex"> + <li class="flex items-center text-blue-500"> + <a href="#" class="text-gray-700">System</a> + <svg class="fill-current w-3 h-3 mx-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"/></svg> + </li> + <li class="flex items-center"> + <a href="#" class="text-gray-600">Monitoring</a> + </li> + </ol> + </nav> + + <!-- <div class="lg:flex justify-between items-center mb-6"> + <p class="text-2xl font-semibold mb-2 lg:mb-0">Network Monitoring System</p> + </div> --> + + <!-- <div class="flex flex-nowrap -mx-3 mb-20"> --> + + <!-- <div class="w-1/2 xl:w-1/4 px-3"> + <div class="w-full bg-white border text-blue-400 rounded-lg flex items-center p-6 mb-6 xl:mb-0"> + <svg class="w-16 h-16 fill-current mr-4 hidden lg:block" viewBox="0 0 20 20"> + <path d="M17.35,2.219h-5.934c-0.115,0-0.225,0.045-0.307,0.128l-8.762,8.762c-0.171,0.168-0.171,0.443,0,0.611l5.933,5.934c0.167,0.171,0.443,0.169,0.612,0l8.762-8.763c0.083-0.083,0.128-0.192,0.128-0.307V2.651C17.781,2.414,17.587,2.219,17.35,2.219M16.916,8.405l-8.332,8.332l-5.321-5.321l8.333-8.332h5.32V8.405z M13.891,4.367c-0.957,0-1.729,0.772-1.729,1.729c0,0.957,0.771,1.729,1.729,1.729s1.729-0.772,1.729-1.729C15.619,5.14,14.848,4.367,13.891,4.367 M14.502,6.708c-0.326,0.326-0.896,0.326-1.223,0c-0.338-0.342-0.338-0.882,0-1.224c0.342-0.337,0.881-0.337,1.223,0C14.84,5.826,14.84,6.366,14.502,6.708"></path> + </svg> + + <div class="text-gray-700"> + <p class="font-semibold text-3xl">{{balanceToken}}</p> + <p>Token Balance</p> + </div> + + </div> + </div> --> + + <!-- <div class="w-1/2 xl:w-1/4 px-3"> + <div class="w-full bg-white border text-blue-400 rounded-lg flex items-center p-6 mb-6 xl:mb-0"> + <svg class="w-16 h-16 fill-current mr-4 hidden lg:block" viewBox="0 0 20 20"> + <path d="M17.684,7.925l-5.131-0.67L10.329,2.57c-0.131-0.275-0.527-0.275-0.658,0L7.447,7.255l-5.131,0.67C2.014,7.964,1.892,8.333,2.113,8.54l3.76,3.568L4.924,17.21c-0.056,0.297,0.261,0.525,0.533,0.379L10,15.109l4.543,2.479c0.273,0.153,0.587-0.089,0.533-0.379l-0.949-5.103l3.76-3.568C18.108,8.333,17.986,7.964,17.684,7.925 M13.481,11.723c-0.089,0.083-0.129,0.205-0.105,0.324l0.848,4.547l-4.047-2.208c-0.055-0.03-0.116-0.045-0.176-0.045s-0.122,0.015-0.176,0.045l-4.047,2.208l0.847-4.547c0.023-0.119-0.016-0.241-0.105-0.324L3.162,8.54L7.74,7.941c0.124-0.016,0.229-0.093,0.282-0.203L10,3.568l1.978,4.17c0.053,0.11,0.158,0.187,0.282,0.203l4.578,0.598L13.481,11.723z"></path> + </svg> + + <div class="text-gray-700"> + <p class="font-semibold text-3xl">{{contacts}}</p> + <p>Contacts</p> + </div> + </div> + </div> + + <div class="w-1/2 xl:w-1/4 px-3"> + <div class="w-full bg-white border text-blue-400 rounded-lg flex items-center p-6"> + <svg class="w-16 h-16 fill-current mr-4 hidden lg:block" viewBox="0 0 20 20"> + <path d="M14.999,8.543c0,0.229-0.188,0.417-0.416,0.417H5.417C5.187,8.959,5,8.772,5,8.543s0.188-0.417,0.417-0.417h9.167C14.812,8.126,14.999,8.314,14.999,8.543 M12.037,10.213H5.417C5.187,10.213,5,10.4,5,10.63c0,0.229,0.188,0.416,0.417,0.416h6.621c0.229,0,0.416-0.188,0.416-0.416C12.453,10.4,12.266,10.213,12.037,10.213 M14.583,6.046H5.417C5.187,6.046,5,6.233,5,6.463c0,0.229,0.188,0.417,0.417,0.417h9.167c0.229,0,0.416-0.188,0.416-0.417C14.999,6.233,14.812,6.046,14.583,6.046 M17.916,3.542v10c0,0.229-0.188,0.417-0.417,0.417H9.373l-2.829,2.796c-0.117,0.116-0.71,0.297-0.71-0.296v-2.5H2.5c-0.229,0-0.417-0.188-0.417-0.417v-10c0-0.229,0.188-0.417,0.417-0.417h15C17.729,3.126,17.916,3.313,17.916,3.542 M17.083,3.959H2.917v9.167H6.25c0.229,0,0.417,0.187,0.417,0.416v1.919l2.242-2.215c0.079-0.077,0.184-0.12,0.294-0.12h7.881V3.959z"></path> + </svg> + + <div class="text-gray-700"> + <p class="font-semibold text-3xl"> {{activeMembers}}</p> + <p>Peers Online</p> + </div> + </div> + </div> --> + + <!-- <div class="w-1/2 xl:w-1/4 px-3"> + <div class="w-full bg-white border text-blue-400 rounded-lg flex items-center p-6"> + <svg class="w-16 h-16 fill-current mr-4 hidden lg:block" viewBox="0 0 20 20"> + <path d="M17.431,2.156h-3.715c-0.228,0-0.413,0.186-0.413,0.413v6.973h-2.89V6.687c0-0.229-0.186-0.413-0.413-0.413H6.285c-0.228,0-0.413,0.184-0.413,0.413v6.388H2.569c-0.227,0-0.413,0.187-0.413,0.413v3.942c0,0.228,0.186,0.413,0.413,0.413h14.862c0.228,0,0.413-0.186,0.413-0.413V2.569C17.844,2.342,17.658,2.156,17.431,2.156 M5.872,17.019h-2.89v-3.117h2.89V17.019zM9.587,17.019h-2.89V7.1h2.89V17.019z M13.303,17.019h-2.89v-6.651h2.89V17.019z M17.019,17.019h-2.891V2.982h2.891V17.019z"></path> + </svg> + + <div class="text-gray-700"> + <p class="font-semibold text-3xl">{{transactionCount}}</p> + <p>Transaction Count</p> + </div> + + </div> + </div> --> + + <!-- </div> --> + <div class="flex flex-wrap -mx-3"> + <div class="w-full xl:w-1/3 px-3"> + <!-- <ul class="list-reset flex border-b"> --> + <div class="w-full flex items-center text-blue-400 h-10 pl-4 hover:bg-gray-200 rounded-lg cursor-pointer"> + <!-- <svg class="h-6 w-6 fill-current mr-2" viewBox="0 0 20 20"> + <path d="M17.431,2.156h-3.715c-0.228,0-0.413,0.186-0.413,0.413v6.973h-2.89V6.687c0-0.229-0.186-0.413-0.413-0.413H6.285c-0.228,0-0.413,0.184-0.413,0.413v6.388H2.569c-0.227,0-0.413,0.187-0.413,0.413v3.942c0,0.228,0.186,0.413,0.413,0.413h14.862c0.228,0,0.413-0.186,0.413-0.413V2.569C17.844,2.342,17.658,2.156,17.431,2.156 M5.872,17.019h-2.89v-3.117h2.89V17.019zM9.587,17.019h-2.89V7.1h2.89V17.019z M13.303,17.019h-2.89v-6.651h2.89V17.019z M17.019,17.019h-2.891V2.982h2.891V17.019z"></path> + </svg> --> + <th v-on:click="changeGraph(1)"><span class="text-gray-700">File System</span></th> + </div> + <div class="w-full flex items-center text-blue-400 h-10 pl-4 hover:bg-gray-200 rounded-lg cursor-pointer"> + <!-- <svg class="h-6 w-6 fill-current mr-2" viewBox="0 0 20 20"> + <path d="M17.431,2.156h-3.715c-0.228,0-0.413,0.186-0.413,0.413v6.973h-2.89V6.687c0-0.229-0.186-0.413-0.413-0.413H6.285c-0.228,0-0.413,0.184-0.413,0.413v6.388H2.569c-0.227,0-0.413,0.187-0.413,0.413v3.942c0,0.228,0.186,0.413,0.413,0.413h14.862c0.228,0,0.413-0.186,0.413-0.413V2.569C17.844,2.342,17.658,2.156,17.431,2.156 M5.872,17.019h-2.89v-3.117h2.89V17.019zM9.587,17.019h-2.89V7.1h2.89V17.019z M13.303,17.019h-2.89v-6.651h2.89V17.019z M17.019,17.019h-2.891V2.982h2.891V17.019z"></path> + </svg> --> + <th v-on:click="changeGraph(2)"><span class="text-gray-700">Disk Storage</span></th> + </div> + <div class="w-full flex items-center text-blue-400 h-10 pl-4 hover:bg-gray-200 rounded-lg cursor-pointer"> + <!-- <svg class="h-6 w-6 fill-current mr-2" viewBox="0 0 20 20"> + <path d="M17.431,2.156h-3.715c-0.228,0-0.413,0.186-0.413,0.413v6.973h-2.89V6.687c0-0.229-0.186-0.413-0.413-0.413H6.285c-0.228,0-0.413,0.184-0.413,0.413v6.388H2.569c-0.227,0-0.413,0.187-0.413,0.413v3.942c0,0.228,0.186,0.413,0.413,0.413h14.862c0.228,0,0.413-0.186,0.413-0.413V2.569C17.844,2.342,17.658,2.156,17.431,2.156 M5.872,17.019h-2.89v-3.117h2.89V17.019zM9.587,17.019h-2.89V7.1h2.89V17.019z M13.303,17.019h-2.89v-6.651h2.89V17.019z M17.019,17.019h-2.891V2.982h2.891V17.019z"></path> + </svg> --> + <th v-on:click="changeGraph(3)"><span class="text-gray-700">Power Information</span></th> + </div> + <div class="w-full flex items-center text-blue-400 h-10 pl-4 hover:bg-gray-200 rounded-lg cursor-pointer"> + <!-- <svg class="h-6 w-6 fill-current mr-2" viewBox="0 0 20 20"> + <path d="M17.431,2.156h-3.715c-0.228,0-0.413,0.186-0.413,0.413v6.973h-2.89V6.687c0-0.229-0.186-0.413-0.413-0.413H6.285c-0.228,0-0.413,0.184-0.413,0.413v6.388H2.569c-0.227,0-0.413,0.187-0.413,0.413v3.942c0,0.228,0.186,0.413,0.413,0.413h14.862c0.228,0,0.413-0.186,0.413-0.413V2.569C17.844,2.342,17.658,2.156,17.431,2.156 M5.872,17.019h-2.89v-3.117h2.89V17.019zM9.587,17.019h-2.89V7.1h2.89V17.019z M13.303,17.019h-2.89v-6.651h2.89V17.019z M17.019,17.019h-2.891V2.982h2.891V17.019z"></path> + </svg> --> + <th v-on:click="changeGraph(4)"><span class="text-gray-700">Memory</span></th> + </div> + <div class="w-full flex items-center text-blue-400 h-10 pl-4 hover:bg-gray-200 rounded-lg cursor-pointer"> + <!-- <svg class="h-6 w-6 fill-current mr-2" viewBox="0 0 20 20"> + <path d="M17.431,2.156h-3.715c-0.228,0-0.413,0.186-0.413,0.413v6.973h-2.89V6.687c0-0.229-0.186-0.413-0.413-0.413H6.285c-0.228,0-0.413,0.184-0.413,0.413v6.388H2.569c-0.227,0-0.413,0.187-0.413,0.413v3.942c0,0.228,0.186,0.413,0.413,0.413h14.862c0.228,0,0.413-0.186,0.413-0.413V2.569C17.844,2.342,17.658,2.156,17.431,2.156 M5.872,17.019h-2.89v-3.117h2.89V17.019zM9.587,17.019h-2.89V7.1h2.89V17.019z M13.303,17.019h-2.89v-6.651h2.89V17.019z M17.019,17.019h-2.891V2.982h2.891V17.019z"></path> + </svg> --> + <th v-on:click="changeGraph(5)"><span class="text-gray-700">File Descriptor</span></th> + </div> + <div class="w-full flex items-center text-blue-400 h-10 pl-4 hover:bg-gray-200 rounded-lg cursor-pointer"> + <!-- <svg class="h-6 w-6 fill-current mr-2" viewBox="0 0 20 20"> + <path d="M17.431,2.156h-3.715c-0.228,0-0.413,0.186-0.413,0.413v6.973h-2.89V6.687c0-0.229-0.186-0.413-0.413-0.413H6.285c-0.228,0-0.413,0.184-0.413,0.413v6.388H2.569c-0.227,0-0.413,0.187-0.413,0.413v3.942c0,0.228,0.186,0.413,0.413,0.413h14.862c0.228,0,0.413-0.186,0.413-0.413V2.569C17.844,2.342,17.658,2.156,17.431,2.156 M5.872,17.019h-2.89v-3.117h2.89V17.019zM9.587,17.019h-2.89V7.1h2.89V17.019z M13.303,17.019h-2.89v-6.651h2.89V17.019z M17.019,17.019h-2.891V2.982h2.891V17.019z"></path> + </svg> --> + <th v-on:click="changeGraph(6)"><span class="text-gray-700">Network Information</span></th> + </div> + <div class="w-full flex items-center text-blue-400 h-10 pl-4 hover:bg-gray-200 rounded-lg cursor-pointer"> + <!-- <svg class="h-6 w-6 fill-current mr-2" viewBox="0 0 20 20"> + <path d="M17.431,2.156h-3.715c-0.228,0-0.413,0.186-0.413,0.413v6.973h-2.89V6.687c0-0.229-0.186-0.413-0.413-0.413H6.285c-0.228,0-0.413,0.184-0.413,0.413v6.388H2.569c-0.227,0-0.413,0.187-0.413,0.413v3.942c0,0.228,0.186,0.413,0.413,0.413h14.862c0.228,0,0.413-0.186,0.413-0.413V2.569C17.844,2.342,17.658,2.156,17.431,2.156 M5.872,17.019h-2.89v-3.117h2.89V17.019zM9.587,17.019h-2.89V7.1h2.89V17.019z M13.303,17.019h-2.89v-6.651h2.89V17.019z M17.019,17.019h-2.891V2.982h2.891V17.019z"></path> + </svg> --> + <th v-on:click="changeGraph(7)"><span class="text-gray-700">TCP & UDP Statistics</span></th> + </div> + <div class="w-full flex items-center text-blue-400 h-10 pl-4 hover:bg-gray-200 rounded-lg cursor-pointer"> + <!-- <svg class="h-6 w-6 fill-current mr-2" viewBox="0 0 20 20"> + <path d="M17.431,2.156h-3.715c-0.228,0-0.413,0.186-0.413,0.413v6.973h-2.89V6.687c0-0.229-0.186-0.413-0.413-0.413H6.285c-0.228,0-0.413,0.184-0.413,0.413v6.388H2.569c-0.227,0-0.413,0.187-0.413,0.413v3.942c0,0.228,0.186,0.413,0.413,0.413h14.862c0.228,0,0.413-0.186,0.413-0.413V2.569C17.844,2.342,17.658,2.156,17.431,2.156 M5.872,17.019h-2.89v-3.117h2.89V17.019zM9.587,17.019h-2.89V7.1h2.89V17.019z M13.303,17.019h-2.89v-6.651h2.89V17.019z M17.019,17.019h-2.891V2.982h2.891V17.019z"></path> + </svg> --> + <th v-on:click="changeGraph(8)"><span class="text-gray-700">Session Information</span></th> + </div> + <div class="w-full flex items-center text-blue-400 h-10 pl-4 hover:bg-gray-200 rounded-lg cursor-pointer"> + <!-- <svg class="h-6 w-6 fill-current mr-2" viewBox="0 0 20 20"> + <path d="M17.431,2.156h-3.715c-0.228,0-0.413,0.186-0.413,0.413v6.973h-2.89V6.687c0-0.229-0.186-0.413-0.413-0.413H6.285c-0.228,0-0.413,0.184-0.413,0.413v6.388H2.569c-0.227,0-0.413,0.187-0.413,0.413v3.942c0,0.228,0.186,0.413,0.413,0.413h14.862c0.228,0,0.413-0.186,0.413-0.413V2.569C17.844,2.342,17.658,2.156,17.431,2.156 M5.872,17.019h-2.89v-3.117h2.89V17.019zM9.587,17.019h-2.89V7.1h2.89V17.019z M13.303,17.019h-2.89v-6.651h2.89V17.019z M17.019,17.019h-2.891V2.982h2.891V17.019z"></path> + </svg> --> + <th v-on:click="changeGraph(9)"><span class="text-gray-700">Process Information</span></th> + </div> + <!-- </ul> --> + </div> + <!-- <div class="w-full xl:w-1/3 px-3"> + <p class="text-xl font-semibold mb-4">Contacts online ({{onlinePeersCount}} / {{contactsCount}})</p> + + <div class="w-full bg-white border rounded-lg p-4"> + <div class="w-full bg-gray-100 border rounded-lg flex justify-between items-center px-1 py-2"> + <div> + <ul> + <li v-for="user in onlinePeers" :key="user"> + <div class="did"> {{ user.did }} <span v-if=" user.onlineStatus == 'online' " class="text-green-500">●</span></div> + <hr> + </li> + </ul> + </div> + </div> + + + // TODO: tailwind coloumn wrap. + + </div> + </div> --> + + <div class="w-full xl:w-1/2 px-3"> + <p class="text-xl font-semibold mb-4">{{ graphTitle }}</p> + <div v-if="NMSno == 1" class="w-full bg-white border rounded-lg p-4 mb-8 xl:mb-0"> + <canvas id="chart" width="600" height="400"></canvas> + </div> + <div v-if="NMSno == 2" class="w-full bg-white border rounded-lg p-4 mb-8 xl:mb-0"> + <canvas id="chart" width="600" height="400"></canvas> + Disk Name: {{diskStorage.diskName}} + </div> + <div v-if="NMSno == 3" class="w-full bg-white border rounded-lg p-4 mb-8 xl:mb-0"> + + <p class="text-blue-700 font-semibold text-xl"> Condition: {{powerInfo.condition}} </p> + <p class="text-blue-700 font-semibold text-xl"> Message: {{powerInfo.Message}} </p> + <p class="text-blue-700 font-semibold text-xl"> time: {{powerInfo.time}} </p> + <p class="text-blue-700 font-semibold text-xl"> capacity: {{powerInfo.capacity}} </p> + </div> + <div v-if="NMSno == 4" class="w-full bg-white border rounded-lg p-4 mb-8 xl:mb-0"> + <canvas id="chart" width="600" height="400"></canvas> + total: {{ totalMem }} <br> + total Virtual Memory: {{ totalVM }} + </div> + <div v-if="NMSno == 5" class="w-full bg-white border rounded-lg p-4 mb-8 xl:mb-0"> + <canvas id="chart" width="600" height="400"></canvas> + </div> + <div v-if="NMSno == 6" class="w-full bg-white border rounded-lg p-4 mb-8 xl:mb-0"> + <p class="text-blue-700 font-semibold text-xl"> Display Name: {{networkInformation.displayName}} </p> + <p class="text-blue-700 font-semibold text-xl"> IP Address: {{networkInformation.ipAddress}} </p> + <p class="text-blue-700 font-semibold text-xl"> Bytes Sent {{networkInformation.bytesSent}} </p> + <p class="text-blue-700 font-semibold text-xl"> Interface: {{networkInformation.interface}} </p> + <p class="text-blue-700 font-semibold text-xl"> Message: {{networkInformation.message}} </p> + <p class="text-blue-700 font-semibold text-xl"> Speed: {{networkInformation.speed}} </p> + <p class="text-blue-700 font-semibold text-xl"> MTU: {{networkInformation.mtu}} </p> + <p class="text-blue-700 font-semibold text-xl"> MAC Address: {{networkInformation.macAddress}} </p> + <p class="text-blue-700 font-semibold text-xl"> Bytes Received: {{networkInformation.bytesReceived}} </p> + <p class="text-blue-700 font-semibold text-xl"> Input Drops: {{networkInformation.inputDrops}} </p> + <p class="text-blue-700 font-semibold text-xl"> Packets Received: {{networkInformation.packetsReceived}} </p> + <p class="text-blue-700 font-semibold text-xl"> Input Errors: {{networkInformation.inputErrors}} </p> + <p class="text-blue-700 font-semibold text-xl"> Packets Sent: {{networkInformation.packetsSent}} </p> + <p class="text-blue-700 font-semibold text-xl"> Time: {{networkInformation.time}} </p> + <p class="text-blue-700 font-semibold text-xl"> Out Errors: {{networkInformation.outErrors}} </p> + </div> + <div v-if="NMSno == 7" class="w-full bg-white border rounded-lg p-4 mb-8 xl:mb-0"> + <p class="text-blue-700 font-semibold text-xl"> TCP Connection Reset: {{networkStats.tcpConnectionReset}} </p> + <p class="text-blue-700 font-semibold text-xl"> UDP Datagram Received: {{networkStats.udpDatagramReceived}} </p> + <p class="text-blue-700 font-semibold text-xl"> TCP In Errors: {{networkStats.tcpInErrors}} </p> + <p class="text-blue-700 font-semibold text-xl"> TCP Active Connection: {{networkStats.tcpActiveConnection}} </p> + <p class="text-blue-700 font-semibold text-xl"> UDP Datagram Number Port: {{networkStats.udpDatagramNoPort}} </p> + <p class="text-blue-700 font-semibold text-xl"> UDP Datagram Sent: {{networkStats.udpDatagramSent}} </p> + <p class="text-blue-700 font-semibold text-xl"> TCP Passive Connection: {{networkStats.tcpPassiveConnection}} </p> + <p class="text-blue-700 font-semibold text-xl"> TCP Out Resets: {{networkStats.tcpOutResets}} </p> + <p class="text-blue-700 font-semibold text-xl"> TCP Established Connection: {{networkStats.tcpEstablishedConnection}} </p> + <p class="text-blue-700 font-semibold text-xl"> UDP Datagram Received Error: {{networkStats.udpDatagramReceivedError}} </p> + <p class="text-blue-700 font-semibold text-xl"> TCP Segment Sent: {{networkStats.tcpSegmentSent}} </p> + <p class="text-blue-700 font-semibold text-xl"> TCP Segment Retransmitted: {{networkStats.tcpSegmentRetransmitted}} </p> + <p class="text-blue-700 font-semibold text-xl"> TCP Connection Failures: {{networkStats.tcpConnectionFailures}} </p> + <p class="text-blue-700 font-semibold text-xl"> TCP Segment Received: {{networkStats.tcpSegmentReceived}} </p> + + </div> + <div v-if="NMSno == 8" class="w-full bg-white border rounded-lg p-4 mb-8 xl:mb-0"> + <ul> + <li v-for="user in sessionInfo" :key="user"> + <div class="did font-semibold text-lg">{{ user.userName }} <span class="text-green-500 font-semibold text-sm"> {{ user.login }}</span></div> + <hr> + </li> + </ul> + </div> + <div v-if="NMSno == 9" class="w-full bg-white border rounded-lg p-4 mb-8 xl:mb-0"> + <p class="text-blue-700 font-semibold text-xl"> Null Directory: {{processInfo.nullDirectory}} </p> + <p class="text-blue-700 font-semibold text-xl"> Minor Errors: {{processInfo.moinorErrors}} </p> + <p class="text-blue-700 font-semibold text-xl"> Process Count: {{processInfo.processCount}} </p> + <p class="text-blue-700 font-semibold text-xl"> Message: {{processInfo.message}} </p> + + </div> + </div> + + + + </div> + + </div> +</template> + +<script> +import Chart from 'chart.js' +import axios from 'axios' +import Notifications from 'vue-notification' + +function formatBytes(bytes, decimals = 0) { + if (bytes === 0) return '0 Bytes'; + + const k = 1024; + const dm = decimals < 0 ? 0 : decimals; + const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']; + const i = Math.floor(Math.log(bytes) / Math.log(k)); + + return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i]; +} + +export default { + name: 'NMS', + data() { + return { + + + balanceToken: 0, + transactionCount:0, + contactsCount:0, + onlinePeersCount:0, + onlinePeers:[], + + totalMem:0, + totalVM:0, + + // ? graph data + + cpuUtilization: {}, + fileSystem: {}, + diskStorage: {}, + powerInfo: {}, + memory: {}, + fileDescriptor: {}, + networkInformation: {}, + networkStats: {}, + sessionInfo: [], + processInfo: {}, + + + // ? graph parameters + + NMSno: 0, + gXLabels:["1"], + g1Data:[], + g2Data:[], + maxValue:0, + chart: null, + + graphTitle:'', + + + + + // networkData: { + // type: 'bar', + // data: { + // labels : ["Mon","Tue","Wed","Thu","Fri","Sat","Sun"], + // datasets:[{ + // backgroundColor : "rgba(99,179,237,0.4)", + // strokeColor : "#63b3ed", + // pointColor : "#fff", + // pointStrokeColor : "#63b3ed", + // data : [203,156,99,251,305,247,256] + // }] + // }, + // options: { + // legend: { + // display: false + // }, + // scales: { + // yAxes: [{ + // gridLines: { + // display:false + // }, + // ticks: { + // display: false + // } + // }], + // xAxes: [{ + // gridLines: { + // display: false + // } + // }] + // } + // } + // } + } + }, + methods:{ + + createChart() { + this.chart = new Chart(document.getElementById("chart").getContext("2d"),{ + type: 'line', + data:{ + labels : this.gXLabels.map(i=>i.slice(11,-10)), + datasets: [{ + backgroundColor : "rgba(99,179,237,0.4)", + strokeColor : "#63b3ed", + pointColor : "#fff", + pointStrokeColor : "#63b3ed", + data : this.g1Data + }, + { + backgroundColor : "rgba(198,198,198,0.4)", + strokeColor : "#f7fafc", + pointColor : "#fff", + pointStrokeColor : "#f7fafc", + data : this.g2Data + }] + }, + options: { + legend: { + display: false + }, + scales: { + yAxes: [{ + gridLines: { + display:true, + //TODO message to alert + }, + ticks: { + display: true, + suggestedMax: this.maxValue, + suggestedMin: 0, + callback: function(value) { + return formatBytes(value) + }, + } + }], + xAxes: [{ + scaleLabel: { + display: true, + labelString: 'time in 24 hours' + }, + gridLines: { + display: true + }, + ticks: { + display: true, + reverse: true, + } + }] + } + } + } + ) + }, + + changeGraph: function(value) { + if(value == 1) { + this.NMSno = 1 + //File System + this.graphTitle = "File System" + console.log("File System") + axios.get('http://localhost:1898/FileSystem') + .then((response) => { + console.log(response); + this.fileSystem = response.data.data.payload; + this.g1Data = response.data.data.payload.usableSpace + this.g2Data = response.data.data.payload.freeSpace + // this.gXLabels = response.data.data.payload.time + this.maxValue = response.data.data.payload.totalSpace[0] + + console.log("update chart") + this.chart.destroy(); + this.createChart(); + + }) + .catch(function (error) { + console.log(error); + }); + } + if(value == 2) { + this.NMSno = 2 + //Disk Storage + this.graphTitle = "Disk Storage" + console.log("loading Disk Storage") + + axios.get('http://localhost:1898/DiskStorage') + .then((response) => { + console.log(response); + this.diskStorage = response.data.data.payload; + this.g1Data = response.data.data.payload.writeBytes + this.g2Data = response.data.data.payload.readBytes + this.gXLabels = response.data.data.payload.time + this.maxValue = response.data.data.payload.size + + console.log("update chart") + this.chart.destroy(); + this.createChart(); + + }) + .catch(function (error) { + console.log(error); + }); + } + if(value == 3) { + this.NMSno = 3 + //Power Information + this.graphTitle = "Power Information" + + axios.get('http://localhost:1898/PowerInfo') + .then((response) => { + console.log(response); + this.powerInfo = response.data.data.payload; + + this.chart.destroy(); + this.createChart(); + }) + .catch(function (error) { + console.log(error); + }); + } + if(value == 4) { + this.NMSno = 4 + //Memory + this.graphTitle = "Memory" + + console.log("loading Memory") + + axios.get('http://localhost:1898/Memory') + .then((response) => { + + console.log(response); + + this.memory = response.data.data.payload + + this.g1Data = response.data.data.payload.availableMem + this.g2Data = response.data.data.payload.usedVirtualMem + this.gXLabels = response.data.data.payload.time + this.maxValue = response.data.data.payload.totalMemory + + this.totalMem = formatBytes(response.data.data.payload.totalMemory,4) + this.totalVM = formatBytes(response.data.data.payload.totalVirtualMemory,4) + + console.log("update chart") + this.chart.destroy(); + this.createChart(); + }) + .catch(function (error) { + console.log(error); + }); + } + if(value == 5) { + this.NMSno = 5 + //File Descriptor + this.graphTitle = "File Descriptor" + + console.log("loading File Descriptor") + + axios.get('http://localhost:1898/FileDescriptor') + .then((response) => { + + this.fileDescriptor = response.data.data.payload + this.g1Data = response.data.data.payload.openDescriptors + this.g2Data = response.data.data.payload.MaxDescriptors + this.gXLabels = response.data.data.payload.time + this.maxValue = 15000 + console.log("update chart") + this.chart.destroy(); + this.createChart(); + }) + .catch(function (error) { + console.log(error); + }); + } + if(value == 6) { + this.NMSno = 6 + //Network Information + this.graphTitle = "Network Information" + console.log("Network Information") + + axios.get('http://localhost:1898/NetworkInfo') + .then((response) => { + + this.networkInformation = response.data.data.payload + + }) + .catch(function (error) { + console.log(error); + }); + } + if(value == 7) { + this.NMSno = 7 + //TCP & UDP Statistics + this.graphTitle = "TCP & UDP Statistics" + + console.log("TCP & UDP Statistics") + axios.get('http://localhost:1898/TCPUDPStats') + .then((response) => { + this.networkStats = response.data.data.payload; + console.log("update chart") + this.chart.destroy(); + this.createChart(); + }) + .catch(function (error) { + console.log(error); + }); + } + if(value == 8) { + this.NMSno = 8 + //Session Information + this.graphTitle = "Session Information" + console.log("loading Session Information") + + axios.get('http://localhost:1898/SessionsInfo') + .then((response) => { + this.sessionInfo = response.data.data.payload + console.log(response); + }) + .catch(function (error) { + console.log(error); + }); + } + if(value == 9) { + this.NMSno = 9 + //Process Information + this.graphTitle = "Process Information" + console.log("loading Process Information") + + axios.get('http://localhost:1898/ProcessInfo') + .then((response) => { + this.processInfo = response.data.data.payload + console.log(response); + }) + .catch(function (error) { + console.log(error); + }); + } + }, + + checkStatus: function () { + + console.log("loading DID exists") + + axios.get('http://localhost:1898/checkDidExists') + .then((response) => { + + console.log(response); + if(response.data.data.payload == 'Failure'){ + console.log("moving to create DID") + this.$router.push({path: '/create-new-DID'}) + return; + } else { + console.log("loading DID verified") + axios.get('http://localhost:1898/checkDidVerified') + .then((response) => { + this.isVerified = response.data.data.payload + console.log(response); + if(response.data.data.payload == 'Failure'){ + console.log("moving to create DID [check]") + this.$router.push({path: '/verification'}) + return; + } + }) + .catch(function (error) { + console.log(error); + this.$router.push({path: '/verification'}) + return; + }); + } + }) + .catch(function (error) { + console.log(error); + this.$router.push({path: '/create-new-DID'}) + return; + }); + + + + + axios.get('http://localhost:1898/checkRole') + .then((response) => { + + console.log(response); + // this.myRole = response.data.data.payload + }) + .catch(function (error) { + console.log(error); + // this.$router.push({path: '/create-new-DID'}) + }); + }, + + getDashboardData: function () { + + console.log("loading getDashboardData") + + axios.get('http://localhost:1898/getDashboard') + .then((response) => { + + console.log(response) + if(response.data.data.payload.balance == null) { + console.log("moving to create DID [getDashboard]") + this.$router.push({path: '/create-new-DID'}) + } + + this.balanceToken = response.data.data.payload.balance + this.transactionCount = response.data.data.payload.totalTxn + this.contactsCount = response.data.data.payload.contactsCount + this.onlinePeersCount = response.data.data.payload.onlinePeers + }) + .catch(function (error) { + + console.log("RESPONSE ERROR CODE") + this.$router.push({path: '/create-new-DID'}) + + console.log(error); + }); + }, + + contactsOnline: function () { + + console.log("loading contactsOnline") + + axios.get('http://localhost:1898/getOnlinePeers') + .then((response) => { + + console.log(response); + this.onlinePeers = response.data.data.payload + console.log(this.onlinePeers) + + }) + .catch(function (error) { + console.log(error); + }); + }, + + }, + beforeMount() { + // this.checkStatus() + // this.getDashboardData() + // this.contactsOnline() + this.changeGraph(4) + }, + mounted() { + this.createChart(); + console.log("mounted"); + } +} +</script> + +<style> +.did{ +font-size: 10px; +} +ul { + list-style-type: none; +} +</style> \ No newline at end of file diff --git a/src/pages/NewFileUpload.vue b/src/pages/NewFileUpload.vue new file mode 100644 index 0000000..1903b89 --- /dev/null +++ b/src/pages/NewFileUpload.vue @@ -0,0 +1,359 @@ +<template> + <div id="NewFileUpload"> + <!-- breadcrumb --> + <nav class="text-sm font-semibold mb-6" aria-label="Breadcrumb"> + <ol class="list-none p-0 inline-flex"> + <li class="flex items-center text-blue-500"> + <a href="#" class="text-gray-700">File Drive</a> + <svg class="fill-current w-3 h-3 mx-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"/></svg> + </li> + <li class="flex items-center"> + <a href="#" class="text-gray-600">New Contract</a> + </li> + </ol> + </nav> + <!-- breadcrumb end --> + + <div class="lg:flex justify-between items-center mb-6"> + <p class="text-2xl font-semibold mb-2 lg:mb-0">Create New Contract</p> + </div> + <div class="flex flex-wrap -mx-3 mb-20"> + + <div class="w-1/2 xl:w-1/2 px-3"> + <div class="w-full px-10 py-5"> + <input type="file" id="file" ref="file" v-on:change="handleFileUpload()"/> + </div> + <div class="w-full px-10 py-5"> + <p class="text-2l font-semibold mb-2 lg:mb-0 center">User DID <select type="search" v-model="selectedDid" v-on:change="getIp(selectedDid)" :options="DidList" name="Keyphrase" placeholder="Select a User" class="bg-white h-10 w-full xl:w-100 px-5 rounded-lg border text-sm focus:outline-none"> + <option disabled value="">Please select one</option> + <option v-for="DidList in DidList" v-bind:value="DidList" :key="DidList"> + {{ DidList }} + </option> + </select> + </p> + </div> + <div class="w-full px-10 py-5"> + <p class="text-2l font-semibold mb-2 lg:mb-0 center">IP Address <input type="search" v-model="ipFill" name="Keyphrase" placeholder="" class="bg-white h-10 w-full xl:w-64 px-5 rounded-lg border text-lg focus:outline-none"></p> + </div> + <div class="w-full px-10 py-5"> + <p class="text-2l font-semibold mb-2 lg:mb-0 center">Write Count <input type="search" v-model="writeCount" name="Keyphrase" placeholder="" class="bg-white h-10 w-full xl:w-40 px-5 rounded-lg border text-lg focus:outline-none"></p> + </div> + <!-- <vue-suggestion :items="DidList" + v-model="item" + :setLabel="setLabel" + :itemTemplate="itemTemplate" + @changed="inputChange" + @selected="itemSelected"> + </vue-suggestion> --> + <div class="center w-full px-10 py-5"> + <p>{{adderError}}</p> + <button v-on:click="addUser(selectedDid,ipFill, writeCount), fetchingStats = true" class="center bg-green-500 hover:bg-green-600 focus:outline-none rounded-lg px-3 py-1 text-white font-semibold shadow">Add User</button> + </div> + <div class="center w-full px-10 py-5"> + <span class="p-10" v-if="showLoader"> + <Progress strokeColor="#516091" value="86"> + <template v-slot:footer> + <b>Uploading New File, Please wait..</b> + </template> + </Progress> + </span> + <br> + <button v-on:click="launchFileContract(), fetchingStats = true" class="center bg-blue-500 hover:bg-blue-600 focus:outline-none rounded-lg px-6 py-2 text-white font-semibold shadow">create</button> + </div> + </div> + <div class="w-1/3 xl:w-1/2 px-3"> + <p class="px-6 py-5 text-xl font-semibold mb-2 lg:mb-0">Contract Details</p> + + <div class="w-full bg-white border rounded-lg p-4"> + <div class="w-full bg-gray-100 border rounded-lg flex justify-between items-center px-1 py-2"> + <div> + <ul> + <li v-for="user in DidChosen" :key="user"> + <div class="did font-semibold text-xs">{{ user.did }} x {{user.writeCount}} + <p class="text-sm font-regular mb-4">{{user.ip}}</p> + <button v-on:click="removeUser(user.did)" class="center bg-red-500 hover:bg-red-600 focus:outline-none rounded-lg px-2 py-1 text-white font-semibold shadow">remove</button> + </div> + <hr> + <br> + </li> + </ul> + </div> + </div> + </div> + </div> + </div> + </div> +</template> + +<script> +import axios from 'axios' +import Vue from 'vue' +import VueSuggestion from 'vue-suggestion' +import Progress from 'easy-circular-progress' + +Vue.use(VueSuggestion) +export default { + name: 'NewFileUpload', + data() { + return { + showLoader: false, + DidList: [], + DidChosen: [], + item: '', + selectedDid: '', + ipFill: '', + writeCount: 0, + newFile: '', + doneMessage:'', + adderError: '', + } + }, + components: { + Progress + }, + + + methods:{ + + ContractUser (did, ip, writeCount) { + this.did = did + this.ip = ip + this.writeCount = writeCount + }, + + getIp (did) { + console.log("calling get IP for") + console.log(did) + const formData = new FormData() + formData.append('did', did) + + axios.post('http://localhost:1898/getIpFromDid', formData,{ + headers: { + 'Content-Type': 'multipart/form-data' + } + }) + .then((response) => { + this.ipFill = response.data.data.response + console.log(this.ip) + + }) + .catch(function (error) { + console.log(error); + }) + }, + + addUser (did, ip, writeCount) { + if(did !='' && ip!='' && writeCount > 0) { + + this.removeUser(did) + this.DidChosen.push(new this.ContractUser(did, ip, writeCount)) + this.selectedDid='' + this.ipFill='' + this.writeCount=0 + this.adderError='' + } else { + this.adderError = "Require valid data all fields.." + } + + }, + + removeUser (did) { + this.DidChosen = this.DidChosen.filter((elem) => elem.did != did) + }, + + itemSelected (item) { + this.item = item + }, + setLabel (item) { + return item + }, + inputChange (text) { + this.DidList = this.DidList.filter(item => item.includes(text)) + }, + + DIDSuggestions: function () { + + console.log("loading DID list") + + axios.get('http://localhost:1898/getDidList') + .then((response) => { + + this.DidList = response.data.data.response + + }) + .catch(function (error) { + console.log(error); + }); + }, + + handleFileUpload(){ + this.newFile = this.$refs.file.files[0]; + }, + + // getInfo: function () { + + // console.log("INIT STATE: loading my info") + + // axios.get('http://localhost:1898/getInfo') + // .then((response) => { + + // this.myDid = response.data.data.payload.didHash + // this.ipFill = response.data.data.payload.ip + + // }) + // .catch(function (error) { + // console.log(error); + // }); + // }, + + launchFileContract: function () { + this.showLoader = true + const formData = new FormData() + formData.append('file', this.newFile) + formData.append('contractData', JSON.stringify(this.DidChosen)) + + console.log("CONTRACT DETAILS") + console.log(JSON.stringify(this.DidChosen)) + + console.log("loading launch contract") + + axios.post('http://localhost:1898/launch', formData,{ + headers: { + 'Content-Type': 'multipart/form-data' + } + }) + .then((response) => { + + console.log(response); + console.log("LAUNCHED NEW CONTRACT") + this.doneMessage= response.data.data.response + this.DidChosen = '' + if(response.data.data.response!= 'Launch Failed'){ + this.$router.push({path: '/dashboard/files'}) + } + }) + .catch(function (error) { + console.log(error); + this.doneMessage= "Error" + }); + }, + + listen: function () { + + console.log("loading listen") + + axios.get('http://localhost:1898/listen') + .then((response) => { + + }) + .catch(function (error) { + console.log(error); + }); + }, + + checkStatus: function () { + + console.log("loading DID exists") + + axios.get('http://localhost:1898/checkDidExists') + .then((response) => { + + console.log(response); + if(response.data.data.payload == 'Failure'){ + console.log("moving to create DID") + this.$router.push({path: '/create-new-DID'}) + return; + } else { + console.log("loading DID verified") + axios.get('http://localhost:1898/checkDidVerified') + .then((response) => { + this.isVerified = response.data.data.payload + console.log(response); + if(response.data.data.payload == 'Failure'){ + console.log("moving to create DID [check]") + this.$router.push({path: '/verification'}) + return; + } + }) + .catch(function (error) { + console.log(error); + this.$router.push({path: '/verification'}) + return; + }); + } + }) + .catch(function (error) { + console.log(error); + this.$router.push({path: '/create-new-DID'}) + return; + }); + + + + + axios.get('http://localhost:1898/checkRole') + .then((response) => { + + console.log(response); + // this.myRole = response.data.data.payload + }) + .catch(function (error) { + console.log(error); + // this.$router.push({path: '//create-new-DID'}) + }); + }, + + }, + beforeMount() { + this.checkStatus() + this.DIDSuggestions() + this.listen() + } +} +</script> + +<style scoped> + +.center{ + text-align: center; +} +ul { + list-style-type: none; +} +.element1 { + display:inline-block;margin-right:30px; +} +.vue-suggestion .vs__list { + width: 100%; + text-align: left; + border: none; + border-top: none; + max-height: 600px; + overflow-y: auto; + border-bottom: 1px solid #023d7b; + position: relative; +} +.vue-suggestion .vs__list .vs__list-item { + background-color: #023d7b; + padding: 20px; + border-left: 1px solid #023d7b; + border-right: 1px solid #023d7b; +} +.vue-suggestion .vs__list .vs__list-item:last-child { + border-bottom: none; +} +.vue-suggestion .vs__list .vs__list-item:hover { + background-color: #023d7b !important; +} +.vue-suggestion .vs__list, +.vue-suggestion .vs__loading { + position: absolute; +} +.vue-suggestion .vs__list .vs__list-item { + cursor: pointer; +} +.vue-suggestion .vs__list .vs__list-item.vs__item-active { + background-color: #023d7b; +} + +</style> \ No newline at end of file diff --git a/src/pages/UserLog.vue b/src/pages/UserLog.vue new file mode 100644 index 0000000..ba15732 --- /dev/null +++ b/src/pages/UserLog.vue @@ -0,0 +1,203 @@ +<template> + <div id="UserLog"> + <!-- breadcrumb --> + <nav class="text-sm font-semibold mb-6" aria-label="Breadcrumb"> + <ol class="list-none p-0 inline-flex"> + <li class="flex items-center text-blue-500"> + <a href="#" class="text-gray-700">System</a> + <svg class="fill-current w-3 h-3 mx-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"/></svg> + </li> + <li class="flex items-center"> + <a href="#" class="text-gray-600">Logs</a> + </li> + + </ol> + </nav> + <!-- breadcrumb end --> + + <div class="lg:flex justify-between items-center mb-6"> + <p class="text-xl font-semibold mb-2 lg:mb-0">User Logging Details for <span class="text-gray-600"> {{$route.params.did}}</span></p> + </div> + <div class="flex flex-wrap -mx-3"> + <div v-for="sysLog in sysLog" :key="sysLog"> + <ul class="space_list w-full rounded-lg mt-2 mb-3 text-blue-800"> + <li class="w-fill flex p-3 pl-3 bg-gray-200 hover:bg-gray-400 rounded-lg"> + <div class="did font-semibold text-sm">{{ sysLog.tid }}<span class="text-red-500 font-semibold text-sm"> {{ sysLog.status }}</span> <button v-on:click="TxnDetails(sysLog.tid), fetchingStats = true" class="center bg-blue-400 hover:bg-blue-600 focus:outline-none rounded-lg px-2 text-white font-semibold shadow">details</button> </div> + </li> + </ul> + </div> + </div> + <modal name="tid-info-modal"> + <div class="w-full bg-white rounded-lg p-4"> + <p class="text-black-700 font-semibold text-sm">Tid: {{txnDetails.tid }}</p> + <br> + <p class="text-black-700 font-semibold text-sm">Did: {{txnDetails.did }}</p> + <br> + <p class="text-red-700 font-semibold text-sm">Share: {{txnDetails.share }}</p> + <br> + <p class="text-gray-700 font-semibold text-sm">Hash: {{txnDetails.logHash }}</p> + <!-- <p class="text-gray-700 font-semibold text-sm">Sign: {{txnDetails.sign }}</p> --> + <br> + <p class="text-green-700 font-semibold text-l">Verified and collected signature</p> + </div> + </modal> + </div> +</template> + +<script> +import axios from 'axios' +import Vue from 'vue' +import VModal from 'vue-js-modal' + +Vue.use(VModal, { + dynamicDefaults: { + draggable: true, + resizable: true, + height: 'auto' + } +}) + +export default { + name: 'UserLog', + props: ['did'], + data() { + return { + sysLog:[], + txnDetails: {} + } + }, + + methods:{ + + + TxnDetails: function (tid) { + this.$modal.show('tid-info-modal'); + + const formData = new FormData() + + formData.append('tid', tid) + formData.append('did', this.$route.params.did) + + axios.post('http://localhost:1898/getDidTxnDetails', formData,{ + headers: { + 'Content-Type': 'multipart/form-data' + } + }) + .then((response) => { + + console.log(response); + this.txnDetails = response.data.data[0] + console.log(this.sysLog) + + }) + .catch(function (error) { + console.log(error); + }); + }, + + emptyRedirect: function () { + if(this.$route.params.did == null) { + this.$router.push({path: '/dashboard/verifier'}) + } + }, + + getLogs: function () { + + const formData = new FormData() + + formData.append('did', this.$route.params.did) + + axios.post('http://localhost:1898/getDidTransactions', formData,{ + headers: { + 'Content-Type': 'multipart/form-data' + } + }) + .then((response) => { + + console.log("LOADING TXNS") + console.log(response); + this.sysLog = response.data.data + console.log(this.sysLog) + + }) + .catch(function (error) { + console.log(error); + }); + }, + + + checkStatus: function () { + + console.log("loading DID exists") + + axios.get('http://localhost:1898/checkDidExists') + .then((response) => { + + console.log(response); + if(response.data.data.payload == 'Failure'){ + console.log("moving to create DID") + this.$router.push({path: '/create-new-DID'}) + return; + } else { + console.log("loading DID verified") + axios.get('http://localhost:1898/checkDidVerified') + .then((response) => { + this.isVerified = response.data.data.payload + console.log(response); + if(response.data.data.payload == 'Failure'){ + console.log("moving to create DID [check]") + this.$router.push({path: '/verification'}) + return; + } + }) + .catch(function (error) { + console.log(error); + this.$router.push({path: '/verification'}) + return; + }); + } + }) + .catch(function (error) { + console.log(error); + this.$router.push({path: '/create-new-DID'}) + return; + }); + + + + + axios.get('http://localhost:1898/checkRole') + .then((response) => { + + console.log(response); + // this.myRole = response.data.data.payload + }) + .catch(function (error) { + console.log(error); + // this.$router.push({path: '/create-new-DID'}) + }); + }, + + }, + beforeMount() { + this.emptyRedirect() + this.getLogs() + this.checkStatus() + } +} +</script> + +<style> + +.center{ + text-align: center; +} +ul { + list-style-type: none; +} +.element1 { + display:inline-block;margin-right:10px; +} +ul.space_list li { margin-bottom: 0.5em; } + +</style> \ No newline at end of file diff --git a/src/pages/Verifier.vue b/src/pages/Verifier.vue new file mode 100644 index 0000000..7bf9c1b --- /dev/null +++ b/src/pages/Verifier.vue @@ -0,0 +1,411 @@ +<template> + <div id="verifier"> + <nav class="text-sm font-semibold mb-6" aria-label="Breadcrumb"> + <ol class="list-none p-0 inline-flex"> + <li class="flex items-center text-blue-500"> + <a href="#" class="text-gray-700">Dashboard</a> + <svg class="fill-current w-3 h-3 mx-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"/></svg> + </li> + <li class="flex items-center"> + <a href="#" class="text-gray-600">Verifier</a> + </li> + </ol> + </nav> + + <div class="lg:flex justify-between items-center mb-6"> + <p class="text-2xl font-semibold mb-2 lg:mb-0">WAMPAC Blockchain Verifier Dashboard</p> + </div> + + <!-- <div class="flex flex-wrap -mx-3 mb-20"> + + <div class="w-1/2 xl:w-1/4 px-3"> + <div class="w-full bg-white border text-blue-400 rounded-lg flex items-center p-6 mb-6 xl:mb-0"> + <svg class="w-16 h-16 fill-current mr-4 hidden lg:block" viewBox="0 0 20 20"> + <path d="M17.35,2.219h-5.934c-0.115,0-0.225,0.045-0.307,0.128l-8.762,8.762c-0.171,0.168-0.171,0.443,0,0.611l5.933,5.934c0.167,0.171,0.443,0.169,0.612,0l8.762-8.763c0.083-0.083,0.128-0.192,0.128-0.307V2.651C17.781,2.414,17.587,2.219,17.35,2.219M16.916,8.405l-8.332,8.332l-5.321-5.321l8.333-8.332h5.32V8.405z M13.891,4.367c-0.957,0-1.729,0.772-1.729,1.729c0,0.957,0.771,1.729,1.729,1.729s1.729-0.772,1.729-1.729C15.619,5.14,14.848,4.367,13.891,4.367 M14.502,6.708c-0.326,0.326-0.896,0.326-1.223,0c-0.338-0.342-0.338-0.882,0-1.224c0.342-0.337,0.881-0.337,1.223,0C14.84,5.826,14.84,6.366,14.502,6.708"></path> + </svg> + + <div class="text-gray-700"> + <p class="font-semibold text-3xl">{{fileSharedCount}}</p> + <p>Files Shared</p> + </div> + + </div> + </div> + + <div class="w-1/2 xl:w-1/4 px-3"> + <div class="w-full bg-white border text-blue-400 rounded-lg flex items-center p-6 mb-6 xl:mb-0"> + <svg class="w-16 h-16 fill-current mr-4 hidden lg:block" viewBox="0 0 20 20"> + <path d="M17.684,7.925l-5.131-0.67L10.329,2.57c-0.131-0.275-0.527-0.275-0.658,0L7.447,7.255l-5.131,0.67C2.014,7.964,1.892,8.333,2.113,8.54l3.76,3.568L4.924,17.21c-0.056,0.297,0.261,0.525,0.533,0.379L10,15.109l4.543,2.479c0.273,0.153,0.587-0.089,0.533-0.379l-0.949-5.103l3.76-3.568C18.108,8.333,17.986,7.964,17.684,7.925 M13.481,11.723c-0.089,0.083-0.129,0.205-0.105,0.324l0.848,4.547l-4.047-2.208c-0.055-0.03-0.116-0.045-0.176-0.045s-0.122,0.015-0.176,0.045l-4.047,2.208l0.847-4.547c0.023-0.119-0.016-0.241-0.105-0.324L3.162,8.54L7.74,7.941c0.124-0.016,0.229-0.093,0.282-0.203L10,3.568l1.978,4.17c0.053,0.11,0.158,0.187,0.282,0.203l4.578,0.598L13.481,11.723z"></path> + </svg> + + <div class="text-gray-700"> + <p class="font-semibold text-3xl">{{contactsCount}}</p> + <p>Contacts</p> + </div> + </div> + </div> + + <div class="w-1/2 xl:w-1/4 px-3"> + <div class="w-full bg-white border text-blue-400 rounded-lg flex items-center p-6"> + <svg class="w-16 h-16 fill-current mr-4 hidden lg:block" viewBox="0 0 20 20"> + <path d="M14.999,8.543c0,0.229-0.188,0.417-0.416,0.417H5.417C5.187,8.959,5,8.772,5,8.543s0.188-0.417,0.417-0.417h9.167C14.812,8.126,14.999,8.314,14.999,8.543 M12.037,10.213H5.417C5.187,10.213,5,10.4,5,10.63c0,0.229,0.188,0.416,0.417,0.416h6.621c0.229,0,0.416-0.188,0.416-0.416C12.453,10.4,12.266,10.213,12.037,10.213 M14.583,6.046H5.417C5.187,6.046,5,6.233,5,6.463c0,0.229,0.188,0.417,0.417,0.417h9.167c0.229,0,0.416-0.188,0.416-0.417C14.999,6.233,14.812,6.046,14.583,6.046 M17.916,3.542v10c0,0.229-0.188,0.417-0.417,0.417H9.373l-2.829,2.796c-0.117,0.116-0.71,0.297-0.71-0.296v-2.5H2.5c-0.229,0-0.417-0.188-0.417-0.417v-10c0-0.229,0.188-0.417,0.417-0.417h15C17.729,3.126,17.916,3.313,17.916,3.542 M17.083,3.959H2.917v9.167H6.25c0.229,0,0.417,0.187,0.417,0.416v1.919l2.242-2.215c0.079-0.077,0.184-0.12,0.294-0.12h7.881V3.959z"></path> + </svg> + + <div class="text-gray-700"> + <p class="font-semibold text-3xl"> {{receiverTxn}}</p> + <p>Transactions</p> + </div> + </div> + </div> + + <div class="w-1/3 xl:w-1/4 px-3"> + <div class="w-full bg-white border text-blue-400 rounded-lg flex items-center p-6"> + <svg class="w-16 h-16 fill-current mr-4 hidden lg:block" viewBox="0 0 20 20"> + <path d="M17.431,2.156h-3.715c-0.228,0-0.413,0.186-0.413,0.413v6.973h-2.89V6.687c0-0.229-0.186-0.413-0.413-0.413H6.285c-0.228,0-0.413,0.184-0.413,0.413v6.388H2.569c-0.227,0-0.413,0.187-0.413,0.413v3.942c0,0.228,0.186,0.413,0.413,0.413h14.862c0.228,0,0.413-0.186,0.413-0.413V2.569C17.844,2.342,17.658,2.156,17.431,2.156 M5.872,17.019h-2.89v-3.117h2.89V17.019zM9.587,17.019h-2.89V7.1h2.89V17.019z M13.303,17.019h-2.89v-6.651h2.89V17.019z M17.019,17.019h-2.891V2.982h2.891V17.019z"></path> + </svg> + + <div class="text-gray-700"> + <p class="font-semibold text-3xl">{{systemStatus}}</p> + <p>System</p> + </div> + </div> + </div> + + </div> --> + + <div class="flex flex-wrap -mx-1"> + + <div class="w-full xl:w-1/2 px-3"> + + <div class="flex flex-wrap -mx-3 mb-5"> + <div class="w-1/2 l:w-1/2 px-3"> + <div class="w-full bg-white border text-blue-400 rounded-lg flex items-center p-6 mb-6 xl:mb-0"> + <!-- <svg class="w-16 h-16 fill-current mr-4 hidden lg:block" viewBox="0 0 20 20"> + <path d="M14.999,8.543c0,0.229-0.188,0.417-0.416,0.417H5.417C5.187,8.959,5,8.772,5,8.543s0.188-0.417,0.417-0.417h9.167C14.812,8.126,14.999,8.314,14.999,8.543 M12.037,10.213H5.417C5.187,10.213,5,10.4,5,10.63c0,0.229,0.188,0.416,0.417,0.416h6.621c0.229,0,0.416-0.188,0.416-0.416C12.453,10.4,12.266,10.213,12.037,10.213 M14.583,6.046H5.417C5.187,6.046,5,6.233,5,6.463c0,0.229,0.188,0.417,0.417,0.417h9.167c0.229,0,0.416-0.188,0.416-0.417C14.999,6.233,14.812,6.046,14.583,6.046 M17.916,3.542v10c0,0.229-0.188,0.417-0.417,0.417H9.373l-2.829,2.796c-0.117,0.116-0.71,0.297-0.71-0.296v-2.5H2.5c-0.229,0-0.417-0.188-0.417-0.417v-10c0-0.229,0.188-0.417,0.417-0.417h15C17.729,3.126,17.916,3.313,17.916,3.542 M17.083,3.959H2.917v9.167H6.25c0.229,0,0.417,0.187,0.417,0.416v1.919l2.242-2.215c0.079-0.077,0.184-0.12,0.294-0.12h7.881V3.959z"></path> + </svg> --> + <div class="text-gray-700"> + <p class="font-semibold text-3xl">{{totalUsers}}</p> + <p>Active Systems</p> + </div> + + </div> + </div> + + <div class="w-1/2 l:w-1/2 px-3"> + <div class="w-full bg-white border text-blue-400 rounded-lg flex items-center p-6 mb-6 xl:mb-0"> + <!-- <svg class="w-16 h-16 fill-current mr-4 hidden lg:block" viewBox="0 0 20 20"> + <path d="M14.999,8.543c0,0.229-0.188,0.417-0.416,0.417H5.417C5.187,8.959,5,8.772,5,8.543s0.188-0.417,0.417-0.417h9.167C14.812,8.126,14.999,8.314,14.999,8.543 M12.037,10.213H5.417C5.187,10.213,5,10.4,5,10.63c0,0.229,0.188,0.416,0.417,0.416h6.621c0.229,0,0.416-0.188,0.416-0.416C12.453,10.4,12.266,10.213,12.037,10.213 M14.583,6.046H5.417C5.187,6.046,5,6.233,5,6.463c0,0.229,0.188,0.417,0.417,0.417h9.167c0.229,0,0.416-0.188,0.416-0.417C14.999,6.233,14.812,6.046,14.583,6.046 M17.916,3.542v10c0,0.229-0.188,0.417-0.417,0.417H9.373l-2.829,2.796c-0.117,0.116-0.71,0.297-0.71-0.296v-2.5H2.5c-0.229,0-0.417-0.188-0.417-0.417v-10c0-0.229,0.188-0.417,0.417-0.417h15C17.729,3.126,17.916,3.313,17.916,3.542 M17.083,3.959H2.917v9.167H6.25c0.229,0,0.417,0.187,0.417,0.416v1.919l2.242-2.215c0.079-0.077,0.184-0.12,0.294-0.12h7.881V3.959z"></path> + </svg> --> + <div class="text-gray-700"> + <p class="font-semibold text-3xl">{{unsafe}}</p> + <p>Unsafe Activites</p> + </div> + + </div> + </div> + + </div> + <p class="text-xl font-semibold mb-4">User Traffic</p> + + <div class="w-full bg-white border rounded-lg p-4"> + <div class="w-full bg-gray-100 border rounded-lg flex justify-between items-center px-1 py-2"> + <div> + <ul> + <li v-for="statusList in statusList" :key="statusList"> + <router-link :to="{ name: 'UserLog', params: { did: statusList.did }}" class="did text-blue-700 font-semibold text-sm">{{ statusList.did }} <span class="text-blue-400 font-semibold text-sm"> {{ statusList.status }} </span> </router-link> + <hr> + </li> + </ul> + </div> + </div> + </div> + <br> + + </div> + + + <div class="w-full xl:w-1/2 px-3"> + <p class="text-xl font-semibold mb-4">Analytics</p> + <canvas id="chart" width="600" height="400"></canvas> + <br> + <p class="text-xl font-semibold mb-4"> Most Unsafe Systems</p> + + <div class="w-full bg-white border rounded-lg p-4"> + <div class="w-full bg-gray-100 border rounded-lg flex justify-between items-center px-1 py-2"> + <div> + <ul> + <li v-for="(value, name) in unsafeUsers" :key="(value, name)"> + <div class="did text-blue-700 font-semibold text-sm"><span class="text-red-400 font-semibold text-sm"> {{ value }} </span></div> + <hr> + </li> + </ul> + </div> + </div> + </div> + </div> + + + </div> + + </div> +</template> + +<script> + +import Vue from 'vue' +import axios from 'axios' +import VModal from 'vue-js-modal' +import Chart from 'chart.js' + +Vue.use(VModal, { + dynamicDefaults: { + draggable: true, + resizable: true, + height: 'auto' + } +}) + +export default { + name: 'DashboardVerifier', + data() { + return { + statusList: [], + chart: null, + sample: [1,3], + unsafe: 0, + totalUsers: 0, + unsafeUsers: [], + + } + }, + methods:{ + + + checkStatus: function () { + + console.log("loading DID exists") + + axios.get('http://localhost:1898/checkDidExists') + .then((response) => { + + console.log(response); + if(response.data.data.payload == 'Failure'){ + console.log("moving to create DID") + this.$router.push({path: '/create-new-DID'}) + return; + } else { + console.log("loading DID verified") + axios.get('http://localhost:1898/checkDidVerified') + .then((response) => { + this.isVerified = response.data.data.payload + console.log(response); + if(response.data.data.payload == 'Failure'){ + console.log("moving to create DID [check]") + this.$router.push({path: '/verification'}) + return; + } + else { + this.checkRole() + this.getStatusList() + this.safetyGraph() + this.unsafeCount() + this.totalCount() + this.unsafeList() + } + }) + .catch(function (error) { + console.log(error); + this.$router.push({path: '/verification'}) + return; + }); + } + }) + .catch(function (error) { + console.log(error); + this.$router.push({path: '/create-new-DID'}) + return; + }); + }, + + checkRole: function() { + axios.get('http://localhost:1898/checkRole') + .then((response) => { + + console.log(response); + if(response.data.data.payload == 'User') { + this.$router.push({path: '/dashboard/home'}) + } + }) + .catch(function (error) { + console.log(error); + // this.$router.push({path: '/create-new-DID'}) + }); + }, + + getStatusList: function () { + + console.log("loading status list") + + axios.get('http://localhost:1898/getStatusList') + .then((response) => { + + this.statusList = response.data.data + }) + .catch(function (error) { + + console.log(error); + }); + }, + + unsafeList: function () { + + console.log("loading status list") + + axios.get('http://localhost:1898/mostUnsafe') + .then((response) => { + + this.unsafeUsers = response.data.data + }) + .catch(function (error) { + + console.log(error); + }); + }, + + unsafeCount: function () { + + console.log("loading unsafe count") + + axios.get('http://localhost:1898/unsafeCount') + .then((response) => { + + this.unsafe = response.data.data + }) + .catch(function (error) { + + console.log(error); + }); + }, + + + totalCount: function () { + + console.log("loading total count") + + axios.get('http://localhost:1898/networkUsersCount') + .then((response) => { + + this.totalUsers = response.data.data + }) + .catch(function (error) { + + console.log(error); + }); + }, + + safetyGraph: function () { + + console.log("loading safetyGraph") + + axios.get('http://localhost:1898/getPieData') + .then((response) => { + + console.log(response); + var data = response.data.data + + this.chart = new Chart(document.getElementById("chart"), { + type: 'doughnut', + data: { + datasets: [{ + data: data, + borderColor : "rgba(99,179,237,0.4)", + backgroundColor: [ + "rgba(255,209,220,0.4)", + "rgba(99,179,237,0.4)" + ] + }], + labels: [ + 'Unsafe Systems', + 'Safe Systems' + ] + }, + options: null + }) + + console.log(this.onlinePeers) + + }) + .catch(function (error) { + console.log(error); + }); + }, + + filesShared: function () { + + console.log("loading filesShared") + + axios.get('http://localhost:1898/getSharedFilesCount') + .then((response) => { + + console.log(response); + this.fileSharedCount = response.data.data.response + console.log(this.fileSharedCount) + + }) + .catch(function (error) { + console.log(error); + }); + }, + + fileList: function () { + + console.log("loading filesShared") + + axios.get('http://localhost:1898/getSharedFiles') + .then((response) => { + + console.log(response); + this.sharedFiles = response.data.data.response + console.log(this.sharedFiles) + + }) + .catch(function (error) { + console.log(error); + }); + }, + + // scanNowFn: function () { + // this.$modal.show('system-scan-modal'); + // this.open = true + // console.log("loading scanNow") + + // axios.get('http://localhost:1898/scanNow') + // .then((response) => { + + // this.scanNow = response.data.data.payload + + // }) + // .catch(function (error) { + // console.log(error); + // }); + // }, + + }, + beforeMount() { + this.checkStatus() + }, + // mounted() { + // this.createChart(); + // console.log("mounted"); + // } +} +</script> + +<style> +.did{ +font-size: 10px; +} +ul { + list-style-type: none; +} +</style> \ No newline at end of file diff --git a/src/pages/VerifyDID.vue b/src/pages/VerifyDID.vue new file mode 100644 index 0000000..c3736ab --- /dev/null +++ b/src/pages/VerifyDID.vue @@ -0,0 +1,262 @@ +<template> + <div id="VerifyDID" class="p-6 bg-gray-100 mb-20"> + <!-- breadcrumb --> + <div class="w-full h-20 border-b flex px-4 items-center mb-8"> + <p class="font-semibold text-3xl text-blue-400 pl-4">WAMPAC</p> + </div> + <nav class="text-sm font-semibold mb-6" aria-label="Breadcrumb"> + <ol class="list-none p-0 inline-flex"> + <li class="flex items-center text-blue-500"> + <a href="#" class="text-gray-700">Decentralised Identity</a> + <svg class="fill-current w-3 h-3 mx-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"/></svg> + </li> + <li class="flex items-center"> + <a href="#" class="text-gray-600">Identity(DID) Verification</a> + </li> + </ol> + </nav> + <!-- breadcrumb end --> + + <div class="flex flex-wrap -mx-3"> + <div class="w-full xl:w-1/2 px-3"> + <div class="lg:flex justify-between items-center mb-6"> + <p class="text-2xl font-semibold mb-2 lg:mb-0">My Wallet Information</p> + </div> + <p>Peer ID: {{getInfo.peerid}}</p> + <p>DID: {{getInfo.didHash}}</p> + <p>Wallet ID: {{getInfo.walletHash}}</p> + <p>IP: {{getInfo.ip}}</p> + <br><br> + + <button v-on:click="syncInfo(), fetchingStats = true" :disabled="!hideSyncButton" class="center bg-green-500 hover:bg-green-600 focus:outline-none rounded-lg px-6 py-2 text-white font-semibold shadow">{{errorMsg}}</button> + <span class="p-10" v-if="!hideSyncButton"> + <Progress strokeColor="#516091" value="77"> + <template v-slot:footer> + <b>Gathering Network Info, Please wait..</b> + </template> + </Progress> + </span> + </div> + <div v-if="showNetwork" class="w-full xl:w-1/3 px-3"> + <p class="text-2xl font-semibold mb-2 lg:mb-0">Network information</p> + <ul> + <li v-for="networkPeers in networkPeers" :key="networkPeers"> + <p class="text-sm font-semibold mb-4">{{ networkPeers.peerid }}</p> + <hr> + </li> + </ul> + <span class="p-10" v-if="showNetworkLoading"> + <Progress strokeColor="#516091" value="77"> + <template v-slot:footer> + <b>Enrolling user into the network..</b> + </template> + </Progress> + </span> + <button v-on:click="enroll(), fetchingStats = true" class="center bg-blue-500 hover:bg-blue-600 focus:outline-none rounded-lg px-6 py-2 text-white font-semibold shadow">Enroll</button> + </div> + </div> + <!-- </div> --> + <!-- <div class="w-full xl:w-1/3 px-3"> + <ul> + <li v-for="user in quorum" :key="user"> + <p class="text-xl font-semibold mb-4">{{ user.quorum }}</p> + <p class="text-l font-regular mb-4">{{ user.did }} </p> + <hr> + </li> + </ul> + </div> --> + <!-- </div> --> + + <!-- <div class="lg:flex justify-between items-center mb-6"> + <p class="text-2xl font-semibold mb-2 lg:mb-0">Get verified from Quorum members</p> + </div> + + <div class="flex flex-wrap -mx-3"> + <div class="w-full xl:w-1/3 px-3"> + <p>Get your identity verified from eligible members in the blockchain. You are sharing your information with members to get verified by them.</p> + <br><br> + <p class="text-l font-semibold mb-2 lg:mb-0" v-if="memberCheck">response of {{this.selectedQuorum}}</p> + <p class="text-l font-regular mb-2 lg:mb-0" v-if="memberCheck">{{this.memberCheck}}</p> + + <button v-on:click="launchFileContract(), fetchingStats = true" class="center bg-blue-500 hover:bg-blue-600 focus:outline-none rounded-lg px-6 py-2 text-white font-semibold shadow">Verify Identity</button> + </div> + <div class="w-full xl:w-1/3 px-3"> + <ul> + <li v-for="user in quorum" :key="user"> + <p class="text-xl font-semibold mb-4">{{ user.quorum }}</p> + <p class="text-l font-regular mb-4">{{ user.did }} </p> + <hr> + </li> + </ul> + </div> + </div> --> + </div> +</template> + +<script> +import axios from 'axios' +import Progress from 'easy-circular-progress' + +export default { + name: 'VerifyDID', + data() { + return { + memberStatus:'', + memberCheck:'', + selectedQuorum:'', + getInfo:{}, + networkPeers:[], + data: '', + errorMsg: 'Sync', + errorMsgEnroll: 'Enroll', + hideSyncButton: true, + showNetwork: false, + showNetworkLoading: false, + + } + }, + components: { + Progress + }, + methods:{ + getInfoFn: function () { + + console.log("loading getInfo") + + axios.get('http://localhost:1898/getInfo') + .then((response) => { + + console.log(response); + this.getInfo = response.data.data.payload + console.log(this.getInfo) + }) + .catch(function (error) { + console.log(error); + }); + }, + + syncInfo: function () { + this.hideSyncButton = false + console.log("loading sync") + + axios.get('http://localhost:1898/sync') + .then((response) => { + + if(response.data.data.payload == 'Success'){ + + this.hideSyncButton = true + + console.log("getting network info") + axios.get('http://localhost:1898/getNetworkInfo') + .then((response) => { + this.showNetwork = true + this.networkPeers = response.data.data.payload + }) + .catch(function (error) { + console.log(error); + }); + } + else { + this.showError = true + this.hideSyncButton = true + this.errorMsg = response.data.data.payload + } + + }) + .catch(function (error) { + console.log(error); + }); + }, + + enroll: function () { + + this.showNetworkLoading = true + + console.log("loading enroll") + + axios.get('http://localhost:1898/enroll') + .then((response) => { + + if(response.data.data.payload == 'Success'){ + setTimeout(() => { this.$router.push({path: '/dashboard/home'}) }, 2000) + }else { + this.showError = true + this.errorMsgEnroll = response.data.data.payload + } + + }) + .catch(function (error) { + console.log(error); + }); + }, + + reconnect: function() { + axios.get('http://localhost:1898/checkDidVerified') + .then((response) => { + this.isVerified = response.data.data.payload + if(response.data.data.payload == 'Success'){ + this.$router.push({path: '/dashboard/home'}) + return; + } + }) + .catch(function (error) { + console.log(error); + }); + }, + + checkStatus: function () { + + console.log("loading DID exists") + + axios.get('http://localhost:1898/checkDidExists') + .then((response) => { + + console.log(response); + if(response.data.data.payload == 'Failure'){ + console.log("moving to create DID") + this.$router.push({path: '/create-new-DID'}) + return; + } + }) + .catch(function (error) { + console.log(error); + this.$router.push({path: '/create-new-DID'}) + return; + }); + + + + + axios.get('http://localhost:1898/checkRole') + .then((response) => { + + console.log(response); + // this.myRole = response.data.data.payload + }) + .catch(function (error) { + console.log(error); + // this.$router.push({path: '/create-new-DID'}) + }); + }, + + }, + beforeMount() { + this.getInfoFn() + this.reconnect() + } +} +</script> + +<style> + +.center{ + text-align: center; +} +ul { + list-style-type: none; +} +.element1 { + display:inline-block;margin-right:10px; +} + +</style> \ No newline at end of file diff --git a/src/pages/all.vue b/src/pages/all.vue new file mode 100644 index 0000000..7cf1c04 --- /dev/null +++ b/src/pages/all.vue @@ -0,0 +1,229 @@ +<template> + <div id="home"> + + <!-- breadcrumb --> + <nav class="text-sm font-semibold mb-6" aria-label="Breadcrumb"> + <ol class="list-none p-0 inline-flex"> + <li class="flex items-center text-blue-500"> + <a href="#" class="text-gray-700">Home</a> + <svg class="fill-current w-3 h-3 mx-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"/></svg> + </li> + <li class="flex items-center"> + <a href="#" class="text-gray-600">Dashboard</a> + </li> + </ol> + </nav> + <!-- breadcrumb end --> + + <div class="lg:flex justify-between items-center mb-6"> + <p class="text-2xl font-semibold mb-2 lg:mb-0">Good afternoon, Joe!</p> + <button class="bg-blue-500 hover:bg-blue-600 focus:outline-none rounded-lg px-6 py-2 text-white font-semibold shadow">View Logs</button> + </div> + + <div class="flex flex-wrap -mx-3 mb-20"> + + <div class="w-1/2 xl:w-1/4 px-3"> + <div class="w-full bg-white border text-blue-400 rounded-lg flex items-center p-6 mb-6 xl:mb-0"> + <svg class="w-16 h-16 fill-current mr-4 hidden lg:block" viewBox="0 0 20 20"> + <path d="M17.35,2.219h-5.934c-0.115,0-0.225,0.045-0.307,0.128l-8.762,8.762c-0.171,0.168-0.171,0.443,0,0.611l5.933,5.934c0.167,0.171,0.443,0.169,0.612,0l8.762-8.763c0.083-0.083,0.128-0.192,0.128-0.307V2.651C17.781,2.414,17.587,2.219,17.35,2.219M16.916,8.405l-8.332,8.332l-5.321-5.321l8.333-8.332h5.32V8.405z M13.891,4.367c-0.957,0-1.729,0.772-1.729,1.729c0,0.957,0.771,1.729,1.729,1.729s1.729-0.772,1.729-1.729C15.619,5.14,14.848,4.367,13.891,4.367 M14.502,6.708c-0.326,0.326-0.896,0.326-1.223,0c-0.338-0.342-0.338-0.882,0-1.224c0.342-0.337,0.881-0.337,1.223,0C14.84,5.826,14.84,6.366,14.502,6.708"></path> + </svg> + + <div class="text-gray-700"> + <p class="font-semibold text-3xl">237</p> + <p>Products Sold</p> + </div> + + </div> + </div> + + <div class="w-1/2 xl:w-1/4 px-3"> + <div class="w-full bg-white border text-blue-400 rounded-lg flex items-center p-6 mb-6 xl:mb-0"> + <svg class="w-16 h-16 fill-current mr-4 hidden lg:block" viewBox="0 0 20 20"> + <path d="M17.684,7.925l-5.131-0.67L10.329,2.57c-0.131-0.275-0.527-0.275-0.658,0L7.447,7.255l-5.131,0.67C2.014,7.964,1.892,8.333,2.113,8.54l3.76,3.568L4.924,17.21c-0.056,0.297,0.261,0.525,0.533,0.379L10,15.109l4.543,2.479c0.273,0.153,0.587-0.089,0.533-0.379l-0.949-5.103l3.76-3.568C18.108,8.333,17.986,7.964,17.684,7.925 M13.481,11.723c-0.089,0.083-0.129,0.205-0.105,0.324l0.848,4.547l-4.047-2.208c-0.055-0.03-0.116-0.045-0.176-0.045s-0.122,0.015-0.176,0.045l-4.047,2.208l0.847-4.547c0.023-0.119-0.016-0.241-0.105-0.324L3.162,8.54L7.74,7.941c0.124-0.016,0.229-0.093,0.282-0.203L10,3.568l1.978,4.17c0.053,0.11,0.158,0.187,0.282,0.203l4.578,0.598L13.481,11.723z"></path> + </svg> + + <div class="text-gray-700"> + <p class="font-semibold text-3xl">177</p> + <p>Product Reviews</p> + </div> + </div> + </div> + + <div class="w-1/2 xl:w-1/4 px-3"> + <div class="w-full bg-white border text-blue-400 rounded-lg flex items-center p-6"> + <svg class="w-16 h-16 fill-current mr-4 hidden lg:block" viewBox="0 0 20 20"> + <path d="M14.999,8.543c0,0.229-0.188,0.417-0.416,0.417H5.417C5.187,8.959,5,8.772,5,8.543s0.188-0.417,0.417-0.417h9.167C14.812,8.126,14.999,8.314,14.999,8.543 M12.037,10.213H5.417C5.187,10.213,5,10.4,5,10.63c0,0.229,0.188,0.416,0.417,0.416h6.621c0.229,0,0.416-0.188,0.416-0.416C12.453,10.4,12.266,10.213,12.037,10.213 M14.583,6.046H5.417C5.187,6.046,5,6.233,5,6.463c0,0.229,0.188,0.417,0.417,0.417h9.167c0.229,0,0.416-0.188,0.416-0.417C14.999,6.233,14.812,6.046,14.583,6.046 M17.916,3.542v10c0,0.229-0.188,0.417-0.417,0.417H9.373l-2.829,2.796c-0.117,0.116-0.71,0.297-0.71-0.296v-2.5H2.5c-0.229,0-0.417-0.188-0.417-0.417v-10c0-0.229,0.188-0.417,0.417-0.417h15C17.729,3.126,17.916,3.313,17.916,3.542 M17.083,3.959H2.917v9.167H6.25c0.229,0,0.417,0.187,0.417,0.416v1.919l2.242-2.215c0.079-0.077,0.184-0.12,0.294-0.12h7.881V3.959z"></path> + </svg> + + <div class="text-gray-700"> + <p class="font-semibold text-3xl">31</p> + <p>New Enquiries</p> + </div> + </div> + </div> + + <div class="w-1/2 xl:w-1/4 px-3"> + <div class="w-full bg-white border text-blue-400 rounded-lg flex items-center p-6"> + <svg class="w-16 h-16 fill-current mr-4 hidden lg:block" viewBox="0 0 20 20"> + <path d="M17.431,2.156h-3.715c-0.228,0-0.413,0.186-0.413,0.413v6.973h-2.89V6.687c0-0.229-0.186-0.413-0.413-0.413H6.285c-0.228,0-0.413,0.184-0.413,0.413v6.388H2.569c-0.227,0-0.413,0.187-0.413,0.413v3.942c0,0.228,0.186,0.413,0.413,0.413h14.862c0.228,0,0.413-0.186,0.413-0.413V2.569C17.844,2.342,17.658,2.156,17.431,2.156 M5.872,17.019h-2.89v-3.117h2.89V17.019zM9.587,17.019h-2.89V7.1h2.89V17.019z M13.303,17.019h-2.89v-6.651h2.89V17.019z M17.019,17.019h-2.891V2.982h2.891V17.019z"></path> + </svg> + + <div class="text-gray-700"> + <p class="font-semibold text-3xl">1,653</p> + <p>Product Views</p> + </div> + + </div> + </div> + + </div> + + <div class="flex flex-wrap -mx-3"> + + <div class="w-full xl:w-1/3 px-3"> + <p class="text-xl font-semibold mb-4">Recent Sales</p> + + <div class="w-full bg-white border rounded-lg p-4 mb-8 xl:mb-0"> + <canvas id="buyers-chart" width="600" height="400"></canvas> + </div> + </div> + + <div class="w-full xl:w-1/3 px-3"> + <p class="text-xl font-semibold mb-4">Recent Reviews</p> + + <div class="w-full bg-white border rounded-lg p-4 mb-8 xl:mb-0"> + <canvas id="reviews-chart" width="600" height="400"></canvas> + </div> + </div> + + <div class="w-full xl:w-1/3 px-3"> + <p class="text-xl font-semibold mb-4">Recent Transactions</p> + <div class="w-full bg-white border rounded-lg p-4"> + <div class="w-full bg-gray-100 border rounded-lg flex justify-between items-center px-4 py-2 mb-4"> + <div> + <p class="font-semibold text-xl">Trent Murphy</p> + <p>Product 1</p> + </div> + <span class="text-green-500 font-semibold text-lg">$25.00</span> + </div> + + <div class="w-full bg-gray-100 border rounded-lg flex justify-between items-center px-4 py-2 mb-4"> + <div> + <p class="font-semibold text-xl">Joseph Brent</p> + <p>Product 34</p> + </div> + <span class="text-red-500 font-semibold text-lg">$74.99</span> + </div> + + <div class="w-full bg-gray-100 border rounded-lg flex justify-between items-center px-4 py-2 mb-4"> + <div> + <p class="font-semibold text-xl">Jacob Bator</p> + <p>Product 23</p> + </div> + <span class="text-green-500 font-semibold text-lg">$14.95</span> + </div> + + <div class="w-full bg-gray-100 border rounded-lg flex justify-between items-center px-4 py-2"> + <div> + <p class="font-semibold text-xl">Alex Mason</p> + <p>Product 66</p> + </div> + <span class="text-green-500 font-semibold text-lg">$44.99</span> + </div> + </div> + </div> + + </div> + + </div> +</template> + +<script> +import Chart from 'chart.js' + +export default { + name: 'DashboardHome', + data() { + return { + buyersData: { + type: 'line', + data: { + labels : ["Mon","Tue","Wed","Thu","Fri","Sat","Sun"], + datasets:[{ + backgroundColor : "rgba(99,179,237,0.4)", + strokeColor : "#63b3ed", + pointColor : "#fff", + pointStrokeColor : "#63b3ed", + data : [203,156,99,251,305,247,256] + }, + { + backgroundColor : "rgba(198,198,198,0.4)", + strokeColor : "#f7fafc", + pointColor : "#fff", + pointStrokeColor : "#f7fafc", + data : [86,97,144,114,94,108,156] + }] + }, + options: { + legend: { + display: false + }, + scales: { + yAxes: [{ + gridLines: { + display:false + }, + ticks: { + display: false + } + }], + xAxes: [{ + gridLines: { + display: false + } + }] + } + } + }, + reviewsData: { + type: 'bar', + data: { + labels : ["Mon","Tue","Wed","Thu","Fri","Sat","Sun"], + datasets:[{ + backgroundColor : "rgba(99,179,237,0.4)", + strokeColor : "#63b3ed", + pointColor : "#fff", + pointStrokeColor : "#63b3ed", + data : [203,156,99,251,305,247,256] + }] + }, + options: { + legend: { + display: false + }, + scales: { + yAxes: [{ + gridLines: { + display:false + }, + ticks: { + display: false + } + }], + xAxes: [{ + gridLines: { + display: false + } + }] + } + } + + } + } + }, + mounted () { + new Chart(document.getElementById('buyers-chart'), this.buyersData) + new Chart(document.getElementById('reviews-chart'), this.reviewsData) + } +} +</script> \ No newline at end of file diff --git a/src/store/index.js b/src/store/index.js new file mode 100644 index 0000000..c4132da --- /dev/null +++ b/src/store/index.js @@ -0,0 +1,25 @@ +import Vue from 'vue' +import Vuex from 'vuex' + +Vue.use(Vuex) + +export default new Vuex.Store({ + state: { + sideBarOpen: false + }, + getters: { + sideBarOpen: state => { + return state.sideBarOpen + } + }, + mutations: { + toggleSidebar (state) { + state.sideBarOpen = !state.sideBarOpen + } + }, + actions: { + toggleSidebar(context) { + context.commit('toggleSidebar') + } + } +}) diff --git a/tailwind.js b/tailwind.js new file mode 100644 index 0000000..dd6532c --- /dev/null +++ b/tailwind.js @@ -0,0 +1,7 @@ +module.exports = { + theme: { + extend: {} + }, + variants: {}, + plugins: [] +} diff --git a/vue.config.js b/vue.config.js new file mode 100644 index 0000000..e692d06 --- /dev/null +++ b/vue.config.js @@ -0,0 +1,6 @@ +module.exports = { + devServer: { + disableHostCheck: true, + proxy: 'https://localhost:9000' + } +} \ No newline at end of file -- GitLab