diff --git a/app/src/main.js b/app/src/main.js
index 6ee03780..4f57a397 100644
--- a/app/src/main.js
+++ b/app/src/main.js
@@ -37,6 +37,7 @@ minimizeButton.onclick = () => {
const electron = require('electron');
const GoogleAssistant = require('google-assistant');
const isValidAccelerator = require('electron-is-accelerator');
+const googleIt = require('google-it');
const { execSync } = require('child_process');
const path = require('path');
const fs = require('fs');
@@ -1194,6 +1195,29 @@ function inspectResponseType(assistantResponseString) {
? youtubeMatch[3].startsWith('https://m.youtube.com/watch?v=')
: false;
+ const googleSearchPrompts = [
+ 'here\'s a result from search',
+ 'here\'s a result from the web',
+ 'here\'s the top search result',
+ 'this came back from google',
+ 'this came back from a search',
+ 'here\'s what i found on the web',
+ 'this is the top result',
+ 'here\'s what i found',
+ 'here\'s some info',
+ 'this is from wikipedia',
+ 'i found this on wikipedia',
+ 'here\'s an answer from wikipedia',
+ 'here\'s a wikipedia result',
+ 'here\'s the top wikipedia result',
+ 'wikipedia has this result',
+ 'here\'s something from wikipedia',
+ 'here\'s a result from wikipedia',
+ 'here\'s a matching wikipedia result',
+ ];
+
+ const isGoogleSearchPrompt = googleSearchPrompts.includes(mainArea.innerText.toLowerCase());
+
let type;
let searchResultParts;
@@ -1205,6 +1229,10 @@ function inspectResponseType(assistantResponseString) {
type = 'google-search-result';
searchResultParts = searchResultMatch.slice(1, 5);
}
+ else if (isGoogleSearchPrompt) {
+ type = 'google-search-result-prompt';
+ searchResultParts = null;
+ }
else {
type = null;
searchResultParts = null;
@@ -3941,6 +3969,40 @@ async function displayScreenData(screen, pushToHistory = false, theme = null) {
`;
}
+ else if (responseType['type'] === 'google-search-result-prompt') {
+ activateLoader();
+
+ const searchResults = await googleIt({
+ query: getCurrentQuery(),
+ 'no-display': true,
+ });
+
+ const topResult = searchResults[0];
+
+ const googleSearchResultScreenData = `
+
+
+ ${topResult.title}
+
+
+
+ ${topResult.link}
+
+
+
+
+
+ ${topResult.snippet}
+
+
+ `;
+
+ textContainer.innerHTML = googleSearchResultScreenData;
+ deactivateLoader();
+ }
}
if (innerText.indexOf('https://www.google.com/search?tbm=isch') !== -1) {
@@ -4074,7 +4136,7 @@ async function displayScreenData(screen, pushToHistory = false, theme = null) {
const suggestionsDOM = htmlDocument.querySelector('#assistant-scroll-bar');
const suggestionParent = document.querySelector('.suggestion-parent');
- if (suggestionsDOM != null) {
+ if (suggestionsDOM != null || responseType['type'] === 'google-search-result-prompt') {
if (responseType['type'] || hasWebAnswer || hasKnowledgePanel) {
suggestionParent.innerHTML += `
@@ -4146,7 +4208,7 @@ async function displayScreenData(screen, pushToHistory = false, theme = null) {
`;
}
- for (let i = 0; i < suggestionsDOM.children.length; i++) {
+ for (let i = 0; i < suggestionsDOM?.children.length; i++) {
const label = suggestionsDOM.children[i].innerHTML.trim();
const query = suggestionsDOM.children[i].getAttribute('data-follow-up-query');
let action = query;
@@ -4198,7 +4260,7 @@ async function displayScreenData(screen, pushToHistory = false, theme = null) {
if (pushToHistory && mainArea.querySelector('.error-area') == null) {
let screenData;
- if (isGoogleImagesContent) {
+ if (isGoogleImagesContent || responseType['type'] === 'google-search-result-prompt') {
screenData = generateScreenData(true);
}
else {
@@ -4248,20 +4310,22 @@ function generateScreenData(includePreventAutoScaleFlag = false) {
const suggestions = document.querySelector('.suggestion-parent').children;
let suggestionsDOM = '';
- for (let i = 0; i < suggestions.length; i++) {
- const flag = suggestions[i].getAttribute('data-flag');
- const flagAttrib = flag ? `data-flag="${flag}"` : '';
- const label = suggestions[i].innerHTML.trim();
+ if (suggestions.length > 0 && suggestions[0].classList.contains('suggestion')) {
+ for (let i = 0; i < suggestions.length; i++) {
+ const flag = suggestions[i].getAttribute('data-flag');
+ const flagAttrib = flag ? `data-flag="${flag}"` : '';
+ const label = suggestions[i].innerHTML.trim();
- const followUpQuery = suggestions[i]
- .getAttribute('onclick')
- .replace(/assistantTextQuery\(`(.*)`\)/, '$1');
+ const followUpQuery = suggestions[i]
+ .getAttribute('onclick')
+ .replace(/assistantTextQuery\(`(.*)`\)/, '$1');
- suggestionsDOM += `
-
- ${label}
-
- `;
+ suggestionsDOM += `
+
+ ${label}
+
+ `;
+ }
}
const screenDataSuggestionsHTML = `
diff --git a/app/src/style.css b/app/src/style.css
index abd62aa3..bbe0bedc 100644
--- a/app/src/style.css
+++ b/app/src/style.css
@@ -1,1343 +1,1343 @@
-:root {
- --window-border-radius: 20px;
- --color-blue: #1e90ff;
- --color-red: #ea4335;
- --color-green: #34a853;
- --color-yellow: #fbbc05;
-
- /* Background and Foreground shades */
- --color-bg: #121212;
- --color-secondary: #ffffff1c;
- --color-accent: #1e90ff;
- --color-fg-rgb: 255, 255, 255;
- --color-fg: #ffffff;
- --color-fg-med: #ffffff80;
- --color-fg-med-low: #ffffff40;
- --color-fg-light: #ffffff1c;
- --color-fg-lightest: #ffffff0d;
-
- /* Button */
- --color-btn-bg-default: #ffffff14;
- --color-btn-bg-hover: #ffffff24;
- --color-btn-bg-active: #ffffff0d;
-
- /* Suggestion Chip */
- --color-suggestion-bg: #ffffff0d;
- --color-suggestion-fg: #ffffff;
- --color-suggestion-border-default: transparent;
- --color-suggestion-border-hover: #ffffff80;
- --color-suggestion-border-active: #ffffff40;
-
- /* Switch */
- --switch-bg: #ffffff40;
-
- /* Loader */
- --color-loader-bg: #272727;
-
- /* Input */
- --color-input-border: #ffffff1a;
- --opacity-input-border-low: 0.502;
- --opacity-input-border-high: 0.749;
-
- /* Scrollbar */
- --color-scrollbar-bg: #0d0d0d;
- --color-scrollbar-response-screen-bg: #0d0d0d;
- --color-scrollbar-response-screen-fg-rgb: 255, 255, 255;
-
- /* Dropdown */
- --color-select-bg: transparent;
- --color-select-bg-hover: #ffffff1c;
- --color-select-border: #ffffff40;
- --color-option-bg: #000000;
-}
-
-body {
- color: var(--color-fg);
- font-family: "Product Sans";
- -webkit-user-select: none;
- background: transparent;
-
- transition: color 150ms ease-in;
-}
-
-#master-bg {
- z-index: -10;
- position: absolute;
- top: 0;
- left: 0;
- bottom: 1px;
- right: 1px;
- background: var(--color-bg);
- border-radius: var(--window-border-radius);
- border: transparent 0px solid;
-
- transition: all 150ms ease-in;
-}
-
-#master-bg[data-border="prominent"][data-theme="dark"] {
- border: var(--color-blue) 1.5px solid;
-}
-
-#master-bg[data-border="prominent"][data-theme="light"] {
- border: var(--color-blue) 2px solid;
-}
-
-#master-bg[data-border="minimal"][data-theme="light"] {
- border: #c0c0c0 1.5px solid;
-}
-
-#master-bg[data-border="minimal"][data-theme="dark"] {
- border: #505050 1.5px solid;
-}
-
-#master-bg[data-border="color-shift"][data-theme="dark"] {
- border-width: 1.5px;
- animation: color-shift-border-anim infinite 5000ms;
-}
-
-#master-bg[data-border="color-shift"][data-theme="light"] {
- border-width: 2px;
- animation: color-shift-border-anim infinite 5000ms;
-}
-
-@keyframes color-shift-border-anim {
- 0% {
- border-color: var(--color-blue);
- }
- 25% {
- border-color: var(--color-green);
- }
- 50% {
- border-color: var(--color-red);
- }
- 75% {
- border-color: var(--color-yellow);
- }
- 100% {
- border-color: var(--color-blue);
- }
-}
-
-.invert {
- filter: invert(1);
- -webkit-filter: invert(1);
-}
-
-/********** TITLE BAR SECTION **********/
-
-#title-bar {
- -webkit-app-region: drag;
- -webkit-user-select: none;
- user-select: none;
- color: var(--color-fg);
- padding-bottom: 40px;
-
- transition: color 150ms ease-in;
-}
-
-#control-region {
- z-index: 10;
- -webkit-app-region: no-drag;
- cursor: default;
- -webkit-user-select: none;
- position: absolute;
- right: 10px;
- top: 10px;
- vertical-align: middle;
-}
-
-#nav-region {
- z-index: 10;
- -webkit-app-region: no-drag;
- cursor: default;
- -webkit-user-select: none;
- position: absolute;
- left: 10px;
- top: 10px;
- vertical-align: middle;
-}
-
-.quick-msg {
- display: inline-block;
- vertical-align: top;
- margin-top: 8px;
- margin-left: 10px;
- color: var(--color-fg-med);
-
- animation: quick-msg-anim 5000ms ease-out;
- transition: color 150ms ease-in;
-}
-
-@keyframes quick-msg-anim {
- 0% {
- transform: translateX(-10px);
- opacity: 0;
- }
-
- 3% {
- transform: translateX(5px);
- }
-
- 5% {
- transform: translateX(0);
- opacity: 1;
- }
-
- 23% {
- opacity: 0.5;
- }
-
- 41% {
- opacity: 1;
- }
-
- 59% {
- opacity: 0.5;
- }
-
- 77% {
- opacity: 1;
- }
-
- 95% {
- transform: translateX(0);
- opacity: 0.5;
- }
-
- 97% {
- transform: translateX(7px);
- opacity: 0.5;
- }
-
- 100% {
- transform: translateX(-10px);
- opacity: 0;
- }
-}
-
-.app-title {
- -webkit-box-align: center;
- text-align: center;
- width: 100%;
- vertical-align: -webkit-baseline-middle;
- color: var(--color-fg);
- font-size: 18px;
- font-weight: bold;
- position: absolute;
- top: 15px;
- left: 0;
- right: 0;
-
- transition: color 150ms ease-in;
-}
-
-/* Styles for pre-loader */
-
-#loader-area {
- position: absolute;
- top: 50px;
- left: 0;
- right: 0;
-}
-
-/* SRC: https://www.pexels.com/blog/css-only-loaders/ */
-.loader {
- height: 4px;
- width: 100%;
- position: relative;
- overflow: hidden;
- background-color: var(--color-loader-bg);
-
- transition: background 150ms ease-in;
-}
-
-.loader:before {
- display: block;
- position: absolute;
- content: "";
- left: -200px;
- width: 200px;
- height: 4px;
- background-color: var(--color-accent);
- animation: loading 2s linear infinite;
-}
-
-@keyframes loading {
- from {
- left: -30%;
- width: 30%;
- }
- 50% {
- width: 30%;
- }
- 70% {
- width: 70%;
- }
- 80% {
- left: 50%;
- }
- 95% {
- left: 120%;
- }
- to {
- left: 100%;
- }
-}
-
-.determinate-progress {
- --determinate-progress-value: 0%;
-
- height: 4px;
- width: 100%;
- position: relative;
- overflow: hidden;
- background-color: var(--color-loader-bg);
-
- transition: background 150ms ease-in;
-}
-
-.determinate-progress:before {
- display: block;
- position: absolute;
- content: "";
- left: 0 !important;
- width: var(--determinate-progress-value);
- height: 4px;
- background-color: var(--color-accent);
- animation: none;
- transition: width 150ms ease-in-out;
-}
-
-.determinate-progress.progress-countdown-ten-secs:before {
- animation: progress_determinate_anim 10s linear forwards;
-}
-
-@keyframes progress_determinate_anim {
- 0% {
- width: 0%;
- }
-
- 100% {
- width: 100%;
- }
-}
-
-/********** MAIN AREA SECTION **********/
-
-#main-area {
- position: absolute;
- top: 30px;
- right: 20px;
- left: 20px;
- bottom: 120px;
- -webkit-user-select: text;
-}
-
-.assistant-markup-response {
- color: #ffffff;
- overflow-x: auto;
- margin-top: 15px;
- padding-left: 10px;
- height: 95%;
- transform-origin: top left;
-}
-
-.google-search-result {
- cursor: pointer;
- background: rgba(255, 255, 255, 0.07);
- padding: 10px 15px 20px 15px;
- border-radius: 10px;
- width: 75%;
- -webkit-user-select: none;
-
- transition: all 150ms ease-in;
-}
-
-.google-search-result:hover {
- background: rgba(255, 255, 255, 0.11);
-}
-
-.google-search-result:active {
- background: rgba(255, 255, 255, 0.05);
-}
-
-#google-images-carousel {
- display: flex;
- overflow-x: auto;
-}
-
-#google-images-carousel::-webkit-scrollbar {
- display: none;
-}
-
-/* Styles for 'Init' Screen */
-
-#init-loading {
- transition: all 150ms ease-in;
-}
-
-.fade-in {
- animation: fade-in-anim 300ms;
-}
-
-@keyframes fade-in-anim {
- 0% {
- opacity: 0;
- }
- 100% {
- opacity: 1;
- }
-}
-
-#assistant-logo-main-parent {
- animation: fade_in_from_bottom_anim 300ms;
-}
-
-#assistant-logo-main {
- height: 60px;
- width: 60px;
- margin-top: 20px;
- -webkit-user-select: none;
- -webkit-user-drag: none;
-}
-
-#init-headline {
- font-size: 28px;
- text-align: center;
- margin-top: 25px;
- font-weight: bold;
-}
-
-#init-headline-parent {
- animation: fade_in_from_bottom_anim 1000ms;
-}
-
-/* Styles for 'Welcome' Screen */
-
-#first-time-logo {
- height: 70px;
- width: 315px;
- margin-top: 20px;
- margin-bottom: 20px;
- -webkit-user-select: none;
- -webkit-user-drag: none;
-}
-
-#first-time-desc {
- font-size: 20px;
- color: var(--color-fg-med);
- text-align: center;
- margin-top: 25px;
-
- animation: fade_in_from_bottom_anim 1300ms ease-out;
-}
-
-/* Styles for Carousel */
-
-#selection-carousel-tv {
- width: fit-content;
- transform: scale(0.8);
-}
-
-#photo-carousel-tv {
- width: max-content;
-}
-
-#tv_knowledge_panel_source {
- width: max-content;
-}
-
-.photo_tv_image {
- background: #ffffff0d url(../res/throbber.svg) no-repeat center;
- background-size: 20px;
-}
-
-.tv-focusable:has(:not(#photo-carousel-tv)) {
- margin-left: -13%;
-}
-
-#tv-item-container {
- overflow-x: scroll;
- padding: 0;
-}
-
-.carousel_tv_item:first-child {
- margin-left: 0 !important;
-}
-
-.fade-in-from-bottom {
- animation: fade_in_from_bottom_anim 300ms;
-}
-
-@keyframes fade_in_from_bottom_anim {
- from {
- padding-top: 15px;
- opacity: 0;
- }
-
- to {
- padding-top: inherit;
- opacity: 1;
- }
-}
-
-/********** ERROR/INFO SCREEN SECTION **********/
-
-.error-area {
- display: grid;
- grid-template-areas:
- "err-icon err-title err-title err-title"
- "err-icon err-details err-details err-details"
- "err-icon err-details err-details err-details";
- grid-template-columns: repeat(3, minmax(220px, 1fr));
- column-gap: 20px;
- row-gap: 10px;
- position: relative;
- top: 100px;
-}
-
-.err-icon {
- grid-area: err-icon;
- margin: auto;
-}
-
-.err-title {
- grid-area: err-title;
- font-size: 30px;
- color: var(--color-fg);
-}
-
-.err-details {
- grid-area: err-details;
- font-size: 22px;
- color: var(--color-fg-med);
-}
-
-.err-subdetails {
- grid-area: err-details;
- font-size: 20px;
- color: var(--color-fg-med-low);
- padding-top: 5px;
-}
-
-.no-auth-grid {
- display: grid;
- grid-template-areas: "no-auth-icon no-auth-info no-auth-info no-auth-info";
- grid-template-columns: minmax(200px, 1fr) 1fr 1fr 1fr;
- font-size: 20px;
- padding-top: 20px;
-}
-
-.no-auth-grid-icon {
- grid-area: no-auth-icon;
- font-size: 20px;
- margin: auto;
-}
-
-.no-auth-grid-info {
- grid-area: no-auth-info;
-}
-
-/********** CONFIG (SETTINGS) SECTION **********/
-
-#settings-btn {
- position: relative;
-}
-
-#settings-btn::before {
- content: '';
- position: absolute;
- top: 5px;
- right: 5px;
- height: 8px;
- width: 8px;
- border-radius: 100%;
- box-shadow: 0 0 6px 1px var(--color-accent);
- background-color: var(--color-accent);
- transform: scale(0);
- transition: transform 150ms ease;
-}
-
-#settings-btn.active-badge::before {
- transform: scale(1);
-}
-
-#config-screen {
- overflow-x: auto;
- margin-top: 25px;
- padding-left: 10px;
- height: 94%;
-}
-
-#config-notice-parent {
- padding-top: 30px;
- display: none;
- transition: padding 250ms ease;
-}
-
-.setting-label {
- margin: 20px 10px 20px 10px;
- font-weight: bold;
-}
-
-.setting-label hr {
- border: var(--color-fg-light) 0.5px solid;
-}
-
-.setting-item {
- display: grid;
- grid-template-areas: "setting-key setting-value setting-value";
- grid-template-columns: minmax(200px, 1fr) 1fr 1fr;
- padding: 10px 30px 10px 40px;
- column-gap: 15px;
- font-size: 19px;
-}
-
-.setting-key {
- grid-area: setting-key;
- font-size: 20px;
- margin-top: auto;
- margin-bottom: auto;
-}
-
-.setting-value {
- grid-area: setting-value;
- vertical-align: middle;
- margin-top: auto;
- margin-bottom: auto;
-}
-
-.setting-item-button {
- vertical-align: -webkit-baseline-middle;
-}
-
-.settings-about-section {
- grid-template-columns: 0.5fr 1fr 1fr !important;
-}
-
-.config-input {
- border: var(--color-input-border) 2px solid;
- border-radius: 5px;
- padding: 5px 12px;
- margin-right: 5px;
- font-family: "Roboto Mono", monospace;
- font-size: 18px;
- width: 76%;
- color: rgba(var(--color-fg-rgb));
-
- transition: all 200ms ease-out;
-}
-
-.config-input:focus {
- border: rgba(31, 143, 255, var(--opacity-input-border-low)) 2px solid;
-}
-
-#config-item__update-options {
- margin-top: 30px;
- padding: 10px 20px;
- border: 2px solid var(--color-accent);
- border-radius: 10px;
-}
-
-#config-item__update-options > hr {
- border-color: var(--color-fg-light);
- margin: 5px 0;
-}
-
-#config-item__update-options .setting-item {
- display: grid;
- grid-template-columns: 0.75fr 1fr;
- padding: 5px 0;
-}
-
-#config-item__update-options .setting-key {
- height: 35px;
- display: flex;
- flex-direction: column;
- justify-content: center;
-}
-
-#config-item__update-options .setting-value {
- margin-top: unset;
-}
-
-.config-banner {
- cursor: pointer;
- background-color: #1e90ff30;
- margin-top: 10px;
- margin-right: 30px;
- font-size: 0.9rem;
- padding: 30px 30px;
- border-radius: 10px;
- display: flex;
- flex-direction: row;
- justify-content: space-between;
-
- max-height: 4em;
- transition: all 250ms ease;
- overflow: hidden;
-}
-
-.config-banner h1 {
- font-size: 1.4em;
- margin: 0;
-}
-
-.config-banner p {
- font-size: 1.1em;
- opacity: 0.6;
- margin: 0;
-}
-
-.config-banner-main {
- display: flex;
- flex-direction: row;
- justify-content: center;
- gap: 20px;
-}
-
-.config-banner-actions {
- display: flex;
- flex-direction: column;
- justify-content: center;
-}
-
-.config-banner-actions img {
- -webkit-user-drag: none;
-}
-
-.config-item-highlight {
- animation: config-item-highlight-animation 5000ms forwards ease-out;
-}
-
-@keyframes config-item-highlight-animation {
- 0% {
- background-color: #1e90ff30;
- }
- 100% {
- background-color: unset;
- }
-}
-
-/********** SUGGESTION BAR SECTION **********/
-
-#suggestion-area {
- position: absolute;
- bottom: 55px;
- left: 20px;
- right: 20px;
- overflow-x: auto;
- overflow-y: hidden;
- height: 36px;
- padding-top: 12px;
- padding-bottom: 5px;
-}
-
-.suggestion-parent {
- width: max-content;
- animation: fade_in_from_right_anim 300ms;
-}
-
-.suggestion {
- cursor: pointer;
- display: inline;
- margin-right: 5px;
- background: var(--color-suggestion-bg);
- padding: 8px 20px;
- border-radius: 30px;
- border: 1px solid var(--color-suggestion-border-default);
- color: var(--color-suggestion-fg);
-
- transition: all 150ms ease-in;
-}
-
-.suggestion:hover {
- background: var(--color-fg-light);
- border: 1px solid var(--color-suggestion-border-hover);
-}
-
-.suggestion:active {
- background: var(--color-fg-lightest);
- border: 1px solid var(--color-suggestion-border-active);
-}
-
-.suggestion.disabled {
- padding: 8px 20px;
-}
-
-@keyframes fade_in_from_right_anim {
- from {
- padding-left: 15px;
- opacity: 0;
- }
-
- to {
- padding-left: inherit;
- opacity: 1;
- }
-}
-
-/********** BOTTOM PERSISTENT BAR SECTION **********/
-
-#assistant-persistent-bar {
- z-index: 0;
- position: absolute;
- bottom: 0;
- left: 0;
- width: 100%;
- display: block;
- border-bottom-left-radius: var(--window-border-radius);
- border-bottom-right-radius: var(--window-border-radius);
-
- height: 50px;
- background: var(--color-fg-lightest);
-}
-
-#assistant-input {
- position: absolute;
- top: 10px;
- left: 20px;
- width: 90%;
-}
-
-/* Styles for Assistant Mic and Amp-bar */
-
-#assistant-mic-parent {
- position: absolute;
- top: 0;
- right: 0;
- height: 30px;
- cursor: pointer;
- user-select: none;
- -webkit-user-drag: none;
-
- transition: all 0.15s ease-in;
-}
-
-#assistant-mic,
-.assistant-mic-disabled {
- position: absolute;
- top: 10px;
- right: 20px;
- height: 30px;
- cursor: pointer;
- user-select: none;
- -webkit-user-drag: none;
-
- transition: all 0.15s ease-in;
-}
-
-#assistant-mic:hover {
- top: 2px;
- height: 35px;
-}
-
-#assistant-mic:active {
- top: 10px;
- height: 30px;
- opacity: 0.5;
-}
-
-.assistant-mic-disabled {
- opacity: 0.5 !important;
-}
-
-#amp-bar-group {
- position: absolute;
- top: 10px;
- right: 20px;
- height: 30px;
- display: inline-flex;
- flex-direction: row;
- align-items: center;
-}
-
-.amp-bar {
- background-color: #5f00f7;
- border-radius: 5px;
- margin-right: 5px;
- width: 5px;
- height: 5px;
- vertical-align: middle;
-
- transition: all 250ms ease-in;
-}
-
-.fade-scale {
- animation: fade_scale_anim 300ms;
-}
-
-@keyframes fade_scale_anim {
- from {
- transform: scale(0.5);
- opacity: 0;
- }
-
- to {
- transform: scale(1);
- opacity: 1;
- }
-}
-
-/********** MISCELLANEOUS SECTION **********/
-
-.para {
- margin: 8px;
-}
-
-.container {
- height: 100%;
-}
-
-.monospace {
- font-family: "Roboto Mono";
-}
-
-code {
- font-family: "Roboto Mono";
- background: rgba(var(--color-fg-rgb), 0.1);
- padding: 1px 8px;
- border-radius: 3px;
-}
-
-a,
-.link {
- color: var(--color-blue);
- text-decoration: none;
- cursor: pointer;
-
- transition: all 150ms ease;
-}
-
-a:hover,
-.link:hover {
- opacity: 0.5;
-}
-
-a:active,
-.link:active {
- opacity: 0.7;
-}
-
-blockquote {
- border-left: 4px var(--color-blue) solid;
- margin-left: 0;
- padding-left: 20px;
-}
-
-kbd {
- font-family: "Roboto Mono";
- font-size: 16px;
- background: rgba(var(--color-fg-rgb), 0.2);
- padding: 1px 6px;
- border-radius: 5px;
- border: 1px solid #ffffff50;
- border-bottom-width: 3px;
-}
-
-ul li {
- margin-top: 5px;
-}
-
-.codeblock {
- display: block;
- width: 100%;
- padding: 10px 15px;
- margin-top: 10px;
-}
-
-.markdown-list-checkbox {
- list-style: none;
- margin-top: 5px;
-}
-
-.markdown-list-checkbox > input[type="checkbox"] {
- vertical-align: middle;
- height: 0.95rem;
- width: 0.95rem;
- margin-left: 0;
- margin-right: 15px;
-}
-
-.disabled {
- opacity: 0.5 !important;
- padding: 2px;
- -webkit-user-select: none;
- -webkit-user-drag: none;
-
- transition: none;
-}
-
-.hyperlink {
- cursor: pointer;
- user-select: none;
- text-decoration: underline;
- transition: all 250ms;
-}
-
-.hyperlink:hover {
- opacity: 0.5;
-}
-
-.hyperlink:active {
- opacity: 0.25;
-}
-
-.no-x-scroll {
- overflow-x: hidden !important;
-}
-
-@keyframes rotate_anim {
- 0% {
- transform: rotateZ(0deg);
- }
-
- 100% {
- transform: rotateZ(360deg);
- }
-}
-
-/********** INPUT **********/
-
-input {
- border: none;
- outline: none;
- color: var(--color-fg);
- background: none;
- caret-color: var(--color-accent);
-
- font-family: "Product Sans";
- font-size: 20px;
-}
-
-.input-active {
- border: rgba(31, 143, 255, var(--opacity-input-border-low)) 2px solid;
-}
-
-.input-err {
- border: rgba(234, 67, 52, var(--opacity-input-border-low)) 2px solid !important;
- background: #ea43351c;
- caret-color: #ea4335;
-}
-
-.input-err:focus {
- border: rgba(234, 67, 52, var(--opacity-input-border-high)) 2px solid !important;
- background: rgba(234, 67, 53, 0.2);
-}
-
-.shake {
- animation: shake_anim 300ms;
-}
-
-@keyframes shake_anim {
- 0% {
- transform: translateX(-5px);
- }
-
- 25% {
- transform: translateX(5px);
- }
-
- 50% {
- transform: translateX(-2px);
- }
-
- 75% {
- transform: translateX(2px);
- }
-
- 100% {
- transform: translateX(0px);
- }
-}
-
-/********** BUTTON **********/
-
-button,
-.button {
- cursor: pointer;
- display: inline;
- margin-right: 5px;
- background: var(--color-btn-bg-default);
- padding: 8px 20px;
- border-radius: 30px;
- color: var(--color-fg);
- font-family: "Product Sans";
- font-size: 16px;
- border: none;
- outline: none;
- -webkit-user-select: none;
-
- transition: all 150ms ease-in;
-}
-
-button:hover,
-.button:hover {
- background: var(--color-btn-bg-hover);
-}
-
-button:active,
-.button:active {
- background: var(--color-btn-bg-active);
-}
-
-button.disabled,
-.button.disabled,
-button[disabled],
-.button[disabled] {
- cursor: default;
- background: var(--color-btn-bg-default);
-}
-
-/********** ICON BUTTON **********/
-
-.ico-btn {
- padding: 2px;
- border-radius: 100px;
- -webkit-user-select: none;
- -webkit-user-drag: none;
- transition: all 0.2s ease-in;
-}
-
-.ico-btn:hover {
- opacity: 0.75;
- background: rgba(var(--color-fg-rgb), 0.075);
-}
-
-.ico-btn:active {
- background: rgba(var(--color-fg-rgb), 0.22);
-}
-
-.ico-btn.disabled {
- background: none;
-}
-
-*[type="icon"] {
- height: 30px;
- width: 30px;
-}
-
-/********** SCROLLBAR **********/
-
-/* Size & Background */
-::-webkit-scrollbar {
- height: 5px;
- width: 5px;
- background: var(--color-scrollbar-bg);
-}
-
-/* Track */
-::-webkit-scrollbar-track {
- background: rgba(var(--color-fg-rgb), 0.1);
- border-radius: 5px;
-}
-
-/* Handle */
-::-webkit-scrollbar-thumb {
- background: rgba(var(--color-fg-rgb), 0.15);
- border-radius: 5px;
-}
-
-/* Handle on hover */
-::-webkit-scrollbar-thumb:hover {
- background: rgba(var(--color-fg-rgb), 0.2);
-}
-
-/* Handle on click */
-::-webkit-scrollbar-thumb:active {
- background: rgba(var(--color-fg-rgb), 0.1);
-}
-
-/* Appearance of scrollbar corner */
-::-webkit-scrollbar-corner {
- background: transparent;
-}
-
-/********** ASSISTANT RESPONSE SECTION SCROLLBAR **********/
-
-/* Size & Background */
-.assistant-markup-response::-webkit-scrollbar {
- background: var(--color-scrollbar-response-screen-bg);
-}
-
-/* Track */
-.assistant-markup-response::-webkit-scrollbar-track {
- background: rgba(
- var(--color-scrollbar-response-screen-fg-rgb),
- 0.1
- ) !important;
-}
-
-/* Handle */
-.assistant-markup-response::-webkit-scrollbar-thumb {
- background: rgba(
- var(--color-scrollbar-response-screen-fg-rgb),
- 0.15
- ) !important;
-}
-
-/* Handle on hover */
-.assistant-markup-response::-webkit-scrollbar-thumb:hover {
- background: rgba(
- var(--color-scrollbar-response-screen-fg-rgb),
- 0.2
- ) !important;
-}
-
-/* Handle on click */
-.assistant-markup-response::-webkit-scrollbar-thumb:active {
- background: rgba(
- var(--color-scrollbar-response-screen-fg-rgb),
- 0.1
- ) !important;
-}
-
-/********** ACCORDION **********/
-
-.accordion {
- position: relative;
-}
-
-.accordion > input[type="checkbox"] {
- display: none;
- box-sizing: border-box;
-}
-
-.accordion-tile {
- vertical-align: -webkit-baseline-middle;
- margin-right: 15px;
- user-select: none;
- cursor: pointer;
- width: 100%;
-}
-
-.accordion .accordion-content {
- max-height: 0;
- overflow: hidden;
- padding: 0 30px;
-
- transition: all 300ms ease-in-out;
-}
-
-.accordion input:checked ~ .accordion-content {
- max-height: 1500px;
-}
-
-.accordion-chevron {
- position: absolute;
- right: 24px;
- top: 18px;
- transform: rotateZ(0);
- transform-origin: 50% 40%;
-
- transition: all 300ms ease;
-}
-
-.accordion input:checked ~ .accordion-tile .accordion-chevron {
- transform: rotateZ(180deg);
-}
-
-/* Changelog Accordion */
-
-#config-item__whats-new {
- --changelog-accordion-content-height: 1500px;
-}
-
-#config-item__whats-new input:checked ~ .accordion-content {
- max-height: var(--changelog-accordion-content-height);
-}
-
-/********** SLIDER-SWITCH **********/
-/* SRC: https://www.w3schools.com/howto/howto_css_switch.asp */
-
-/* The slider */
-.switch {
- position: relative;
-}
-
-.switch input {
- display: none;
-}
-
-.slider {
- position: absolute;
- cursor: pointer;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- height: 35px;
- width: 60px;
- background-color: var(--switch-bg);
- -webkit-transition: 0.4s;
- transition: 0.4s;
-}
-
-.slider:before {
- position: absolute;
- content: "";
- height: 26px;
- width: 26px;
- left: 4px;
- bottom: 4px;
- background-color: #ffffff;
- -webkit-transition: 0.4s;
- transition: 0.4s;
-}
-
-input:checked + .slider {
- background-color: var(--color-accent);
-}
-
-input:focus + .slider {
- box-shadow: 0 0 1px var(--color-accent);
-}
-
-input:checked + .slider:before {
- -webkit-transform: translateX(26px);
- -ms-transform: translateX(26px);
- transform: translateX(26px);
-}
-
-/* Rounded sliders */
-.slider.round {
- border-radius: 34px;
-}
-
-.slider.round:before {
- border-radius: 50%;
-}
-
-.slider.disabled {
- cursor: default;
- opacity: 0.3 !important;
- padding: unset;
-}
-
-/********** DROP-DOWN **********/
-
-select {
- color: var(--color-fg);
- background: var(--color-select-bg);
- outline: none;
- border: var(--color-select-border) 1px solid;
- font-family: inherit;
- font-size: 17px;
- border-radius: 5px;
- padding: 5px 2px;
- height: 34px;
-
- transition: all 250ms ease-in;
-}
-
-select:hover {
- background: var(--color-select-bg-hover);
-}
-
-option {
- background: var(--color-option-bg);
-}
-
-.selector-active {
- border: var(--color-blue) 1px solid;
-}
+:root {
+ --window-border-radius: 20px;
+ --color-blue: #1e90ff;
+ --color-red: #ea4335;
+ --color-green: #34a853;
+ --color-yellow: #fbbc05;
+
+ /* Background and Foreground shades */
+ --color-bg: #121212;
+ --color-secondary: #ffffff1c;
+ --color-accent: #1e90ff;
+ --color-fg-rgb: 255, 255, 255;
+ --color-fg: #ffffff;
+ --color-fg-med: #ffffff80;
+ --color-fg-med-low: #ffffff40;
+ --color-fg-light: #ffffff1c;
+ --color-fg-lightest: #ffffff0d;
+
+ /* Button */
+ --color-btn-bg-default: #ffffff14;
+ --color-btn-bg-hover: #ffffff24;
+ --color-btn-bg-active: #ffffff0d;
+
+ /* Suggestion Chip */
+ --color-suggestion-bg: #ffffff0d;
+ --color-suggestion-fg: #ffffff;
+ --color-suggestion-border-default: transparent;
+ --color-suggestion-border-hover: #ffffff80;
+ --color-suggestion-border-active: #ffffff40;
+
+ /* Switch */
+ --switch-bg: #ffffff40;
+
+ /* Loader */
+ --color-loader-bg: #272727;
+
+ /* Input */
+ --color-input-border: #ffffff1a;
+ --opacity-input-border-low: 0.502;
+ --opacity-input-border-high: 0.749;
+
+ /* Scrollbar */
+ --color-scrollbar-bg: #0d0d0d;
+ --color-scrollbar-response-screen-bg: #0d0d0d;
+ --color-scrollbar-response-screen-fg-rgb: 255, 255, 255;
+
+ /* Dropdown */
+ --color-select-bg: transparent;
+ --color-select-bg-hover: #ffffff1c;
+ --color-select-border: #ffffff40;
+ --color-option-bg: #000000;
+}
+
+body {
+ color: var(--color-fg);
+ font-family: "Product Sans";
+ -webkit-user-select: none;
+ background: transparent;
+
+ transition: color 150ms ease-in;
+}
+
+#master-bg {
+ z-index: -10;
+ position: absolute;
+ top: 0;
+ left: 0;
+ bottom: 1px;
+ right: 1px;
+ background: var(--color-bg);
+ border-radius: var(--window-border-radius);
+ border: transparent 0px solid;
+
+ transition: all 150ms ease-in;
+}
+
+#master-bg[data-border="prominent"][data-theme="dark"] {
+ border: var(--color-blue) 1.5px solid;
+}
+
+#master-bg[data-border="prominent"][data-theme="light"] {
+ border: var(--color-blue) 2px solid;
+}
+
+#master-bg[data-border="minimal"][data-theme="light"] {
+ border: #c0c0c0 1.5px solid;
+}
+
+#master-bg[data-border="minimal"][data-theme="dark"] {
+ border: #505050 1.5px solid;
+}
+
+#master-bg[data-border="color-shift"][data-theme="dark"] {
+ border-width: 1.5px;
+ animation: color-shift-border-anim infinite 5000ms;
+}
+
+#master-bg[data-border="color-shift"][data-theme="light"] {
+ border-width: 2px;
+ animation: color-shift-border-anim infinite 5000ms;
+}
+
+@keyframes color-shift-border-anim {
+ 0% {
+ border-color: var(--color-blue);
+ }
+ 25% {
+ border-color: var(--color-green);
+ }
+ 50% {
+ border-color: var(--color-red);
+ }
+ 75% {
+ border-color: var(--color-yellow);
+ }
+ 100% {
+ border-color: var(--color-blue);
+ }
+}
+
+.invert {
+ filter: invert(1);
+ -webkit-filter: invert(1);
+}
+
+/********** TITLE BAR SECTION **********/
+
+#title-bar {
+ -webkit-app-region: drag;
+ -webkit-user-select: none;
+ user-select: none;
+ color: var(--color-fg);
+ padding-bottom: 40px;
+
+ transition: color 150ms ease-in;
+}
+
+#control-region {
+ z-index: 10;
+ -webkit-app-region: no-drag;
+ cursor: default;
+ -webkit-user-select: none;
+ position: absolute;
+ right: 10px;
+ top: 10px;
+ vertical-align: middle;
+}
+
+#nav-region {
+ z-index: 10;
+ -webkit-app-region: no-drag;
+ cursor: default;
+ -webkit-user-select: none;
+ position: absolute;
+ left: 10px;
+ top: 10px;
+ vertical-align: middle;
+}
+
+.quick-msg {
+ display: inline-block;
+ vertical-align: top;
+ margin-top: 8px;
+ margin-left: 10px;
+ color: var(--color-fg-med);
+
+ animation: quick-msg-anim 5000ms ease-out;
+ transition: color 150ms ease-in;
+}
+
+@keyframes quick-msg-anim {
+ 0% {
+ transform: translateX(-10px);
+ opacity: 0;
+ }
+
+ 3% {
+ transform: translateX(5px);
+ }
+
+ 5% {
+ transform: translateX(0);
+ opacity: 1;
+ }
+
+ 23% {
+ opacity: 0.5;
+ }
+
+ 41% {
+ opacity: 1;
+ }
+
+ 59% {
+ opacity: 0.5;
+ }
+
+ 77% {
+ opacity: 1;
+ }
+
+ 95% {
+ transform: translateX(0);
+ opacity: 0.5;
+ }
+
+ 97% {
+ transform: translateX(7px);
+ opacity: 0.5;
+ }
+
+ 100% {
+ transform: translateX(-10px);
+ opacity: 0;
+ }
+}
+
+.app-title {
+ -webkit-box-align: center;
+ text-align: center;
+ width: 100%;
+ vertical-align: -webkit-baseline-middle;
+ color: var(--color-fg);
+ font-size: 18px;
+ font-weight: bold;
+ position: absolute;
+ top: 15px;
+ left: 0;
+ right: 0;
+
+ transition: color 150ms ease-in;
+}
+
+/* Styles for pre-loader */
+
+#loader-area {
+ position: absolute;
+ top: 50px;
+ left: 0;
+ right: 0;
+}
+
+/* SRC: https://www.pexels.com/blog/css-only-loaders/ */
+.loader {
+ height: 4px;
+ width: 100%;
+ position: relative;
+ overflow: hidden;
+ background-color: var(--color-loader-bg);
+
+ transition: background 150ms ease-in;
+}
+
+.loader:before {
+ display: block;
+ position: absolute;
+ content: "";
+ left: -200px;
+ width: 200px;
+ height: 4px;
+ background-color: var(--color-accent);
+ animation: loading 2s linear infinite;
+}
+
+@keyframes loading {
+ from {
+ left: -30%;
+ width: 30%;
+ }
+ 50% {
+ width: 30%;
+ }
+ 70% {
+ width: 70%;
+ }
+ 80% {
+ left: 50%;
+ }
+ 95% {
+ left: 120%;
+ }
+ to {
+ left: 100%;
+ }
+}
+
+.determinate-progress {
+ --determinate-progress-value: 0%;
+
+ height: 4px;
+ width: 100%;
+ position: relative;
+ overflow: hidden;
+ background-color: var(--color-loader-bg);
+
+ transition: background 150ms ease-in;
+}
+
+.determinate-progress:before {
+ display: block;
+ position: absolute;
+ content: "";
+ left: 0 !important;
+ width: var(--determinate-progress-value);
+ height: 4px;
+ background-color: var(--color-accent);
+ animation: none;
+ transition: width 150ms ease-in-out;
+}
+
+.determinate-progress.progress-countdown-ten-secs:before {
+ animation: progress_determinate_anim 10s linear forwards;
+}
+
+@keyframes progress_determinate_anim {
+ 0% {
+ width: 0%;
+ }
+
+ 100% {
+ width: 100%;
+ }
+}
+
+/********** MAIN AREA SECTION **********/
+
+#main-area {
+ position: absolute;
+ top: 30px;
+ right: 20px;
+ left: 20px;
+ bottom: 120px;
+ -webkit-user-select: text;
+}
+
+.assistant-markup-response {
+ color: #ffffff;
+ overflow-x: auto;
+ margin-top: 15px;
+ padding-left: 10px;
+ height: 95%;
+ transform-origin: top left;
+}
+
+.google-search-result {
+ cursor: pointer;
+ background: rgba(255, 255, 255, 0.07);
+ padding: 10px 15px 20px 15px;
+ border-radius: 10px;
+ width: 75%;
+ -webkit-user-select: none;
+
+ transition: background 150ms ease-in;
+}
+
+.google-search-result:hover {
+ background: rgba(255, 255, 255, 0.11);
+}
+
+.google-search-result:active {
+ background: rgba(255, 255, 255, 0.05);
+}
+
+#google-images-carousel {
+ display: flex;
+ overflow-x: auto;
+}
+
+#google-images-carousel::-webkit-scrollbar {
+ display: none;
+}
+
+/* Styles for 'Init' Screen */
+
+#init-loading {
+ transition: all 150ms ease-in;
+}
+
+.fade-in {
+ animation: fade-in-anim 300ms;
+}
+
+@keyframes fade-in-anim {
+ 0% {
+ opacity: 0;
+ }
+ 100% {
+ opacity: 1;
+ }
+}
+
+#assistant-logo-main-parent {
+ animation: fade_in_from_bottom_anim 300ms;
+}
+
+#assistant-logo-main {
+ height: 60px;
+ width: 60px;
+ margin-top: 20px;
+ -webkit-user-select: none;
+ -webkit-user-drag: none;
+}
+
+#init-headline {
+ font-size: 28px;
+ text-align: center;
+ margin-top: 25px;
+ font-weight: bold;
+}
+
+#init-headline-parent {
+ animation: fade_in_from_bottom_anim 1000ms;
+}
+
+/* Styles for 'Welcome' Screen */
+
+#first-time-logo {
+ height: 70px;
+ width: 315px;
+ margin-top: 20px;
+ margin-bottom: 20px;
+ -webkit-user-select: none;
+ -webkit-user-drag: none;
+}
+
+#first-time-desc {
+ font-size: 20px;
+ color: var(--color-fg-med);
+ text-align: center;
+ margin-top: 25px;
+
+ animation: fade_in_from_bottom_anim 1300ms ease-out;
+}
+
+/* Styles for Carousel */
+
+#selection-carousel-tv {
+ width: fit-content;
+ transform: scale(0.8);
+}
+
+#photo-carousel-tv {
+ width: max-content;
+}
+
+#tv_knowledge_panel_source {
+ width: max-content;
+}
+
+.photo_tv_image {
+ background: #ffffff0d url(../res/throbber.svg) no-repeat center;
+ background-size: 20px;
+}
+
+.tv-focusable:has(:not(#photo-carousel-tv)) {
+ margin-left: -13%;
+}
+
+#tv-item-container {
+ overflow-x: scroll;
+ padding: 0;
+}
+
+.carousel_tv_item:first-child {
+ margin-left: 0 !important;
+}
+
+.fade-in-from-bottom {
+ animation: fade_in_from_bottom_anim 300ms;
+}
+
+@keyframes fade_in_from_bottom_anim {
+ from {
+ padding-top: 15px;
+ opacity: 0;
+ }
+
+ to {
+ padding-top: inherit;
+ opacity: 1;
+ }
+}
+
+/********** ERROR/INFO SCREEN SECTION **********/
+
+.error-area {
+ display: grid;
+ grid-template-areas:
+ "err-icon err-title err-title err-title"
+ "err-icon err-details err-details err-details"
+ "err-icon err-details err-details err-details";
+ grid-template-columns: repeat(3, minmax(220px, 1fr));
+ column-gap: 20px;
+ row-gap: 10px;
+ position: relative;
+ top: 100px;
+}
+
+.err-icon {
+ grid-area: err-icon;
+ margin: auto;
+}
+
+.err-title {
+ grid-area: err-title;
+ font-size: 30px;
+ color: var(--color-fg);
+}
+
+.err-details {
+ grid-area: err-details;
+ font-size: 22px;
+ color: var(--color-fg-med);
+}
+
+.err-subdetails {
+ grid-area: err-details;
+ font-size: 20px;
+ color: var(--color-fg-med-low);
+ padding-top: 5px;
+}
+
+.no-auth-grid {
+ display: grid;
+ grid-template-areas: "no-auth-icon no-auth-info no-auth-info no-auth-info";
+ grid-template-columns: minmax(200px, 1fr) 1fr 1fr 1fr;
+ font-size: 20px;
+ padding-top: 20px;
+}
+
+.no-auth-grid-icon {
+ grid-area: no-auth-icon;
+ font-size: 20px;
+ margin: auto;
+}
+
+.no-auth-grid-info {
+ grid-area: no-auth-info;
+}
+
+/********** CONFIG (SETTINGS) SECTION **********/
+
+#settings-btn {
+ position: relative;
+}
+
+#settings-btn::before {
+ content: '';
+ position: absolute;
+ top: 5px;
+ right: 5px;
+ height: 8px;
+ width: 8px;
+ border-radius: 100%;
+ box-shadow: 0 0 6px 1px var(--color-accent);
+ background-color: var(--color-accent);
+ transform: scale(0);
+ transition: transform 150ms ease;
+}
+
+#settings-btn.active-badge::before {
+ transform: scale(1);
+}
+
+#config-screen {
+ overflow-x: auto;
+ margin-top: 25px;
+ padding-left: 10px;
+ height: 94%;
+}
+
+#config-notice-parent {
+ padding-top: 30px;
+ display: none;
+ transition: padding 250ms ease;
+}
+
+.setting-label {
+ margin: 20px 10px 20px 10px;
+ font-weight: bold;
+}
+
+.setting-label hr {
+ border: var(--color-fg-light) 0.5px solid;
+}
+
+.setting-item {
+ display: grid;
+ grid-template-areas: "setting-key setting-value setting-value";
+ grid-template-columns: minmax(200px, 1fr) 1fr 1fr;
+ padding: 10px 30px 10px 40px;
+ column-gap: 15px;
+ font-size: 19px;
+}
+
+.setting-key {
+ grid-area: setting-key;
+ font-size: 20px;
+ margin-top: auto;
+ margin-bottom: auto;
+}
+
+.setting-value {
+ grid-area: setting-value;
+ vertical-align: middle;
+ margin-top: auto;
+ margin-bottom: auto;
+}
+
+.setting-item-button {
+ vertical-align: -webkit-baseline-middle;
+}
+
+.settings-about-section {
+ grid-template-columns: 0.5fr 1fr 1fr !important;
+}
+
+.config-input {
+ border: var(--color-input-border) 2px solid;
+ border-radius: 5px;
+ padding: 5px 12px;
+ margin-right: 5px;
+ font-family: "Roboto Mono", monospace;
+ font-size: 18px;
+ width: 76%;
+ color: rgba(var(--color-fg-rgb));
+
+ transition: all 200ms ease-out;
+}
+
+.config-input:focus {
+ border: rgba(31, 143, 255, var(--opacity-input-border-low)) 2px solid;
+}
+
+#config-item__update-options {
+ margin-top: 30px;
+ padding: 10px 20px;
+ border: 2px solid var(--color-accent);
+ border-radius: 10px;
+}
+
+#config-item__update-options > hr {
+ border-color: var(--color-fg-light);
+ margin: 5px 0;
+}
+
+#config-item__update-options .setting-item {
+ display: grid;
+ grid-template-columns: 0.75fr 1fr;
+ padding: 5px 0;
+}
+
+#config-item__update-options .setting-key {
+ height: 35px;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+}
+
+#config-item__update-options .setting-value {
+ margin-top: unset;
+}
+
+.config-banner {
+ cursor: pointer;
+ background-color: #1e90ff30;
+ margin-top: 10px;
+ margin-right: 30px;
+ font-size: 0.9rem;
+ padding: 30px 30px;
+ border-radius: 10px;
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+
+ max-height: 4em;
+ transition: all 250ms ease;
+ overflow: hidden;
+}
+
+.config-banner h1 {
+ font-size: 1.4em;
+ margin: 0;
+}
+
+.config-banner p {
+ font-size: 1.1em;
+ opacity: 0.6;
+ margin: 0;
+}
+
+.config-banner-main {
+ display: flex;
+ flex-direction: row;
+ justify-content: center;
+ gap: 20px;
+}
+
+.config-banner-actions {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+}
+
+.config-banner-actions img {
+ -webkit-user-drag: none;
+}
+
+.config-item-highlight {
+ animation: config-item-highlight-animation 5000ms forwards ease-out;
+}
+
+@keyframes config-item-highlight-animation {
+ 0% {
+ background-color: #1e90ff30;
+ }
+ 100% {
+ background-color: unset;
+ }
+}
+
+/********** SUGGESTION BAR SECTION **********/
+
+#suggestion-area {
+ position: absolute;
+ bottom: 55px;
+ left: 20px;
+ right: 20px;
+ overflow-x: auto;
+ overflow-y: hidden;
+ height: 36px;
+ padding-top: 12px;
+ padding-bottom: 5px;
+}
+
+.suggestion-parent {
+ width: max-content;
+ animation: fade_in_from_right_anim 300ms;
+}
+
+.suggestion {
+ cursor: pointer;
+ display: inline;
+ margin-right: 5px;
+ background: var(--color-suggestion-bg);
+ padding: 8px 20px;
+ border-radius: 30px;
+ border: 1px solid var(--color-suggestion-border-default);
+ color: var(--color-suggestion-fg);
+
+ transition: all 150ms ease-in;
+}
+
+.suggestion:hover {
+ background: var(--color-fg-light);
+ border: 1px solid var(--color-suggestion-border-hover);
+}
+
+.suggestion:active {
+ background: var(--color-fg-lightest);
+ border: 1px solid var(--color-suggestion-border-active);
+}
+
+.suggestion.disabled {
+ padding: 8px 20px;
+}
+
+@keyframes fade_in_from_right_anim {
+ from {
+ padding-left: 15px;
+ opacity: 0;
+ }
+
+ to {
+ padding-left: inherit;
+ opacity: 1;
+ }
+}
+
+/********** BOTTOM PERSISTENT BAR SECTION **********/
+
+#assistant-persistent-bar {
+ z-index: 0;
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ display: block;
+ border-bottom-left-radius: var(--window-border-radius);
+ border-bottom-right-radius: var(--window-border-radius);
+
+ height: 50px;
+ background: var(--color-fg-lightest);
+}
+
+#assistant-input {
+ position: absolute;
+ top: 10px;
+ left: 20px;
+ width: 90%;
+}
+
+/* Styles for Assistant Mic and Amp-bar */
+
+#assistant-mic-parent {
+ position: absolute;
+ top: 0;
+ right: 0;
+ height: 30px;
+ cursor: pointer;
+ user-select: none;
+ -webkit-user-drag: none;
+
+ transition: all 0.15s ease-in;
+}
+
+#assistant-mic,
+.assistant-mic-disabled {
+ position: absolute;
+ top: 10px;
+ right: 20px;
+ height: 30px;
+ cursor: pointer;
+ user-select: none;
+ -webkit-user-drag: none;
+
+ transition: all 0.15s ease-in;
+}
+
+#assistant-mic:hover {
+ top: 2px;
+ height: 35px;
+}
+
+#assistant-mic:active {
+ top: 10px;
+ height: 30px;
+ opacity: 0.5;
+}
+
+.assistant-mic-disabled {
+ opacity: 0.5 !important;
+}
+
+#amp-bar-group {
+ position: absolute;
+ top: 10px;
+ right: 20px;
+ height: 30px;
+ display: inline-flex;
+ flex-direction: row;
+ align-items: center;
+}
+
+.amp-bar {
+ background-color: #5f00f7;
+ border-radius: 5px;
+ margin-right: 5px;
+ width: 5px;
+ height: 5px;
+ vertical-align: middle;
+
+ transition: all 250ms ease-in;
+}
+
+.fade-scale {
+ animation: fade_scale_anim 300ms;
+}
+
+@keyframes fade_scale_anim {
+ from {
+ transform: scale(0.5);
+ opacity: 0;
+ }
+
+ to {
+ transform: scale(1);
+ opacity: 1;
+ }
+}
+
+/********** MISCELLANEOUS SECTION **********/
+
+.para {
+ margin: 8px;
+}
+
+.container {
+ height: 100%;
+}
+
+.monospace {
+ font-family: "Roboto Mono";
+}
+
+code {
+ font-family: "Roboto Mono";
+ background: rgba(var(--color-fg-rgb), 0.1);
+ padding: 1px 8px;
+ border-radius: 3px;
+}
+
+a,
+.link {
+ color: var(--color-blue);
+ text-decoration: none;
+ cursor: pointer;
+
+ transition: all 150ms ease;
+}
+
+a:hover,
+.link:hover {
+ opacity: 0.5;
+}
+
+a:active,
+.link:active {
+ opacity: 0.7;
+}
+
+blockquote {
+ border-left: 4px var(--color-blue) solid;
+ margin-left: 0;
+ padding-left: 20px;
+}
+
+kbd {
+ font-family: "Roboto Mono";
+ font-size: 16px;
+ background: rgba(var(--color-fg-rgb), 0.2);
+ padding: 1px 6px;
+ border-radius: 5px;
+ border: 1px solid #ffffff50;
+ border-bottom-width: 3px;
+}
+
+ul li {
+ margin-top: 5px;
+}
+
+.codeblock {
+ display: block;
+ width: 100%;
+ padding: 10px 15px;
+ margin-top: 10px;
+}
+
+.markdown-list-checkbox {
+ list-style: none;
+ margin-top: 5px;
+}
+
+.markdown-list-checkbox > input[type="checkbox"] {
+ vertical-align: middle;
+ height: 0.95rem;
+ width: 0.95rem;
+ margin-left: 0;
+ margin-right: 15px;
+}
+
+.disabled {
+ opacity: 0.5 !important;
+ padding: 2px;
+ -webkit-user-select: none;
+ -webkit-user-drag: none;
+
+ transition: none;
+}
+
+.hyperlink {
+ cursor: pointer;
+ user-select: none;
+ text-decoration: underline;
+ transition: all 250ms;
+}
+
+.hyperlink:hover {
+ opacity: 0.5;
+}
+
+.hyperlink:active {
+ opacity: 0.25;
+}
+
+.no-x-scroll {
+ overflow-x: hidden !important;
+}
+
+@keyframes rotate_anim {
+ 0% {
+ transform: rotateZ(0deg);
+ }
+
+ 100% {
+ transform: rotateZ(360deg);
+ }
+}
+
+/********** INPUT **********/
+
+input {
+ border: none;
+ outline: none;
+ color: var(--color-fg);
+ background: none;
+ caret-color: var(--color-accent);
+
+ font-family: "Product Sans";
+ font-size: 20px;
+}
+
+.input-active {
+ border: rgba(31, 143, 255, var(--opacity-input-border-low)) 2px solid;
+}
+
+.input-err {
+ border: rgba(234, 67, 52, var(--opacity-input-border-low)) 2px solid !important;
+ background: #ea43351c;
+ caret-color: #ea4335;
+}
+
+.input-err:focus {
+ border: rgba(234, 67, 52, var(--opacity-input-border-high)) 2px solid !important;
+ background: rgba(234, 67, 53, 0.2);
+}
+
+.shake {
+ animation: shake_anim 300ms;
+}
+
+@keyframes shake_anim {
+ 0% {
+ transform: translateX(-5px);
+ }
+
+ 25% {
+ transform: translateX(5px);
+ }
+
+ 50% {
+ transform: translateX(-2px);
+ }
+
+ 75% {
+ transform: translateX(2px);
+ }
+
+ 100% {
+ transform: translateX(0px);
+ }
+}
+
+/********** BUTTON **********/
+
+button,
+.button {
+ cursor: pointer;
+ display: inline;
+ margin-right: 5px;
+ background: var(--color-btn-bg-default);
+ padding: 8px 20px;
+ border-radius: 30px;
+ color: var(--color-fg);
+ font-family: "Product Sans";
+ font-size: 16px;
+ border: none;
+ outline: none;
+ -webkit-user-select: none;
+
+ transition: all 150ms ease-in;
+}
+
+button:hover,
+.button:hover {
+ background: var(--color-btn-bg-hover);
+}
+
+button:active,
+.button:active {
+ background: var(--color-btn-bg-active);
+}
+
+button.disabled,
+.button.disabled,
+button[disabled],
+.button[disabled] {
+ cursor: default;
+ background: var(--color-btn-bg-default);
+}
+
+/********** ICON BUTTON **********/
+
+.ico-btn {
+ padding: 2px;
+ border-radius: 100px;
+ -webkit-user-select: none;
+ -webkit-user-drag: none;
+ transition: all 0.2s ease-in;
+}
+
+.ico-btn:hover {
+ opacity: 0.75;
+ background: rgba(var(--color-fg-rgb), 0.075);
+}
+
+.ico-btn:active {
+ background: rgba(var(--color-fg-rgb), 0.22);
+}
+
+.ico-btn.disabled {
+ background: none;
+}
+
+*[type="icon"] {
+ height: 30px;
+ width: 30px;
+}
+
+/********** SCROLLBAR **********/
+
+/* Size & Background */
+::-webkit-scrollbar {
+ height: 5px;
+ width: 5px;
+ background: var(--color-scrollbar-bg);
+}
+
+/* Track */
+::-webkit-scrollbar-track {
+ background: rgba(var(--color-fg-rgb), 0.1);
+ border-radius: 5px;
+}
+
+/* Handle */
+::-webkit-scrollbar-thumb {
+ background: rgba(var(--color-fg-rgb), 0.15);
+ border-radius: 5px;
+}
+
+/* Handle on hover */
+::-webkit-scrollbar-thumb:hover {
+ background: rgba(var(--color-fg-rgb), 0.2);
+}
+
+/* Handle on click */
+::-webkit-scrollbar-thumb:active {
+ background: rgba(var(--color-fg-rgb), 0.1);
+}
+
+/* Appearance of scrollbar corner */
+::-webkit-scrollbar-corner {
+ background: transparent;
+}
+
+/********** ASSISTANT RESPONSE SECTION SCROLLBAR **********/
+
+/* Size & Background */
+.assistant-markup-response::-webkit-scrollbar {
+ background: var(--color-scrollbar-response-screen-bg);
+}
+
+/* Track */
+.assistant-markup-response::-webkit-scrollbar-track {
+ background: rgba(
+ var(--color-scrollbar-response-screen-fg-rgb),
+ 0.1
+ ) !important;
+}
+
+/* Handle */
+.assistant-markup-response::-webkit-scrollbar-thumb {
+ background: rgba(
+ var(--color-scrollbar-response-screen-fg-rgb),
+ 0.15
+ ) !important;
+}
+
+/* Handle on hover */
+.assistant-markup-response::-webkit-scrollbar-thumb:hover {
+ background: rgba(
+ var(--color-scrollbar-response-screen-fg-rgb),
+ 0.2
+ ) !important;
+}
+
+/* Handle on click */
+.assistant-markup-response::-webkit-scrollbar-thumb:active {
+ background: rgba(
+ var(--color-scrollbar-response-screen-fg-rgb),
+ 0.1
+ ) !important;
+}
+
+/********** ACCORDION **********/
+
+.accordion {
+ position: relative;
+}
+
+.accordion > input[type="checkbox"] {
+ display: none;
+ box-sizing: border-box;
+}
+
+.accordion-tile {
+ vertical-align: -webkit-baseline-middle;
+ margin-right: 15px;
+ user-select: none;
+ cursor: pointer;
+ width: 100%;
+}
+
+.accordion .accordion-content {
+ max-height: 0;
+ overflow: hidden;
+ padding: 0 30px;
+
+ transition: all 300ms ease-in-out;
+}
+
+.accordion input:checked ~ .accordion-content {
+ max-height: 1500px;
+}
+
+.accordion-chevron {
+ position: absolute;
+ right: 24px;
+ top: 18px;
+ transform: rotateZ(0);
+ transform-origin: 50% 40%;
+
+ transition: all 300ms ease;
+}
+
+.accordion input:checked ~ .accordion-tile .accordion-chevron {
+ transform: rotateZ(180deg);
+}
+
+/* Changelog Accordion */
+
+#config-item__whats-new {
+ --changelog-accordion-content-height: 1500px;
+}
+
+#config-item__whats-new input:checked ~ .accordion-content {
+ max-height: var(--changelog-accordion-content-height);
+}
+
+/********** SLIDER-SWITCH **********/
+/* SRC: https://www.w3schools.com/howto/howto_css_switch.asp */
+
+/* The slider */
+.switch {
+ position: relative;
+}
+
+.switch input {
+ display: none;
+}
+
+.slider {
+ position: absolute;
+ cursor: pointer;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ height: 35px;
+ width: 60px;
+ background-color: var(--switch-bg);
+ -webkit-transition: 0.4s;
+ transition: 0.4s;
+}
+
+.slider:before {
+ position: absolute;
+ content: "";
+ height: 26px;
+ width: 26px;
+ left: 4px;
+ bottom: 4px;
+ background-color: #ffffff;
+ -webkit-transition: 0.4s;
+ transition: 0.4s;
+}
+
+input:checked + .slider {
+ background-color: var(--color-accent);
+}
+
+input:focus + .slider {
+ box-shadow: 0 0 1px var(--color-accent);
+}
+
+input:checked + .slider:before {
+ -webkit-transform: translateX(26px);
+ -ms-transform: translateX(26px);
+ transform: translateX(26px);
+}
+
+/* Rounded sliders */
+.slider.round {
+ border-radius: 34px;
+}
+
+.slider.round:before {
+ border-radius: 50%;
+}
+
+.slider.disabled {
+ cursor: default;
+ opacity: 0.3 !important;
+ padding: unset;
+}
+
+/********** DROP-DOWN **********/
+
+select {
+ color: var(--color-fg);
+ background: var(--color-select-bg);
+ outline: none;
+ border: var(--color-select-border) 1px solid;
+ font-family: inherit;
+ font-size: 17px;
+ border-radius: 5px;
+ padding: 5px 2px;
+ height: 34px;
+
+ transition: all 250ms ease-in;
+}
+
+select:hover {
+ background: var(--color-select-bg-hover);
+}
+
+option {
+ background: var(--color-option-bg);
+}
+
+.selector-active {
+ border: var(--color-blue) 1px solid;
+}
diff --git a/package-lock.json b/package-lock.json
index aa5fcc4a..f187d459 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "g-assist",
- "version": "1.0.0",
+ "version": "1.1.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "g-assist",
- "version": "1.0.0",
+ "version": "1.1.1",
"hasInstallScript": true,
"license": "Apache-2.0",
"dependencies": {
@@ -16,6 +16,7 @@
"electron-updater": "^5.3.0",
"express": "^4.18.2",
"google-assistant": "github:Melvin-Abraham/google-assistant#g-assist",
+ "google-it": "^1.6.4",
"grpc": "1.24.7",
"isomorphic-dompurify": "^0.23.0",
"marked": "^4.1.1",
@@ -616,7 +617,6 @@
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
"dependencies": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
@@ -649,7 +649,6 @@
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
"dependencies": {
"color-convert": "^2.0.1"
},
@@ -771,6 +770,14 @@
"node": ">=6.0"
}
},
+ "node_modules/array-back": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz",
+ "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/array-flatten": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
@@ -871,12 +878,18 @@
"optjs": "~3.2.2"
}
},
+ "node_modules/asn1": {
+ "version": "0.2.6",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
+ "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
+ "dependencies": {
+ "safer-buffer": "~2.1.0"
+ }
+ },
"node_modules/assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
- "dev": true,
- "optional": true,
"engines": {
"node": ">=0.8"
}
@@ -927,6 +940,19 @@
"node": ">= 4.0.0"
}
},
+ "node_modules/aws-sign2": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+ "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/aws4": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
+ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="
+ },
"node_modules/axe-core": {
"version": "4.4.3",
"resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.3.tgz",
@@ -968,6 +994,14 @@
}
]
},
+ "node_modules/bcrypt-pbkdf": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+ "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
+ "dependencies": {
+ "tweetnacl": "^0.14.3"
+ }
+ },
"node_modules/bignumber.js": {
"version": "9.0.2",
"resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz",
@@ -1038,6 +1072,11 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
},
+ "node_modules/boolbase": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="
+ },
"node_modules/boolean": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz",
@@ -1282,6 +1321,11 @@
"node": ">=0.10.0"
}
},
+ "node_modules/caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw=="
+ },
"node_modules/chalk": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
@@ -1298,6 +1342,42 @@
"url": "https://github.com/chalk/chalk?sponsor=1"
}
},
+ "node_modules/cheerio": {
+ "version": "1.0.0-rc.12",
+ "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz",
+ "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==",
+ "dependencies": {
+ "cheerio-select": "^2.1.0",
+ "dom-serializer": "^2.0.0",
+ "domhandler": "^5.0.3",
+ "domutils": "^3.0.1",
+ "htmlparser2": "^8.0.1",
+ "parse5": "^7.0.0",
+ "parse5-htmlparser2-tree-adapter": "^7.0.0"
+ },
+ "engines": {
+ "node": ">= 6"
+ },
+ "funding": {
+ "url": "https://github.com/cheeriojs/cheerio?sponsor=1"
+ }
+ },
+ "node_modules/cheerio-select": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz",
+ "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==",
+ "dependencies": {
+ "boolbase": "^1.0.0",
+ "css-select": "^5.1.0",
+ "css-what": "^6.1.0",
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.3",
+ "domutils": "^3.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/fb55"
+ }
+ },
"node_modules/chownr": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
@@ -1319,6 +1399,28 @@
"integrity": "sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw==",
"dev": true
},
+ "node_modules/cli-cursor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
+ "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
+ "dependencies": {
+ "restore-cursor": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cli-spinners": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz",
+ "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==",
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/cli-truncate": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz",
@@ -1394,6 +1496,14 @@
"wrap-ansi": "^2.0.0"
}
},
+ "node_modules/clone": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
"node_modules/clone-response": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz",
@@ -1418,7 +1528,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
"dependencies": {
"color-name": "~1.1.4"
},
@@ -1429,8 +1538,7 @@
"node_modules/color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"node_modules/colors": {
"version": "1.0.3",
@@ -1460,6 +1568,20 @@
"node": ">= 0.8"
}
},
+ "node_modules/command-line-args": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz",
+ "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==",
+ "dependencies": {
+ "array-back": "^3.1.0",
+ "find-replace": "^3.0.0",
+ "lodash.camelcase": "^4.3.0",
+ "typical": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
"node_modules/commander": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
@@ -1593,6 +1715,32 @@
"node": ">= 8"
}
},
+ "node_modules/css-select": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz",
+ "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==",
+ "dependencies": {
+ "boolbase": "^1.0.0",
+ "css-what": "^6.1.0",
+ "domhandler": "^5.0.2",
+ "domutils": "^3.0.1",
+ "nth-check": "^2.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/fb55"
+ }
+ },
+ "node_modules/css-what": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
+ "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==",
+ "engines": {
+ "node": ">= 6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/fb55"
+ }
+ },
"node_modules/cssom": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz",
@@ -1621,6 +1769,17 @@
"dev": true,
"peer": true
},
+ "node_modules/dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
+ "dependencies": {
+ "assert-plus": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
"node_modules/data-urls": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz",
@@ -1688,6 +1847,17 @@
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
"integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ="
},
+ "node_modules/defaults": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz",
+ "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==",
+ "dependencies": {
+ "clone": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/defer-to-connect": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
@@ -1895,6 +2065,30 @@
"node": ">=6.0.0"
}
},
+ "node_modules/dom-serializer": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
+ "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
+ "dependencies": {
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.2",
+ "entities": "^4.2.0"
+ },
+ "funding": {
+ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
+ }
+ },
+ "node_modules/domelementtype": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
+ "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ]
+ },
"node_modules/domexception": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz",
@@ -1906,11 +2100,38 @@
"node": ">=12"
}
},
+ "node_modules/domhandler": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
+ "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
+ "dependencies": {
+ "domelementtype": "^2.3.0"
+ },
+ "engines": {
+ "node": ">= 4"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
+ }
+ },
"node_modules/dompurify": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.0.tgz",
"integrity": "sha512-Be9tbQMZds4a3C6xTmz68NlMfeONA//4dOavl/1rNw50E+/QO0KVpbcU0PcaW0nsQxurXls9ZocqFxk8R2mWEA=="
},
+ "node_modules/domutils": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz",
+ "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==",
+ "dependencies": {
+ "dom-serializer": "^2.0.0",
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domutils?sponsor=1"
+ }
+ },
"node_modules/dotenv": {
"version": "9.0.2",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-9.0.2.tgz",
@@ -1932,6 +2153,15 @@
"integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==",
"dev": true
},
+ "node_modules/ecc-jsbn": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+ "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
+ "dependencies": {
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
"node_modules/ecdsa-sig-formatter": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
@@ -3110,14 +3340,12 @@
"node_modules/fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
"node_modules/fast-json-stable-stringify": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
},
"node_modules/fast-levenshtein": {
"version": "2.0.6",
@@ -3219,6 +3447,17 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
},
+ "node_modules/find-replace": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz",
+ "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==",
+ "dependencies": {
+ "array-back": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
"node_modules/find-up": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
@@ -3254,6 +3493,14 @@
"integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
"dev": true
},
+ "node_modules/forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==",
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/form-data": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
@@ -3441,6 +3688,14 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
+ "dependencies": {
+ "assert-plus": "^1.0.0"
+ }
+ },
"node_modules/glob": {
"version": "7.1.7",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
@@ -3569,6 +3824,29 @@
"node": ">=10"
}
},
+ "node_modules/google-it": {
+ "version": "1.6.4",
+ "resolved": "https://registry.npmjs.org/google-it/-/google-it-1.6.4.tgz",
+ "integrity": "sha512-iM/31cWQ0wLcBngHSR3l6OwtkqYP93kiQWF74YqyHte/sJ5BFQ60IzCckuetu0LH4//mxYqFlH30nhNuBX/udw==",
+ "dependencies": {
+ "cheerio": "^1.0.0-rc.11",
+ "colors": "^1.4.0",
+ "command-line-args": "^5.0.0",
+ "ora": "^4.0.3",
+ "request": "^2.88.0"
+ },
+ "bin": {
+ "google-it": "lib/app.js"
+ }
+ },
+ "node_modules/google-it/node_modules/colors": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
+ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
+ "engines": {
+ "node": ">=0.1.90"
+ }
+ },
"node_modules/google-p12-pem": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.1.3.tgz",
@@ -3682,6 +3960,27 @@
"node": ">=10"
}
},
+ "node_modules/har-schema": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+ "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/har-validator": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
+ "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
+ "deprecated": "this library is no longer supported",
+ "dependencies": {
+ "ajv": "^6.12.3",
+ "har-schema": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/has": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
@@ -3706,7 +4005,6 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
"engines": {
"node": ">=8"
}
@@ -3777,6 +4075,24 @@
"node": ">=12"
}
},
+ "node_modules/htmlparser2": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz",
+ "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==",
+ "funding": [
+ "https://github.com/fb55/htmlparser2?sponsor=1",
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ],
+ "dependencies": {
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.2",
+ "domutils": "^3.0.1",
+ "entities": "^4.3.0"
+ }
+ },
"node_modules/http-cache-semantics": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
@@ -3811,6 +4127,20 @@
"node": ">= 6"
}
},
+ "node_modules/http-signature": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+ "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==",
+ "dependencies": {
+ "assert-plus": "^1.0.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
+ },
+ "engines": {
+ "node": ">=0.8",
+ "npm": ">=1.3.7"
+ }
+ },
"node_modules/https-proxy-agent": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
@@ -4085,6 +4415,14 @@
"node": ">=0.10.0"
}
},
+ "node_modules/is-interactive": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
+ "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/is-negative-zero": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
@@ -4195,6 +4533,11 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA=="
+ },
"node_modules/is-weakref": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
@@ -4251,6 +4594,11 @@
"jsdom": "^20.0.1"
}
},
+ "node_modules/isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g=="
+ },
"node_modules/jake": {
"version": "10.8.5",
"resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz",
@@ -4293,6 +4641,11 @@
"js-yaml": "bin/js-yaml.js"
}
},
+ "node_modules/jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg=="
+ },
"node_modules/jsdom": {
"version": "20.0.1",
"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.1.tgz",
@@ -4351,11 +4704,15 @@
"integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==",
"dev": true
},
+ "node_modules/json-schema": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
+ "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="
+ },
"node_modules/json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
},
"node_modules/json-stable-stringify-without-jsonify": {
"version": "1.0.1",
@@ -4366,9 +4723,7 @@
"node_modules/json-stringify-safe": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
- "dev": true,
- "optional": true
+ "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA=="
},
"node_modules/json5": {
"version": "2.2.1",
@@ -4391,6 +4746,41 @@
"graceful-fs": "^4.1.6"
}
},
+ "node_modules/jsprim": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
+ "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
+ "dependencies": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.4.0",
+ "verror": "1.10.0"
+ },
+ "engines": {
+ "node": ">=0.6.0"
+ }
+ },
+ "node_modules/jsprim/node_modules/extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==",
+ "engines": [
+ "node >=0.6.0"
+ ]
+ },
+ "node_modules/jsprim/node_modules/verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
+ "engines": [
+ "node >=0.6.0"
+ ],
+ "dependencies": {
+ "assert-plus": "^1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "^1.2.0"
+ }
+ },
"node_modules/jsx-ast-utils": {
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz",
@@ -4526,6 +4916,81 @@
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
"dev": true
},
+ "node_modules/log-symbols": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
+ "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
+ "dependencies": {
+ "chalk": "^2.4.2"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/log-symbols/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/log-symbols/node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/log-symbols/node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/log-symbols/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
+ },
+ "node_modules/log-symbols/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/log-symbols/node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/log-symbols/node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
"node_modules/long": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz",
@@ -4643,6 +5108,14 @@
"node": ">= 0.6"
}
},
+ "node_modules/mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/mimic-response": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
@@ -4712,6 +5185,11 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
+ "node_modules/mute-stream": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
+ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA=="
+ },
"node_modules/nan": {
"version": "2.14.2",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz",
@@ -4991,6 +5469,17 @@
"set-blocking": "~2.0.0"
}
},
+ "node_modules/nth-check": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
+ "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
+ "dependencies": {
+ "boolbase": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/nth-check?sponsor=1"
+ }
+ },
"node_modules/number-is-nan": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
@@ -5004,6 +5493,14 @@
"resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz",
"integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw=="
},
+ "node_modules/oauth-sign": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -5129,6 +5626,20 @@
"wrappy": "1"
}
},
+ "node_modules/onetime": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+ "dependencies": {
+ "mimic-fn": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/open": {
"version": "8.4.0",
"resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz",
@@ -5167,6 +5678,58 @@
"resolved": "https://registry.npmjs.org/optjs/-/optjs-3.2.2.tgz",
"integrity": "sha1-aabOicRCpEQDFBrS+bNwvVu29O4="
},
+ "node_modules/ora": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz",
+ "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==",
+ "dependencies": {
+ "chalk": "^3.0.0",
+ "cli-cursor": "^3.1.0",
+ "cli-spinners": "^2.2.0",
+ "is-interactive": "^1.0.0",
+ "log-symbols": "^3.0.0",
+ "mute-stream": "0.0.8",
+ "strip-ansi": "^6.0.0",
+ "wcwidth": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/ora/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ora/node_modules/chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ora/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/os-homedir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
@@ -5265,6 +5828,18 @@
"url": "https://github.com/inikulin/parse5?sponsor=1"
}
},
+ "node_modules/parse5-htmlparser2-tree-adapter": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz",
+ "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==",
+ "dependencies": {
+ "domhandler": "^5.0.2",
+ "parse5": "^7.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/inikulin/parse5?sponsor=1"
+ }
+ },
"node_modules/parseurl": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
@@ -5316,6 +5891,11 @@
"integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
"dev": true
},
+ "node_modules/performance-now": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+ "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="
+ },
"node_modules/pify": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
@@ -5647,6 +6227,70 @@
"url": "https://github.com/sponsors/mysticatea"
}
},
+ "node_modules/request": {
+ "version": "2.88.2",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
+ "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
+ "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
+ "dependencies": {
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.8.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.2",
+ "har-validator": "~5.1.3",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.19",
+ "oauth-sign": "~0.9.0",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.2",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.5.0",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.3.2"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/request/node_modules/form-data": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 0.12"
+ }
+ },
+ "node_modules/request/node_modules/qs": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
+ "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/request/node_modules/tough-cookie": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+ "dependencies": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
"node_modules/require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -5696,6 +6340,18 @@
"lowercase-keys": "^1.0.0"
}
},
+ "node_modules/restore-cursor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
+ "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
+ "dependencies": {
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/reusify": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
@@ -6061,13 +6717,37 @@
"source-map": "^0.6.0"
}
},
- "node_modules/sprintf-js": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
- "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==",
- "dev": true,
- "optional": true
- },
+ "node_modules/sprintf-js": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
+ "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/sshpk": {
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
+ "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
+ "dependencies": {
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
+ "tweetnacl": "~0.14.0"
+ },
+ "bin": {
+ "sshpk-conv": "bin/sshpk-conv",
+ "sshpk-sign": "bin/sshpk-sign",
+ "sshpk-verify": "bin/sshpk-verify"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/stat-mode": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz",
@@ -6207,7 +6887,6 @@
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
"dependencies": {
"has-flag": "^4.0.0"
},
@@ -6420,6 +7099,22 @@
"node": ">=0.6.11 <=0.7.0 || >=0.7.3"
}
},
+ "node_modules/tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
+ "dependencies": {
+ "safe-buffer": "^5.0.1"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA=="
+ },
"node_modules/type-check": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
@@ -6470,6 +7165,14 @@
"integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==",
"dev": true
},
+ "node_modules/typical": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz",
+ "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/unbox-primitive": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
@@ -6506,7 +7209,6 @@
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dev": true,
"dependencies": {
"punycode": "^2.1.0"
}
@@ -6551,6 +7253,15 @@
"node": ">= 0.4.0"
}
},
+ "node_modules/uuid": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+ "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
+ "bin": {
+ "uuid": "bin/uuid"
+ }
+ },
"node_modules/vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
@@ -6585,6 +7296,14 @@
"node": ">=12"
}
},
+ "node_modules/wcwidth": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
+ "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
+ "dependencies": {
+ "defaults": "^1.0.3"
+ }
+ },
"node_modules/webidl-conversions": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
@@ -7279,7 +7998,6 @@
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
"requires": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
@@ -7303,7 +8021,6 @@
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
"requires": {
"color-convert": "^2.0.1"
}
@@ -7407,6 +8124,11 @@
"@babel/runtime-corejs3": "^7.10.2"
}
},
+ "array-back": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz",
+ "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q=="
+ },
"array-flatten": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
@@ -7477,12 +8199,18 @@
"optjs": "~3.2.2"
}
},
+ "asn1": {
+ "version": "0.2.6",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
+ "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
+ "requires": {
+ "safer-buffer": "~2.1.0"
+ }
+ },
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
- "dev": true,
- "optional": true
+ "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw=="
},
"ast-types-flow": {
"version": "0.0.7",
@@ -7521,6 +8249,16 @@
"integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
"dev": true
},
+ "aws-sign2": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+ "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA=="
+ },
+ "aws4": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
+ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="
+ },
"axe-core": {
"version": "4.4.3",
"resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.3.tgz",
@@ -7545,6 +8283,14 @@
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
},
+ "bcrypt-pbkdf": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+ "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
+ "requires": {
+ "tweetnacl": "^0.14.3"
+ }
+ },
"bignumber.js": {
"version": "9.0.2",
"resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.2.tgz",
@@ -7607,6 +8353,11 @@
}
}
},
+ "boolbase": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="
+ },
"boolean": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz",
@@ -7803,6 +8554,11 @@
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
"integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8="
},
+ "caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw=="
+ },
"chalk": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
@@ -7813,6 +8569,33 @@
"supports-color": "^7.1.0"
}
},
+ "cheerio": {
+ "version": "1.0.0-rc.12",
+ "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz",
+ "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==",
+ "requires": {
+ "cheerio-select": "^2.1.0",
+ "dom-serializer": "^2.0.0",
+ "domhandler": "^5.0.3",
+ "domutils": "^3.0.1",
+ "htmlparser2": "^8.0.1",
+ "parse5": "^7.0.0",
+ "parse5-htmlparser2-tree-adapter": "^7.0.0"
+ }
+ },
+ "cheerio-select": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz",
+ "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==",
+ "requires": {
+ "boolbase": "^1.0.0",
+ "css-select": "^5.1.0",
+ "css-what": "^6.1.0",
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.3",
+ "domutils": "^3.0.1"
+ }
+ },
"chownr": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
@@ -7831,6 +8614,19 @@
"integrity": "sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw==",
"dev": true
},
+ "cli-cursor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
+ "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
+ "requires": {
+ "restore-cursor": "^3.1.0"
+ }
+ },
+ "cli-spinners": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz",
+ "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw=="
+ },
"cli-truncate": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz",
@@ -7890,6 +8686,11 @@
"wrap-ansi": "^2.0.0"
}
},
+ "clone": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg=="
+ },
"clone-response": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz",
@@ -7908,7 +8709,6 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
"requires": {
"color-name": "~1.1.4"
}
@@ -7916,8 +8716,7 @@
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"colors": {
"version": "1.0.3",
@@ -7938,6 +8737,17 @@
"delayed-stream": "~1.0.0"
}
},
+ "command-line-args": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz",
+ "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==",
+ "requires": {
+ "array-back": "^3.1.0",
+ "find-replace": "^3.0.0",
+ "lodash.camelcase": "^4.3.0",
+ "typical": "^4.0.0"
+ }
+ },
"commander": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
@@ -8045,6 +8855,23 @@
"which": "^2.0.1"
}
},
+ "css-select": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz",
+ "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==",
+ "requires": {
+ "boolbase": "^1.0.0",
+ "css-what": "^6.1.0",
+ "domhandler": "^5.0.2",
+ "domutils": "^3.0.1",
+ "nth-check": "^2.0.1"
+ }
+ },
+ "css-what": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
+ "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw=="
+ },
"cssom": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz",
@@ -8072,6 +8899,14 @@
"dev": true,
"peer": true
},
+ "dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
"data-urls": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz",
@@ -8119,6 +8954,14 @@
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
"integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ="
},
+ "defaults": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz",
+ "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==",
+ "requires": {
+ "clone": "^1.0.2"
+ }
+ },
"defer-to-connect": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
@@ -8274,6 +9117,21 @@
"esutils": "^2.0.2"
}
},
+ "dom-serializer": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
+ "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
+ "requires": {
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.2",
+ "entities": "^4.2.0"
+ }
+ },
+ "domelementtype": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
+ "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="
+ },
"domexception": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz",
@@ -8282,11 +9140,29 @@
"webidl-conversions": "^7.0.0"
}
},
+ "domhandler": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
+ "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
+ "requires": {
+ "domelementtype": "^2.3.0"
+ }
+ },
"dompurify": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.4.0.tgz",
"integrity": "sha512-Be9tbQMZds4a3C6xTmz68NlMfeONA//4dOavl/1rNw50E+/QO0KVpbcU0PcaW0nsQxurXls9ZocqFxk8R2mWEA=="
},
+ "domutils": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz",
+ "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==",
+ "requires": {
+ "dom-serializer": "^2.0.0",
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.1"
+ }
+ },
"dotenv": {
"version": "9.0.2",
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-9.0.2.tgz",
@@ -8305,6 +9181,15 @@
"integrity": "sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==",
"dev": true
},
+ "ecc-jsbn": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+ "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
+ "requires": {
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
"ecdsa-sig-formatter": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
@@ -9237,14 +10122,12 @@
"fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
"fast-json-stable-stringify": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
},
"fast-levenshtein": {
"version": "2.0.6",
@@ -9341,6 +10224,14 @@
}
}
},
+ "find-replace": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz",
+ "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==",
+ "requires": {
+ "array-back": "^3.0.1"
+ }
+ },
"find-up": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
@@ -9367,6 +10258,11 @@
"integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
"dev": true
},
+ "forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw=="
+ },
"form-data": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
@@ -9506,6 +10402,14 @@
"get-intrinsic": "^1.1.1"
}
},
+ "getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
"glob": {
"version": "7.1.7",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
@@ -9577,7 +10481,7 @@
},
"google-assistant": {
"version": "git+ssh://git@github.com/Melvin-Abraham/google-assistant.git#17fbc78a7f02ac2231a7dab137047132327666e0",
- "from": "google-assistant@https://github.com/Melvin-Abraham/google-assistant.git#g-assist",
+ "from": "google-assistant@github:Melvin-Abraham/google-assistant#g-assist",
"requires": {
"google-auth-library": "^7.0.4",
"grpc": "^1.24.6",
@@ -9603,6 +10507,25 @@
"lru-cache": "^6.0.0"
}
},
+ "google-it": {
+ "version": "1.6.4",
+ "resolved": "https://registry.npmjs.org/google-it/-/google-it-1.6.4.tgz",
+ "integrity": "sha512-iM/31cWQ0wLcBngHSR3l6OwtkqYP93kiQWF74YqyHte/sJ5BFQ60IzCckuetu0LH4//mxYqFlH30nhNuBX/udw==",
+ "requires": {
+ "cheerio": "^1.0.0-rc.11",
+ "colors": "^1.4.0",
+ "command-line-args": "^5.0.0",
+ "ora": "^4.0.3",
+ "request": "^2.88.0"
+ },
+ "dependencies": {
+ "colors": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
+ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA=="
+ }
+ }
+ },
"google-p12-pem": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.1.3.tgz",
@@ -9694,6 +10617,20 @@
"jws": "^4.0.0"
}
},
+ "har-schema": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+ "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q=="
+ },
+ "har-validator": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
+ "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
+ "requires": {
+ "ajv": "^6.12.3",
+ "har-schema": "^2.0.0"
+ }
+ },
"has": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
@@ -9711,8 +10648,7 @@
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
},
"has-property-descriptors": {
"version": "1.0.0",
@@ -9759,6 +10695,17 @@
"whatwg-encoding": "^2.0.0"
}
},
+ "htmlparser2": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz",
+ "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==",
+ "requires": {
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.2",
+ "domutils": "^3.0.1",
+ "entities": "^4.3.0"
+ }
+ },
"http-cache-semantics": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
@@ -9787,6 +10734,16 @@
"debug": "4"
}
},
+ "http-signature": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+ "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==",
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
+ }
+ },
"https-proxy-agent": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
@@ -9969,6 +10926,11 @@
"is-extglob": "^2.1.1"
}
},
+ "is-interactive": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
+ "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w=="
+ },
"is-negative-zero": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
@@ -10037,6 +10999,11 @@
"has-symbols": "^1.0.2"
}
},
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA=="
+ },
"is-weakref": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
@@ -10081,6 +11048,11 @@
"jsdom": "^20.0.1"
}
},
+ "isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g=="
+ },
"jake": {
"version": "10.8.5",
"resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz",
@@ -10114,6 +11086,11 @@
"argparse": "^2.0.1"
}
},
+ "jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg=="
+ },
"jsdom": {
"version": "20.0.1",
"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.1.tgz",
@@ -10161,11 +11138,15 @@
"integrity": "sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==",
"dev": true
},
+ "json-schema": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
+ "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="
+ },
"json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
},
"json-stable-stringify-without-jsonify": {
"version": "1.0.1",
@@ -10176,9 +11157,7 @@
"json-stringify-safe": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
- "dev": true,
- "optional": true
+ "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA=="
},
"json5": {
"version": "2.2.1",
@@ -10195,6 +11174,34 @@
"graceful-fs": "^4.1.6"
}
},
+ "jsprim": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz",
+ "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.4.0",
+ "verror": "1.10.0"
+ },
+ "dependencies": {
+ "extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g=="
+ },
+ "verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "^1.2.0"
+ }
+ }
+ }
+ },
"jsx-ast-utils": {
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz",
@@ -10315,6 +11322,65 @@
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
"dev": true
},
+ "log-symbols": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
+ "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
+ "requires": {
+ "chalk": "^2.4.2"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ }
+ }
+ },
"long": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz",
@@ -10393,6 +11459,11 @@
"mime-db": "1.52.0"
}
},
+ "mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
+ },
"mimic-response": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
@@ -10441,6 +11512,11 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
+ "mute-stream": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
+ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA=="
+ },
"nan": {
"version": "2.14.2",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz",
@@ -10675,6 +11751,14 @@
"set-blocking": "~2.0.0"
}
},
+ "nth-check": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
+ "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
+ "requires": {
+ "boolbase": "^1.0.0"
+ }
+ },
"number-is-nan": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
@@ -10685,6 +11769,11 @@
"resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz",
"integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw=="
},
+ "oauth-sign": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
+ },
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -10774,6 +11863,14 @@
"wrappy": "1"
}
},
+ "onetime": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+ "requires": {
+ "mimic-fn": "^2.1.0"
+ }
+ },
"open": {
"version": "8.4.0",
"resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz",
@@ -10803,6 +11900,45 @@
"resolved": "https://registry.npmjs.org/optjs/-/optjs-3.2.2.tgz",
"integrity": "sha1-aabOicRCpEQDFBrS+bNwvVu29O4="
},
+ "ora": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-4.1.1.tgz",
+ "integrity": "sha512-sjYP8QyVWBpBZWD6Vr1M/KwknSw6kJOz41tvGMlwWeClHBtYKTbHMki1PsLZnxKpXMPbTKv9b3pjQu3REib96A==",
+ "requires": {
+ "chalk": "^3.0.0",
+ "cli-cursor": "^3.1.0",
+ "cli-spinners": "^2.2.0",
+ "is-interactive": "^1.0.0",
+ "log-symbols": "^3.0.0",
+ "mute-stream": "0.0.8",
+ "strip-ansi": "^6.0.0",
+ "wcwidth": "^1.0.1"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ }
+ }
+ },
"os-homedir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
@@ -10871,6 +12007,15 @@
"entities": "^4.4.0"
}
},
+ "parse5-htmlparser2-tree-adapter": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz",
+ "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==",
+ "requires": {
+ "domhandler": "^5.0.2",
+ "parse5": "^7.0.0"
+ }
+ },
"parseurl": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
@@ -10910,6 +12055,11 @@
"integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
"dev": true
},
+ "performance-now": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+ "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="
+ },
"pify": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
@@ -11164,6 +12314,59 @@
"integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
"dev": true
},
+ "request": {
+ "version": "2.88.2",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
+ "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
+ "requires": {
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.8.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.2",
+ "har-validator": "~5.1.3",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.19",
+ "oauth-sign": "~0.9.0",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.2",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.5.0",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.3.2"
+ },
+ "dependencies": {
+ "form-data": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
+ }
+ },
+ "qs": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz",
+ "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA=="
+ },
+ "tough-cookie": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+ "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+ "requires": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ }
+ }
+ }
+ },
"require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -11201,6 +12404,15 @@
"lowercase-keys": "^1.0.0"
}
},
+ "restore-cursor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
+ "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
+ "requires": {
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2"
+ }
+ },
"reusify": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
@@ -11481,6 +12693,22 @@
"dev": true,
"optional": true
},
+ "sshpk": {
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz",
+ "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
+ "requires": {
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
+ "tweetnacl": "~0.14.0"
+ }
+ },
"stat-mode": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz",
@@ -11589,7 +12817,6 @@
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
- "dev": true,
"requires": {
"has-flag": "^4.0.0"
}
@@ -11764,6 +12991,19 @@
"dev": true,
"optional": true
},
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
+ "requires": {
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA=="
+ },
"type-check": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
@@ -11802,6 +13042,11 @@
"integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==",
"dev": true
},
+ "typical": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz",
+ "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw=="
+ },
"unbox-primitive": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
@@ -11829,7 +13074,6 @@
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "dev": true,
"requires": {
"punycode": "^2.1.0"
}
@@ -11868,6 +13112,11 @@
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
"integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA=="
},
+ "uuid": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
+ },
"vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
@@ -11893,6 +13142,14 @@
"xml-name-validator": "^4.0.0"
}
},
+ "wcwidth": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
+ "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
+ "requires": {
+ "defaults": "^1.0.3"
+ }
+ },
"webidl-conversions": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
diff --git a/package.json b/package.json
index 2080de07..2f938449 100644
--- a/package.json
+++ b/package.json
@@ -131,6 +131,7 @@
"electron-updater": "^5.3.0",
"express": "^4.18.2",
"google-assistant": "github:Melvin-Abraham/google-assistant#g-assist",
+ "google-it": "^1.6.4",
"grpc": "1.24.7",
"isomorphic-dompurify": "^0.23.0",
"marked": "^4.1.1",