diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index b4ce052..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,197 +0,0 @@
-# Created by https://www.toptal.com/developers/gitignore/api/windows,macos,linux,node
-# Edit at https://www.toptal.com/developers/gitignore?templates=windows,macos,linux,node
-
-### Linux ###
-*~
-
-# temporary files which can be created if a process still has a handle open of a deleted file
-.fuse_hidden*
-
-# KDE directory preferences
-.directory
-
-# Linux trash folder which might appear on any partition or disk
-.Trash-*
-
-# .nfs files are created when an open file is removed but is still being accessed
-.nfs*
-
-### macOS ###
-# General
-.DS_Store
-.AppleDouble
-.LSOverride
-
-# Icon must end with two \r
-Icon
-
-# Thumbnails
-._*
-
-# Files that might appear in the root of a volume
-.DocumentRevisions-V100
-.fseventsd
-.Spotlight-V100
-.TemporaryItems
-.Trashes
-.VolumeIcon.icns
-.com.apple.timemachine.donotpresent
-
-# Directories potentially created on remote AFP share
-.AppleDB
-.AppleDesktop
-Network Trash Folder
-Temporary Items
-.apdisk
-
-### Node ###
-# Logs
-logs
-*.log
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-lerna-debug.log*
-.pnpm-debug.log*
-
-# Diagnostic reports (https://nodejs.org/api/report.html)
-report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
-
-# Runtime data
-pids
-*.pid
-*.seed
-*.pid.lock
-
-# Directory for instrumented libs generated by jscoverage/JSCover
-lib-cov
-
-# Coverage directory used by tools like istanbul
-coverage
-*.lcov
-
-# nyc test coverage
-.nyc_output
-
-# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
-.grunt
-
-# Bower dependency directory (https://bower.io/)
-bower_components
-
-# node-waf configuration
-.lock-wscript
-
-# Compiled binary addons (https://nodejs.org/api/addons.html)
-build/Release
-
-# Dependency directories
-node_modules/
-jspm_packages/
-
-# Snowpack dependency directory (https://snowpack.dev/)
-web_modules/
-
-# TypeScript cache
-*.tsbuildinfo
-
-# Optional npm cache directory
-.npm
-
-# Optional eslint cache
-.eslintcache
-
-# Microbundle cache
-.rpt2_cache/
-.rts2_cache_cjs/
-.rts2_cache_es/
-.rts2_cache_umd/
-
-# Optional REPL history
-.node_repl_history
-
-# Output of 'npm pack'
-*.tgz
-
-# Yarn Integrity file
-.yarn-integrity
-
-# dotenv environment variables file
-.env
-.env.test
-.env.production
-
-# parcel-bundler cache (https://parceljs.org/)
-.cache
-.parcel-cache
-
-# Next.js build output
-.next
-out
-
-# Nuxt.js build / generate output
-.nuxt
-dist
-
-# Gatsby files
-.cache/
-# Comment in the public line in if your project uses Gatsby and not Next.js
-# https://nextjs.org/blog/next-9-1#public-directory-support
-# public
-
-# vuepress build output
-.vuepress/dist
-
-# Serverless directories
-.serverless/
-
-# FuseBox cache
-.fusebox/
-
-# DynamoDB Local files
-.dynamodb/
-
-# TernJS port file
-.tern-port
-
-# Stores VSCode versions used for testing VSCode extensions
-.vscode-test
-
-# yarn v2
-.yarn/cache
-.yarn/unplugged
-.yarn/build-state.yml
-.yarn/install-state.gz
-.pnp.*
-
-### Node Patch ###
-# Serverless Webpack directories
-.webpack/
-
-### Windows ###
-# Windows thumbnail cache files
-Thumbs.db
-Thumbs.db:encryptable
-ehthumbs.db
-ehthumbs_vista.db
-
-# Dump file
-*.stackdump
-
-# Folder config file
-[Dd]esktop.ini
-
-# Recycle Bin used on file shares
-$RECYCLE.BIN/
-
-# Windows Installer files
-*.cab
-*.msi
-*.msix
-*.msm
-*.msp
-
-# Windows shortcuts
-*.lnk
-
-# End of https://www.toptal.com/developers/gitignore/api/windows,macos,linux,node
diff --git a/dist/images/Lmgtfy.png b/dist/images/Lmgtfy.png
new file mode 100644
index 0000000..9cbc232
Binary files /dev/null and b/dist/images/Lmgtfy.png differ
diff --git a/dist/images/google.svg b/dist/images/google.svg
new file mode 100644
index 0000000..8ab1fbe
--- /dev/null
+++ b/dist/images/google.svg
@@ -0,0 +1,3 @@
+
diff --git a/dist/index.css b/dist/index.css
new file mode 100644
index 0000000..262f7b0
--- /dev/null
+++ b/dist/index.css
@@ -0,0 +1,10 @@
+#cursor {
+ position: absolute;
+ top: 0;
+ left: 0;
+}
+
+#message {
+ transition-property: opacity;
+ transition-duration: 0.3s;
+}
diff --git a/dist/index.html b/dist/index.html
new file mode 100644
index 0000000..12b9749
--- /dev/null
+++ b/dist/index.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Let me Google that for you
+
+
+
+
+
+
+
+
+
+
diff --git a/dist/index.js b/dist/index.js
new file mode 100644
index 0000000..21f490f
--- /dev/null
+++ b/dist/index.js
@@ -0,0 +1,160 @@
+"use strict"
+
+/** @type {{search: string; lucky?: boolean;}} */
+const query = window.location.search
+ .substr(1)
+ .split("&")
+ .map(keyValue => keyValue.split("="))
+ .map(([key, value]) => ({
+ [decodeURIComponent(key)]: decodeURIComponent(
+ value?.replaceAll("+", "%20")
+ ),
+ }))
+ .reduce((previous, current) => ({ ...previous, ...current }), {})
+
+/** @type {HTMLInputElement} */
+let input
+
+window.addEventListener("load", async () => {
+ input = document.getElementById("input")
+ input.value = ""
+
+ setBrightness(JSON.parse(localStorage.getItem("dark") ?? "false"))
+
+ if (!query.search) return
+
+ await setMessage("Step 1", "Type in your question")
+ const cursor = makeCursor()
+ await move(cursor, input)
+ input.focus()
+ await write()
+ await new Promise(resolve => setTimeout(resolve, 1000))
+ input.blur()
+
+ await setMessage("Step 2", "Click on the search button")
+ const button = query.lucky
+ ? document.getElementById("lucky")
+ : document.getElementById("search")
+ await move(cursor, button)
+ button.focus()
+ await new Promise(resolve => setTimeout(resolve, 1000))
+
+ await setMessage("Come on", "Was it really that hard?", "alert-success")
+ await new Promise(resolve => setTimeout(resolve, 3000))
+
+ window.location.href = `https://www.google.com/search?${
+ query.lucky ? "btnI&" : ""
+ }q=${query.search}`
+})
+
+function makeCursor() {
+ const dark = JSON.parse(localStorage.getItem("dark") ?? "false")
+
+ const cursor = document.createElement("span")
+ cursor.className = `bi-cursor-fill text-${dark ? "light" : "dark"}`
+ cursor.id = "cursor"
+ document.body.appendChild(cursor)
+ return cursor
+}
+
+/**
+ * Move the cursor to the targeted element
+ * @param {HTMLSpanElement} cursor
+ * @param {HTMLButtonElement} target
+ */
+async function move(cursor, target) {
+ return new Promise(resolve => {
+ const diffX =
+ target.getBoundingClientRect().left +
+ target.clientWidth / 2 -
+ cursor.getBoundingClientRect().left
+ const diffY =
+ target.getBoundingClientRect().top +
+ target.clientHeight / 2 -
+ cursor.getBoundingClientRect().top
+
+ const steps = 60
+ const stepX = diffX / steps
+ const stepY = diffY / steps
+
+ let step = 0
+ const interval = setInterval(frame, 1000 / 60)
+
+ function frame() {
+ if (step >= steps) {
+ clearInterval(interval)
+ resolve()
+ } else {
+ step++
+ cursor.style.top = (parseFloat(cursor.style.top) || 0) + stepY + "px"
+ cursor.style.left = (parseFloat(cursor.style.left) || 0) + stepX + "px"
+ }
+ }
+ })
+}
+
+async function write() {
+ for (const letter of query.search) {
+ await new Promise(resolve => setTimeout(resolve, Math.random() * 200 + 100))
+ input.value += letter
+ input.scrollLeft = input.scrollWidth
+ }
+}
+
+/**
+ * Set the message box under the search buttons.
+ * @param {string} heading
+ * @param {string} content
+ * @param {string} type
+ */
+async function setMessage(heading, content, type = "alert-primary") {
+ const message = document.getElementById("message")
+
+ message.classList.add("opacity-0")
+ await new Promise(resolve => setTimeout(resolve, 300))
+
+ message.classList.remove("alert-primary")
+ message.classList.remove("alert-success")
+ message.classList.add(type)
+ document.getElementById("message-heading").innerText = heading
+ document.getElementById("message-content").innerText = content
+
+ message.classList.remove("opacity-0")
+ await new Promise(resolve => setTimeout(resolve, 300))
+}
+
+function toggleBrightness() {
+ const dark = JSON.parse(localStorage.getItem("dark") ?? "false")
+ localStorage.setItem("dark", !dark)
+ setBrightness(!dark)
+}
+
+/**
+ * Apply brightness on the page.
+ * @param {boolean} dark
+ */
+function setBrightness(dark) {
+ const newbrightness = dark ? "dark" : "light"
+ const oldBrightness = dark ? "light" : "dark"
+
+ for (const oldClass of [
+ `bg-${oldBrightness}`,
+ `navbar-${oldBrightness}`,
+ `btn-${oldBrightness}`,
+ `border-${oldBrightness}`,
+ ]) {
+ const newClass = oldClass.replace(oldBrightness, newbrightness)
+ for (const element of document.querySelectorAll(`.${oldClass}`)) {
+ element.classList.remove(oldClass)
+ element.classList.add(newClass)
+ }
+ }
+
+ for (const oldClass of [`text-${newbrightness}`]) {
+ const newClass = oldClass.replace(newbrightness, oldBrightness)
+ for (const element of document.querySelectorAll(`.${oldClass}`)) {
+ element.classList.remove(oldClass)
+ element.classList.add(newClass)
+ }
+ }
+}
diff --git a/dist/jsconfig.json b/dist/jsconfig.json
new file mode 100644
index 0000000..8903a08
--- /dev/null
+++ b/dist/jsconfig.json
@@ -0,0 +1,92 @@
+{
+ "compilerOptions": {
+ /* Visit https://aka.ms/tsconfig.json to read more about this file */
+ /* Projects */
+ // "incremental": true, /* Enable incremental compilation */
+ // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */
+ // "tsBuildInfoFile": "./", /* Specify the folder for .tsbuildinfo incremental compilation files. */
+ // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects */
+ // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */
+ // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */
+ /* Language and Environment */
+ "target": "ESNext" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */,
+ // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */
+ // "jsx": "preserve", /* Specify what JSX code is generated. */
+ // "experimentalDecorators": true, /* Enable experimental support for TC39 stage 2 draft decorators. */
+ // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */
+ // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h' */
+ // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */
+ // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using `jsx: react-jsx*`.` */
+ // "reactNamespace": "", /* Specify the object invoked for `createElement`. This only applies when targeting `react` JSX emit. */
+ // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */
+ // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */
+ /* Modules */
+ "module": "ESNext" /* Specify what module code is generated. */,
+ // "rootDir": "./", /* Specify the root folder within your source files. */
+ // "moduleResolution": "node", /* Specify how TypeScript looks up a file from a given module specifier. */
+ // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */
+ // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */
+ // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
+ // "typeRoots": [], /* Specify multiple folders that act like `./node_modules/@types`. */
+ // "types": [], /* Specify type package names to be included without being referenced in a source file. */
+ // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */
+ // "resolveJsonModule": true, /* Enable importing .json files */
+ // "noResolve": true, /* Disallow `import`s, `require`s or ``s from expanding the number of files TypeScript should add to a project. */
+ /* JavaScript Support */
+ // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the `checkJS` option to get errors from these files. */
+ // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */
+ // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from `node_modules`. Only applicable with `allowJs`. */
+ /* Emit */
+ // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */
+ // "declarationMap": true, /* Create sourcemaps for d.ts files. */
+ // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */
+ // "sourceMap": true, /* Create source map files for emitted JavaScript files. */
+ // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If `declaration` is true, also designates a file that bundles all .d.ts output. */
+ // "outDir": "./", /* Specify an output folder for all emitted files. */
+ // "removeComments": true, /* Disable emitting comments. */
+ // "noEmit": true, /* Disable emitting files from a compilation. */
+ // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */
+ // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types */
+ // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */
+ // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */
+ // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
+ // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */
+ // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */
+ // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */
+ // "newLine": "crlf", /* Set the newline character for emitting files. */
+ // "stripInternal": true, /* Disable emitting declarations that have `@internal` in their JSDoc comments. */
+ // "noEmitHelpers": true, /* Disable generating custom helper functions like `__extends` in compiled output. */
+ // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */
+ // "preserveConstEnums": true, /* Disable erasing `const enum` declarations in generated code. */
+ // "declarationDir": "./", /* Specify the output directory for generated declaration files. */
+ /* Interop Constraints */
+ // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */
+ // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */
+ "esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables `allowSyntheticDefaultImports` for type compatibility. */,
+ // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */
+ "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */,
+ /* Type Checking */
+ "strict": true /* Enable all strict type-checking options. */,
+ // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied `any` type.. */
+ // "strictNullChecks": true, /* When type checking, take into account `null` and `undefined`. */
+ // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */
+ // "strictBindCallApply": true, /* Check that the arguments for `bind`, `call`, and `apply` methods match the original function. */
+ // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */
+ // "noImplicitThis": true, /* Enable error reporting when `this` is given the type `any`. */
+ // "useUnknownInCatchVariables": true, /* Type catch clause variables as 'unknown' instead of 'any'. */
+ // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */
+ // "noUnusedLocals": true, /* Enable error reporting when a local variables aren't read. */
+ // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read */
+ // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */
+ // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */
+ // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */
+ // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */
+ // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */
+ // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type */
+ // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */
+ // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */
+ /* Completeness */
+ // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */
+ "skipLibCheck": true /* Skip type checking all .d.ts files. */
+ }
+}
diff --git a/dist/pnpm-lock.yaml b/dist/pnpm-lock.yaml
new file mode 100644
index 0000000..2279132
--- /dev/null
+++ b/dist/pnpm-lock.yaml
@@ -0,0 +1,1588 @@
+lockfileVersion: 5.3
+
+specifiers:
+ "@types/bootstrap": ^5.1.6
+ eslint: ^8.1.0
+ eslint-config-prettier: ^8.3.0
+ eslint-plugin-prettier: ^4.0.0
+ prettier: ^2.4.1
+ prettier-eslint: ^13.0.0
+
+devDependencies:
+ "@types/bootstrap": 5.1.6
+ eslint: 8.1.0
+ eslint-config-prettier: 8.3.0_eslint@8.1.0
+ eslint-plugin-prettier: 4.0.0_850528f9ec3c0797b9b19a94a36b5ba3
+ prettier: 2.4.1
+ prettier-eslint: 13.0.0
+
+packages:
+ /@babel/code-frame/7.12.11:
+ resolution:
+ {
+ integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==,
+ }
+ dependencies:
+ "@babel/highlight": 7.14.5
+ dev: true
+
+ /@babel/helper-validator-identifier/7.15.7:
+ resolution:
+ {
+ integrity: sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==,
+ }
+ engines: { node: ">=6.9.0" }
+ dev: true
+
+ /@babel/highlight/7.14.5:
+ resolution:
+ {
+ integrity: sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==,
+ }
+ engines: { node: ">=6.9.0" }
+ dependencies:
+ "@babel/helper-validator-identifier": 7.15.7
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+ dev: true
+
+ /@eslint/eslintrc/0.4.3:
+ resolution:
+ {
+ integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==,
+ }
+ engines: { node: ^10.12.0 || >=12.0.0 }
+ dependencies:
+ ajv: 6.12.6
+ debug: 4.3.2
+ espree: 7.3.1
+ globals: 13.11.0
+ ignore: 4.0.6
+ import-fresh: 3.3.0
+ js-yaml: 3.14.1
+ minimatch: 3.0.4
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@eslint/eslintrc/1.0.3:
+ resolution:
+ {
+ integrity: sha512-DHI1wDPoKCBPoLZA3qDR91+3te/wDSc1YhKg3jR8NxKKRJq2hwHwcWv31cSwSYvIBrmbENoYMWcenW8uproQqg==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ dependencies:
+ ajv: 6.12.6
+ debug: 4.3.2
+ espree: 9.0.0
+ globals: 13.11.0
+ ignore: 4.0.6
+ import-fresh: 3.3.0
+ js-yaml: 3.14.1
+ minimatch: 3.0.4
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@humanwhocodes/config-array/0.5.0:
+ resolution:
+ {
+ integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==,
+ }
+ engines: { node: ">=10.10.0" }
+ dependencies:
+ "@humanwhocodes/object-schema": 1.2.0
+ debug: 4.3.2
+ minimatch: 3.0.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@humanwhocodes/config-array/0.6.0:
+ resolution:
+ {
+ integrity: sha512-JQlEKbcgEUjBFhLIF4iqM7u/9lwgHRBcpHrmUNCALK0Q3amXN6lxdoXLnF0sm11E9VqTmBALR87IlUg1bZ8A9A==,
+ }
+ engines: { node: ">=10.10.0" }
+ dependencies:
+ "@humanwhocodes/object-schema": 1.2.0
+ debug: 4.3.2
+ minimatch: 3.0.4
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@humanwhocodes/object-schema/1.2.0:
+ resolution:
+ {
+ integrity: sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==,
+ }
+ dev: true
+
+ /@popperjs/core/2.10.2:
+ resolution:
+ {
+ integrity: sha512-IXf3XA7+XyN7CP9gGh/XB0UxVMlvARGEgGXLubFICsUMGz6Q+DU+i4gGlpOxTjKvXjkJDJC8YdqdKkDj9qZHEQ==,
+ }
+ dev: true
+
+ /@types/bootstrap/5.1.6:
+ resolution:
+ {
+ integrity: sha512-3L6IvOCKyoVd3e4bgQTH7VBPbuYEOG8IQbRcuZ0AbjfwPdRX+kVf5L/7mVt1EVM+D/BVw4+71rtp7Z8yYROlpQ==,
+ }
+ dependencies:
+ "@popperjs/core": 2.10.2
+ "@types/jquery": 3.5.8
+ dev: true
+
+ /@types/eslint-visitor-keys/1.0.0:
+ resolution:
+ {
+ integrity: sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==,
+ }
+ dev: true
+
+ /@types/jquery/3.5.8:
+ resolution:
+ {
+ integrity: sha512-cXk6NwqjDYg+UI9p2l3x0YmPa4m7RrXqmbK4IpVVpRJiYXU/QTo+UZrn54qfE1+9Gao4qpYqUnxm5ZCy2FTXAw==,
+ }
+ dependencies:
+ "@types/sizzle": 2.3.3
+ dev: true
+
+ /@types/json-schema/7.0.9:
+ resolution:
+ {
+ integrity: sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==,
+ }
+ dev: true
+
+ /@types/sizzle/2.3.3:
+ resolution:
+ {
+ integrity: sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==,
+ }
+ dev: true
+
+ /@typescript-eslint/experimental-utils/3.10.1_eslint@7.32.0+typescript@3.9.10:
+ resolution:
+ {
+ integrity: sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw==,
+ }
+ engines: { node: ^10.12.0 || >=12.0.0 }
+ peerDependencies:
+ eslint: "*"
+ dependencies:
+ "@types/json-schema": 7.0.9
+ "@typescript-eslint/types": 3.10.1
+ "@typescript-eslint/typescript-estree": 3.10.1_typescript@3.9.10
+ eslint: 7.32.0
+ eslint-scope: 5.1.1
+ eslint-utils: 2.1.0
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
+ dev: true
+
+ /@typescript-eslint/parser/3.10.1_eslint@7.32.0+typescript@3.9.10:
+ resolution:
+ {
+ integrity: sha512-Ug1RcWcrJP02hmtaXVS3axPPTTPnZjupqhgj+NnZ6BCkwSImWk/283347+x9wN+lqOdK9Eo3vsyiyDHgsmiEJw==,
+ }
+ engines: { node: ^10.12.0 || >=12.0.0 }
+ peerDependencies:
+ eslint: ^5.0.0 || ^6.0.0 || ^7.0.0
+ typescript: "*"
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ "@types/eslint-visitor-keys": 1.0.0
+ "@typescript-eslint/experimental-utils": 3.10.1_eslint@7.32.0+typescript@3.9.10
+ "@typescript-eslint/types": 3.10.1
+ "@typescript-eslint/typescript-estree": 3.10.1_typescript@3.9.10
+ eslint: 7.32.0
+ eslint-visitor-keys: 1.3.0
+ typescript: 3.9.10
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/types/3.10.1:
+ resolution:
+ {
+ integrity: sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==,
+ }
+ engines: { node: ^8.10.0 || ^10.13.0 || >=11.10.1 }
+ dev: true
+
+ /@typescript-eslint/typescript-estree/3.10.1_typescript@3.9.10:
+ resolution:
+ {
+ integrity: sha512-QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w==,
+ }
+ engines: { node: ^10.12.0 || >=12.0.0 }
+ peerDependencies:
+ typescript: "*"
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+ dependencies:
+ "@typescript-eslint/types": 3.10.1
+ "@typescript-eslint/visitor-keys": 3.10.1
+ debug: 4.3.2
+ glob: 7.2.0
+ is-glob: 4.0.3
+ lodash: 4.17.21
+ semver: 7.3.5
+ tsutils: 3.21.0_typescript@3.9.10
+ typescript: 3.9.10
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /@typescript-eslint/visitor-keys/3.10.1:
+ resolution:
+ {
+ integrity: sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ==,
+ }
+ engines: { node: ^8.10.0 || ^10.13.0 || >=11.10.1 }
+ dependencies:
+ eslint-visitor-keys: 1.3.0
+ dev: true
+
+ /acorn-jsx/5.3.2_acorn@7.4.1:
+ resolution:
+ {
+ integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==,
+ }
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ acorn: 7.4.1
+ dev: true
+
+ /acorn-jsx/5.3.2_acorn@8.5.0:
+ resolution:
+ {
+ integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==,
+ }
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ acorn: 8.5.0
+ dev: true
+
+ /acorn/7.4.1:
+ resolution:
+ {
+ integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==,
+ }
+ engines: { node: ">=0.4.0" }
+ hasBin: true
+ dev: true
+
+ /acorn/8.5.0:
+ resolution:
+ {
+ integrity: sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==,
+ }
+ engines: { node: ">=0.4.0" }
+ hasBin: true
+ dev: true
+
+ /ajv/6.12.6:
+ resolution:
+ {
+ integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==,
+ }
+ dependencies:
+ fast-deep-equal: 3.1.3
+ fast-json-stable-stringify: 2.1.0
+ json-schema-traverse: 0.4.1
+ uri-js: 4.4.1
+ dev: true
+
+ /ajv/8.6.3:
+ resolution:
+ {
+ integrity: sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==,
+ }
+ dependencies:
+ fast-deep-equal: 3.1.3
+ json-schema-traverse: 1.0.0
+ require-from-string: 2.0.2
+ uri-js: 4.4.1
+ dev: true
+
+ /ansi-colors/4.1.1:
+ resolution:
+ {
+ integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==,
+ }
+ engines: { node: ">=6" }
+ dev: true
+
+ /ansi-regex/2.1.1:
+ resolution: { integrity: sha1-w7M6te42DYbg5ijwRorn7yfWVN8= }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /ansi-regex/3.0.0:
+ resolution: { integrity: sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= }
+ engines: { node: ">=4" }
+ dev: true
+
+ /ansi-regex/5.0.1:
+ resolution:
+ {
+ integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /ansi-styles/2.2.1:
+ resolution: { integrity: sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /ansi-styles/3.2.1:
+ resolution:
+ {
+ integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==,
+ }
+ engines: { node: ">=4" }
+ dependencies:
+ color-convert: 1.9.3
+ dev: true
+
+ /ansi-styles/4.3.0:
+ resolution:
+ {
+ integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ color-convert: 2.0.1
+ dev: true
+
+ /argparse/1.0.10:
+ resolution:
+ {
+ integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==,
+ }
+ dependencies:
+ sprintf-js: 1.0.3
+ dev: true
+
+ /argparse/2.0.1:
+ resolution:
+ {
+ integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==,
+ }
+ dev: true
+
+ /astral-regex/2.0.0:
+ resolution:
+ {
+ integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /balanced-match/1.0.2:
+ resolution:
+ {
+ integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==,
+ }
+ dev: true
+
+ /brace-expansion/1.1.11:
+ resolution:
+ {
+ integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==,
+ }
+ dependencies:
+ balanced-match: 1.0.2
+ concat-map: 0.0.1
+ dev: true
+
+ /callsites/3.1.0:
+ resolution:
+ {
+ integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==,
+ }
+ engines: { node: ">=6" }
+ dev: true
+
+ /chalk/1.1.3:
+ resolution: { integrity: sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= }
+ engines: { node: ">=0.10.0" }
+ dependencies:
+ ansi-styles: 2.2.1
+ escape-string-regexp: 1.0.5
+ has-ansi: 2.0.0
+ strip-ansi: 3.0.1
+ supports-color: 2.0.0
+ dev: true
+
+ /chalk/2.4.2:
+ resolution:
+ {
+ integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==,
+ }
+ engines: { node: ">=4" }
+ dependencies:
+ ansi-styles: 3.2.1
+ escape-string-regexp: 1.0.5
+ supports-color: 5.5.0
+ dev: true
+
+ /chalk/4.1.2:
+ resolution:
+ {
+ integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==,
+ }
+ engines: { node: ">=10" }
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+ dev: true
+
+ /color-convert/1.9.3:
+ resolution:
+ {
+ integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==,
+ }
+ dependencies:
+ color-name: 1.1.3
+ dev: true
+
+ /color-convert/2.0.1:
+ resolution:
+ {
+ integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==,
+ }
+ engines: { node: ">=7.0.0" }
+ dependencies:
+ color-name: 1.1.4
+ dev: true
+
+ /color-name/1.1.3:
+ resolution: { integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= }
+ dev: true
+
+ /color-name/1.1.4:
+ resolution:
+ {
+ integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==,
+ }
+ dev: true
+
+ /common-tags/1.8.0:
+ resolution:
+ {
+ integrity: sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==,
+ }
+ engines: { node: ">=4.0.0" }
+ dev: true
+
+ /concat-map/0.0.1:
+ resolution: { integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= }
+ dev: true
+
+ /cross-spawn/7.0.3:
+ resolution:
+ {
+ integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==,
+ }
+ engines: { node: ">= 8" }
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+ dev: true
+
+ /debug/4.3.2:
+ resolution:
+ {
+ integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==,
+ }
+ engines: { node: ">=6.0" }
+ peerDependencies:
+ supports-color: "*"
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.2
+ dev: true
+
+ /deep-is/0.1.4:
+ resolution:
+ {
+ integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==,
+ }
+ dev: true
+
+ /dlv/1.1.3:
+ resolution:
+ {
+ integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==,
+ }
+ dev: true
+
+ /doctrine/3.0.0:
+ resolution:
+ {
+ integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==,
+ }
+ engines: { node: ">=6.0.0" }
+ dependencies:
+ esutils: 2.0.3
+ dev: true
+
+ /emoji-regex/8.0.0:
+ resolution:
+ {
+ integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==,
+ }
+ dev: true
+
+ /enquirer/2.3.6:
+ resolution:
+ {
+ integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==,
+ }
+ engines: { node: ">=8.6" }
+ dependencies:
+ ansi-colors: 4.1.1
+ dev: true
+
+ /escape-string-regexp/1.0.5:
+ resolution: { integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= }
+ engines: { node: ">=0.8.0" }
+ dev: true
+
+ /escape-string-regexp/4.0.0:
+ resolution:
+ {
+ integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==,
+ }
+ engines: { node: ">=10" }
+ dev: true
+
+ /eslint-config-prettier/8.3.0_eslint@8.1.0:
+ resolution:
+ {
+ integrity: sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==,
+ }
+ hasBin: true
+ peerDependencies:
+ eslint: ">=7.0.0"
+ dependencies:
+ eslint: 8.1.0
+ dev: true
+
+ /eslint-plugin-prettier/4.0.0_850528f9ec3c0797b9b19a94a36b5ba3:
+ resolution:
+ {
+ integrity: sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==,
+ }
+ engines: { node: ">=6.0.0" }
+ peerDependencies:
+ eslint: ">=7.28.0"
+ eslint-config-prettier: "*"
+ prettier: ">=2.0.0"
+ peerDependenciesMeta:
+ eslint-config-prettier:
+ optional: true
+ dependencies:
+ eslint: 8.1.0
+ eslint-config-prettier: 8.3.0_eslint@8.1.0
+ prettier: 2.4.1
+ prettier-linter-helpers: 1.0.0
+ dev: true
+
+ /eslint-scope/5.1.1:
+ resolution:
+ {
+ integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==,
+ }
+ engines: { node: ">=8.0.0" }
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 4.3.0
+ dev: true
+
+ /eslint-scope/6.0.0:
+ resolution:
+ {
+ integrity: sha512-uRDL9MWmQCkaFus8RF5K9/L/2fn+80yoW3jkD53l4shjCh26fCtvJGasxjUqP5OT87SYTxCVA3BwTUzuELx9kA==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 5.2.0
+ dev: true
+
+ /eslint-utils/2.1.0:
+ resolution:
+ {
+ integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==,
+ }
+ engines: { node: ">=6" }
+ dependencies:
+ eslint-visitor-keys: 1.3.0
+ dev: true
+
+ /eslint-utils/3.0.0_eslint@8.1.0:
+ resolution:
+ {
+ integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==,
+ }
+ engines: { node: ^10.0.0 || ^12.0.0 || >= 14.0.0 }
+ peerDependencies:
+ eslint: ">=5"
+ dependencies:
+ eslint: 8.1.0
+ eslint-visitor-keys: 2.1.0
+ dev: true
+
+ /eslint-visitor-keys/1.3.0:
+ resolution:
+ {
+ integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==,
+ }
+ engines: { node: ">=4" }
+ dev: true
+
+ /eslint-visitor-keys/2.1.0:
+ resolution:
+ {
+ integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==,
+ }
+ engines: { node: ">=10" }
+ dev: true
+
+ /eslint-visitor-keys/3.0.0:
+ resolution:
+ {
+ integrity: sha512-mJOZa35trBTb3IyRmo8xmKBZlxf+N7OnUl4+ZhJHs/r+0770Wh/LEACE2pqMGMe27G/4y8P2bYGk4J70IC5k1Q==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ dev: true
+
+ /eslint/7.32.0:
+ resolution:
+ {
+ integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==,
+ }
+ engines: { node: ^10.12.0 || >=12.0.0 }
+ hasBin: true
+ dependencies:
+ "@babel/code-frame": 7.12.11
+ "@eslint/eslintrc": 0.4.3
+ "@humanwhocodes/config-array": 0.5.0
+ ajv: 6.12.6
+ chalk: 4.1.2
+ cross-spawn: 7.0.3
+ debug: 4.3.2
+ doctrine: 3.0.0
+ enquirer: 2.3.6
+ escape-string-regexp: 4.0.0
+ eslint-scope: 5.1.1
+ eslint-utils: 2.1.0
+ eslint-visitor-keys: 2.1.0
+ espree: 7.3.1
+ esquery: 1.4.0
+ esutils: 2.0.3
+ fast-deep-equal: 3.1.3
+ file-entry-cache: 6.0.1
+ functional-red-black-tree: 1.0.1
+ glob-parent: 5.1.2
+ globals: 13.11.0
+ ignore: 4.0.6
+ import-fresh: 3.3.0
+ imurmurhash: 0.1.4
+ is-glob: 4.0.3
+ js-yaml: 3.14.1
+ json-stable-stringify-without-jsonify: 1.0.1
+ levn: 0.4.1
+ lodash.merge: 4.6.2
+ minimatch: 3.0.4
+ natural-compare: 1.4.0
+ optionator: 0.9.1
+ progress: 2.0.3
+ regexpp: 3.2.0
+ semver: 7.3.5
+ strip-ansi: 6.0.1
+ strip-json-comments: 3.1.1
+ table: 6.7.2
+ text-table: 0.2.0
+ v8-compile-cache: 2.3.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /eslint/8.1.0:
+ resolution:
+ {
+ integrity: sha512-JZvNneArGSUsluHWJ8g8MMs3CfIEzwaLx9KyH4tZ2i+R2/rPWzL8c0zg3rHdwYVpN/1sB9gqnjHwz9HoeJpGHw==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ hasBin: true
+ dependencies:
+ "@eslint/eslintrc": 1.0.3
+ "@humanwhocodes/config-array": 0.6.0
+ ajv: 6.12.6
+ chalk: 4.1.2
+ cross-spawn: 7.0.3
+ debug: 4.3.2
+ doctrine: 3.0.0
+ enquirer: 2.3.6
+ escape-string-regexp: 4.0.0
+ eslint-scope: 6.0.0
+ eslint-utils: 3.0.0_eslint@8.1.0
+ eslint-visitor-keys: 3.0.0
+ espree: 9.0.0
+ esquery: 1.4.0
+ esutils: 2.0.3
+ fast-deep-equal: 3.1.3
+ file-entry-cache: 6.0.1
+ functional-red-black-tree: 1.0.1
+ glob-parent: 6.0.2
+ globals: 13.11.0
+ ignore: 4.0.6
+ import-fresh: 3.3.0
+ imurmurhash: 0.1.4
+ is-glob: 4.0.3
+ js-yaml: 4.1.0
+ json-stable-stringify-without-jsonify: 1.0.1
+ levn: 0.4.1
+ lodash.merge: 4.6.2
+ minimatch: 3.0.4
+ natural-compare: 1.4.0
+ optionator: 0.9.1
+ progress: 2.0.3
+ regexpp: 3.2.0
+ semver: 7.3.5
+ strip-ansi: 6.0.1
+ strip-json-comments: 3.1.1
+ text-table: 0.2.0
+ v8-compile-cache: 2.3.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /espree/6.2.1:
+ resolution:
+ {
+ integrity: sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==,
+ }
+ engines: { node: ">=6.0.0" }
+ dependencies:
+ acorn: 7.4.1
+ acorn-jsx: 5.3.2_acorn@7.4.1
+ eslint-visitor-keys: 1.3.0
+ dev: true
+
+ /espree/7.3.1:
+ resolution:
+ {
+ integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==,
+ }
+ engines: { node: ^10.12.0 || >=12.0.0 }
+ dependencies:
+ acorn: 7.4.1
+ acorn-jsx: 5.3.2_acorn@7.4.1
+ eslint-visitor-keys: 1.3.0
+ dev: true
+
+ /espree/9.0.0:
+ resolution:
+ {
+ integrity: sha512-r5EQJcYZ2oaGbeR0jR0fFVijGOcwai07/690YRXLINuhmVeRY4UKSAsQPe/0BNuDgwP7Ophoc1PRsr2E3tkbdQ==,
+ }
+ engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
+ dependencies:
+ acorn: 8.5.0
+ acorn-jsx: 5.3.2_acorn@8.5.0
+ eslint-visitor-keys: 3.0.0
+ dev: true
+
+ /esprima/4.0.1:
+ resolution:
+ {
+ integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==,
+ }
+ engines: { node: ">=4" }
+ hasBin: true
+ dev: true
+
+ /esquery/1.4.0:
+ resolution:
+ {
+ integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==,
+ }
+ engines: { node: ">=0.10" }
+ dependencies:
+ estraverse: 5.2.0
+ dev: true
+
+ /esrecurse/4.3.0:
+ resolution:
+ {
+ integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==,
+ }
+ engines: { node: ">=4.0" }
+ dependencies:
+ estraverse: 5.2.0
+ dev: true
+
+ /estraverse/4.3.0:
+ resolution:
+ {
+ integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==,
+ }
+ engines: { node: ">=4.0" }
+ dev: true
+
+ /estraverse/5.2.0:
+ resolution:
+ {
+ integrity: sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==,
+ }
+ engines: { node: ">=4.0" }
+ dev: true
+
+ /esutils/2.0.3:
+ resolution:
+ {
+ integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /fast-deep-equal/3.1.3:
+ resolution:
+ {
+ integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==,
+ }
+ dev: true
+
+ /fast-diff/1.2.0:
+ resolution:
+ {
+ integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==,
+ }
+ dev: true
+
+ /fast-json-stable-stringify/2.1.0:
+ resolution:
+ {
+ integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==,
+ }
+ dev: true
+
+ /fast-levenshtein/2.0.6:
+ resolution: { integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= }
+ dev: true
+
+ /file-entry-cache/6.0.1:
+ resolution:
+ {
+ integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==,
+ }
+ engines: { node: ^10.12.0 || >=12.0.0 }
+ dependencies:
+ flat-cache: 3.0.4
+ dev: true
+
+ /flat-cache/3.0.4:
+ resolution:
+ {
+ integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==,
+ }
+ engines: { node: ^10.12.0 || >=12.0.0 }
+ dependencies:
+ flatted: 3.2.2
+ rimraf: 3.0.2
+ dev: true
+
+ /flatted/3.2.2:
+ resolution:
+ {
+ integrity: sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==,
+ }
+ dev: true
+
+ /fs.realpath/1.0.0:
+ resolution: { integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8= }
+ dev: true
+
+ /functional-red-black-tree/1.0.1:
+ resolution: { integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= }
+ dev: true
+
+ /glob-parent/5.1.2:
+ resolution:
+ {
+ integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==,
+ }
+ engines: { node: ">= 6" }
+ dependencies:
+ is-glob: 4.0.3
+ dev: true
+
+ /glob-parent/6.0.2:
+ resolution:
+ {
+ integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==,
+ }
+ engines: { node: ">=10.13.0" }
+ dependencies:
+ is-glob: 4.0.3
+ dev: true
+
+ /glob/7.2.0:
+ resolution:
+ {
+ integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==,
+ }
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.0.4
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+ dev: true
+
+ /globals/13.11.0:
+ resolution:
+ {
+ integrity: sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ type-fest: 0.20.2
+ dev: true
+
+ /has-ansi/2.0.0:
+ resolution: { integrity: sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= }
+ engines: { node: ">=0.10.0" }
+ dependencies:
+ ansi-regex: 2.1.1
+ dev: true
+
+ /has-flag/3.0.0:
+ resolution: { integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0= }
+ engines: { node: ">=4" }
+ dev: true
+
+ /has-flag/4.0.0:
+ resolution:
+ {
+ integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /ignore/4.0.6:
+ resolution:
+ {
+ integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==,
+ }
+ engines: { node: ">= 4" }
+ dev: true
+
+ /import-fresh/3.3.0:
+ resolution:
+ {
+ integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==,
+ }
+ engines: { node: ">=6" }
+ dependencies:
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
+ dev: true
+
+ /imurmurhash/0.1.4:
+ resolution: { integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o= }
+ engines: { node: ">=0.8.19" }
+ dev: true
+
+ /indent-string/4.0.0:
+ resolution:
+ {
+ integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /inflight/1.0.6:
+ resolution: { integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= }
+ dependencies:
+ once: 1.4.0
+ wrappy: 1.0.2
+ dev: true
+
+ /inherits/2.0.4:
+ resolution:
+ {
+ integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==,
+ }
+ dev: true
+
+ /is-extglob/2.1.1:
+ resolution: { integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /is-fullwidth-code-point/3.0.0:
+ resolution:
+ {
+ integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /is-glob/4.0.3:
+ resolution:
+ {
+ integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==,
+ }
+ engines: { node: ">=0.10.0" }
+ dependencies:
+ is-extglob: 2.1.1
+ dev: true
+
+ /isexe/2.0.0:
+ resolution: { integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= }
+ dev: true
+
+ /js-tokens/4.0.0:
+ resolution:
+ {
+ integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==,
+ }
+ dev: true
+
+ /js-yaml/3.14.1:
+ resolution:
+ {
+ integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==,
+ }
+ hasBin: true
+ dependencies:
+ argparse: 1.0.10
+ esprima: 4.0.1
+ dev: true
+
+ /js-yaml/4.1.0:
+ resolution:
+ {
+ integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==,
+ }
+ hasBin: true
+ dependencies:
+ argparse: 2.0.1
+ dev: true
+
+ /json-schema-traverse/0.4.1:
+ resolution:
+ {
+ integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==,
+ }
+ dev: true
+
+ /json-schema-traverse/1.0.0:
+ resolution:
+ {
+ integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==,
+ }
+ dev: true
+
+ /json-stable-stringify-without-jsonify/1.0.1:
+ resolution: { integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= }
+ dev: true
+
+ /levn/0.4.1:
+ resolution:
+ {
+ integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==,
+ }
+ engines: { node: ">= 0.8.0" }
+ dependencies:
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+ dev: true
+
+ /lodash.clonedeep/4.5.0:
+ resolution: { integrity: sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= }
+ dev: true
+
+ /lodash.merge/4.6.2:
+ resolution:
+ {
+ integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==,
+ }
+ dev: true
+
+ /lodash.truncate/4.4.2:
+ resolution: { integrity: sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= }
+ dev: true
+
+ /lodash/4.17.21:
+ resolution:
+ {
+ integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==,
+ }
+ dev: true
+
+ /loglevel-colored-level-prefix/1.0.0:
+ resolution: { integrity: sha1-akAhj9x64V/HbD0PPmdsRlOIYD4= }
+ dependencies:
+ chalk: 1.1.3
+ loglevel: 1.7.1
+ dev: true
+
+ /loglevel/1.7.1:
+ resolution:
+ {
+ integrity: sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==,
+ }
+ engines: { node: ">= 0.6.0" }
+ dev: true
+
+ /lru-cache/6.0.0:
+ resolution:
+ {
+ integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==,
+ }
+ engines: { node: ">=10" }
+ dependencies:
+ yallist: 4.0.0
+ dev: true
+
+ /minimatch/3.0.4:
+ resolution:
+ {
+ integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==,
+ }
+ dependencies:
+ brace-expansion: 1.1.11
+ dev: true
+
+ /ms/2.1.2:
+ resolution:
+ {
+ integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==,
+ }
+ dev: true
+
+ /natural-compare/1.4.0:
+ resolution: { integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= }
+ dev: true
+
+ /once/1.4.0:
+ resolution: { integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E= }
+ dependencies:
+ wrappy: 1.0.2
+ dev: true
+
+ /optionator/0.9.1:
+ resolution:
+ {
+ integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==,
+ }
+ engines: { node: ">= 0.8.0" }
+ dependencies:
+ deep-is: 0.1.4
+ fast-levenshtein: 2.0.6
+ levn: 0.4.1
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+ word-wrap: 1.2.3
+ dev: true
+
+ /parent-module/1.0.1:
+ resolution:
+ {
+ integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==,
+ }
+ engines: { node: ">=6" }
+ dependencies:
+ callsites: 3.1.0
+ dev: true
+
+ /path-is-absolute/1.0.1:
+ resolution: { integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18= }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /path-key/3.1.1:
+ resolution:
+ {
+ integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /prelude-ls/1.2.1:
+ resolution:
+ {
+ integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==,
+ }
+ engines: { node: ">= 0.8.0" }
+ dev: true
+
+ /prettier-eslint/13.0.0:
+ resolution:
+ {
+ integrity: sha512-P5K31qWgUOQCtJL/3tpvEe28KfP49qbr6MTVEXC7I2k7ci55bP3YDr+glhyCdhIzxGCVp2f8eobfQ5so52RIIA==,
+ }
+ engines: { node: ">=10.0.0" }
+ dependencies:
+ "@typescript-eslint/parser": 3.10.1_eslint@7.32.0+typescript@3.9.10
+ common-tags: 1.8.0
+ dlv: 1.1.3
+ eslint: 7.32.0
+ indent-string: 4.0.0
+ lodash.merge: 4.6.2
+ loglevel-colored-level-prefix: 1.0.0
+ prettier: 2.4.1
+ pretty-format: 23.6.0
+ require-relative: 0.8.7
+ typescript: 3.9.10
+ vue-eslint-parser: 7.1.1_eslint@7.32.0
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /prettier-linter-helpers/1.0.0:
+ resolution:
+ {
+ integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==,
+ }
+ engines: { node: ">=6.0.0" }
+ dependencies:
+ fast-diff: 1.2.0
+ dev: true
+
+ /prettier/2.4.1:
+ resolution:
+ {
+ integrity: sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==,
+ }
+ engines: { node: ">=10.13.0" }
+ hasBin: true
+ dev: true
+
+ /pretty-format/23.6.0:
+ resolution:
+ {
+ integrity: sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==,
+ }
+ dependencies:
+ ansi-regex: 3.0.0
+ ansi-styles: 3.2.1
+ dev: true
+
+ /progress/2.0.3:
+ resolution:
+ {
+ integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==,
+ }
+ engines: { node: ">=0.4.0" }
+ dev: true
+
+ /punycode/2.1.1:
+ resolution:
+ {
+ integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==,
+ }
+ engines: { node: ">=6" }
+ dev: true
+
+ /regexpp/3.2.0:
+ resolution:
+ {
+ integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /require-from-string/2.0.2:
+ resolution:
+ {
+ integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /require-relative/0.8.7:
+ resolution: { integrity: sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4= }
+ dev: true
+
+ /resolve-from/4.0.0:
+ resolution:
+ {
+ integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==,
+ }
+ engines: { node: ">=4" }
+ dev: true
+
+ /rimraf/3.0.2:
+ resolution:
+ {
+ integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==,
+ }
+ hasBin: true
+ dependencies:
+ glob: 7.2.0
+ dev: true
+
+ /semver/7.3.5:
+ resolution:
+ {
+ integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==,
+ }
+ engines: { node: ">=10" }
+ hasBin: true
+ dependencies:
+ lru-cache: 6.0.0
+ dev: true
+
+ /shebang-command/2.0.0:
+ resolution:
+ {
+ integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ shebang-regex: 3.0.0
+ dev: true
+
+ /shebang-regex/3.0.0:
+ resolution:
+ {
+ integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /slice-ansi/4.0.0:
+ resolution:
+ {
+ integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==,
+ }
+ engines: { node: ">=10" }
+ dependencies:
+ ansi-styles: 4.3.0
+ astral-regex: 2.0.0
+ is-fullwidth-code-point: 3.0.0
+ dev: true
+
+ /sprintf-js/1.0.3:
+ resolution: { integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= }
+ dev: true
+
+ /string-width/4.2.3:
+ resolution:
+ {
+ integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ emoji-regex: 8.0.0
+ is-fullwidth-code-point: 3.0.0
+ strip-ansi: 6.0.1
+ dev: true
+
+ /strip-ansi/3.0.1:
+ resolution: { integrity: sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= }
+ engines: { node: ">=0.10.0" }
+ dependencies:
+ ansi-regex: 2.1.1
+ dev: true
+
+ /strip-ansi/6.0.1:
+ resolution:
+ {
+ integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ ansi-regex: 5.0.1
+ dev: true
+
+ /strip-json-comments/3.1.1:
+ resolution:
+ {
+ integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==,
+ }
+ engines: { node: ">=8" }
+ dev: true
+
+ /supports-color/2.0.0:
+ resolution: { integrity: sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= }
+ engines: { node: ">=0.8.0" }
+ dev: true
+
+ /supports-color/5.5.0:
+ resolution:
+ {
+ integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==,
+ }
+ engines: { node: ">=4" }
+ dependencies:
+ has-flag: 3.0.0
+ dev: true
+
+ /supports-color/7.2.0:
+ resolution:
+ {
+ integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==,
+ }
+ engines: { node: ">=8" }
+ dependencies:
+ has-flag: 4.0.0
+ dev: true
+
+ /table/6.7.2:
+ resolution:
+ {
+ integrity: sha512-UFZK67uvyNivLeQbVtkiUs8Uuuxv24aSL4/Vil2PJVtMgU8Lx0CYkP12uCGa3kjyQzOSgV1+z9Wkb82fCGsO0g==,
+ }
+ engines: { node: ">=10.0.0" }
+ dependencies:
+ ajv: 8.6.3
+ lodash.clonedeep: 4.5.0
+ lodash.truncate: 4.4.2
+ slice-ansi: 4.0.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ dev: true
+
+ /text-table/0.2.0:
+ resolution: { integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= }
+ dev: true
+
+ /tslib/1.14.1:
+ resolution:
+ {
+ integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==,
+ }
+ dev: true
+
+ /tsutils/3.21.0_typescript@3.9.10:
+ resolution:
+ {
+ integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==,
+ }
+ engines: { node: ">= 6" }
+ peerDependencies:
+ typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
+ dependencies:
+ tslib: 1.14.1
+ typescript: 3.9.10
+ dev: true
+
+ /type-check/0.4.0:
+ resolution:
+ {
+ integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==,
+ }
+ engines: { node: ">= 0.8.0" }
+ dependencies:
+ prelude-ls: 1.2.1
+ dev: true
+
+ /type-fest/0.20.2:
+ resolution:
+ {
+ integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==,
+ }
+ engines: { node: ">=10" }
+ dev: true
+
+ /typescript/3.9.10:
+ resolution:
+ {
+ integrity: sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==,
+ }
+ engines: { node: ">=4.2.0" }
+ hasBin: true
+ dev: true
+
+ /uri-js/4.4.1:
+ resolution:
+ {
+ integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==,
+ }
+ dependencies:
+ punycode: 2.1.1
+ dev: true
+
+ /v8-compile-cache/2.3.0:
+ resolution:
+ {
+ integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==,
+ }
+ dev: true
+
+ /vue-eslint-parser/7.1.1_eslint@7.32.0:
+ resolution:
+ {
+ integrity: sha512-8FdXi0gieEwh1IprIBafpiJWcApwrU+l2FEj8c1HtHFdNXMd0+2jUSjBVmcQYohf/E72irwAXEXLga6TQcB3FA==,
+ }
+ engines: { node: ">=8.10" }
+ peerDependencies:
+ eslint: ">=5.0.0"
+ dependencies:
+ debug: 4.3.2
+ eslint: 7.32.0
+ eslint-scope: 5.1.1
+ eslint-visitor-keys: 1.3.0
+ espree: 6.2.1
+ esquery: 1.4.0
+ lodash: 4.17.21
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
+
+ /which/2.0.2:
+ resolution:
+ {
+ integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==,
+ }
+ engines: { node: ">= 8" }
+ hasBin: true
+ dependencies:
+ isexe: 2.0.0
+ dev: true
+
+ /word-wrap/1.2.3:
+ resolution:
+ {
+ integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==,
+ }
+ engines: { node: ">=0.10.0" }
+ dev: true
+
+ /wrappy/1.0.2:
+ resolution: { integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= }
+ dev: true
+
+ /yallist/4.0.0:
+ resolution:
+ {
+ integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==,
+ }
+ dev: true