diff --git a/README.md b/README.md
index 3842474..6bac63b 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,64 @@
# @rkrupinski/react
+
+An experimental, lightweight [React](https://react.dev/) alternative.
+
+- [Getting started](#getting-started)
+
+## Getting started
+
+Install:
+
+```
+yarn add @rkrupinski/react
+```
+
+Make sure to set:
+
+```json
+{
+ "jsx": "react"
+}
+```
+
+in your `tsconfig.json` -> `"compilerOptions"`.
+
+Now you're all set:
+
+```tsx
+/* @jsx createElement */
+/* @jsxFrag Fragment */
+
+import {
+ render,
+ useState,
+ useEffect,
+ createElement,
+ Fragment,
+ type FC,
+} from "@rkrupinski/react";
+
+const App: FC = () => {
+ const [clicked, setClicked] = useState(0);
+
+ useEffect(() => {
+ console.log(`Clicked ${clicked} times`);
+ }, [clicked]);
+
+ return (
+ <>
+
Hello!
+
+ >
+ );
+};
+
+const root = document.querySelector("#root") as HTMLElement;
+
+render(, root);
+```
diff --git a/package.json b/package.json
index 13ae10e..9d56f15 100644
--- a/package.json
+++ b/package.json
@@ -4,11 +4,12 @@
"packages/*"
],
"scripts": {
- "clean": "wsrun -mc clean",
- "typecheck": "wsrun -mc typecheck",
- "lint": "wsrun -mc lint",
- "test": "wsrun -mc test",
- "build": "wsrun -tc build"
+ "clean": "wsrun -mc clean",
+ "typecheck": "wsrun -mc typecheck",
+ "lint": "wsrun -mc lint",
+ "test": "wsrun -mc test",
+ "start": "wsrun -mc start",
+ "build": "wsrun -tc build"
},
"devDependencies": {
"wsrun": "5.2.4"
diff --git a/packages/example/.prettierrc.json b/packages/example/.prettierrc.json
new file mode 100644
index 0000000..0764141
--- /dev/null
+++ b/packages/example/.prettierrc.json
@@ -0,0 +1 @@
+"@rkrupinski/prettierconfig"
\ No newline at end of file
diff --git a/packages/example/README.md b/packages/example/README.md
new file mode 100644
index 0000000..383b694
--- /dev/null
+++ b/packages/example/README.md
@@ -0,0 +1,3 @@
+# @rkrupinski/react
+
+- [Docs](https://github.com/rkrupinski/react#readme)
diff --git a/packages/example/package.json b/packages/example/package.json
new file mode 100644
index 0000000..e633077
--- /dev/null
+++ b/packages/example/package.json
@@ -0,0 +1,18 @@
+{
+ "name": "example",
+ "private": true,
+ "version": "0.0.0",
+ "scripts": {
+ "clean": "rm -rf dist",
+ "start": "parcel src/index.html --open",
+ "build": "parcel build src/index.html"
+ },
+ "dependencies": {
+ "@rkrupinski/react": "*",
+ "todomvc-app-css": "2.4.2"
+ },
+ "devDependencies": {
+ "@rkrupinski/prettierconfig": "1.0.1",
+ "parcel": "2.9.3"
+ }
+}
diff --git a/packages/example/src/components/TodoInput/TodoInput.tsx b/packages/example/src/components/TodoInput/TodoInput.tsx
new file mode 100644
index 0000000..ecf7267
--- /dev/null
+++ b/packages/example/src/components/TodoInput/TodoInput.tsx
@@ -0,0 +1,43 @@
+/* @jsx createElement */
+
+import {
+ createElement,
+ useState,
+ useCallback,
+ type FC,
+} from '@rkrupinski/react';
+
+export type TodoInputProps = {
+ onNewTodo: (text: string) => void;
+};
+
+export const TodoInput: FC = ({ onNewTodo }) => {
+ const [text, setText] = useState('');
+
+ const handleInput = useCallback(
+ (e: any) => {
+ setText(e.target.value);
+ },
+ [setText],
+ );
+
+ const handleKeyDown = useCallback(
+ (e: any) => {
+ if (e.keyCode !== 13) return;
+
+ onNewTodo(e.target.value);
+ setText('');
+ },
+ [onNewTodo, setText],
+ );
+
+ return (
+
+ );
+};
diff --git a/packages/example/src/components/TodoInput/index.ts b/packages/example/src/components/TodoInput/index.ts
new file mode 100644
index 0000000..a825475
--- /dev/null
+++ b/packages/example/src/components/TodoInput/index.ts
@@ -0,0 +1 @@
+export * from './TodoInput';
diff --git a/packages/example/src/components/TodoItem/TodoItem.tsx b/packages/example/src/components/TodoItem/TodoItem.tsx
new file mode 100644
index 0000000..ceac768
--- /dev/null
+++ b/packages/example/src/components/TodoItem/TodoItem.tsx
@@ -0,0 +1,26 @@
+/* @jsx createElement */
+
+import { createElement, type FC } from '@rkrupinski/react';
+
+import type { Todo } from '../../types';
+
+export type TodoItemProps = {
+ data: Todo;
+ onToggle: (todo: Todo) => void;
+ onDestroy: (todo: Todo) => void;
+};
+
+export const TodoItem: FC = ({ data, onToggle, onDestroy }) => (
+
+
+ onToggle(data)}
+ />
+
+
+
+);
diff --git a/packages/example/src/components/TodoItem/index.ts b/packages/example/src/components/TodoItem/index.ts
new file mode 100644
index 0000000..21f4aba
--- /dev/null
+++ b/packages/example/src/components/TodoItem/index.ts
@@ -0,0 +1 @@
+export * from './TodoItem';
diff --git a/packages/example/src/components/TodoList/TodoList.tsx b/packages/example/src/components/TodoList/TodoList.tsx
new file mode 100644
index 0000000..087c8e8
--- /dev/null
+++ b/packages/example/src/components/TodoList/TodoList.tsx
@@ -0,0 +1,25 @@
+/* @jsx createElement */
+
+import { createElement, type FC } from '@rkrupinski/react';
+
+import type { Todo } from '../../types';
+import { TodoItem } from '../TodoItem';
+
+export type TodoListProps = {
+ todos: Todo[];
+ onToggle: (todo: Todo) => void;
+ onDestroy: (todo: Todo) => void;
+};
+
+export const TodoList: FC = ({ todos, onToggle, onDestroy }) => (
+
+ {todos.map(todo => (
+
+ ))}
+
+);
diff --git a/packages/example/src/components/TodoList/index.ts b/packages/example/src/components/TodoList/index.ts
new file mode 100644
index 0000000..f239f43
--- /dev/null
+++ b/packages/example/src/components/TodoList/index.ts
@@ -0,0 +1 @@
+export * from './TodoList';
diff --git a/packages/example/src/components/TodoNav/TodoNav.tsx b/packages/example/src/components/TodoNav/TodoNav.tsx
new file mode 100644
index 0000000..488cc65
--- /dev/null
+++ b/packages/example/src/components/TodoNav/TodoNav.tsx
@@ -0,0 +1,26 @@
+/* @jsx createElement */
+
+import { createElement, type FC } from '@rkrupinski/react';
+
+import { view, type View } from '../../types';
+
+export type TodoNavProps = {
+ current: View;
+ onChange: (newView: View) => void;
+};
+
+export const TodoNav: FC = ({ current, onChange }) => (
+
+);
diff --git a/packages/example/src/components/TodoNav/index.ts b/packages/example/src/components/TodoNav/index.ts
new file mode 100644
index 0000000..b547747
--- /dev/null
+++ b/packages/example/src/components/TodoNav/index.ts
@@ -0,0 +1 @@
+export * from './TodoNav';
diff --git a/packages/example/src/components/ToggleAll/ToggleAll.tsx b/packages/example/src/components/ToggleAll/ToggleAll.tsx
new file mode 100644
index 0000000..5439560
--- /dev/null
+++ b/packages/example/src/components/ToggleAll/ToggleAll.tsx
@@ -0,0 +1,36 @@
+/* @jsx createElement */
+/* @jsxFrag Fragment */
+
+import {
+ createElement,
+ Fragment,
+ useCallback,
+ type FC,
+} from '@rkrupinski/react';
+
+export type ToggleAllProps = {
+ all: boolean;
+ onToggle: (all: boolean) => void;
+};
+
+export const ToggleAll: FC = ({ all, onToggle }) => {
+ const handleToggle = useCallback(
+ (e: any) => {
+ onToggle(e.target.checked);
+ },
+ [onToggle],
+ );
+
+ return (
+ <>
+
+
+ >
+ );
+};
diff --git a/packages/example/src/components/ToggleAll/index.ts b/packages/example/src/components/ToggleAll/index.ts
new file mode 100644
index 0000000..1454db8
--- /dev/null
+++ b/packages/example/src/components/ToggleAll/index.ts
@@ -0,0 +1 @@
+export * from './ToggleAll';
diff --git a/packages/example/src/index.html b/packages/example/src/index.html
new file mode 100644
index 0000000..8fd20e9
--- /dev/null
+++ b/packages/example/src/index.html
@@ -0,0 +1,12 @@
+
+
+
+
+
+ @rkrupinski/react
+
+
+
+
+
+
diff --git a/packages/example/src/index.tsx b/packages/example/src/index.tsx
new file mode 100644
index 0000000..ca6a7f0
--- /dev/null
+++ b/packages/example/src/index.tsx
@@ -0,0 +1,157 @@
+/* @jsx createElement */
+/* @jsxFrag Fragment */
+
+import {
+ useMemo,
+ useState,
+ useCallback,
+ useEffect,
+ render,
+ createElement,
+ Fragment,
+ type FC,
+} from '@rkrupinski/react';
+
+import { type Todo, type View } from './types';
+import { isView } from './utils';
+import { TodoInput } from './components/TodoInput';
+import { ToggleAll } from './components/ToggleAll';
+import { TodoList } from './components/TodoList';
+import { TodoNav } from './components/TodoNav';
+
+import 'todomvc-app-css/index.css';
+
+const Todos: FC = () => {
+ const [all, setAll] = useState(false);
+
+ const [todos, setTodos] = useState([]);
+
+ const [currentView, setCurrentView] = useState(() => {
+ const candidate = window.location.hash.slice(1);
+
+ if (isView(candidate)) return candidate;
+
+ return 'all';
+ });
+
+ const active = useMemo(
+ () => todos.filter(({ completed }) => !completed),
+ [todos],
+ );
+
+ const completed = useMemo(
+ () => todos.filter(({ completed }) => completed),
+ [todos],
+ );
+
+ const visible = useMemo(() => {
+ switch (currentView) {
+ case 'all':
+ return todos;
+ case 'active':
+ return active;
+ case 'completed':
+ return completed;
+ }
+ }, [currentView, todos, active, completed]);
+
+ const handleAdd = useCallback(
+ (text: string) => {
+ if (!text.length) return;
+
+ setTodos(prev => [
+ ...prev,
+ {
+ id: crypto.randomUUID(),
+ body: text,
+ completed: false,
+ },
+ ]);
+ },
+ [setTodos],
+ );
+
+ const handleToggle = useCallback(
+ (todo: Todo) => {
+ setTodos(prev =>
+ prev.map(t =>
+ t.id === todo.id ? { ...t, completed: !t.completed } : t,
+ ),
+ );
+ },
+ [setTodos],
+ );
+
+ const handleDestroy = useCallback(
+ (todo: Todo) => {
+ setTodos(prev => prev.filter(({ id }) => id !== todo.id));
+ },
+ [setTodos],
+ );
+
+ const handleClearCompleted = useCallback(() => {
+ setTodos(active);
+ }, [setTodos, active]);
+
+ const handleToggleAll = useCallback(
+ (all: boolean) => {
+ setTodos(prev => prev.map(todo => ({ ...todo, completed: all })));
+ },
+ [setTodos],
+ );
+
+ useEffect(() => {
+ setAll(!!todos.length && todos.length === completed.length);
+ }, [todos, completed, setAll]);
+
+ return (
+ <>
+
+
+
+
+
+
+
+ {todos.length > 0 && (
+
+ )}
+
+
+
+
+ >
+ );
+};
+
+const root = document.querySelector('#root') as HTMLElement;
+
+render(, root);
diff --git a/packages/example/src/types.ts b/packages/example/src/types.ts
new file mode 100644
index 0000000..4fc717a
--- /dev/null
+++ b/packages/example/src/types.ts
@@ -0,0 +1,9 @@
+export type Todo = {
+ id: string;
+ body: string;
+ completed: boolean;
+};
+
+export const view = ['all', 'active', 'completed'] as const;
+
+export type View = (typeof view)[number];
diff --git a/packages/example/src/utils.ts b/packages/example/src/utils.ts
new file mode 100644
index 0000000..f2834f9
--- /dev/null
+++ b/packages/example/src/utils.ts
@@ -0,0 +1,4 @@
+import { view, type View } from './types';
+
+export const isView = (candidate: any): candidate is View =>
+ view.includes(candidate);
diff --git a/packages/example/tsconfig.json b/packages/example/tsconfig.json
new file mode 100644
index 0000000..986627d
--- /dev/null
+++ b/packages/example/tsconfig.json
@@ -0,0 +1,5 @@
+{
+ "compilerOptions": {
+ "jsx": "react"
+ }
+}
diff --git a/packages/react/package.json b/packages/react/package.json
index e07c4ce..1181b99 100644
--- a/packages/react/package.json
+++ b/packages/react/package.json
@@ -1,7 +1,7 @@
{
"name": "@rkrupinski/react",
- "description": "A lightweight React alternative",
- "version": "0.0.1",
+ "description": "An experimental, lightweight React alternative.",
+ "version": "0.0.1-rc1",
"main": "dist/index.js",
"module": "dist/index.js",
"types": "dist/index.d.ts",
diff --git a/packages/react/src/index.test.tsx b/packages/react/src/index.test.tsx
index 5ab659c..f12ae2c 100644
--- a/packages/react/src/index.test.tsx
+++ b/packages/react/src/index.test.tsx
@@ -63,7 +63,7 @@ describe('@rkrupinski/react', () => {
beforeEach(() => {
_doNotTouchOrYouWillBeFired.setScheduler(fn => {
fn({
- timeRemaining: () => 100,
+ timeRemaining: () => 1,
didTimeout: false,
});
return 1;
diff --git a/packages/react/src/index.ts b/packages/react/src/index.ts
index ada9c9b..110d228 100644
--- a/packages/react/src/index.ts
+++ b/packages/react/src/index.ts
@@ -18,6 +18,7 @@ type SetterOrUpdater = (arg: T | ((prev: T) => T)) => void;
type StateHook = {
type: 'state';
+ pending: Array>[0]>;
value: T;
dispatch: SetterOrUpdater;
};
@@ -75,14 +76,13 @@ type Fiber = {
alternate: Fiber | null;
};
-let scheduler: typeof requestIdleCallback =
- window.requestIdleCallback || (() => {});
-
const VOID = Symbol('VOID');
const ROOT = Symbol('ROOT');
const TEXT = Symbol('TEXT');
const FRAGMENT = Symbol('FRAGMENT');
+let scheduler = window.requestIdleCallback;
+
let _nextUnitOfWork: Fiber | null;
let _currentRoot: Fiber | null = null;
let _wipRoot: Fiber | null = null;
@@ -90,6 +90,15 @@ let _firstEffect: Fiber | null = null;
let _lastEffect: Fiber | null = null;
let _hookIndex = -1;
+const _isStateHook = (hook: Hook): hook is StateHook =>
+ hook.type === 'state';
+
+const _isMemoHook = (hook: Hook): hook is MemoHook =>
+ hook.type === 'memo';
+
+const _isEffectHook = (hook: Hook): hook is EffectHook =>
+ hook.type === 'effect';
+
const _scheduleEffect = (fiber: Fiber) => {
if (!_lastEffect) {
_firstEffect = fiber;
@@ -117,14 +126,8 @@ const _depsEqual = (a: T[] = [], b: T[] = []) => {
return a.every((val, i) => val === b[i]);
};
-const _runEffects = (fiber: Fiber) => {
- fiber.hooks.forEach(hook => {
- if (hook.type === 'effect' && hook.depsChanged) {
- hook.cleanup?.();
- hook.cleanup = hook.setup() ?? undefined;
- }
- });
-};
+const _getEffects = (fiber: Fiber) =>
+ fiber.hooks.filter(_isEffectHook).filter(({ depsChanged }) => depsChanged);
const _runCleanup = (fiber: Fiber) => {
fiber.hooks.forEach(hook => {
@@ -266,21 +269,17 @@ const _getSiblingDom = (fiber: Fiber): Fiber['dom'] => {
return null;
};
-const _reorderChildren = (f: Fiber, key: Fiber['key']) => {
- let prev = f;
- let curr = f.sibling;
+const _reorderSiblings = (fiber: Fiber, start: Fiber) => {
+ let curr: Fiber | null = fiber;
- while (curr && curr.key !== key) {
- prev = curr;
+ while (curr?.sibling) {
+ if (curr.sibling.key === start.key) curr.sibling = curr.sibling.sibling;
curr = curr.sibling;
}
- const tmp = curr?.sibling ?? null;
+ start.sibling = fiber;
- if (curr) curr.sibling = f;
- prev.sibling = tmp;
-
- return curr;
+ return start;
};
const _createDom = (fiber: Fiber) => {
@@ -366,7 +365,7 @@ const _updateDom = (
case 'value':
case 'checked':
(el as any)[p] = props[p];
- break;
+ // eslint-disable-next-line no-fallthrough
default:
el.setAttribute(p, props[p]);
break;
@@ -392,15 +391,12 @@ const _beginWork = (fiber: Fiber) => {
let keyMismatch = false;
if (fiber.key !== null && fiber.key !== fiber.alternate.key) {
- const { children: altChildren = [] } =
- fiber.return?.alternate?.props ?? {};
+ let alt: Fiber | null = fiber.alternate;
- const altIndex = altChildren.findIndex(
- c => _isElement(c) && c.key === fiber.key,
- );
+ while (alt && alt.key !== fiber.key) alt = alt.sibling;
- if (altIndex !== -1) {
- fiber.alternate = _reorderChildren(fiber.alternate, fiber.key) as Fiber;
+ if (alt) {
+ fiber.alternate = _reorderSiblings(fiber.alternate, alt);
fiber.hooks = fiber.alternate.hooks;
fiber.dom = fiber.alternate.dom;
} else {
@@ -428,7 +424,7 @@ const _beginWork = (fiber: Fiber) => {
switch (fiber.tag) {
case 'functionComponent':
_updateFunctionComponent(fiber);
- if (!fiber.effectTag) _runEffects(fiber);
+ if (!fiber.effectTag && fiber.hooks.length) _scheduleEffect(fiber);
break;
case 'hostText':
case 'hostComponent':
@@ -462,11 +458,12 @@ const _beginWork = (fiber: Fiber) => {
return childFiber;
}
- const altChild = fiber.alternate?.child;
+ let altChild = fiber.alternate?.child;
- if (altChild) {
+ while (altChild) {
altChild.effectTag = 'remove';
_scheduleEffect(altChild);
+ altChild = altChild.sibling;
}
return null;
@@ -512,36 +509,38 @@ const _performUnitOfWork = (fiber: Fiber) =>
_beginWork(fiber) ?? _completeWork(fiber);
const _commitWork = (effectFiber: Fiber | null) => {
+ const effects: EffectHook[] = [];
let curr = effectFiber;
while (curr) {
switch (curr.effectTag) {
- case 'add': {
+ case 'add':
if (curr.dom instanceof HTMLElement)
_updateDom(curr.dom, {}, curr.props);
if (curr.dom)
_getParentDom(curr).insertBefore(curr.dom, _getSiblingDom(curr));
- _runEffects(curr);
+ effects.push(..._getEffects(curr));
break;
- }
- case 'update': {
+ case 'update':
if (curr.dom instanceof Text) {
curr.dom.nodeValue = (curr.props as TextProps).nodeValue;
} else if (curr.dom instanceof HTMLElement) {
_updateDom(curr.dom, curr.alternate?.props ?? {}, curr.props);
}
- _runEffects(curr);
+ effects.push(..._getEffects(curr));
break;
- }
- case 'remove': {
+ case 'remove':
_removeDom(curr, _getParentDom(curr));
break;
- }
+
+ default:
+ effects.push(..._getEffects(curr));
+ break;
}
const tmp = curr;
@@ -549,13 +548,18 @@ const _commitWork = (effectFiber: Fiber | null) => {
tmp.effectTag = null;
tmp.nextEffect = null;
}
+
+ effects.forEach(effect => {
+ effect.cleanup?.();
+ effect.cleanup = effect.setup() ?? undefined;
+ });
};
const _workLoop = (deadline: IdleDeadline) => {
if (!_nextUnitOfWork && _wipRoot) {
- _commitWork(_firstEffect);
_currentRoot = _wipRoot;
_wipRoot = null;
+ _commitWork(_firstEffect);
return;
}
@@ -576,9 +580,10 @@ const useState = (initialValue: T | (() => T)): [T, SetterOrUpdater] => {
if (!fiber.hooks[_hookIndex])
fiber.hooks[_hookIndex] = {
type: 'state',
+ pending: [],
value: initialValue instanceof Function ? initialValue() : initialValue,
dispatch: (arg: Parameters>[0]) => {
- hook.value = arg instanceof Function ? arg(hook.value) : arg;
+ (hook as StateHook).pending.push(arg);
_wipRoot = _createFiber({
..._currentRoot,
@@ -598,9 +603,16 @@ const useState = (initialValue: T | (() => T)): [T, SetterOrUpdater] => {
},
};
- const hook = fiber.hooks[_hookIndex] as StateHook;
+ const hook = fiber.hooks[_hookIndex];
+
+ if (!_isStateHook(hook)) throw new Error('WAT');
+
+ hook.value = hook.pending.reduce(
+ (acc, curr) => (curr instanceof Function ? curr(acc) : curr),
+ hook.value,
+ );
- if (hook.type !== 'state') throw new Error('WAT');
+ hook.pending = [];
return [hook.value, hook.dispatch];
};
@@ -620,9 +632,9 @@ const useMemo = (makeValue: () => T, deps: any[]) => {
};
}
- const hook = fiber.hooks[_hookIndex] as MemoHook;
+ const hook = fiber.hooks[_hookIndex];
- if (hook.type !== 'memo') throw new Error('WAT');
+ if (!_isMemoHook(hook)) throw new Error('WAT');
if (!_depsEqual(hook.deps, deps)) {
hook.value = makeValue();
@@ -658,9 +670,9 @@ const useEffect = (
return;
}
- const hook = fiber.hooks[_hookIndex] as EffectHook;
+ const hook = fiber.hooks[_hookIndex];
- if (hook.type !== 'effect') throw new Error('WAT');
+ if (!_isEffectHook(hook)) throw new Error('WAT');
hook.depsChanged = !deps || !_depsEqual(hook.deps, deps);
hook.deps = deps;
diff --git a/yarn.lock b/yarn.lock
index 9cc2fda..3871e72 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -618,6 +618,87 @@
"@jridgewell/resolve-uri" "3.1.0"
"@jridgewell/sourcemap-codec" "1.4.14"
+"@lezer/common@^0.15.0", "@lezer/common@^0.15.7":
+ version "0.15.12"
+ resolved "https://registry.yarnpkg.com/@lezer/common/-/common-0.15.12.tgz#2f21aec551dd5fd7d24eb069f90f54d5bc6ee5e9"
+ integrity sha512-edfwCxNLnzq5pBA/yaIhwJ3U3Kz8VAUOTRg0hhxaizaI1N+qxV7EXDv/kLCkLeq2RzSFvxexlaj5Mzfn2kY0Ig==
+
+"@lezer/lr@^0.15.4":
+ version "0.15.8"
+ resolved "https://registry.yarnpkg.com/@lezer/lr/-/lr-0.15.8.tgz#1564a911e62b0a0f75ca63794a6aa8c5dc63db21"
+ integrity sha512-bM6oE6VQZ6hIFxDNKk8bKPa14hqFrV07J/vHGOeiAbJReIaQXmkVb6xQu4MR+JBTLa5arGRyAAjJe1qaQt3Uvg==
+ dependencies:
+ "@lezer/common" "^0.15.0"
+
+"@lmdb/lmdb-darwin-arm64@2.7.11":
+ version "2.7.11"
+ resolved "https://registry.yarnpkg.com/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.7.11.tgz#b717e72f023d4215d14e4c57433c711a53c782cf"
+ integrity sha512-r6+vYq2vKzE+vgj/rNVRMwAevq0+ZR9IeMFIqcSga+wMtMdXQ27KqQ7uS99/yXASg29bos7yHP3yk4x6Iio0lw==
+
+"@lmdb/lmdb-darwin-x64@2.7.11":
+ version "2.7.11"
+ resolved "https://registry.yarnpkg.com/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-2.7.11.tgz#b42898b0742b4a82b8224b742b2d174c449cd170"
+ integrity sha512-jhj1aB4K8ycRL1HOQT5OtzlqOq70jxUQEWRN9Gqh3TIDN30dxXtiHi6EWF516tzw6v2+3QqhDMJh8O6DtTGG8Q==
+
+"@lmdb/lmdb-linux-arm64@2.7.11":
+ version "2.7.11"
+ resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-2.7.11.tgz#a8dc8e386d27006cfccbf2a8598290b63d03a9ec"
+ integrity sha512-7xGEfPPbmVJWcY2Nzqo11B9Nfxs+BAsiiaY/OcT4aaTDdykKeCjvKMQJA3KXCtZ1AtiC9ljyGLi+BfUwdulY5A==
+
+"@lmdb/lmdb-linux-arm@2.7.11":
+ version "2.7.11"
+ resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-2.7.11.tgz#2103f48af28336efccaac008fe882dfce33e4ac5"
+ integrity sha512-dHfLFVSrw/v5X5lkwp0Vl7+NFpEeEYKfMG2DpdFJnnG1RgHQZngZxCaBagFoaJGykRpd2DYF1AeuXBFrAUAXfw==
+
+"@lmdb/lmdb-linux-x64@2.7.11":
+ version "2.7.11"
+ resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-2.7.11.tgz#d21ac368022a662610540f2ba8bb6ff0b96a9940"
+ integrity sha512-vUKI3JrREMQsXX8q0Eq5zX2FlYCKWMmLiCyyJNfZK0Uyf14RBg9VtB3ObQ41b4swYh2EWaltasWVe93Y8+KDng==
+
+"@lmdb/lmdb-win32-x64@2.7.11":
+ version "2.7.11"
+ resolved "https://registry.yarnpkg.com/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-2.7.11.tgz#af2cb4ae6d3a92ecdeb1503b73079417525476d2"
+ integrity sha512-BJwkHlSUgtB+Ei52Ai32M1AOMerSlzyIGA/KC4dAGL+GGwVMdwG8HGCOA2TxP3KjhbgDPMYkv7bt/NmOmRIFng==
+
+"@mischnic/json-sourcemap@^0.1.0":
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/@mischnic/json-sourcemap/-/json-sourcemap-0.1.0.tgz#38af657be4108140a548638267d02a2ea3336507"
+ integrity sha512-dQb3QnfNqmQNYA4nFSN/uLaByIic58gOXq4Y4XqLOWmOrw73KmJPt/HLyG0wvn1bnR6mBKs/Uwvkh+Hns1T0XA==
+ dependencies:
+ "@lezer/common" "^0.15.7"
+ "@lezer/lr" "^0.15.4"
+ json5 "^2.2.1"
+
+"@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.2.tgz#44d752c1a2dc113f15f781b7cc4f53a307e3fa38"
+ integrity sha512-9bfjwDxIDWmmOKusUcqdS4Rw+SETlp9Dy39Xui9BEGEk19dDwH0jhipwFzEff/pFg95NKymc6TOTbRKcWeRqyQ==
+
+"@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.2.tgz#f954f34355712212a8e06c465bc06c40852c6bb3"
+ integrity sha512-lwriRAHm1Yg4iDf23Oxm9n/t5Zpw1lVnxYU3HnJPTi2lJRkKTrps1KVgvL6m7WvmhYVt/FIsssWay+k45QHeuw==
+
+"@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.2.tgz#45c63037f045c2b15c44f80f0393fa24f9655367"
+ integrity sha512-FU20Bo66/f7He9Fp9sP2zaJ1Q8L9uLPZQDub/WlUip78JlPeMbVL8546HbZfcW9LNciEXc8d+tThSJjSC+tmsg==
+
+"@msgpackr-extract/msgpackr-extract-linux-arm@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.2.tgz#35707efeafe6d22b3f373caf9e8775e8920d1399"
+ integrity sha512-MOI9Dlfrpi2Cuc7i5dXdxPbFIgbDBGgKR5F2yWEa6FVEtSWncfVNKW5AKjImAQ6CZlBK9tympdsZJ2xThBiWWA==
+
+"@msgpackr-extract/msgpackr-extract-linux-x64@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.2.tgz#091b1218b66c341f532611477ef89e83f25fae4f"
+ integrity sha512-gsWNDCklNy7Ajk0vBBf9jEx04RUxuDQfBse918Ww+Qb9HCPoGzS+XJTLe96iN3BVK7grnLiYghP/M4L8VsaHeA==
+
+"@msgpackr-extract/msgpackr-extract-win32-x64@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.2.tgz#0f164b726869f71da3c594171df5ebc1c4b0a407"
+ integrity sha512-O+6Gs8UeDbyFpbSh2CPEz/UOrrdWPTBYNblZK5CxxLisYt4kGX3Sc+czffFonyjiGSq3jWLwJS/CCJc7tBr4sQ==
+
"@nodelib/fs.scandir@2.1.5":
version "2.1.5"
resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
@@ -639,6 +720,650 @@
"@nodelib/fs.scandir" "2.1.5"
fastq "^1.6.0"
+"@parcel/bundler-default@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/bundler-default/-/bundler-default-2.9.3.tgz#df18c4b8390a03f83ac6c89da302f9edf48c8fe2"
+ integrity sha512-JjJK8dq39/UO/MWI/4SCbB1t/qgpQRFnFDetAAAezQ8oN++b24u1fkMDa/xqQGjbuPmGeTds5zxGgYs7id7PYg==
+ dependencies:
+ "@parcel/diagnostic" "2.9.3"
+ "@parcel/graph" "2.9.3"
+ "@parcel/hash" "2.9.3"
+ "@parcel/plugin" "2.9.3"
+ "@parcel/utils" "2.9.3"
+ nullthrows "^1.1.1"
+
+"@parcel/cache@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/cache/-/cache-2.9.3.tgz#3ed40b79858fcb7c2c73c0ed4c9807cf2388c8b4"
+ integrity sha512-Bj/H2uAJJSXtysG7E/x4EgTrE2hXmm7td/bc97K8M9N7+vQjxf7xb0ebgqe84ePVMkj4MVQSMEJkEucXVx4b0Q==
+ dependencies:
+ "@parcel/fs" "2.9.3"
+ "@parcel/logger" "2.9.3"
+ "@parcel/utils" "2.9.3"
+ lmdb "2.7.11"
+
+"@parcel/codeframe@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/codeframe/-/codeframe-2.9.3.tgz#056cacaeedae9318878bdee8ffc584178b10ba42"
+ integrity sha512-z7yTyD6h3dvduaFoHpNqur74/2yDWL++33rjQjIjCaXREBN6dKHoMGMizzo/i4vbiI1p9dDox2FIDEHCMQxqdA==
+ dependencies:
+ chalk "^4.1.0"
+
+"@parcel/compressor-raw@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/compressor-raw/-/compressor-raw-2.9.3.tgz#89f5a3667d844b277ecc3811faf44fc2eeacc8d3"
+ integrity sha512-jz3t4/ICMsHEqgiTmv5i1DJva2k5QRpZlBELVxfY+QElJTVe8edKJ0TiKcBxh2hx7sm4aUigGmp7JiqqHRRYmA==
+ dependencies:
+ "@parcel/plugin" "2.9.3"
+
+"@parcel/config-default@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/config-default/-/config-default-2.9.3.tgz#343172f9f91563ee6024a323eea9825ae89eedc3"
+ integrity sha512-tqN5tF7QnVABDZAu76co5E6N8mA9n8bxiWdK4xYyINYFIEHgX172oRTqXTnhEMjlMrdmASxvnGlbaPBaVnrCTw==
+ dependencies:
+ "@parcel/bundler-default" "2.9.3"
+ "@parcel/compressor-raw" "2.9.3"
+ "@parcel/namer-default" "2.9.3"
+ "@parcel/optimizer-css" "2.9.3"
+ "@parcel/optimizer-htmlnano" "2.9.3"
+ "@parcel/optimizer-image" "2.9.3"
+ "@parcel/optimizer-svgo" "2.9.3"
+ "@parcel/optimizer-swc" "2.9.3"
+ "@parcel/packager-css" "2.9.3"
+ "@parcel/packager-html" "2.9.3"
+ "@parcel/packager-js" "2.9.3"
+ "@parcel/packager-raw" "2.9.3"
+ "@parcel/packager-svg" "2.9.3"
+ "@parcel/reporter-dev-server" "2.9.3"
+ "@parcel/resolver-default" "2.9.3"
+ "@parcel/runtime-browser-hmr" "2.9.3"
+ "@parcel/runtime-js" "2.9.3"
+ "@parcel/runtime-react-refresh" "2.9.3"
+ "@parcel/runtime-service-worker" "2.9.3"
+ "@parcel/transformer-babel" "2.9.3"
+ "@parcel/transformer-css" "2.9.3"
+ "@parcel/transformer-html" "2.9.3"
+ "@parcel/transformer-image" "2.9.3"
+ "@parcel/transformer-js" "2.9.3"
+ "@parcel/transformer-json" "2.9.3"
+ "@parcel/transformer-postcss" "2.9.3"
+ "@parcel/transformer-posthtml" "2.9.3"
+ "@parcel/transformer-raw" "2.9.3"
+ "@parcel/transformer-react-refresh-wrap" "2.9.3"
+ "@parcel/transformer-svg" "2.9.3"
+
+"@parcel/core@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/core/-/core-2.9.3.tgz#91346afa57d7b731e7c961451462a51af940acf3"
+ integrity sha512-4KlM1Zr/jpsqWuMXr2zmGsaOUs1zMMFh9vfCNKRZkptf+uk8I3sugHbNdo+F5B+4e2yMuOEb1zgAmvJLeuH6ww==
+ dependencies:
+ "@mischnic/json-sourcemap" "^0.1.0"
+ "@parcel/cache" "2.9.3"
+ "@parcel/diagnostic" "2.9.3"
+ "@parcel/events" "2.9.3"
+ "@parcel/fs" "2.9.3"
+ "@parcel/graph" "2.9.3"
+ "@parcel/hash" "2.9.3"
+ "@parcel/logger" "2.9.3"
+ "@parcel/package-manager" "2.9.3"
+ "@parcel/plugin" "2.9.3"
+ "@parcel/profiler" "2.9.3"
+ "@parcel/source-map" "^2.1.1"
+ "@parcel/types" "2.9.3"
+ "@parcel/utils" "2.9.3"
+ "@parcel/workers" "2.9.3"
+ abortcontroller-polyfill "^1.1.9"
+ base-x "^3.0.8"
+ browserslist "^4.6.6"
+ clone "^2.1.1"
+ dotenv "^7.0.0"
+ dotenv-expand "^5.1.0"
+ json5 "^2.2.0"
+ msgpackr "^1.5.4"
+ nullthrows "^1.1.1"
+ semver "^7.5.2"
+
+"@parcel/diagnostic@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/diagnostic/-/diagnostic-2.9.3.tgz#23befe6c3b78440fe1e3635086e637da1529b4db"
+ integrity sha512-6jxBdyB3D7gP4iE66ghUGntWt2v64E6EbD4AetZk+hNJpgudOOPsKTovcMi/i7I4V0qD7WXSF4tvkZUoac0jwA==
+ dependencies:
+ "@mischnic/json-sourcemap" "^0.1.0"
+ nullthrows "^1.1.1"
+
+"@parcel/events@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/events/-/events-2.9.3.tgz#b71253384c21f53fd3cced983cd2b287f7330e89"
+ integrity sha512-K0Scx+Bx9f9p1vuShMzNwIgiaZUkxEnexaKYHYemJrM7pMAqxIuIqhnvwurRCsZOVLUJPDDNJ626cWTc5vIq+A==
+
+"@parcel/fs-search@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/fs-search/-/fs-search-2.9.3.tgz#4993d68478b15db404149a271bb0084382dd2040"
+ integrity sha512-nsNz3bsOpwS+jphcd+XjZL3F3PDq9lik0O8HPm5f6LYkqKWT+u/kgQzA8OkAHCR3q96LGiHxUywHPEBc27vI4Q==
+
+"@parcel/fs@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/fs/-/fs-2.9.3.tgz#39abd0f71561efccaac3ba6e4b8227705b73e906"
+ integrity sha512-/PrRKgCRw22G7rNPSpgN3Q+i2nIkZWuvIOAdMG4KWXC4XLp8C9jarNaWd5QEQ75amjhQSl3oUzABzkdCtkKrgg==
+ dependencies:
+ "@parcel/fs-search" "2.9.3"
+ "@parcel/types" "2.9.3"
+ "@parcel/utils" "2.9.3"
+ "@parcel/watcher" "^2.0.7"
+ "@parcel/workers" "2.9.3"
+
+"@parcel/graph@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/graph/-/graph-2.9.3.tgz#38f6c403ff4a2741390708be510bbf328d311a63"
+ integrity sha512-3LmRJmF8+OprAr6zJT3X2s8WAhLKkrhi6RsFlMWHifGU5ED1PFcJWFbOwJvSjcAhMQJP0fErcFIK1Ludv3Vm3g==
+ dependencies:
+ nullthrows "^1.1.1"
+
+"@parcel/hash@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/hash/-/hash-2.9.3.tgz#bc7727939b1211b0a5d67fd00a9a55b8393c644a"
+ integrity sha512-qlH5B85XLzVAeijgKPjm1gQu35LoRYX/8igsjnN8vOlbc3O8BYAUIutU58fbHbtE8MJPbxQQUw7tkTjeoujcQQ==
+ dependencies:
+ xxhash-wasm "^0.4.2"
+
+"@parcel/logger@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/logger/-/logger-2.9.3.tgz#04362704d7af93d213de6587ff71a1a6d5f714ac"
+ integrity sha512-5FNBszcV6ilGFcijEOvoNVG6IUJGsnMiaEnGQs7Fvc1dktTjEddnoQbIYhcSZL63wEmzBZOgkT5yDMajJ/41jw==
+ dependencies:
+ "@parcel/diagnostic" "2.9.3"
+ "@parcel/events" "2.9.3"
+
+"@parcel/markdown-ansi@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/markdown-ansi/-/markdown-ansi-2.9.3.tgz#b4de64eb252ce13e27f6e24e420b607db51097a5"
+ integrity sha512-/Q4X8F2aN8UNjAJrQ5NfK2OmZf6shry9DqetUSEndQ0fHonk78WKt6LT0zSKEBEW/bB/bXk6mNMsCup6L8ibjQ==
+ dependencies:
+ chalk "^4.1.0"
+
+"@parcel/namer-default@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/namer-default/-/namer-default-2.9.3.tgz#6dca34cbd26b29f0fd200627848c8026d58052e1"
+ integrity sha512-1ynFEcap48/Ngzwwn318eLYpLUwijuuZoXQPCsEQ21OOIOtfhFQJaPwXTsw6kRitshKq76P2aafE0BioGSqxcA==
+ dependencies:
+ "@parcel/diagnostic" "2.9.3"
+ "@parcel/plugin" "2.9.3"
+ nullthrows "^1.1.1"
+
+"@parcel/node-resolver-core@3.0.3":
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/@parcel/node-resolver-core/-/node-resolver-core-3.0.3.tgz#cc890e66695b6d28745415106565499af9cb3c47"
+ integrity sha512-AjxNcZVHHJoNT/A99PKIdFtwvoze8PAiC3yz8E/dRggrDIOboUEodeQYV5Aq++aK76uz/iOP0tST2T8A5rhb1A==
+ dependencies:
+ "@mischnic/json-sourcemap" "^0.1.0"
+ "@parcel/diagnostic" "2.9.3"
+ "@parcel/fs" "2.9.3"
+ "@parcel/utils" "2.9.3"
+ nullthrows "^1.1.1"
+ semver "^7.5.2"
+
+"@parcel/optimizer-css@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/optimizer-css/-/optimizer-css-2.9.3.tgz#76f2f77adde9dee7498611f6be3078d0bde0396d"
+ integrity sha512-RK1QwcSdWDNUsFvuLy0hgnYKtPQebzCb0vPPzqs6LhL+vqUu9utOyRycGaQffHCkHVQP6zGlN+KFssd7YtFGhA==
+ dependencies:
+ "@parcel/diagnostic" "2.9.3"
+ "@parcel/plugin" "2.9.3"
+ "@parcel/source-map" "^2.1.1"
+ "@parcel/utils" "2.9.3"
+ browserslist "^4.6.6"
+ lightningcss "^1.16.1"
+ nullthrows "^1.1.1"
+
+"@parcel/optimizer-htmlnano@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.9.3.tgz#d5953a98892e4ba437b6e2022ad85dadacb0c84f"
+ integrity sha512-9g/KBck3c6DokmJfvJ5zpHFBiCSolaGrcsTGx8C3YPdCTVTI9P1TDCwUxvAr4LjpcIRSa82wlLCI+nF6sSgxKA==
+ dependencies:
+ "@parcel/plugin" "2.9.3"
+ htmlnano "^2.0.0"
+ nullthrows "^1.1.1"
+ posthtml "^0.16.5"
+ svgo "^2.4.0"
+
+"@parcel/optimizer-image@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/optimizer-image/-/optimizer-image-2.9.3.tgz#80d9be617bf2c695960ff3c5644c87c1775e1f3a"
+ integrity sha512-530YzthE7kmecnNhPbkAK+26yQNt69pfJrgE0Ev0BZaM1Wu2+33nki7o8qvkTkikhPrurEJLGIXt1qKmbKvCbA==
+ dependencies:
+ "@parcel/diagnostic" "2.9.3"
+ "@parcel/plugin" "2.9.3"
+ "@parcel/utils" "2.9.3"
+ "@parcel/workers" "2.9.3"
+
+"@parcel/optimizer-svgo@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/optimizer-svgo/-/optimizer-svgo-2.9.3.tgz#e4d90f6bc1c8eeb39193759631db1bb86943bf4b"
+ integrity sha512-ytQS0wY5JJhWU4mL0wfhYDUuHcfuw+Gy2+JcnTm1t1AZXHlOTbU6EzRWNqBShsgXjvdrQQXizAe3B6GFFlFJVQ==
+ dependencies:
+ "@parcel/diagnostic" "2.9.3"
+ "@parcel/plugin" "2.9.3"
+ "@parcel/utils" "2.9.3"
+ svgo "^2.4.0"
+
+"@parcel/optimizer-swc@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/optimizer-swc/-/optimizer-swc-2.9.3.tgz#794a909864f76a366331f023e38082b19213c016"
+ integrity sha512-GQINNeqtdpL1ombq/Cpwi6IBk02wKJ/JJbYbyfHtk8lxlq13soenpwOlzJ5T9D2fdG+FUhai9NxpN5Ss4lNoAg==
+ dependencies:
+ "@parcel/diagnostic" "2.9.3"
+ "@parcel/plugin" "2.9.3"
+ "@parcel/source-map" "^2.1.1"
+ "@parcel/utils" "2.9.3"
+ "@swc/core" "^1.3.36"
+ nullthrows "^1.1.1"
+
+"@parcel/package-manager@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/package-manager/-/package-manager-2.9.3.tgz#e8522671ba6c4f0a07b518957d22a038a7698b24"
+ integrity sha512-NH6omcNTEupDmW4Lm1e4NUYBjdqkURxgZ4CNESESInHJe6tblVhNB8Rpr1ar7zDar7cly9ILr8P6N3Ei7bTEjg==
+ dependencies:
+ "@parcel/diagnostic" "2.9.3"
+ "@parcel/fs" "2.9.3"
+ "@parcel/logger" "2.9.3"
+ "@parcel/node-resolver-core" "3.0.3"
+ "@parcel/types" "2.9.3"
+ "@parcel/utils" "2.9.3"
+ "@parcel/workers" "2.9.3"
+ semver "^7.5.2"
+
+"@parcel/packager-css@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/packager-css/-/packager-css-2.9.3.tgz#a39a733b6e25e4f982d8b1af8bfc5d727475def0"
+ integrity sha512-mePiWiYZOULY6e1RdAIJyRoYqXqGci0srOaVZYaP7mnrzvJgA63kaZFFsDiEWghunQpMUuUjM2x/vQVHzxmhKQ==
+ dependencies:
+ "@parcel/diagnostic" "2.9.3"
+ "@parcel/plugin" "2.9.3"
+ "@parcel/source-map" "^2.1.1"
+ "@parcel/utils" "2.9.3"
+ nullthrows "^1.1.1"
+
+"@parcel/packager-html@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/packager-html/-/packager-html-2.9.3.tgz#53657c13a25e744415ece2990902a2eb6434adbe"
+ integrity sha512-0Ex+O0EaZf9APNERRNGgGto02hFJ6f5RQEvRWBK55WAV1rXeU+kpjC0c0qZvnUaUtXfpWMsEBkevJCwDkUMeMg==
+ dependencies:
+ "@parcel/plugin" "2.9.3"
+ "@parcel/types" "2.9.3"
+ "@parcel/utils" "2.9.3"
+ nullthrows "^1.1.1"
+ posthtml "^0.16.5"
+
+"@parcel/packager-js@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/packager-js/-/packager-js-2.9.3.tgz#ef8d3dde67c4da3dd83374b8d13aba9a9f3a7444"
+ integrity sha512-V5xwkoE3zQ3R+WqAWhA1KGQ791FvJeW6KonOlMI1q76Djjgox68hhObqcLu66AmYNhR2R/wUpkP18hP2z8dSFw==
+ dependencies:
+ "@parcel/diagnostic" "2.9.3"
+ "@parcel/hash" "2.9.3"
+ "@parcel/plugin" "2.9.3"
+ "@parcel/source-map" "^2.1.1"
+ "@parcel/utils" "2.9.3"
+ globals "^13.2.0"
+ nullthrows "^1.1.1"
+
+"@parcel/packager-raw@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/packager-raw/-/packager-raw-2.9.3.tgz#288335d1d1a928796dd07f13911acd2c3aefab8a"
+ integrity sha512-oPQTNoYanQ2DdJyL61uPYK2py83rKOT8YVh2QWAx0zsSli6Kiy64U3+xOCYWgDVCrHw9+9NpQMuAdSiFg4cq8g==
+ dependencies:
+ "@parcel/plugin" "2.9.3"
+
+"@parcel/packager-svg@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/packager-svg/-/packager-svg-2.9.3.tgz#16ae31fce0656bc8d9e9e1d5334925ed938c66d8"
+ integrity sha512-p/Ya6UO9DAkaCUFxfFGyeHZDp9YPAlpdnh1OChuwqSFOXFjjeXuoK4KLT+ZRalVBo2Jo8xF70oKMZw4MVvaL7Q==
+ dependencies:
+ "@parcel/plugin" "2.9.3"
+ "@parcel/types" "2.9.3"
+ "@parcel/utils" "2.9.3"
+ posthtml "^0.16.4"
+
+"@parcel/plugin@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/plugin/-/plugin-2.9.3.tgz#90e9a9482fa27735494372f5643db01abcf3fdb6"
+ integrity sha512-qN85Gqr2GMuxX1dT1mnuO9hOcvlEv1lrYrCxn7CJN2nUhbwcfG+LEvcrCzCOJ6XtIHm+ZBV9h9p7FfoPLvpw+g==
+ dependencies:
+ "@parcel/types" "2.9.3"
+
+"@parcel/profiler@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/profiler/-/profiler-2.9.3.tgz#6575ed6dc4275c0161dce74bd719961236673ce1"
+ integrity sha512-pyHc9lw8VZDfgZoeZWZU9J0CVEv1Zw9O5+e0DJPDPHuXJYr72ZAOhbljtU3owWKAeW+++Q2AZWkbUGEOjI/e6g==
+ dependencies:
+ "@parcel/diagnostic" "2.9.3"
+ "@parcel/events" "2.9.3"
+ chrome-trace-event "^1.0.2"
+
+"@parcel/reporter-cli@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/reporter-cli/-/reporter-cli-2.9.3.tgz#c17e159e9b0099f7767ccfcc9cc67d28c0592763"
+ integrity sha512-pZiEvQpuXFuQBafMHxkDmwH8CnnK9sWHwa3bSbsnt385aUahtE8dpY0LKt+K1zfB6degKoczN6aWVj9WycQuZQ==
+ dependencies:
+ "@parcel/plugin" "2.9.3"
+ "@parcel/types" "2.9.3"
+ "@parcel/utils" "2.9.3"
+ chalk "^4.1.0"
+ term-size "^2.2.1"
+
+"@parcel/reporter-dev-server@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/reporter-dev-server/-/reporter-dev-server-2.9.3.tgz#5871d19138a1a282fa8b375d4160de7f30138f3d"
+ integrity sha512-s6eboxdLEtRSvG52xi9IiNbcPKC0XMVmvTckieue2EqGDbDcaHQoHmmwkk0rNq0/Z/UxelGcQXoIYC/0xq3ykQ==
+ dependencies:
+ "@parcel/plugin" "2.9.3"
+ "@parcel/utils" "2.9.3"
+
+"@parcel/reporter-tracer@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/reporter-tracer/-/reporter-tracer-2.9.3.tgz#6ab343f5fdaeda7e6724fbaa153ab2945595e735"
+ integrity sha512-9cXpKWk0m6d6d+4+TlAdOe8XIPaFEIKGWMWG+5SFAQE08u3olet4PSvd49F4+ZZo5ftRE7YI3j6xNbXvJT8KGw==
+ dependencies:
+ "@parcel/plugin" "2.9.3"
+ "@parcel/utils" "2.9.3"
+ chrome-trace-event "^1.0.3"
+ nullthrows "^1.1.1"
+
+"@parcel/resolver-default@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/resolver-default/-/resolver-default-2.9.3.tgz#9029e8be0efae586834243e8a8c607f739678040"
+ integrity sha512-8ESJk1COKvDzkmOnppNXoDamNMlYVIvrKc2RuFPmp8nKVj47R6NwMgvwxEaatyPzvkmyTpq5RvG9I3HFc+r4Cw==
+ dependencies:
+ "@parcel/node-resolver-core" "3.0.3"
+ "@parcel/plugin" "2.9.3"
+
+"@parcel/runtime-browser-hmr@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.9.3.tgz#9db567aaae92c9b2b8abd26ea25ec2b549eebb54"
+ integrity sha512-EgiDIDrVAWpz7bOzWXqVinQkaFjLwT34wsonpXAbuI7f7r00d52vNAQC9AMu+pTijA3gyKoJ+Q4NWPMZf7ACDA==
+ dependencies:
+ "@parcel/plugin" "2.9.3"
+ "@parcel/utils" "2.9.3"
+
+"@parcel/runtime-js@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/runtime-js/-/runtime-js-2.9.3.tgz#481c4f26705e684809bef097bf2cb75052c2982c"
+ integrity sha512-EvIy+qXcKnB5qxHhe96zmJpSAViNVXHfQI5RSdZ2a7CPwORwhTI+zPNT9sb7xb/WwFw/WuTTgzT40b41DceU6Q==
+ dependencies:
+ "@parcel/diagnostic" "2.9.3"
+ "@parcel/plugin" "2.9.3"
+ "@parcel/utils" "2.9.3"
+ nullthrows "^1.1.1"
+
+"@parcel/runtime-react-refresh@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.9.3.tgz#8d82cd4fbcdc228d439bae232eb3c65d36e62872"
+ integrity sha512-XBgryZQIyCmi6JwEfMUCmINB3l1TpTp9a2iFxmYNpzHlqj4Ve0saKaqWOVRLvC945ZovWIBzcSW2IYqWKGtbAA==
+ dependencies:
+ "@parcel/plugin" "2.9.3"
+ "@parcel/utils" "2.9.3"
+ react-error-overlay "6.0.9"
+ react-refresh "^0.9.0"
+
+"@parcel/runtime-service-worker@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/runtime-service-worker/-/runtime-service-worker-2.9.3.tgz#93dba721477c84f44458a42b28f75c875f56974d"
+ integrity sha512-qLJLqv1mMdWL7gyh8aKBFFAuEiJkhUUgLKpdn6eSfH/R7kTtb76WnOwqUrhvEI9bZFUM/8Pa1bzJnPpqSOM+Sw==
+ dependencies:
+ "@parcel/plugin" "2.9.3"
+ "@parcel/utils" "2.9.3"
+ nullthrows "^1.1.1"
+
+"@parcel/source-map@^2.1.1":
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/@parcel/source-map/-/source-map-2.1.1.tgz#fb193b82dba6dd62cc7a76b326f57bb35000a782"
+ integrity sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew==
+ dependencies:
+ detect-libc "^1.0.3"
+
+"@parcel/transformer-babel@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/transformer-babel/-/transformer-babel-2.9.3.tgz#3527388048c606c5ef5fb909959e63be2416e87d"
+ integrity sha512-pURtEsnsp3h6tOBDuzh9wRvVtw4PgIlqwAArIWdrG7iwqOUYv9D8ME4+ePWEu7MQWAp58hv9pTJtqWv4T+Sq8A==
+ dependencies:
+ "@parcel/diagnostic" "2.9.3"
+ "@parcel/plugin" "2.9.3"
+ "@parcel/source-map" "^2.1.1"
+ "@parcel/utils" "2.9.3"
+ browserslist "^4.6.6"
+ json5 "^2.2.0"
+ nullthrows "^1.1.1"
+ semver "^7.5.2"
+
+"@parcel/transformer-css@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/transformer-css/-/transformer-css-2.9.3.tgz#2ed58f74983d2d7fc224a6df5d17b72eb38764e4"
+ integrity sha512-duWMdbEBBPjg3fQdXF16iWIdThetDZvCs2TpUD7xOlXH6kR0V5BJy8ONFT15u1RCqIV9hSNGaS3v3I9YRNY5zQ==
+ dependencies:
+ "@parcel/diagnostic" "2.9.3"
+ "@parcel/plugin" "2.9.3"
+ "@parcel/source-map" "^2.1.1"
+ "@parcel/utils" "2.9.3"
+ browserslist "^4.6.6"
+ lightningcss "^1.16.1"
+ nullthrows "^1.1.1"
+
+"@parcel/transformer-html@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/transformer-html/-/transformer-html-2.9.3.tgz#f8b3daa4b633d81dc37772051b4e075940fa8351"
+ integrity sha512-0NU4omcHzFXA1seqftAXA2KNZaMByoKaNdXnLgBgtCGDiYvOcL+6xGHgY6pw9LvOh5um10KI5TxSIMILoI7VtA==
+ dependencies:
+ "@parcel/diagnostic" "2.9.3"
+ "@parcel/hash" "2.9.3"
+ "@parcel/plugin" "2.9.3"
+ nullthrows "^1.1.1"
+ posthtml "^0.16.5"
+ posthtml-parser "^0.10.1"
+ posthtml-render "^3.0.0"
+ semver "^7.5.2"
+ srcset "4"
+
+"@parcel/transformer-image@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/transformer-image/-/transformer-image-2.9.3.tgz#dd380b949e923662d3c7ced48dbe9d5b919a94e7"
+ integrity sha512-7CEe35RaPadQzLIuxzTtIxnItvOoy46hcbXtOdDt6lmVa4omuOygZYRIya2lsGIP4JHvAaALMb5nt99a1uTwJg==
+ dependencies:
+ "@parcel/plugin" "2.9.3"
+ "@parcel/utils" "2.9.3"
+ "@parcel/workers" "2.9.3"
+ nullthrows "^1.1.1"
+
+"@parcel/transformer-js@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/transformer-js/-/transformer-js-2.9.3.tgz#4b72022da9bf5aa743a89961c4d61b681bf5e7b9"
+ integrity sha512-Z2MVVg5FYcPOfxlUwxqb5l9yjTMEqE3KI3zq2MBRUme6AV07KxLmCDF23b6glzZlHWQUE8MXzYCTAkOPCcPz+Q==
+ dependencies:
+ "@parcel/diagnostic" "2.9.3"
+ "@parcel/plugin" "2.9.3"
+ "@parcel/source-map" "^2.1.1"
+ "@parcel/utils" "2.9.3"
+ "@parcel/workers" "2.9.3"
+ "@swc/helpers" "^0.5.0"
+ browserslist "^4.6.6"
+ nullthrows "^1.1.1"
+ regenerator-runtime "^0.13.7"
+ semver "^7.5.2"
+
+"@parcel/transformer-json@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/transformer-json/-/transformer-json-2.9.3.tgz#cd16bb657179f2978c7ca49c771555458cdbc307"
+ integrity sha512-yNL27dbOLhkkrjaQjiQ7Im9VOxmkfuuSNSmS0rA3gEjVcm07SLKRzWkAaPnyx44Lb6bzyOTWwVrb9aMmxgADpA==
+ dependencies:
+ "@parcel/plugin" "2.9.3"
+ json5 "^2.2.0"
+
+"@parcel/transformer-postcss@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/transformer-postcss/-/transformer-postcss-2.9.3.tgz#0358facea2ea882266508e18a79390590ee812ab"
+ integrity sha512-HoDvPqKzhpmvMmHqQhDnt8F1vH61m6plpGiYaYnYv2Om4HHi5ZIq9bO+9QLBnTKfaZ7ndYSefTKOxTYElg7wyw==
+ dependencies:
+ "@parcel/diagnostic" "2.9.3"
+ "@parcel/hash" "2.9.3"
+ "@parcel/plugin" "2.9.3"
+ "@parcel/utils" "2.9.3"
+ clone "^2.1.1"
+ nullthrows "^1.1.1"
+ postcss-value-parser "^4.2.0"
+ semver "^7.5.2"
+
+"@parcel/transformer-posthtml@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/transformer-posthtml/-/transformer-posthtml-2.9.3.tgz#dcffc9f0d667b65f9fe701753334b48b65b958d8"
+ integrity sha512-2fQGgrzRmaqbWf3y2/T6xhqrNjzqMMKksqJzvc8TMfK6f2kg3Ddjv158eaSW2JdkV39aY7tvAOn5f1uzo74BMA==
+ dependencies:
+ "@parcel/plugin" "2.9.3"
+ "@parcel/utils" "2.9.3"
+ nullthrows "^1.1.1"
+ posthtml "^0.16.5"
+ posthtml-parser "^0.10.1"
+ posthtml-render "^3.0.0"
+ semver "^7.5.2"
+
+"@parcel/transformer-raw@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/transformer-raw/-/transformer-raw-2.9.3.tgz#c8e23881ecb45a6dc3fcc5a271cf0d55476beabc"
+ integrity sha512-oqdPzMC9QzWRbY9J6TZEqltknjno+dY24QWqf8ondmdF2+W+/2mRDu59hhCzQrqUHgTq4FewowRZmSfpzHxwaQ==
+ dependencies:
+ "@parcel/plugin" "2.9.3"
+
+"@parcel/transformer-react-refresh-wrap@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.9.3.tgz#7775292909fa051f6dfd2668da8f34833a47d56c"
+ integrity sha512-cb9NyU6oJlDblFIlzqIE8AkvRQVGl2IwJNKwD4PdE7Y6sq2okGEPG4hOw3k/Y9JVjM4/2pUORqvjSRhWwd9oVQ==
+ dependencies:
+ "@parcel/plugin" "2.9.3"
+ "@parcel/utils" "2.9.3"
+ react-refresh "^0.9.0"
+
+"@parcel/transformer-svg@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/transformer-svg/-/transformer-svg-2.9.3.tgz#087a8ec63fa2377db0478a87d3e2829613b391fc"
+ integrity sha512-ypmE+dzB09IMCdEAkOsSxq1dEIm2A3h67nAFz4qbfHbwNgXBUuy/jB3ZMwXN/cO0f7SBh/Ap8Jhq6vmGqB5tWw==
+ dependencies:
+ "@parcel/diagnostic" "2.9.3"
+ "@parcel/hash" "2.9.3"
+ "@parcel/plugin" "2.9.3"
+ nullthrows "^1.1.1"
+ posthtml "^0.16.5"
+ posthtml-parser "^0.10.1"
+ posthtml-render "^3.0.0"
+ semver "^7.5.2"
+
+"@parcel/types@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/types/-/types-2.9.3.tgz#170a26203b9088a306862b2dc914c27375d77bbc"
+ integrity sha512-NSNY8sYtRhvF1SqhnIGgGvJocyWt1K8Tnw5cVepm0g38ywtX6mwkBvMkmeehXkII4mSUn+frD9wGsydTunezvA==
+ dependencies:
+ "@parcel/cache" "2.9.3"
+ "@parcel/diagnostic" "2.9.3"
+ "@parcel/fs" "2.9.3"
+ "@parcel/package-manager" "2.9.3"
+ "@parcel/source-map" "^2.1.1"
+ "@parcel/workers" "2.9.3"
+ utility-types "^3.10.0"
+
+"@parcel/utils@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/utils/-/utils-2.9.3.tgz#d4df6837658f773c725a4934967ab1128a05fdd7"
+ integrity sha512-cesanjtj/oLehW8Waq9JFPmAImhoiHX03ihc3JTWkrvJYSbD7wYKCDgPAM3JiRAqvh1LZ6P699uITrYWNoRLUg==
+ dependencies:
+ "@parcel/codeframe" "2.9.3"
+ "@parcel/diagnostic" "2.9.3"
+ "@parcel/hash" "2.9.3"
+ "@parcel/logger" "2.9.3"
+ "@parcel/markdown-ansi" "2.9.3"
+ "@parcel/source-map" "^2.1.1"
+ chalk "^4.1.0"
+ nullthrows "^1.1.1"
+
+"@parcel/watcher-android-arm64@2.2.0":
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.2.0.tgz#3d1a71f251ba829ab884dfe119cc4f4c49c7222b"
+ integrity sha512-nU2wh00CTQT9rr1TIKTjdQ9lAGYpmz6XuKw0nAwAN+S2A5YiD55BK1u+E5WMCT8YOIDe/n6gaj4o/Bi9294SSQ==
+
+"@parcel/watcher-darwin-arm64@2.2.0":
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.2.0.tgz#9ed47d9e4146d53a39f62577a993426d6ddec2d2"
+ integrity sha512-cJl0UZDcodciy3TDMomoK/Huxpjlkkim3SyMgWzjovHGOZKNce9guLz2dzuFwfObBFCjfznbFMIvAZ5syXotYw==
+
+"@parcel/watcher-darwin-x64@2.2.0":
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.2.0.tgz#9b553e61f4a01a0947b1c005619db7b7c9a286d1"
+ integrity sha512-QI77zxaGrCV1StKcoRYfsUfmUmvPMPfQrubkBBy5XujV2fwaLgZivQOTQMBgp5K2+E19u1ufpspKXAPqSzpbyg==
+
+"@parcel/watcher-linux-arm-glibc@2.2.0":
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.2.0.tgz#2644f6292b862c52d636978da8711bf2f7b14b24"
+ integrity sha512-I2GPBcAXazPzabCmfsa3HRRW+MGlqxYd8g8RIueJU+a4o5nyNZDz0CR1cu0INT0QSQXEZV7w6UE8Hz9CF8u3Pg==
+
+"@parcel/watcher-linux-arm64-glibc@2.2.0":
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.2.0.tgz#b82c1715a20e6725c89b2697a208d2ae488d22da"
+ integrity sha512-St5mlfp+2lS9AmgixUqfwJa/DwVmTCJxC1HcOubUTz6YFOKIlkHCeUa1Bxi4E/tR/HSez8+heXHL8HQkJ4Bd8g==
+
+"@parcel/watcher-linux-arm64-musl@2.2.0":
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.2.0.tgz#45511adc69c4c89b10965f0dd1519e56a00f512f"
+ integrity sha512-jS+qfhhoOBVWwMLP65MaG8xdInMK30pPW8wqTCg2AAuVJh5xepMbzkhHJ4zURqHiyY3EiIRuYu4ONJKCxt8iqA==
+
+"@parcel/watcher-linux-x64-glibc@2.2.0":
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.2.0.tgz#f6e878bf40874b1ce9530ec87e5c2e644e9ad5ac"
+ integrity sha512-xJvJ7R2wJdi47WZBFS691RDOWvP1j/IAs3EXaWVhDI8FFITbWrWaln7KoNcR0Y3T+ZwimFY/cfb0PNht1q895g==
+
+"@parcel/watcher-linux-x64-musl@2.2.0":
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.2.0.tgz#4a1b7a8f65b42f50b1819185ef56ed3c9e251425"
+ integrity sha512-D+NMpgr23a+RI5mu8ZPKWy7AqjBOkURFDgP5iIXXEf/K3hm0jJ3ogzi0Ed2237B/CdYREimCgXyeiAlE/FtwyA==
+
+"@parcel/watcher-win32-arm64@2.2.0":
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.2.0.tgz#4cdbaf8c1097038e838d12f897ac8595b18dfb1f"
+ integrity sha512-z225cPn3aygJsyVUOWwfyW+fY0Tvk7N3XCOl66qUPFxpbuXeZuiuuJemmtm8vxyqa3Ur7peU/qJxrpC64aeI7Q==
+
+"@parcel/watcher-win32-x64@2.2.0":
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.2.0.tgz#f2fcc255b7cadfd0afa7c51cde36413632075bcc"
+ integrity sha512-JqGW0RJ61BkKx+yYzIURt9s53P7xMVbv0uxYPzAXLBINGaFmkIKSuUPyBVfy8TMbvp93lvF4SPBNDzVRJfvgOw==
+
+"@parcel/watcher@^2.0.7":
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.2.0.tgz#92067954e591d239c3ecfa08add205f88f476068"
+ integrity sha512-71S4TF+IMyAn24PK4KSkdKtqJDR3zRzb0HE3yXpacItqTM7XfF2f5q9NEGLEVl0dAaBAGfNwDCjH120y25F6Tg==
+ dependencies:
+ detect-libc "^1.0.3"
+ is-glob "^4.0.3"
+ micromatch "^4.0.5"
+ node-addon-api "^7.0.0"
+ optionalDependencies:
+ "@parcel/watcher-android-arm64" "2.2.0"
+ "@parcel/watcher-darwin-arm64" "2.2.0"
+ "@parcel/watcher-darwin-x64" "2.2.0"
+ "@parcel/watcher-linux-arm-glibc" "2.2.0"
+ "@parcel/watcher-linux-arm64-glibc" "2.2.0"
+ "@parcel/watcher-linux-arm64-musl" "2.2.0"
+ "@parcel/watcher-linux-x64-glibc" "2.2.0"
+ "@parcel/watcher-linux-x64-musl" "2.2.0"
+ "@parcel/watcher-win32-arm64" "2.2.0"
+ "@parcel/watcher-win32-x64" "2.2.0"
+
+"@parcel/workers@2.9.3":
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/@parcel/workers/-/workers-2.9.3.tgz#d1d84d3c767b840d0ed7123a03ab7e0f4a2c0731"
+ integrity sha512-zRrDuZJzTevrrwElYosFztgldhqW6G9q5zOeQXfVQFkkEJCNfg36ixeiofKRU8uu2x+j+T6216mhMNB6HiuY+w==
+ dependencies:
+ "@parcel/diagnostic" "2.9.3"
+ "@parcel/logger" "2.9.3"
+ "@parcel/profiler" "2.9.3"
+ "@parcel/types" "2.9.3"
+ "@parcel/utils" "2.9.3"
+ nullthrows "^1.1.1"
+
"@rkrupinski/prettierconfig@1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@rkrupinski/prettierconfig/-/prettierconfig-1.0.1.tgz#6a38a8103445368b727e183c0c6b4ad33d07a34a"
@@ -663,6 +1388,79 @@
dependencies:
"@sinonjs/commons" "^3.0.0"
+"@swc/core-darwin-arm64@1.3.69":
+ version "1.3.69"
+ resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.69.tgz#e22032471244ec80c22bee8efc2100e456bb9488"
+ integrity sha512-IjZTf12zIPWkV3D7toaLDoJPSkLhQ4fDH8G6/yCJUI27cBFOI3L8LXqptYmISoN5yYdrcnNpdqdapD09JPuNJg==
+
+"@swc/core-darwin-x64@1.3.69":
+ version "1.3.69"
+ resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.69.tgz#4c2034ba409b9e061b9e8ad56a762b8bb7815f18"
+ integrity sha512-/wBO0Rn5oS5dJI/L9kJRkPAdksVwl5H9nleW/NM3A40N98VV8T7h/i1nO051mxIjq0R6qXVGOWFbBoLrPYucJg==
+
+"@swc/core-linux-arm-gnueabihf@1.3.69":
+ version "1.3.69"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.69.tgz#3d89053b6de2fd8553ce5c5808251246f2870e1e"
+ integrity sha512-NShCjMv6Xn8ckMKBRqmprXvUF14+jXY0TcNKXwjYErzoIUFOnG72M36HxT4QEeAtKZ4Eg4CZFE4zlJ27fDp1gg==
+
+"@swc/core-linux-arm64-gnu@1.3.69":
+ version "1.3.69"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.69.tgz#df12d3befc5e86555ee561202dc9c279d8865bf3"
+ integrity sha512-VRPOJj4idopSHIj1bOVXX0SgaB18R8yZNunb7eXS5ZcjVxAcdvqyIz3RdQX1zaJFCGzcdPLzBRP32DZWWGE8Ng==
+
+"@swc/core-linux-arm64-musl@1.3.69":
+ version "1.3.69"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.69.tgz#8372222a3298fdd0bd18da564a3009614a6c0920"
+ integrity sha512-QxeSiZqo5x1X8vq8oUWLibq+IZJcxl9vy0sLUmzdjF2b/Z+qxKP3gutxnb2tzJaHqPVBbEZaILERIGy1qWdumQ==
+
+"@swc/core-linux-x64-gnu@1.3.69":
+ version "1.3.69"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.69.tgz#6879057d28f261b051fac52daca6c256f3a7fb7d"
+ integrity sha512-b+DUlVxYox3BwD3PyTwhLvqtu6TYZtW+S6O0FnttH11o4skHN0XyJ/cUZSI0X2biSmfDsizRDUt1PWPFM+F7SA==
+
+"@swc/core-linux-x64-musl@1.3.69":
+ version "1.3.69"
+ resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.69.tgz#bf4f9a74156524211472bb713d34f0bb7265669f"
+ integrity sha512-QXjsI+f8n9XPZHUvmGgkABpzN4M9kdSbhqBOZmv3o0AsDGNCA4uVowQqgZoPFAqlJTpwHeDmrv5sQ13HN+LOGw==
+
+"@swc/core-win32-arm64-msvc@1.3.69":
+ version "1.3.69"
+ resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.69.tgz#8242e4a406d11f0e078da39cf9962695e6b73d2d"
+ integrity sha512-wn7A8Ws1fyviuCUB2Vg6IotiZeuqiO1Mz3d+YDae2EYyNpj1kNHvjBip8GHkfGzZG+jVrvG6NHsDo0KO/pGb8A==
+
+"@swc/core-win32-ia32-msvc@1.3.69":
+ version "1.3.69"
+ resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.69.tgz#68dbd41e200e5db71aa6644d793acff3607862f0"
+ integrity sha512-LsFBXtXqxEcVaaOGEZ9X3qdMzobVoJqKv8DnksuDsWcBk+9WCeTz2u/iB+7yZ2HGuPXkCqTRqhFo6FX9aC00kQ==
+
+"@swc/core-win32-x64-msvc@1.3.69":
+ version "1.3.69"
+ resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.69.tgz#304e1050d59bae21215a15839b05668d48a92837"
+ integrity sha512-ieBscU0gUgKjaseFI07tAaGqHvKyweNknPeSYEZOasVZUczhD6fK2GRnVREhv2RB2qdKC/VGFBsgRDMgzq1VLw==
+
+"@swc/core@^1.3.36":
+ version "1.3.69"
+ resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.69.tgz#b4a41e84de11832c233fbe714c6e412d8404bab0"
+ integrity sha512-Khc/DE9D5+2tYTHgAIp5DZARbs8kldWg3b0Jp6l8FQLjelcLFmlQWSwKhVZrgv4oIbgZydIp8jInsvTalMHqnQ==
+ optionalDependencies:
+ "@swc/core-darwin-arm64" "1.3.69"
+ "@swc/core-darwin-x64" "1.3.69"
+ "@swc/core-linux-arm-gnueabihf" "1.3.69"
+ "@swc/core-linux-arm64-gnu" "1.3.69"
+ "@swc/core-linux-arm64-musl" "1.3.69"
+ "@swc/core-linux-x64-gnu" "1.3.69"
+ "@swc/core-linux-x64-musl" "1.3.69"
+ "@swc/core-win32-arm64-msvc" "1.3.69"
+ "@swc/core-win32-ia32-msvc" "1.3.69"
+ "@swc/core-win32-x64-msvc" "1.3.69"
+
+"@swc/helpers@^0.5.0":
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.1.tgz#e9031491aa3f26bfcc974a67f48bd456c8a5357a"
+ integrity sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==
+ dependencies:
+ tslib "^2.4.0"
+
"@testing-library/dom@9.3.0":
version "9.3.0"
resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-9.3.0.tgz#ed8ce10aa5e05eb6eaf0635b5b8975d889f66075"
@@ -697,6 +1495,11 @@
resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf"
integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==
+"@trysound/sax@0.2.0":
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad"
+ integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==
+
"@types/aria-query@^5.0.1":
version "5.0.1"
resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.1.tgz#3286741fb8f1e1580ac28784add4c7a1d49bdfbc"
@@ -978,6 +1781,11 @@ abab@^2.0.6:
resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291"
integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==
+abortcontroller-polyfill@^1.1.9:
+ version "1.7.5"
+ resolved "https://registry.yarnpkg.com/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz#6738495f4e901fbb57b6c0611d0c75f76c485bed"
+ integrity sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==
+
acorn-globals@^7.0.0:
version "7.0.1"
resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-7.0.1.tgz#0dbf05c44fa7c94332914c02066d5beff62c40c3"
@@ -1212,11 +2020,23 @@ balanced-match@^1.0.0:
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
+base-x@^3.0.8:
+ version "3.0.9"
+ resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320"
+ integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==
+ dependencies:
+ safe-buffer "^5.0.1"
+
bluebird@^3.5.1:
version "3.7.2"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
+boolbase@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
+ integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==
+
brace-expansion@^1.1.7:
version "1.1.11"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
@@ -1232,7 +2052,7 @@ braces@^3.0.2:
dependencies:
fill-range "^7.0.1"
-browserslist@^4.21.9:
+browserslist@^4.21.9, browserslist@^4.6.6:
version "4.21.9"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.9.tgz#e11bdd3c313d7e2a9e87e8b4b0c7872b13897635"
integrity sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==
@@ -1326,6 +2146,11 @@ char-regex@^1.0.2:
resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf"
integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==
+chrome-trace-event@^1.0.2, chrome-trace-event@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac"
+ integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==
+
ci-info@^3.2.0:
version "3.8.0"
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91"
@@ -1354,6 +2179,11 @@ cliui@^8.0.1:
strip-ansi "^6.0.1"
wrap-ansi "^7.0.0"
+clone@^2.1.1:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f"
+ integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==
+
co@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
@@ -1395,6 +2225,11 @@ combined-stream@^1.0.8:
dependencies:
delayed-stream "~1.0.0"
+commander@^7.0.0, commander@^7.2.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7"
+ integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
+
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
@@ -1410,6 +2245,16 @@ convert-source-map@^2.0.0:
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a"
integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
+cosmiconfig@^8.0.0:
+ version "8.2.0"
+ resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.2.0.tgz#f7d17c56a590856cd1e7cee98734dca272b0d8fd"
+ integrity sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==
+ dependencies:
+ import-fresh "^3.2.1"
+ js-yaml "^4.1.0"
+ parse-json "^5.0.0"
+ path-type "^4.0.0"
+
cross-spawn@^6.0.0:
version "6.0.5"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
@@ -1430,11 +2275,42 @@ cross-spawn@^7.0.2, cross-spawn@^7.0.3:
shebang-command "^2.0.0"
which "^2.0.1"
+css-select@^4.1.3:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b"
+ integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==
+ dependencies:
+ boolbase "^1.0.0"
+ css-what "^6.0.1"
+ domhandler "^4.3.1"
+ domutils "^2.8.0"
+ nth-check "^2.0.1"
+
+css-tree@^1.1.2, css-tree@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d"
+ integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==
+ dependencies:
+ mdn-data "2.0.14"
+ source-map "^0.6.1"
+
+css-what@^6.0.1:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4"
+ integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==
+
css.escape@^1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb"
integrity sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==
+csso@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529"
+ integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==
+ dependencies:
+ css-tree "^1.1.2"
+
cssom@^0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.5.0.tgz#d254fa92cd8b6fbd83811b9fbaed34663cc17c36"
@@ -1518,6 +2394,11 @@ dequal@^2.0.3:
resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be"
integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==
+detect-libc@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
+ integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==
+
detect-newline@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651"
@@ -1554,6 +2435,20 @@ dom-accessibility-api@^0.5.6, dom-accessibility-api@^0.5.9:
resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453"
integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==
+dom-serializer@^1.0.1:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30"
+ integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==
+ dependencies:
+ domelementtype "^2.0.1"
+ domhandler "^4.2.0"
+ entities "^2.0.0"
+
+domelementtype@^2.0.1, domelementtype@^2.2.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d"
+ integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==
+
domexception@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/domexception/-/domexception-4.0.0.tgz#4ad1be56ccadc86fc76d033353999a8037d03673"
@@ -1561,6 +2456,32 @@ domexception@^4.0.0:
dependencies:
webidl-conversions "^7.0.0"
+domhandler@^4.2.0, domhandler@^4.2.2, domhandler@^4.3.1:
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c"
+ integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==
+ dependencies:
+ domelementtype "^2.2.0"
+
+domutils@^2.8.0:
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135"
+ integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==
+ dependencies:
+ dom-serializer "^1.0.1"
+ domelementtype "^2.2.0"
+ domhandler "^4.2.0"
+
+dotenv-expand@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0"
+ integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==
+
+dotenv@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-7.0.0.tgz#a2be3cd52736673206e8a85fb5210eea29628e7c"
+ integrity sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==
+
electron-to-chromium@^1.4.431:
version "1.4.461"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.461.tgz#6b14af66042732bf883ab63a4d82cac8f35eb252"
@@ -1588,6 +2509,16 @@ end-of-stream@^1.1.0:
dependencies:
once "^1.4.0"
+entities@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55"
+ integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
+
+entities@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4"
+ integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==
+
entities@^4.4.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48"
@@ -2093,6 +3024,11 @@ get-package-type@^0.1.0:
resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
+get-port@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/get-port/-/get-port-4.2.0.tgz#e37368b1e863b7629c43c5a323625f95cf24b119"
+ integrity sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==
+
get-stream@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
@@ -2144,7 +3080,7 @@ globals@^11.1.0:
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
-globals@^13.19.0:
+globals@^13.19.0, globals@^13.2.0:
version "13.20.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82"
integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==
@@ -2250,6 +3186,25 @@ html-escaper@^2.0.0:
resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
+htmlnano@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/htmlnano/-/htmlnano-2.0.4.tgz#315108063ed0bb6a16ccb53ad1b601f02d3fe721"
+ integrity sha512-WGCkyGFwjKW1GeCBsPYacMvaMnZtFJ0zIRnC2NCddkA+IOEhTqskXrS7lep+3yYZw/nQ3dW1UAX4yA/GJyR8BA==
+ dependencies:
+ cosmiconfig "^8.0.0"
+ posthtml "^0.16.5"
+ timsort "^0.3.0"
+
+htmlparser2@^7.1.1:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-7.2.0.tgz#8817cdea38bbc324392a90b1990908e81a65f5a5"
+ integrity sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==
+ dependencies:
+ domelementtype "^2.0.1"
+ domhandler "^4.2.2"
+ domutils "^2.8.0"
+ entities "^3.0.1"
+
http-proxy-agent@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43"
@@ -2407,6 +3362,11 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3:
dependencies:
is-extglob "^2.1.1"
+is-json@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/is-json/-/is-json-2.0.1.tgz#6be166d144828a131d686891b983df62c39491ff"
+ integrity sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==
+
is-negative-zero@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150"
@@ -3004,7 +3964,7 @@ json5@^1.0.2:
dependencies:
minimist "^1.2.0"
-json5@^2.2.2, json5@^2.2.3:
+json5@^2.2.0, json5@^2.2.1, json5@^2.2.2, json5@^2.2.3:
version "2.2.3"
resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
@@ -3027,11 +3987,85 @@ levn@^0.4.1:
prelude-ls "^1.2.1"
type-check "~0.4.0"
+lightningcss-darwin-arm64@1.21.5:
+ version "1.21.5"
+ resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.21.5.tgz#d4d2a235da382311779afd44936f05f0d470bf12"
+ integrity sha512-z05hyLX85WY0UfhkFUOrWEFqD69lpVAmgl3aDzMKlIZJGygbhbegqb4PV8qfUrKKNBauut/qVNPKZglhTaDDxA==
+
+lightningcss-darwin-x64@1.21.5:
+ version "1.21.5"
+ resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.21.5.tgz#b9b2306809306635afee8a9981f93e7668ecb8e8"
+ integrity sha512-MSJhmej/U9MrdPxDk7+FWhO8+UqVoZUHG4VvKT5RQ4RJtqtANTiWiI97LvoVNMtdMnHaKs1Pkji6wHUFxjJsHQ==
+
+lightningcss-linux-arm-gnueabihf@1.21.5:
+ version "1.21.5"
+ resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.21.5.tgz#dcc78522f5297d18fbbe142a509bee3305f90907"
+ integrity sha512-xN6+5/JsMrbZHL1lPl+MiNJ3Xza12ueBKPepiyDCFQzlhFRTj7D0LG+cfNTzPBTO8KcYQynLpl1iBB8LGp3Xtw==
+
+lightningcss-linux-arm64-gnu@1.21.5:
+ version "1.21.5"
+ resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.21.5.tgz#1aa64cf3c4013a82012cd15b1ef0f97d08bc9bfd"
+ integrity sha512-KfzFNhC4XTbmG3ma/xcTs/IhCwieW89XALIusKmnV0N618ZDXEB0XjWOYQRCXeK9mfqPdbTBpurEHV/XZtkniQ==
+
+lightningcss-linux-arm64-musl@1.21.5:
+ version "1.21.5"
+ resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.21.5.tgz#6dd43b3436432efdadb58949fb3821d4206044e9"
+ integrity sha512-bc0GytQO5Mn9QM6szaZ+31fQHNdidgpM1sSCwzPItz8hg3wOvKl8039rU0veMJV3ZgC9z0ypNRceLrSHeRHmXw==
+
+lightningcss-linux-x64-gnu@1.21.5:
+ version "1.21.5"
+ resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.21.5.tgz#7af13989f720fbd434bcc9e629ca3e5797acb979"
+ integrity sha512-JwMbgypPQgc2kW2av3OwzZ8cbrEuIiDiXPJdXRE6aVxu67yHauJawQLqJKTGUhiAhy6iLDG8Wg0a3/ziL+m+Kw==
+
+lightningcss-linux-x64-musl@1.21.5:
+ version "1.21.5"
+ resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.21.5.tgz#cde2e9e1958cc7782264622983a2433312526b55"
+ integrity sha512-Ib8b6IQ/OR/VrPU6YBgy4T3QnuHY7DUa95O+nz+cwrTkMSN6fuHcTcIaz4t8TJ6HI5pl3uxUOZjmtls2pyQWow==
+
+lightningcss-win32-x64-msvc@1.21.5:
+ version "1.21.5"
+ resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.21.5.tgz#f75d25f7db9853d98c9253025eb8854335b31051"
+ integrity sha512-A8cSi8lUpBeVmoF+DqqW7cd0FemDbCuKr490IXdjyeI+KL8adpSKUs8tcqO0OXPh1EoDqK7JNkD/dELmd4Iz5g==
+
+lightningcss@^1.16.1:
+ version "1.21.5"
+ resolved "https://registry.yarnpkg.com/lightningcss/-/lightningcss-1.21.5.tgz#1a175329048912f6480c1703ff2957aad0dcedb4"
+ integrity sha512-/pEUPeih2EwIx9n4T82aOG6CInN83tl/mWlw6B5gWLf36UplQi1L+5p3FUHsdt4fXVfOkkh9KIaM3owoq7ss8A==
+ dependencies:
+ detect-libc "^1.0.3"
+ optionalDependencies:
+ lightningcss-darwin-arm64 "1.21.5"
+ lightningcss-darwin-x64 "1.21.5"
+ lightningcss-linux-arm-gnueabihf "1.21.5"
+ lightningcss-linux-arm64-gnu "1.21.5"
+ lightningcss-linux-arm64-musl "1.21.5"
+ lightningcss-linux-x64-gnu "1.21.5"
+ lightningcss-linux-x64-musl "1.21.5"
+ lightningcss-win32-x64-msvc "1.21.5"
+
lines-and-columns@^1.1.6:
version "1.2.4"
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
+lmdb@2.7.11:
+ version "2.7.11"
+ resolved "https://registry.yarnpkg.com/lmdb/-/lmdb-2.7.11.tgz#a24b6d36b5c7ed9889cc2d9e103fdd3f5e144d7e"
+ integrity sha512-x9bD4hVp7PFLUoELL8RglbNXhAMt5CYhkmss+CEau9KlNoilsTzNi9QDsPZb3KMpOGZXG6jmXhW3bBxE2XVztw==
+ dependencies:
+ msgpackr "1.8.5"
+ node-addon-api "^4.3.0"
+ node-gyp-build-optional-packages "5.0.6"
+ ordered-binary "^1.4.0"
+ weak-lru-cache "^1.2.2"
+ optionalDependencies:
+ "@lmdb/lmdb-darwin-arm64" "2.7.11"
+ "@lmdb/lmdb-darwin-x64" "2.7.11"
+ "@lmdb/lmdb-linux-arm" "2.7.11"
+ "@lmdb/lmdb-linux-arm64" "2.7.11"
+ "@lmdb/lmdb-linux-x64" "2.7.11"
+ "@lmdb/lmdb-win32-x64" "2.7.11"
+
locate-path@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
@@ -3107,6 +4141,11 @@ makeerror@1.0.12:
dependencies:
tmpl "1.0.5"
+mdn-data@2.0.14:
+ version "2.0.14"
+ resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50"
+ integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==
+
merge-stream@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
@@ -3117,7 +4156,7 @@ merge2@^1.3.0, merge2@^1.4.1:
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
-micromatch@^4.0.4:
+micromatch@^4.0.4, micromatch@^4.0.5:
version "4.0.5"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
@@ -3169,6 +4208,34 @@ ms@^2.1.1:
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+msgpackr-extract@^3.0.1, msgpackr-extract@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/msgpackr-extract/-/msgpackr-extract-3.0.2.tgz#e05ec1bb4453ddf020551bcd5daaf0092a2c279d"
+ integrity sha512-SdzXp4kD/Qf8agZ9+iTu6eql0m3kWm1A2y1hkpTeVNENutaB0BwHlSvAIaMxwntmRUAUjon2V4L8Z/njd0Ct8A==
+ dependencies:
+ node-gyp-build-optional-packages "5.0.7"
+ optionalDependencies:
+ "@msgpackr-extract/msgpackr-extract-darwin-arm64" "3.0.2"
+ "@msgpackr-extract/msgpackr-extract-darwin-x64" "3.0.2"
+ "@msgpackr-extract/msgpackr-extract-linux-arm" "3.0.2"
+ "@msgpackr-extract/msgpackr-extract-linux-arm64" "3.0.2"
+ "@msgpackr-extract/msgpackr-extract-linux-x64" "3.0.2"
+ "@msgpackr-extract/msgpackr-extract-win32-x64" "3.0.2"
+
+msgpackr@1.8.5:
+ version "1.8.5"
+ resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.8.5.tgz#8cadfb935357680648f33699d0e833c9179dbfeb"
+ integrity sha512-mpPs3qqTug6ahbblkThoUY2DQdNXcm4IapwOS3Vm/87vmpzLVelvp9h3It1y9l1VPpiFLV11vfOXnmeEwiIXwg==
+ optionalDependencies:
+ msgpackr-extract "^3.0.1"
+
+msgpackr@^1.5.4:
+ version "1.9.5"
+ resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.9.5.tgz#ac548c5f4546db895e84e46d39d813be961dc527"
+ integrity sha512-/IJ3cFSN6Ci3eG2wLhbFEL6GT63yEaoN/R5My2QkV6zro+OJaVRLPlwvxY7EtHYSmDlQpk8stvOQTL2qJFkDRg==
+ optionalDependencies:
+ msgpackr-extract "^3.0.2"
+
natural-compare-lite@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4"
@@ -3184,6 +4251,26 @@ nice-try@^1.0.4:
resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
+node-addon-api@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-4.3.0.tgz#52a1a0b475193e0928e98e0426a0d1254782b77f"
+ integrity sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==
+
+node-addon-api@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.0.0.tgz#8136add2f510997b3b94814f4af1cce0b0e3962e"
+ integrity sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA==
+
+node-gyp-build-optional-packages@5.0.6:
+ version "5.0.6"
+ resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.6.tgz#2949f5cc7dace3ac470fa2ff1a37456907120a1d"
+ integrity sha512-2ZJErHG4du9G3/8IWl/l9Bp5BBFy63rno5GVmjQijvTuUZKsl6g8RB4KH/x3NLcV5ZBb4GsXmAuTYr6dRml3Gw==
+
+node-gyp-build-optional-packages@5.0.7:
+ version "5.0.7"
+ resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.7.tgz#5d2632bbde0ab2f6e22f1bbac2199b07244ae0b3"
+ integrity sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w==
+
node-int64@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
@@ -3213,6 +4300,18 @@ npm-run-path@^4.0.1:
dependencies:
path-key "^3.0.0"
+nth-check@^2.0.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d"
+ integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==
+ dependencies:
+ boolbase "^1.0.0"
+
+nullthrows@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1"
+ integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==
+
nwsapi@^2.2.2:
version "2.2.7"
resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30"
@@ -3273,6 +4372,11 @@ optionator@^0.9.1:
prelude-ls "^1.2.1"
type-check "^0.4.0"
+ordered-binary@^1.4.0:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/ordered-binary/-/ordered-binary-1.4.1.tgz#205cb6efd6c27fa0ef4eced994a023e081cdc911"
+ integrity sha512-9LtiGlPy982CsgxZvJGNNp2/NnrgEr6EAyN3iIEP3/8vd3YLgAZQHbQ75ZrkfBRGrNg37Dk3U6tuVb+B4Xfslg==
+
p-finally@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
@@ -3318,6 +4422,26 @@ p-try@^2.0.0:
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
+parcel@2.9.3:
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/parcel/-/parcel-2.9.3.tgz#315660ccbaa5a830cf71280ab0cfbd3079247cc5"
+ integrity sha512-2GTVocFkwblV/TIg9AmT7TI2fO4xdWkyN8aFUEVtiVNWt96GTR3FgQyHFValfCbcj1k9Xf962Ws2hYXYUr9k1Q==
+ dependencies:
+ "@parcel/config-default" "2.9.3"
+ "@parcel/core" "2.9.3"
+ "@parcel/diagnostic" "2.9.3"
+ "@parcel/events" "2.9.3"
+ "@parcel/fs" "2.9.3"
+ "@parcel/logger" "2.9.3"
+ "@parcel/package-manager" "2.9.3"
+ "@parcel/reporter-cli" "2.9.3"
+ "@parcel/reporter-dev-server" "2.9.3"
+ "@parcel/reporter-tracer" "2.9.3"
+ "@parcel/utils" "2.9.3"
+ chalk "^4.1.0"
+ commander "^7.0.0"
+ get-port "^4.2.0"
+
parent-module@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
@@ -3325,7 +4449,7 @@ parent-module@^1.0.0:
dependencies:
callsites "^3.0.0"
-parse-json@^5.2.0:
+parse-json@^5.0.0, parse-json@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
@@ -3399,6 +4523,40 @@ pkg-dir@^4.2.0:
dependencies:
find-up "^4.0.0"
+postcss-value-parser@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
+ integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
+
+posthtml-parser@^0.10.1:
+ version "0.10.2"
+ resolved "https://registry.yarnpkg.com/posthtml-parser/-/posthtml-parser-0.10.2.tgz#df364d7b179f2a6bf0466b56be7b98fd4e97c573"
+ integrity sha512-PId6zZ/2lyJi9LiKfe+i2xv57oEjJgWbsHGGANwos5AvdQp98i6AtamAl8gzSVFGfQ43Glb5D614cvZf012VKg==
+ dependencies:
+ htmlparser2 "^7.1.1"
+
+posthtml-parser@^0.11.0:
+ version "0.11.0"
+ resolved "https://registry.yarnpkg.com/posthtml-parser/-/posthtml-parser-0.11.0.tgz#25d1c7bf811ea83559bc4c21c189a29747a24b7a"
+ integrity sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==
+ dependencies:
+ htmlparser2 "^7.1.1"
+
+posthtml-render@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/posthtml-render/-/posthtml-render-3.0.0.tgz#97be44931496f495b4f07b99e903cc70ad6a3205"
+ integrity sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==
+ dependencies:
+ is-json "^2.0.1"
+
+posthtml@^0.16.4, posthtml@^0.16.5:
+ version "0.16.6"
+ resolved "https://registry.yarnpkg.com/posthtml/-/posthtml-0.16.6.tgz#e2fc407f67a64d2fa3567afe770409ffdadafe59"
+ integrity sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==
+ dependencies:
+ posthtml-parser "^0.11.0"
+ posthtml-render "^3.0.0"
+
prelude-ls@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
@@ -3463,6 +4621,11 @@ queue-microtask@^1.2.2:
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
+react-error-overlay@6.0.9:
+ version "6.0.9"
+ resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.9.tgz#3c743010c9359608c375ecd6bc76f35d93995b0a"
+ integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==
+
react-is@^17.0.1:
version "17.0.2"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
@@ -3473,6 +4636,11 @@ react-is@^18.0.0:
resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b"
integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
+react-refresh@^0.9.0:
+ version "0.9.0"
+ resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.9.0.tgz#71863337adc3e5c2f8a6bfddd12ae3bfe32aafbf"
+ integrity sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==
+
redent@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f"
@@ -3481,7 +4649,7 @@ redent@^3.0.0:
indent-string "^4.0.0"
strip-indent "^3.0.0"
-regenerator-runtime@^0.13.11:
+regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.7:
version "0.13.11"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9"
integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==
@@ -3570,6 +4738,11 @@ safe-array-concat@^1.0.0:
has-symbols "^1.0.3"
isarray "^2.0.5"
+safe-buffer@^5.0.1:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
+ integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+
safe-regex-test@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295"
@@ -3591,7 +4764,7 @@ saxes@^6.0.0:
dependencies:
xmlchars "^2.2.0"
-semver@7.x, semver@^7.0.0, semver@^7.3.7, semver@^7.5.0, semver@^7.5.3:
+semver@7.x, semver@^7.0.0, semver@^7.3.7, semver@^7.5.0, semver@^7.5.2, semver@^7.5.3:
version "7.5.4"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
@@ -3686,6 +4859,16 @@ sprintf-js@~1.0.2:
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
+srcset@4:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/srcset/-/srcset-4.0.0.tgz#336816b665b14cd013ba545b6fe62357f86e65f4"
+ integrity sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==
+
+stable@^0.1.8:
+ version "0.1.8"
+ resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf"
+ integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==
+
stack-utils@^2.0.3:
version "2.0.6"
resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f"
@@ -3818,11 +5001,29 @@ supports-preserve-symlinks-flag@^1.0.0:
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+svgo@^2.4.0:
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24"
+ integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==
+ dependencies:
+ "@trysound/sax" "0.2.0"
+ commander "^7.2.0"
+ css-select "^4.1.3"
+ css-tree "^1.1.3"
+ csso "^4.2.0"
+ picocolors "^1.0.0"
+ stable "^0.1.8"
+
symbol-tree@^3.2.4:
version "3.2.4"
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
+term-size@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54"
+ integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==
+
test-exclude@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e"
@@ -3847,6 +5048,11 @@ through@2:
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
+timsort@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4"
+ integrity sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==
+
tmpl@1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc"
@@ -3864,6 +5070,11 @@ to-regex-range@^5.0.1:
dependencies:
is-number "^7.0.0"
+todomvc-app-css@2.4.2:
+ version "2.4.2"
+ resolved "https://registry.yarnpkg.com/todomvc-app-css/-/todomvc-app-css-2.4.2.tgz#bb0f53a125ad079efdd2ca7ad692ddf39f39efa8"
+ integrity sha512-ViAkQ7ed89rmhFIGRsT36njN+97z8+s3XsJnB8E2IKOq+/SLD/6PtSvmTtiwUcVk39qPcjAc/OyeDys4LoJUVg==
+
tough-cookie@^4.1.2:
version "4.1.3"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf"
@@ -3910,6 +5121,11 @@ tslib@^1.8.1:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
+tslib@^2.4.0:
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.0.tgz#b295854684dbda164e181d259a22cd779dcd7bc3"
+ integrity sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==
+
tsutils@^3.21.0:
version "3.21.0"
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
@@ -4021,6 +5237,11 @@ url-parse@^1.5.3:
querystringify "^2.1.1"
requires-port "^1.0.0"
+utility-types@^3.10.0:
+ version "3.10.0"
+ resolved "https://registry.yarnpkg.com/utility-types/-/utility-types-3.10.0.tgz#ea4148f9a741015f05ed74fd615e1d20e6bed82b"
+ integrity sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==
+
v8-to-istanbul@^9.0.1:
version "9.1.0"
resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz#1b83ed4e397f58c85c266a570fc2558b5feb9265"
@@ -4044,6 +5265,11 @@ walker@^1.0.8:
dependencies:
makeerror "1.0.12"
+weak-lru-cache@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz#fdbb6741f36bae9540d12f480ce8254060dccd19"
+ integrity sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==
+
webidl-conversions@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a"
@@ -4172,6 +5398,11 @@ xmlchars@^2.2.0:
resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==
+xxhash-wasm@^0.4.2:
+ version "0.4.2"
+ resolved "https://registry.yarnpkg.com/xxhash-wasm/-/xxhash-wasm-0.4.2.tgz#752398c131a4dd407b5132ba62ad372029be6f79"
+ integrity sha512-/eyHVRJQCirEkSZ1agRSCwriMhwlyUcFkXD5TPVSLP+IPzjsqMVzZwdoczLp1SoQU0R3dxz1RpIK+4YNQbCVOA==
+
y18n@^4.0.0:
version "4.0.3"
resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf"