├── .gitignore ├── README.md ├── demo.png ├── index.html ├── package.json ├── public └── mind_map.png ├── src ├── app.tsx ├── app │ ├── actions │ │ └── index.ts │ ├── component │ │ ├── Menu │ │ │ ├── index.less │ │ │ └── index.tsx │ │ └── MindMap │ │ │ ├── ConnectLine │ │ │ └── index.tsx │ │ │ ├── Root │ │ │ ├── index.less │ │ │ └── index.tsx │ │ │ ├── index.less │ │ │ └── index.tsx │ ├── constants │ │ └── index.ts │ ├── control │ │ └── index.ts │ ├── epics │ │ └── index.ts │ ├── global.less │ ├── index.tsx │ ├── reducers │ │ └── index.ts │ ├── types │ │ └── global.d.ts │ └── util │ │ └── help.ts ├── model │ └── node.ts ├── store │ ├── index.ts │ ├── root-actions.ts │ ├── root-epics.ts │ ├── root-reducers.ts │ ├── root-sercices.ts │ └── type.d.ts └── types │ └── type.d.ts ├── tsconfig.json ├── vite.config.ts └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .cache 3 | package-lock.json 4 | dist -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## react-xmind 2 | 3 | 一个简单的用于理解自定义布局算法的思维导图。 4 | 5 | ## Example 6 | 7 | 在线 demo : [https://react-xmind.vercel.app/](https://react-xmind.vercel.app/) 8 | 9 | ![react-xmind](./demo.png) 10 | 11 | ## Run 12 | 13 | ```js 14 | 15 | git clone https://github.com/buynao/react-xmind.git 16 | 17 | cd react-xmind 18 | 19 | npm install & yarn 20 | npm run dev & yarn dev 21 | 22 | ``` 23 | -------------------------------------------------------------------------------- /demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/buynao/react-xmind/7d54971eaf99cbc01715ea9144be35806c9f12fb/demo.png -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | mind map 10 | 11 | 12 |
13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-xmind", 3 | "version": "1.0.0", 4 | "description": "A simple of mindmap for understanding custom layout algorithms.", 5 | "main": "index.js", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "vite build", 9 | "preview": "vite preview" 10 | }, 11 | "keywords": [ 12 | "xmind", 13 | "mind-map", 14 | "react" 15 | ], 16 | "author": "liufulong", 17 | "license": "MIT", 18 | "devDependencies": { 19 | "@babel/core": "^7.10.2", 20 | "@babel/preset-env": "^7.10.2", 21 | "@babel/preset-react": "^7.10.1", 22 | "@types/classnames": "^2.3.1", 23 | "@types/node": "^15.6.0", 24 | "@types/react": "^17.0.4", 25 | "@types/react-alert": "^5.2.0", 26 | "@types/react-dom": "^17.0.3", 27 | "@types/react-router-dom": "^5.1.7", 28 | "@types/redux": "^3.6.0", 29 | "@types/uuid": "^8.3.0", 30 | "typescript": "3.9.7", 31 | "vite": "^2.7.2", 32 | "@vitejs/plugin-react": "^1.0.7" 33 | }, 34 | "dependencies": { 35 | "classnames": "2.2.6", 36 | "less": "^3.11.3", 37 | "react": "17.0.2", 38 | "react-dom": "17.0.2", 39 | "react-redux": "7.2.4", 40 | "react-router": "5.2.0", 41 | "react-router-dom": "5.2.0", 42 | "redux-observable": "1.2.0", 43 | "rxjs": "6.6.3", 44 | "typesafe-actions": "5.1.0", 45 | "uuid": "^8.3.2" 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /public/mind_map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/buynao/react-xmind/7d54971eaf99cbc01715ea9144be35806c9f12fb/public/mind_map.png -------------------------------------------------------------------------------- /src/app.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | import * as ReactDOM from "react-dom"; 3 | import "regenerator-runtime/runtime"; 4 | import { Provider } from "react-redux"; 5 | import store from "./store"; 6 | import App from "./app/index"; 7 | 8 | ReactDOM.render( 9 | 10 | 11 | , 12 | document.getElementById("root") 13 | ); 14 | -------------------------------------------------------------------------------- /src/app/actions/index.ts: -------------------------------------------------------------------------------- 1 | import { createCustomAction } from "typesafe-actions"; 2 | import { INode, INodes, ConnectLine, Direction } from "XmindTypes"; 3 | 4 | export type IAddChildNodeInfo = { 5 | newNode: INode 6 | } 7 | 8 | export type ICurNode = { 9 | curNode: INode 10 | } 11 | 12 | // 1. 添加子节点 13 | const ADD_CHILD = "XMIND/ADD_CHILD"; 14 | export const addChildNodeAction = createCustomAction(ADD_CHILD, 15 | (addNodeInfo: IAddChildNodeInfo) => addNodeInfo 16 | ); 17 | 18 | // 2. 删除子节点 19 | const DELETE_NODE = "XMIND/DELETE_NODE"; 20 | export const deleteNodeAction = createCustomAction(DELETE_NODE, 21 | (curNode: ICurNode) => curNode 22 | ); 23 | 24 | // 3. 更新当前节点 25 | const UPDATE_NODE = "XMIND/UPDATE_NODE"; 26 | export const updateNodeAction = createCustomAction(UPDATE_NODE, 27 | (curNode: ICurNode) => curNode 28 | ); 29 | 30 | // 4. 更新当前节点 31 | const UPDATE_NODES = "XMIND/UPDATE_NODES"; 32 | export const updateNodesAction = createCustomAction(UPDATE_NODES, 33 | (curNode: ICurNode) => curNode 34 | ); 35 | 36 | // 5. 操作成功 37 | const ACTION_SUCCESS = "XMIND/ACTION_SUCCESS"; 38 | export const actionSuccess = createCustomAction(ACTION_SUCCESS, 39 | (nodeList: INodes, nodesLine: ConnectLine[], layoutMode?: Direction) => ({ 40 | nodeList, 41 | nodesLine, 42 | layoutMode 43 | }) 44 | ); 45 | 46 | // 6. 选择节点 47 | const SELECT_CUR_NODE = "XMIND/SELECT_CUR_NODE"; 48 | export const selectCurNodeAction = createCustomAction(SELECT_CUR_NODE, 49 | (curNode: INode) => ({ 50 | curNode 51 | }) 52 | ); 53 | 54 | // 7. 贝塞尔连接线 55 | const BUILD_BEZIRE_LINE = "XMIND/BUILD_BEZIRE_LINE"; 56 | const BUILD_BEZIRE_LINE_SUCCESS = "XMIND/BUILD_BEZIRE_LINE_SUCCESS"; 57 | export const ConnectLineAction = createCustomAction(BUILD_BEZIRE_LINE); 58 | export const ConnectLineSuccessAction = createCustomAction(BUILD_BEZIRE_LINE_SUCCESS, 59 | (ConnectLine: ConnectLine[]) => ({ 60 | ConnectLine 61 | }) 62 | ); 63 | 64 | // 8. 设置布局模式 65 | const SET_LAYOUT_MODE = "XMIND/SET_LAYOUT_MODE"; 66 | const SET_LAYOUT_MODE_SUCCESS = "XMIND/SET_LAYOUT_MODE_SUCCESS"; 67 | export const updateLayoutAction = createCustomAction(SET_LAYOUT_MODE, 68 | (layoutMode: Direction) => ({layoutMode}) 69 | ); 70 | export const updateLayoutSuccessAction = createCustomAction(SET_LAYOUT_MODE_SUCCESS, 71 | (layoutMode: Direction) => ({ 72 | layoutMode 73 | }) 74 | ); 75 | -------------------------------------------------------------------------------- /src/app/component/Menu/index.less: -------------------------------------------------------------------------------- 1 | .mind-map-menu { 2 | position: fixed; 3 | left: 0; 4 | top: 0; 5 | display: flex; 6 | align-items: center; 7 | width: 100%; 8 | justify-content: center; 9 | z-index: 100; 10 | p { 11 | float: left; 12 | line-height: 40px; 13 | margin-right: 10px; 14 | } 15 | } -------------------------------------------------------------------------------- /src/app/component/Menu/index.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react" 2 | import { useDispatch, useSelector } from 'react-redux'; 3 | import { XmindNode } from "../../../model/node"; 4 | import { INode, INodes } from "XmindTypes" 5 | import { addChildNodeAction, deleteNodeAction, updateLayoutAction } from "../../actions/index"; 6 | import { v4 as uuidv4 } from 'uuid'; 7 | import "./index.less"; 8 | 9 | interface IProps { 10 | curNode: INode 11 | nodeList: INodes 12 | layoutMode: string; 13 | } 14 | 15 | function Menu() { 16 | const dispatch = useDispatch(); 17 | const { curNode, nodeList, layoutMode } = useSelector((store: IProps) => store); 18 | const deep = Number(curNode?.deep); 19 | 20 | return
21 |

current node :{curNode?.id}

22 | 40 | 60 | 67 | 72 | 77 |
78 | } 79 | 80 | export default Menu; -------------------------------------------------------------------------------- /src/app/component/MindMap/ConnectLine/index.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | import { IStore } from "XmindTypes"; 3 | import { useSelector } from 'react-redux'; 4 | 5 | function ConnectLine ({ MindConnectLineRef }: any) { 6 | const { nodesLine } = useSelector((store: IStore) => store); 7 | 8 | return 9 | { 10 | nodesLine.map((line, index) => { 11 | const start = line.from; 12 | const to = line.to; 13 | const Q = line.q; 14 | 15 | return 24 | }) 25 | } 26 | 27 | } 28 | 29 | export default ConnectLine; -------------------------------------------------------------------------------- /src/app/component/MindMap/Root/index.less: -------------------------------------------------------------------------------- 1 | 2 | .node { 3 | min-width: 100px; 4 | border-radius: 3px; 5 | font-size: 12px; 6 | padding: 10px; 7 | position: absolute; 8 | background-color: rgba(207, 205, 205, 0.548); 9 | border: 2px solid antiquewhite; 10 | cursor: pointer; 11 | z-index: 999; 12 | box-sizing: border-box; 13 | } 14 | .root-node { 15 | min-height: 100px; 16 | color: #ffffff; 17 | padding: 10px 15px; 18 | background-color: #00aaff; 19 | border-radius: 5px; 20 | font-size: 25px; 21 | } 22 | .second-node { 23 | font-size: 14px; 24 | font-weight: 700; 25 | } 26 | 27 | .select.node { 28 | border-color: rgb(93, 193, 240); 29 | } 30 | .node-wrap { 31 | border: 1px solid red; 32 | position: absolute; 33 | left: 50%; 34 | top: 50%; 35 | margin-left: -98px; 36 | margin-top: -43px; 37 | } 38 | button { 39 | height: 30px; 40 | margin: 3px; 41 | } 42 | .root { 43 | background: rgba(150, 183, 194, 0.4); 44 | } 45 | 46 | .children { 47 | border: 1px solid red; 48 | } -------------------------------------------------------------------------------- /src/app/component/MindMap/Root/index.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react" 2 | import { INode, IStore } from "XmindTypes"; 3 | import { updateNodeAction, selectCurNodeAction } from "../../../actions/index"; 4 | import "./index.less"; 5 | import { useDispatch, useSelector } from 'react-redux'; 6 | import classNames from "classnames"; 7 | 8 | const { useRef, useEffect } = React; 9 | 10 | interface INodeProps { 11 | node: INode 12 | selectNode: INode 13 | layoutMode: string; 14 | } 15 | 16 | function Node({ node, selectNode, layoutMode }: INodeProps) { 17 | const dispatch = useDispatch(); 18 | const element = useRef(null); 19 | 20 | const clsName = classNames("node", { 21 | "select": node.id === selectNode?.id, 22 | "root-node": !node.parent, 23 | "second-node": node.deep === 1 24 | }); 25 | 26 | useEffect(() => { 27 | const needUpate = { 28 | curNode: { 29 | ...node, 30 | element: element.current as HTMLDivElement 31 | } 32 | } 33 | 34 | dispatch(updateNodeAction(needUpate)) 35 | 36 | return () => { 37 | node.element = null; 38 | } 39 | }, []); 40 | 41 | const style = { 42 | opacity: node.x === 0 ? 0 : 1, 43 | top: node.y, 44 | left: node.x 45 | }; 46 | return <> 47 |
{ 52 | dispatch(selectCurNodeAction({ 53 | ...node 54 | })) 55 | }}> 56 | {/*

{`x: ${node.x}`}

57 |

{`y: ${node.y}`}

*/} 58 |

{`${node.content}`}

59 |
60 | 61 | } 62 | 63 | function RootNode({ MindWrapRef }: any) { 64 | 65 | const { nodeList, curNode, layoutMode } = useSelector((store: IStore) => store); 66 | 67 | return
68 | { 69 | nodeList.map((item) => ) 75 | } 76 | {/* */} 77 |
78 | } 79 | 80 | export default RootNode; -------------------------------------------------------------------------------- /src/app/component/MindMap/index.less: -------------------------------------------------------------------------------- 1 | .mind-map-wrap { 2 | position: relative; 3 | width: 5000px; 4 | height: 5000px; 5 | overflow: auto; 6 | margin-top: 40px; 7 | background-color: antiquewhite; 8 | left: 50%; 9 | top: 50%; 10 | transform: translate(-50%, -50%); 11 | } 12 | .ConnectLine-svg { 13 | position: absolute; 14 | left: 0; 15 | top: 0; 16 | width: 100%; 17 | height: 100%; 18 | } 19 | .mind-map-nodes { 20 | position: absolute; 21 | left: 0; 22 | top: 0; 23 | width: 100%; 24 | height: 100%; 25 | position: relative; 26 | display: flex; 27 | } -------------------------------------------------------------------------------- /src/app/component/MindMap/index.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react" 2 | import ConnectLine from "./ConnectLine"; 3 | import Root from "./Root"; 4 | import "./index.less"; 5 | export const isPC = () => { //是否为PC端 6 | var userAgentInfo = navigator.userAgent; 7 | var Agents = ["Android", "iPhone", 8 | "SymbianOS", "Windows Phone", 9 | "iPad", "iPod"]; 10 | var flag = true; 11 | for (var v = 0; v < Agents.length; v++) { 12 | if (userAgentInfo.indexOf(Agents[v]) > 0) { 13 | flag = false; 14 | break; 15 | } 16 | } 17 | return flag; 18 | } 19 | export const getEvent = (e:any) => { 20 | return isPC() ? e : e.targetTouches[0] 21 | }; 22 | export const getTouchPosition = (e: any) => { 23 | const event = getEvent(e); 24 | const x = event.pageX; 25 | const y = event.pageY; 26 | return { 27 | x, 28 | y 29 | } 30 | } 31 | const { useRef } = React; 32 | 33 | type MoveEvent = React.MouseEvent; 34 | 35 | function MindMap() { 36 | const isMoveRef = useRef(false); 37 | const MovePos = useRef({ x: 0, y: 0 }); 38 | const MindMapPos = useRef({ x: 0, y: 0 }); 39 | const MindWrapRef = useRef(null); 40 | const MindConnectLineRef = useRef(null); 41 | 42 | 43 | const moveDown = (e: MoveEvent) => { 44 | MovePos.current = getTouchPosition(e); 45 | isMoveRef.current = true; 46 | } 47 | 48 | const move = (e: MoveEvent) => { 49 | if (isMoveRef.current) { 50 | const newPos = getTouchPosition(e); 51 | const diff = { 52 | x: newPos.x - MovePos.current.x + MindMapPos.current.x, 53 | y: newPos.y - MovePos.current.y + MindMapPos.current.y 54 | }; 55 | if (MindWrapRef.current && MindConnectLineRef.current) { 56 | MindWrapRef.current.style.transform = `translate(${diff.x}px, ${diff.y}px)`; 57 | MindConnectLineRef.current.style.transform = `translate(${diff.x}px, ${diff.y}px)`; 58 | } 59 | } 60 | } 61 | 62 | const moveUp = (e: MoveEvent) => { 63 | const newPos = getTouchPosition(e); 64 | const diff = { 65 | x: newPos.x - MovePos.current.x + MindMapPos.current.x, 66 | y: newPos.y - MovePos.current.y + MindMapPos.current.y 67 | }; 68 | isMoveRef.current = false; 69 | MindMapPos.current = diff; 70 | } 71 | 72 | return
moveDown(e)} 74 | onMouseMove={(e) => move(e)} 75 | onMouseUp={(e) => moveUp(e)} 76 | className="mind-map-wrap" 77 | > 78 | 79 | 80 |
81 | } 82 | 83 | export default MindMap; -------------------------------------------------------------------------------- /src/app/constants/index.ts: -------------------------------------------------------------------------------- 1 | export const WIDTH = 200; 2 | export const MIN_WIDTH = 200; 3 | export const MIN_HEIGHT = 53; 4 | export const X_GAP = 40; // 节点横轴间距 5 | export const Y_GAP = 10; // 节点纵轴间距 6 | export const INIT_TOP = 2400; 7 | export const INIT_LEFT = 2400; -------------------------------------------------------------------------------- /src/app/control/index.ts: -------------------------------------------------------------------------------- 1 | import { IAddChildNodeInfo, ICurNode } from "../actions/index"; 2 | import { ConnectLine, Direction, INode, INodes, IWrap } from "XmindTypes"; 3 | import { RootState } from "../../store/index"; 4 | import { getOffsetLeft, getFirstNodeTop, getOffsetRight } from "../util/help"; 5 | import { MIN_HEIGHT, MIN_WIDTH, X_GAP, Y_GAP } from "../constants" 6 | 7 | export interface INodeMap { 8 | [key: string]: Required; 9 | } 10 | 11 | /** 12 | * 判断node与parentNode是否存在"血缘"关系 13 | * 14 | * @param parentNode 父节点 15 | * @param node 子节点 16 | * @returns boolean 17 | */ 18 | function isSameNodeParent(parentNode: INode, node: INode): boolean { 19 | if (!node.parent) return false; 20 | if (node.parent.id === parentNode.id) { 21 | return true; 22 | } 23 | return isSameNodeParent(parentNode, node.parent); 24 | } 25 | // 添加节点 26 | export const addNode = function(nodeInfo: IAddChildNodeInfo, store: RootState) { 27 | const { newNode } = nodeInfo; 28 | const { nodeList } = store; 29 | const nodeMap = genNodeId2MapKey([...nodeList, newNode]); 30 | const parentId = newNode.parent?.id as string; 31 | nodeMap[parentId].children?.push(newNode); 32 | addNodeForTree(nodeMap[parentId], nodeMap); 33 | return { 34 | nodeList: Object.values(nodeMap), 35 | nodesLine: [] 36 | }; 37 | } 38 | // 删除节点 39 | export const deleteNode = function(nodeInfo: ICurNode, store: RootState) { 40 | const { curNode } = nodeInfo; 41 | const { nodeList, layoutMode } = store; 42 | const nodeMap = genNodeId2MapKey(nodeList); 43 | // 1. 将所有待删除的子节点,及子孙节点进行删除 44 | const { nodes } = deleteNodeForNodeList(curNode, nodeMap); 45 | // 2. 更新当前节点的父节点,父节点children需清除该节点 46 | deleteNodeForTree(curNode.id, curNode, nodeMap); 47 | const updateNodes = Object.values(nodeMap); 48 | // 3. 缓存当前节点的同级节点 49 | const cacheSameNodes = updateNodes.filter((item) => { 50 | if (item.deep === curNode.deep && item.parent === curNode.parent) { 51 | return true; 52 | } 53 | return false; 54 | }); 55 | // 4. 重置当前节点的同级节点 56 | let deep = 0; 57 | const resetSameNodes = cacheSameNodes.map((item) => { 58 | item.index = deep++; 59 | return item; 60 | }); 61 | // 5. 过滤当前节点的同级节点 62 | const newRoots = updateNodes.filter((item) => { 63 | if (item.parent !== curNode.parent) { 64 | return true; 65 | } 66 | return false; 67 | }); 68 | 69 | return updateNodesControl([...newRoots, ...resetSameNodes], null, layoutMode); 70 | } 71 | // 更新当前节点 72 | export const updateNode = function(nodeInfo: ICurNode, store: RootState, layoutMode?: Direction) { 73 | const { curNode } = nodeInfo; 74 | const { nodeList } = store; 75 | const nodeMap = genNodeId2MapKey(nodeList); 76 | updateNodeForTree(curNode, nodeMap); 77 | return updateNodesControl(Object.values(nodeMap), nodeMap, layoutMode || store.layoutMode); 78 | } 79 | // 更新当前组节点 80 | export const updateNodesControl = function(nodeList: INodes, nodeMap: INodeMap | null, layoutMode: Direction): { 81 | nodeList: Required[]; 82 | nodesLine: ConnectLine[]; 83 | layoutMode: Direction; 84 | } { 85 | // 节点组合映射成map 86 | const nodesMap = nodeMap || genNodeId2MapKey(nodeList); 87 | const rootNode = getRootNode(nodeList[0]); 88 | // 批量更新组节点高度 89 | updateNodesWrap(nodesMap[rootNode.id], nodesMap); 90 | // 批量更新节点位移 91 | updateNodesOffset(nodesMap[rootNode.id], nodesMap, layoutMode); 92 | // 节点map生成新数组 93 | const newNodeList = Object.values(nodesMap); 94 | // 节点map生成连接线 95 | const nodesLine = updateNodesLine(nodesMap[rootNode.id], nodesMap, [], layoutMode); 96 | return { 97 | nodeList: [...newNodeList], 98 | nodesLine, 99 | layoutMode 100 | }; 101 | } 102 | 103 | export const updateLayout = function(nodeList: INodes) { 104 | return ['updateLayout']; 105 | } 106 | 107 | 108 | /* ----------------------------工具库------------------------------- */ 109 | // 更新节点引用关系 110 | function updateNodeForTree (curNode: INode, nodeMap: INodeMap) { 111 | if (!curNode) return; 112 | nodeMap[curNode.id] = curNode as Required; 113 | updateNodeForTree(nodeMap[curNode.id].parent as INode, nodeMap) 114 | } 115 | 116 | // 删除节点引用关系 117 | function deleteNodeForTree (deleteId: string, curNode: INode, nodeMap: INodeMap) { 118 | const parentNode = curNode.parent as INode; 119 | if (!parentNode) return; 120 | const parentNodeId = parentNode.id; 121 | const parentChildren = nodeMap[parentNodeId].children as INodes; 122 | nodeMap[parentNodeId].children = parentChildren.filter((item) => item.id !== deleteId); 123 | 124 | deleteNodeForTree(deleteId, nodeMap[parentNodeId], nodeMap); 125 | } 126 | 127 | // 添加节点引用关系 128 | function addNodeForTree (curNode: INode, nodeMap: INodeMap) { 129 | const parentNode = curNode.parent; 130 | if (!parentNode) return; 131 | const parentNodeId = parentNode.id; 132 | nodeMap[parentNodeId].children = nodeMap[parentNodeId].children?.map((item) => { 133 | if (item.id === curNode.id) { 134 | return curNode; 135 | } 136 | return item; 137 | }) 138 | addNodeForTree(nodeMap[parentNodeId], nodeMap) 139 | } 140 | 141 | 142 | // 删除节点及其子节点 143 | function deleteNodeForNodeList (curNode: INode, nodeMap: INodeMap) { 144 | const nodeList = Object.values(nodeMap); 145 | nodeList.forEach((item) => { 146 | const isSame = isSameNodeParent(curNode, item); 147 | if (curNode.id === item.id || isSame) { 148 | delete nodeMap[item.id]; 149 | } 150 | }); 151 | return { 152 | nodes: Object.values(nodeMap), 153 | nodeMap, 154 | } 155 | } 156 | 157 | // 更新所有节点的高度 158 | function updateNodesWrap (rootNode: INode, nodesMap: INodeMap) : IWrap { 159 | const childrens = rootNode.children as INodes; 160 | const len = childrens.length; 161 | let minWidth = 0; 162 | let minHeight = 0; 163 | const rootId = rootNode.id; 164 | if (len === 0) { 165 | minHeight = nodesMap[rootId].element?.offsetHeight as number; 166 | minWidth = nodesMap[rootId].element?.offsetWidth as number; 167 | nodesMap[rootId].ele = { height: minHeight, width: minWidth }; 168 | nodesMap[rootId].wrap = { height: minHeight || MIN_HEIGHT, width: minWidth || MIN_WIDTH }; 169 | return nodesMap[rootId].wrap; 170 | }; 171 | 172 | minWidth = nodesMap[rootId].element?.offsetWidth || MIN_WIDTH; 173 | 174 | childrens.forEach((item) => { 175 | const { width, height } = updateNodesWrap(item, nodesMap); 176 | minHeight = minHeight + Y_GAP + height; 177 | minWidth = minWidth + X_GAP + width; 178 | }); 179 | 180 | minHeight = minHeight - Y_GAP; 181 | const wrapHeight = nodesMap[rootId].deep === 1 ? Math.max(minHeight, (nodesMap[rootId].element?.offsetHeight as number)) : minHeight; 182 | nodesMap[rootId].wrap = { height: wrapHeight, width: minWidth }; 183 | return nodesMap[rootId].wrap; 184 | } 185 | 186 | // 更新所以节点的偏移量 187 | function updateNodesOffset (rootNode: INode, nodesMap: INodeMap, layoutMode: string) { 188 | if (!rootNode) return; 189 | const childrens = rootNode.children as INodes; 190 | const len = childrens.length; 191 | 192 | if (!rootNode.parent) { 193 | nodesMap[rootNode.id].y = getFirstNodeTop(rootNode, nodesMap); 194 | } 195 | 196 | if (len === 0) return; 197 | 198 | for (let i = 0; i < len; i++) { 199 | const childrNode = childrens[i]; 200 | const nodeId = childrNode.id; 201 | 202 | if (layoutMode === 'left') { 203 | nodesMap[nodeId].x = getOffsetRight(childrNode, nodesMap); 204 | } else { 205 | nodesMap[nodeId].x = getOffsetLeft(childrNode, nodesMap); 206 | } 207 | 208 | if (i === 0) { 209 | nodesMap[nodeId].y = getFirstNodeTop(childrNode, nodesMap); 210 | } else { 211 | // 上个节点的top + 上个节点的高度 - 上个节点的占用高度 212 | const prevNodeId = childrens[i - 1].id; 213 | const preWrap = nodesMap[prevNodeId].wrap; 214 | const offsetTop = nodesMap[prevNodeId].y + preWrap.height - (preWrap.height - (nodesMap[prevNodeId].element?.offsetHeight as number)) / 2; 215 | nodesMap[nodeId].y = offsetTop + (nodesMap[nodeId].wrap.height - (nodesMap[nodeId].element?.offsetHeight as number)) / 2 + Y_GAP; 216 | } 217 | updateNodesOffset(childrNode, nodesMap, layoutMode) 218 | } 219 | 220 | return; 221 | } 222 | 223 | // nodeList 生成 { [node.id]: {node} } 224 | function genNodeId2MapKey(nodeList: INodes) : INodeMap { 225 | const nodeMap = {} as INodeMap; 226 | nodeList.forEach((item) => { 227 | const key = item.id; 228 | nodeMap[key] = item as Required; 229 | }); 230 | return nodeMap; 231 | } 232 | 233 | // 获取根节点 234 | export function getRootNode(node: INode) : INode{ 235 | if (!node.parent) return node; 236 | return getRootNode(node.parent); 237 | } 238 | /** 239 | * 更新连接线 240 | */ 241 | function updateNodesLine (root: INode, nodeMap: INodeMap, lines: ConnectLine[], layoutMode: string): ConnectLine[] { 242 | if(root.children && !root.children.length) { 243 | return lines; 244 | } 245 | const rootId = root.id; 246 | const rootNode = nodeMap[rootId]; 247 | rootNode.children.forEach(item => { 248 | const bezireMap: ConnectLine = { 249 | from: { 250 | x: layoutMode === 'left' ? rootNode.x : rootNode.x + rootNode.ele.width, 251 | y: rootNode.y + rootNode.ele.height / 2 252 | }, 253 | q: { 254 | x: 0, 255 | y: 0 256 | }, 257 | to: { 258 | x: 0, 259 | y: 0 260 | } 261 | }; 262 | // const direction = start.x - to.x > 0 ? 'left' : 'right'; 263 | const nodeId = item.id; 264 | const childrenNode = nodeMap[nodeId]; 265 | const childEle = childrenNode.ele || {}; 266 | bezireMap.to = { 267 | x: layoutMode === 'left' ? childrenNode.x + childrenNode.ele.width : childrenNode.x, 268 | y: childrenNode.y + (childEle.height || 0) / 2 269 | } 270 | bezireMap.q = { 271 | x: bezireMap.from.x + (bezireMap.to.x - bezireMap.from.x) / 2 - 10, 272 | y: bezireMap.to.y 273 | } 274 | lines.push(bezireMap); 275 | lines.concat(updateNodesLine(childrenNode, nodeMap, lines, layoutMode)); 276 | }); 277 | return lines; 278 | } -------------------------------------------------------------------------------- /src/app/epics/index.ts: -------------------------------------------------------------------------------- 1 | 2 | 3 | import { Epic } from "redux-observable"; 4 | import { filter, map } from "rxjs/operators"; 5 | 6 | import { isActionOf } from "typesafe-actions"; 7 | import { RootState, ActionsType } from "../../store/index"; 8 | import { ConnectLine, INode, Direction } from "XmindTypes"; 9 | import * as controls from "../control"; 10 | import { ICurNode, IAddChildNodeInfo, 11 | actionSuccess, addChildNodeAction, deleteNodeAction, updateNodeAction, updateNodesAction, updateLayoutAction, 12 | updateLayoutSuccessAction } from "../actions"; 13 | 14 | type RootEpic = Epic< 15 | ActionsType, 16 | ActionsType, 17 | RootState, 18 | typeof controls 19 | >; 20 | type ActionResult = { 21 | nodeList: Required[]; 22 | nodesLine: ConnectLine[]; 23 | layoutMode?: Direction; 24 | } 25 | export const addChildNodeEpic: RootEpic = (action$, store, { addNode }) => 26 | action$.pipe( 27 | filter(isActionOf(addChildNodeAction)), 28 | map((nodeInfo: IAddChildNodeInfo) => addNode(nodeInfo, store.value)), 29 | map((result: ActionResult) => actionSuccess(result.nodeList, result.nodesLine)) 30 | ) 31 | 32 | export const deleteNodeEpic: RootEpic = (action$, store, { deleteNode }) => 33 | action$.pipe( 34 | filter(isActionOf(deleteNodeAction)), 35 | map((nodeInfo: ICurNode) => deleteNode(nodeInfo, store.value)), 36 | map((result: ActionResult) => actionSuccess(result.nodeList, result.nodesLine, result.layoutMode)) 37 | ) 38 | 39 | export const updateNodeEpic: RootEpic = (action$, store, { updateNode }) => 40 | action$.pipe( 41 | filter(isActionOf(updateNodeAction)), 42 | map((nodeInfo: ICurNode) => updateNode(nodeInfo, store.value)), 43 | map((result: ActionResult) => actionSuccess(result.nodeList, result.nodesLine, result.layoutMode)) 44 | ) 45 | 46 | export const updateNodesEpic: RootEpic = (action$, store, { updateNodesControl }) => 47 | action$.pipe( 48 | filter(isActionOf(updateNodesAction)), 49 | map(() => updateNodesControl(store.value.nodeList, null, store.value.layoutMode)), 50 | map((result: ActionResult) => actionSuccess(result.nodeList, result.nodesLine, result.layoutMode)) 51 | ) 52 | 53 | export const updateLayoutEpic: RootEpic = (action$, store, { updateNodesControl }) => 54 | action$.pipe( 55 | filter(isActionOf(updateLayoutAction)), 56 | map((value) => updateNodesControl(store.value.nodeList, null, value.layoutMode)), 57 | map((result: ActionResult) => actionSuccess(result.nodeList, result.nodesLine, result.layoutMode)) 58 | ) 59 | -------------------------------------------------------------------------------- /src/app/global.less: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', 5 | sans-serif; 6 | -webkit-font-smoothing: antialiased; 7 | -moz-osx-font-smoothing: grayscale; 8 | } 9 | * { 10 | margin: 0; 11 | padding: 0; 12 | } 13 | html, body, #root { 14 | height: 100%; 15 | overflow: hidden; 16 | } -------------------------------------------------------------------------------- /src/app/index.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | import Menu from "./component/Menu"; 3 | import MindMap from "./component/MindMap"; 4 | import "./global.less"; 5 | 6 | function XMind() { 7 | return <> 8 | 9 | 10 | 11 | } 12 | 13 | export default XMind; -------------------------------------------------------------------------------- /src/app/reducers/index.ts: -------------------------------------------------------------------------------- 1 | import { createReducer } from "typesafe-actions"; 2 | import { combineReducers } from 'redux'; 3 | import { XmindNode } from "../../model/node"; 4 | import { INode, INodes, ConnectLine, IStore } from "XmindTypes"; 5 | import { actionSuccess, selectCurNodeAction, updateLayoutSuccessAction } from "../actions/index"; 6 | import { v4 as uuidv4 } from 'uuid'; 7 | import { INIT_LEFT, INIT_TOP } from '../constants'; 8 | 9 | interface IAction { 10 | type: string; 11 | nodeList: INodes; 12 | curNode: INode; 13 | nodesLine: ConnectLine[]; 14 | layoutMode: string; 15 | } 16 | 17 | const reducers = combineReducers({ 18 | nodeList: createReducer([new XmindNode({ 19 | content: '根节点', 20 | x: INIT_LEFT, 21 | y: INIT_TOP, 22 | id: uuidv4().slice(0, 8), 23 | isRoot: true, 24 | })]) 25 | .handleAction(actionSuccess, (nodeList: INode, action: IAction) => action.nodeList), 26 | 27 | curNode: createReducer(null) 28 | .handleAction(selectCurNodeAction, (curNode: INode, action: IAction) => action.curNode), 29 | 30 | nodesLine: createReducer([]) 31 | .handleAction(actionSuccess, (nodesLine: ConnectLine[], action: IAction) => action.nodesLine), 32 | 33 | layoutMode: createReducer('right') 34 | .handleAction(actionSuccess, (layoutMode: string, action: IAction) => action.layoutMode || layoutMode), 35 | }); 36 | 37 | export default reducers; 38 | -------------------------------------------------------------------------------- /src/app/types/global.d.ts: -------------------------------------------------------------------------------- 1 | 2 | 3 | declare module "XmindTypes" { 4 | export type IWrap = { 5 | width: number; 6 | height: number; 7 | } 8 | export type ConnectLine = { 9 | from: { 10 | x: number; 11 | y: number; 12 | }, 13 | q: { 14 | x: number; 15 | y: number; 16 | }, 17 | to: { 18 | x: number; 19 | y: number; 20 | }; 21 | } 22 | export interface INode { 23 | parent?: INode | null; 24 | children?: INode[]; 25 | content?: string; 26 | id: string; 27 | deep?: number; 28 | index?: number; 29 | x: number; 30 | y: number; 31 | element?: HTMLDivElement | null; 32 | wrap?: IWrap; 33 | isRoot?: boolean; 34 | ele?: { 35 | width: number; 36 | height: number; 37 | } 38 | } 39 | 40 | export type INodes = INode[]; 41 | export type Direction = 'left' | 'right' | 'mid'; 42 | export interface IStore { 43 | nodeList: INodes; 44 | curNode: INode; 45 | layoutMode: Direction; 46 | nodesLine: ConnectLine[]; 47 | } 48 | } 49 | declare module 'classnames'; -------------------------------------------------------------------------------- /src/app/util/help.ts: -------------------------------------------------------------------------------- 1 | import { INode } from "XmindTypes" 2 | import { X_GAP, MIN_HEIGHT, INIT_TOP } from "../constants" 3 | import { INodeMap } from "../control/index"; 4 | 5 | 6 | export const getFirstNodeTop = (node: INode, nodesMap: INodeMap) => { 7 | // 根节点 8 | if (!node.parent || !nodesMap) { 9 | return INIT_TOP; 10 | } 11 | // 多个子节点 12 | const parentId = node.parent.id; 13 | // const midY = (nodesMap[parentId].minHeight - nodesMap[nodeId].minHeight) / 2; 14 | const parentOffsetHeight = nodesMap[parentId].element?.offsetHeight || MIN_HEIGHT; 15 | const parentMinHeight = nodesMap[parentId].wrap?.height || 0; 16 | // 当前 wrap 的 top 17 | const midY = parentOffsetHeight > parentMinHeight ? (parentOffsetHeight - parentMinHeight) / 2 : (parentMinHeight - parentOffsetHeight) / 2; 18 | const wrapTop = parentOffsetHeight > parentMinHeight ? nodesMap[parentId].y + midY : nodesMap[parentId].y - midY; 19 | // 当前 element 的 top 20 | const nodeId = node.id; 21 | const nodeOffsetHeight = nodesMap[nodeId].element?.offsetHeight || MIN_HEIGHT; 22 | const nodeMinHeight = nodesMap[nodeId].wrap?.height; 23 | const nodY = nodeOffsetHeight > nodeMinHeight ? (nodeOffsetHeight - nodeMinHeight) / 2 : (nodeMinHeight - nodeOffsetHeight) / 2; 24 | // fix deep === 2 25 | const diffY = nodesMap[nodeId].deep === 2 && parentOffsetHeight > nodeMinHeight ? (parentOffsetHeight - nodeMinHeight) / 2 : 0 26 | 27 | return wrapTop + nodY + diffY; 28 | } 29 | 30 | export const getOffsetLeft = (node: INode, nodesMap: INodeMap, ele?: HTMLDivElement | null) => { 31 | if (!node.deep) { 32 | return ele?.offsetLeft || 0; 33 | } 34 | const offsetLeft = getLeftWidth(node, nodesMap); 35 | return offsetLeft; 36 | } 37 | 38 | export const getOffsetRight = (node: INode, nodesMap: INodeMap, ele?: HTMLDivElement | null) => { 39 | if (!node.deep) { 40 | return ele?.offsetLeft || 0; 41 | } 42 | const offsetRight = getRightWidth(node, nodesMap); 43 | return offsetRight; 44 | } 45 | 46 | function getRightWidth (node: INode, nodesMap: INodeMap): number { 47 | if (!node) return 0; 48 | if (!node.parent) return 0; 49 | const parentId = node.parent.id; 50 | const parentNode = nodesMap[parentId]; 51 | const parentElement = parentNode.element as HTMLElement; 52 | const offsetLeft = parentNode.x - parentElement.offsetWidth - X_GAP; 53 | return parentNode.isRoot ? offsetLeft - 20 : offsetLeft; 54 | } 55 | 56 | function getLeftWidth (node: INode, nodesMap: INodeMap): number { 57 | if (!node) return 0; 58 | if (!node.parent) return 0; 59 | const parentId = node.parent.id; 60 | const parentNode = nodesMap[parentId]; 61 | const parentElement = parentNode.element as HTMLElement; 62 | return parentNode.x + parentElement.offsetWidth + X_GAP; 63 | } -------------------------------------------------------------------------------- /src/model/node.ts: -------------------------------------------------------------------------------- 1 | import { INode } from 'XmindTypes'; 2 | 3 | export class XmindNode implements INode { 4 | index; 5 | parent; 6 | children: []; 7 | content; 8 | id; 9 | deep; 10 | element; 11 | wrap; 12 | isRoot; 13 | public x: number; 14 | public y: number; 15 | constructor(props: INode) { 16 | this.parent = props.parent || null; 17 | this.children = []; 18 | this.content = props.content || '子节点'; 19 | this.id = props.id; 20 | this.deep = props.deep || 0; 21 | this.x = props.x || 0; 22 | this.y = props.y || 0; 23 | this.index = props.index || 0; 24 | this.element = props.element; 25 | this.isRoot = props.isRoot || false; 26 | this.wrap = props.wrap || { 27 | width: 0, 28 | height: 0 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /src/store/index.ts: -------------------------------------------------------------------------------- 1 | 2 | 3 | import { ActionType } from 'typesafe-actions'; 4 | import { applyMiddleware, compose, createStore } from "redux"; 5 | import { createEpicMiddleware } from "redux-observable"; 6 | import * as dependencies from "../app/control/index"; 7 | 8 | import rootEpic from "./root-epics"; 9 | import * as actions from "./root-actions"; 10 | import reducers from "./root-reducers"; 11 | import { IStore } from "XmindTypes"; 12 | 13 | export type RootState = IStore; 14 | export type ActionsType = ActionType; 15 | 16 | declare global { 17 | interface Window { 18 | __REDUX_DEVTOOLS_EXTENSION_COMPOSE__: Function; 19 | } 20 | } 21 | 22 | const epicMiddleware = createEpicMiddleware< 23 | ActionsType, 24 | ActionsType, 25 | RootState 26 | >({ 27 | dependencies 28 | }); 29 | 30 | const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; 31 | 32 | // Create store 33 | function configureStore(initialState?: RootState) { 34 | // configure middlewares 35 | const middlewares = [epicMiddleware]; 36 | // compose enhancers 37 | const enhancer = composeEnhancers(applyMiddleware(...middlewares)); 38 | // create store 39 | return createStore(reducers, enhancer); 40 | } 41 | 42 | const store = configureStore(); 43 | 44 | epicMiddleware.run(rootEpic); // 必须放在store生成后启动 45 | 46 | export default store; 47 | -------------------------------------------------------------------------------- /src/store/root-actions.ts: -------------------------------------------------------------------------------- 1 | import * as xmindActions from "../app/actions/index"; 2 | 3 | export default { 4 | xmindActions 5 | } -------------------------------------------------------------------------------- /src/store/root-epics.ts: -------------------------------------------------------------------------------- 1 | import { combineEpics } from "redux-observable"; 2 | import * as xmindEpic from "../app/epics/index" 3 | 4 | const rootEpic = combineEpics( 5 | ...Object.values(xmindEpic), 6 | ); 7 | 8 | export default rootEpic; 9 | -------------------------------------------------------------------------------- /src/store/root-reducers.ts: -------------------------------------------------------------------------------- 1 | import reducers from "../app/reducers"; 2 | 3 | export default reducers; 4 | -------------------------------------------------------------------------------- /src/store/root-sercices.ts: -------------------------------------------------------------------------------- 1 | import * as xmindServices from "../app/control"; 2 | 3 | export default { 4 | xmindServices 5 | } -------------------------------------------------------------------------------- /src/store/type.d.ts: -------------------------------------------------------------------------------- 1 | import { StateType, ActionType } from 'typesafe-actions'; 2 | import RootReducer from "./root-reducers"; 3 | import RootActions from "./root-actions"; 4 | 5 | declare module 'MyTypes' { 6 | export type RootState = StateType< 7 | ReturnType 8 | >; 9 | export type RootActions = ActionType; 10 | export type RootEpic = any; 11 | } 12 | -------------------------------------------------------------------------------- /src/types/type.d.ts: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | // declare module 'MyTypes' { 5 | // import { StateType, ActionType } from 'typesafe-actions'; 6 | 7 | 8 | // export type RootState = StateType< 9 | // ReturnType 10 | // >; 11 | // export type RootActions = ActionType; 12 | // export type RootEpic = any; 13 | // } -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2015", 4 | "module": "es2015", 5 | "jsx": "react", 6 | "strict": true, 7 | "esModuleInterop": true, 8 | "forceConsistentCasingInFileNames": true, 9 | "moduleResolution": "Node" 10 | } 11 | } -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import react from '@vitejs/plugin-react' 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [react()] 7 | }) 8 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@ampproject/remapping@^2.1.0": 6 | version "2.1.2" 7 | resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34" 8 | integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg== 9 | dependencies: 10 | "@jridgewell/trace-mapping" "^0.3.0" 11 | 12 | "@babel/code-frame@^7.16.7": 13 | version "7.16.7" 14 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" 15 | integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== 16 | dependencies: 17 | "@babel/highlight" "^7.16.7" 18 | 19 | "@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.8", "@babel/compat-data@^7.17.0", "@babel/compat-data@^7.17.7": 20 | version "7.17.7" 21 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.7.tgz#078d8b833fbbcc95286613be8c716cef2b519fa2" 22 | integrity sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ== 23 | 24 | "@babel/core@^7.10.2", "@babel/core@^7.17.9": 25 | version "7.17.9" 26 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.9.tgz#6bae81a06d95f4d0dec5bb9d74bbc1f58babdcfe" 27 | integrity sha512-5ug+SfZCpDAkVp9SFIZAzlW18rlzsOcJGaetCjkySnrXXDUw9AR8cDUm1iByTmdWM6yxX6/zycaV76w3YTF2gw== 28 | dependencies: 29 | "@ampproject/remapping" "^2.1.0" 30 | "@babel/code-frame" "^7.16.7" 31 | "@babel/generator" "^7.17.9" 32 | "@babel/helper-compilation-targets" "^7.17.7" 33 | "@babel/helper-module-transforms" "^7.17.7" 34 | "@babel/helpers" "^7.17.9" 35 | "@babel/parser" "^7.17.9" 36 | "@babel/template" "^7.16.7" 37 | "@babel/traverse" "^7.17.9" 38 | "@babel/types" "^7.17.0" 39 | convert-source-map "^1.7.0" 40 | debug "^4.1.0" 41 | gensync "^1.0.0-beta.2" 42 | json5 "^2.2.1" 43 | semver "^6.3.0" 44 | 45 | "@babel/generator@^7.17.9": 46 | version "7.17.9" 47 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.9.tgz#f4af9fd38fa8de143c29fce3f71852406fc1e2fc" 48 | integrity sha512-rAdDousTwxbIxbz5I7GEQ3lUip+xVCXooZNbsydCWs3xA7ZsYOv+CFRdzGxRX78BmQHu9B1Eso59AOZQOJDEdQ== 49 | dependencies: 50 | "@babel/types" "^7.17.0" 51 | jsesc "^2.5.1" 52 | source-map "^0.5.0" 53 | 54 | "@babel/helper-annotate-as-pure@^7.16.7": 55 | version "7.16.7" 56 | resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" 57 | integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw== 58 | dependencies: 59 | "@babel/types" "^7.16.7" 60 | 61 | "@babel/helper-builder-binary-assignment-operator-visitor@^7.16.7": 62 | version "7.16.7" 63 | resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz#38d138561ea207f0f69eb1626a418e4f7e6a580b" 64 | integrity sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA== 65 | dependencies: 66 | "@babel/helper-explode-assignable-expression" "^7.16.7" 67 | "@babel/types" "^7.16.7" 68 | 69 | "@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.7", "@babel/helper-compilation-targets@^7.17.7": 70 | version "7.17.7" 71 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz#a3c2924f5e5f0379b356d4cfb313d1414dc30e46" 72 | integrity sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w== 73 | dependencies: 74 | "@babel/compat-data" "^7.17.7" 75 | "@babel/helper-validator-option" "^7.16.7" 76 | browserslist "^4.17.5" 77 | semver "^6.3.0" 78 | 79 | "@babel/helper-create-class-features-plugin@^7.16.10", "@babel/helper-create-class-features-plugin@^7.16.7", "@babel/helper-create-class-features-plugin@^7.17.6": 80 | version "7.17.9" 81 | resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz#71835d7fb9f38bd9f1378e40a4c0902fdc2ea49d" 82 | integrity sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ== 83 | dependencies: 84 | "@babel/helper-annotate-as-pure" "^7.16.7" 85 | "@babel/helper-environment-visitor" "^7.16.7" 86 | "@babel/helper-function-name" "^7.17.9" 87 | "@babel/helper-member-expression-to-functions" "^7.17.7" 88 | "@babel/helper-optimise-call-expression" "^7.16.7" 89 | "@babel/helper-replace-supers" "^7.16.7" 90 | "@babel/helper-split-export-declaration" "^7.16.7" 91 | 92 | "@babel/helper-create-regexp-features-plugin@^7.16.7": 93 | version "7.17.0" 94 | resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz#1dcc7d40ba0c6b6b25618997c5dbfd310f186fe1" 95 | integrity sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA== 96 | dependencies: 97 | "@babel/helper-annotate-as-pure" "^7.16.7" 98 | regexpu-core "^5.0.1" 99 | 100 | "@babel/helper-define-polyfill-provider@^0.3.1": 101 | version "0.3.1" 102 | resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz#52411b445bdb2e676869e5a74960d2d3826d2665" 103 | integrity sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA== 104 | dependencies: 105 | "@babel/helper-compilation-targets" "^7.13.0" 106 | "@babel/helper-module-imports" "^7.12.13" 107 | "@babel/helper-plugin-utils" "^7.13.0" 108 | "@babel/traverse" "^7.13.0" 109 | debug "^4.1.1" 110 | lodash.debounce "^4.0.8" 111 | resolve "^1.14.2" 112 | semver "^6.1.2" 113 | 114 | "@babel/helper-environment-visitor@^7.16.7": 115 | version "7.16.7" 116 | resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" 117 | integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== 118 | dependencies: 119 | "@babel/types" "^7.16.7" 120 | 121 | "@babel/helper-explode-assignable-expression@^7.16.7": 122 | version "7.16.7" 123 | resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz#12a6d8522fdd834f194e868af6354e8650242b7a" 124 | integrity sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ== 125 | dependencies: 126 | "@babel/types" "^7.16.7" 127 | 128 | "@babel/helper-function-name@^7.16.7", "@babel/helper-function-name@^7.17.9": 129 | version "7.17.9" 130 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz#136fcd54bc1da82fcb47565cf16fd8e444b1ff12" 131 | integrity sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg== 132 | dependencies: 133 | "@babel/template" "^7.16.7" 134 | "@babel/types" "^7.17.0" 135 | 136 | "@babel/helper-hoist-variables@^7.16.7": 137 | version "7.16.7" 138 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" 139 | integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== 140 | dependencies: 141 | "@babel/types" "^7.16.7" 142 | 143 | "@babel/helper-member-expression-to-functions@^7.16.7", "@babel/helper-member-expression-to-functions@^7.17.7": 144 | version "7.17.7" 145 | resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz#a34013b57d8542a8c4ff8ba3f747c02452a4d8c4" 146 | integrity sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw== 147 | dependencies: 148 | "@babel/types" "^7.17.0" 149 | 150 | "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.7": 151 | version "7.16.7" 152 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" 153 | integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== 154 | dependencies: 155 | "@babel/types" "^7.16.7" 156 | 157 | "@babel/helper-module-transforms@^7.16.7", "@babel/helper-module-transforms@^7.17.7": 158 | version "7.17.7" 159 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz#3943c7f777139e7954a5355c815263741a9c1cbd" 160 | integrity sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw== 161 | dependencies: 162 | "@babel/helper-environment-visitor" "^7.16.7" 163 | "@babel/helper-module-imports" "^7.16.7" 164 | "@babel/helper-simple-access" "^7.17.7" 165 | "@babel/helper-split-export-declaration" "^7.16.7" 166 | "@babel/helper-validator-identifier" "^7.16.7" 167 | "@babel/template" "^7.16.7" 168 | "@babel/traverse" "^7.17.3" 169 | "@babel/types" "^7.17.0" 170 | 171 | "@babel/helper-optimise-call-expression@^7.16.7": 172 | version "7.16.7" 173 | resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2" 174 | integrity sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w== 175 | dependencies: 176 | "@babel/types" "^7.16.7" 177 | 178 | "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": 179 | version "7.16.7" 180 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" 181 | integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== 182 | 183 | "@babel/helper-remap-async-to-generator@^7.16.8": 184 | version "7.16.8" 185 | resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz#29ffaade68a367e2ed09c90901986918d25e57e3" 186 | integrity sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw== 187 | dependencies: 188 | "@babel/helper-annotate-as-pure" "^7.16.7" 189 | "@babel/helper-wrap-function" "^7.16.8" 190 | "@babel/types" "^7.16.8" 191 | 192 | "@babel/helper-replace-supers@^7.16.7": 193 | version "7.16.7" 194 | resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz#e9f5f5f32ac90429c1a4bdec0f231ef0c2838ab1" 195 | integrity sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw== 196 | dependencies: 197 | "@babel/helper-environment-visitor" "^7.16.7" 198 | "@babel/helper-member-expression-to-functions" "^7.16.7" 199 | "@babel/helper-optimise-call-expression" "^7.16.7" 200 | "@babel/traverse" "^7.16.7" 201 | "@babel/types" "^7.16.7" 202 | 203 | "@babel/helper-simple-access@^7.17.7": 204 | version "7.17.7" 205 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz#aaa473de92b7987c6dfa7ce9a7d9674724823367" 206 | integrity sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA== 207 | dependencies: 208 | "@babel/types" "^7.17.0" 209 | 210 | "@babel/helper-skip-transparent-expression-wrappers@^7.16.0": 211 | version "7.16.0" 212 | resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" 213 | integrity sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw== 214 | dependencies: 215 | "@babel/types" "^7.16.0" 216 | 217 | "@babel/helper-split-export-declaration@^7.16.7": 218 | version "7.16.7" 219 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" 220 | integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== 221 | dependencies: 222 | "@babel/types" "^7.16.7" 223 | 224 | "@babel/helper-validator-identifier@^7.16.7": 225 | version "7.16.7" 226 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" 227 | integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== 228 | 229 | "@babel/helper-validator-option@^7.16.7": 230 | version "7.16.7" 231 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" 232 | integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== 233 | 234 | "@babel/helper-wrap-function@^7.16.8": 235 | version "7.16.8" 236 | resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz#58afda087c4cd235de92f7ceedebca2c41274200" 237 | integrity sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw== 238 | dependencies: 239 | "@babel/helper-function-name" "^7.16.7" 240 | "@babel/template" "^7.16.7" 241 | "@babel/traverse" "^7.16.8" 242 | "@babel/types" "^7.16.8" 243 | 244 | "@babel/helpers@^7.17.9": 245 | version "7.17.9" 246 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.9.tgz#b2af120821bfbe44f9907b1826e168e819375a1a" 247 | integrity sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q== 248 | dependencies: 249 | "@babel/template" "^7.16.7" 250 | "@babel/traverse" "^7.17.9" 251 | "@babel/types" "^7.17.0" 252 | 253 | "@babel/highlight@^7.16.7": 254 | version "7.17.9" 255 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.17.9.tgz#61b2ee7f32ea0454612def4fccdae0de232b73e3" 256 | integrity sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg== 257 | dependencies: 258 | "@babel/helper-validator-identifier" "^7.16.7" 259 | chalk "^2.0.0" 260 | js-tokens "^4.0.0" 261 | 262 | "@babel/parser@^7.16.7", "@babel/parser@^7.17.9": 263 | version "7.17.9" 264 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.9.tgz#9c94189a6062f0291418ca021077983058e171ef" 265 | integrity sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg== 266 | 267 | "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": 268 | version "7.16.7" 269 | resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" 270 | integrity sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg== 271 | dependencies: 272 | "@babel/helper-plugin-utils" "^7.16.7" 273 | 274 | "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.7": 275 | version "7.16.7" 276 | resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz#cc001234dfc139ac45f6bcf801866198c8c72ff9" 277 | integrity sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw== 278 | dependencies: 279 | "@babel/helper-plugin-utils" "^7.16.7" 280 | "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" 281 | "@babel/plugin-proposal-optional-chaining" "^7.16.7" 282 | 283 | "@babel/plugin-proposal-async-generator-functions@^7.16.8": 284 | version "7.16.8" 285 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz#3bdd1ebbe620804ea9416706cd67d60787504bc8" 286 | integrity sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ== 287 | dependencies: 288 | "@babel/helper-plugin-utils" "^7.16.7" 289 | "@babel/helper-remap-async-to-generator" "^7.16.8" 290 | "@babel/plugin-syntax-async-generators" "^7.8.4" 291 | 292 | "@babel/plugin-proposal-class-properties@^7.16.7": 293 | version "7.16.7" 294 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz#925cad7b3b1a2fcea7e59ecc8eb5954f961f91b0" 295 | integrity sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww== 296 | dependencies: 297 | "@babel/helper-create-class-features-plugin" "^7.16.7" 298 | "@babel/helper-plugin-utils" "^7.16.7" 299 | 300 | "@babel/plugin-proposal-class-static-block@^7.16.7": 301 | version "7.17.6" 302 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz#164e8fd25f0d80fa48c5a4d1438a6629325ad83c" 303 | integrity sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA== 304 | dependencies: 305 | "@babel/helper-create-class-features-plugin" "^7.17.6" 306 | "@babel/helper-plugin-utils" "^7.16.7" 307 | "@babel/plugin-syntax-class-static-block" "^7.14.5" 308 | 309 | "@babel/plugin-proposal-dynamic-import@^7.16.7": 310 | version "7.16.7" 311 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz#c19c897eaa46b27634a00fee9fb7d829158704b2" 312 | integrity sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg== 313 | dependencies: 314 | "@babel/helper-plugin-utils" "^7.16.7" 315 | "@babel/plugin-syntax-dynamic-import" "^7.8.3" 316 | 317 | "@babel/plugin-proposal-export-namespace-from@^7.16.7": 318 | version "7.16.7" 319 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz#09de09df18445a5786a305681423ae63507a6163" 320 | integrity sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA== 321 | dependencies: 322 | "@babel/helper-plugin-utils" "^7.16.7" 323 | "@babel/plugin-syntax-export-namespace-from" "^7.8.3" 324 | 325 | "@babel/plugin-proposal-json-strings@^7.16.7": 326 | version "7.16.7" 327 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz#9732cb1d17d9a2626a08c5be25186c195b6fa6e8" 328 | integrity sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ== 329 | dependencies: 330 | "@babel/helper-plugin-utils" "^7.16.7" 331 | "@babel/plugin-syntax-json-strings" "^7.8.3" 332 | 333 | "@babel/plugin-proposal-logical-assignment-operators@^7.16.7": 334 | version "7.16.7" 335 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz#be23c0ba74deec1922e639832904be0bea73cdea" 336 | integrity sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg== 337 | dependencies: 338 | "@babel/helper-plugin-utils" "^7.16.7" 339 | "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" 340 | 341 | "@babel/plugin-proposal-nullish-coalescing-operator@^7.16.7": 342 | version "7.16.7" 343 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz#141fc20b6857e59459d430c850a0011e36561d99" 344 | integrity sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ== 345 | dependencies: 346 | "@babel/helper-plugin-utils" "^7.16.7" 347 | "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" 348 | 349 | "@babel/plugin-proposal-numeric-separator@^7.16.7": 350 | version "7.16.7" 351 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz#d6b69f4af63fb38b6ca2558442a7fb191236eba9" 352 | integrity sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw== 353 | dependencies: 354 | "@babel/helper-plugin-utils" "^7.16.7" 355 | "@babel/plugin-syntax-numeric-separator" "^7.10.4" 356 | 357 | "@babel/plugin-proposal-object-rest-spread@^7.16.7": 358 | version "7.17.3" 359 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz#d9eb649a54628a51701aef7e0ea3d17e2b9dd390" 360 | integrity sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw== 361 | dependencies: 362 | "@babel/compat-data" "^7.17.0" 363 | "@babel/helper-compilation-targets" "^7.16.7" 364 | "@babel/helper-plugin-utils" "^7.16.7" 365 | "@babel/plugin-syntax-object-rest-spread" "^7.8.3" 366 | "@babel/plugin-transform-parameters" "^7.16.7" 367 | 368 | "@babel/plugin-proposal-optional-catch-binding@^7.16.7": 369 | version "7.16.7" 370 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz#c623a430674ffc4ab732fd0a0ae7722b67cb74cf" 371 | integrity sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA== 372 | dependencies: 373 | "@babel/helper-plugin-utils" "^7.16.7" 374 | "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" 375 | 376 | "@babel/plugin-proposal-optional-chaining@^7.16.7": 377 | version "7.16.7" 378 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz#7cd629564724816c0e8a969535551f943c64c39a" 379 | integrity sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA== 380 | dependencies: 381 | "@babel/helper-plugin-utils" "^7.16.7" 382 | "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" 383 | "@babel/plugin-syntax-optional-chaining" "^7.8.3" 384 | 385 | "@babel/plugin-proposal-private-methods@^7.16.11": 386 | version "7.16.11" 387 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz#e8df108288555ff259f4527dbe84813aac3a1c50" 388 | integrity sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw== 389 | dependencies: 390 | "@babel/helper-create-class-features-plugin" "^7.16.10" 391 | "@babel/helper-plugin-utils" "^7.16.7" 392 | 393 | "@babel/plugin-proposal-private-property-in-object@^7.16.7": 394 | version "7.16.7" 395 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz#b0b8cef543c2c3d57e59e2c611994861d46a3fce" 396 | integrity sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ== 397 | dependencies: 398 | "@babel/helper-annotate-as-pure" "^7.16.7" 399 | "@babel/helper-create-class-features-plugin" "^7.16.7" 400 | "@babel/helper-plugin-utils" "^7.16.7" 401 | "@babel/plugin-syntax-private-property-in-object" "^7.14.5" 402 | 403 | "@babel/plugin-proposal-unicode-property-regex@^7.16.7", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": 404 | version "7.16.7" 405 | resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz#635d18eb10c6214210ffc5ff4932552de08188a2" 406 | integrity sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg== 407 | dependencies: 408 | "@babel/helper-create-regexp-features-plugin" "^7.16.7" 409 | "@babel/helper-plugin-utils" "^7.16.7" 410 | 411 | "@babel/plugin-syntax-async-generators@^7.8.4": 412 | version "7.8.4" 413 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" 414 | integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== 415 | dependencies: 416 | "@babel/helper-plugin-utils" "^7.8.0" 417 | 418 | "@babel/plugin-syntax-class-properties@^7.12.13": 419 | version "7.12.13" 420 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" 421 | integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== 422 | dependencies: 423 | "@babel/helper-plugin-utils" "^7.12.13" 424 | 425 | "@babel/plugin-syntax-class-static-block@^7.14.5": 426 | version "7.14.5" 427 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" 428 | integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== 429 | dependencies: 430 | "@babel/helper-plugin-utils" "^7.14.5" 431 | 432 | "@babel/plugin-syntax-dynamic-import@^7.8.3": 433 | version "7.8.3" 434 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" 435 | integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== 436 | dependencies: 437 | "@babel/helper-plugin-utils" "^7.8.0" 438 | 439 | "@babel/plugin-syntax-export-namespace-from@^7.8.3": 440 | version "7.8.3" 441 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" 442 | integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== 443 | dependencies: 444 | "@babel/helper-plugin-utils" "^7.8.3" 445 | 446 | "@babel/plugin-syntax-json-strings@^7.8.3": 447 | version "7.8.3" 448 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" 449 | integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== 450 | dependencies: 451 | "@babel/helper-plugin-utils" "^7.8.0" 452 | 453 | "@babel/plugin-syntax-jsx@^7.16.7": 454 | version "7.16.7" 455 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz#50b6571d13f764266a113d77c82b4a6508bbe665" 456 | integrity sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q== 457 | dependencies: 458 | "@babel/helper-plugin-utils" "^7.16.7" 459 | 460 | "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": 461 | version "7.10.4" 462 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" 463 | integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== 464 | dependencies: 465 | "@babel/helper-plugin-utils" "^7.10.4" 466 | 467 | "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": 468 | version "7.8.3" 469 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" 470 | integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== 471 | dependencies: 472 | "@babel/helper-plugin-utils" "^7.8.0" 473 | 474 | "@babel/plugin-syntax-numeric-separator@^7.10.4": 475 | version "7.10.4" 476 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" 477 | integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== 478 | dependencies: 479 | "@babel/helper-plugin-utils" "^7.10.4" 480 | 481 | "@babel/plugin-syntax-object-rest-spread@^7.8.3": 482 | version "7.8.3" 483 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" 484 | integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== 485 | dependencies: 486 | "@babel/helper-plugin-utils" "^7.8.0" 487 | 488 | "@babel/plugin-syntax-optional-catch-binding@^7.8.3": 489 | version "7.8.3" 490 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" 491 | integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== 492 | dependencies: 493 | "@babel/helper-plugin-utils" "^7.8.0" 494 | 495 | "@babel/plugin-syntax-optional-chaining@^7.8.3": 496 | version "7.8.3" 497 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" 498 | integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== 499 | dependencies: 500 | "@babel/helper-plugin-utils" "^7.8.0" 501 | 502 | "@babel/plugin-syntax-private-property-in-object@^7.14.5": 503 | version "7.14.5" 504 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" 505 | integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== 506 | dependencies: 507 | "@babel/helper-plugin-utils" "^7.14.5" 508 | 509 | "@babel/plugin-syntax-top-level-await@^7.14.5": 510 | version "7.14.5" 511 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" 512 | integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== 513 | dependencies: 514 | "@babel/helper-plugin-utils" "^7.14.5" 515 | 516 | "@babel/plugin-transform-arrow-functions@^7.16.7": 517 | version "7.16.7" 518 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz#44125e653d94b98db76369de9c396dc14bef4154" 519 | integrity sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ== 520 | dependencies: 521 | "@babel/helper-plugin-utils" "^7.16.7" 522 | 523 | "@babel/plugin-transform-async-to-generator@^7.16.8": 524 | version "7.16.8" 525 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz#b83dff4b970cf41f1b819f8b49cc0cfbaa53a808" 526 | integrity sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg== 527 | dependencies: 528 | "@babel/helper-module-imports" "^7.16.7" 529 | "@babel/helper-plugin-utils" "^7.16.7" 530 | "@babel/helper-remap-async-to-generator" "^7.16.8" 531 | 532 | "@babel/plugin-transform-block-scoped-functions@^7.16.7": 533 | version "7.16.7" 534 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz#4d0d57d9632ef6062cdf354bb717102ee042a620" 535 | integrity sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg== 536 | dependencies: 537 | "@babel/helper-plugin-utils" "^7.16.7" 538 | 539 | "@babel/plugin-transform-block-scoping@^7.16.7": 540 | version "7.16.7" 541 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz#f50664ab99ddeaee5bc681b8f3a6ea9d72ab4f87" 542 | integrity sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ== 543 | dependencies: 544 | "@babel/helper-plugin-utils" "^7.16.7" 545 | 546 | "@babel/plugin-transform-classes@^7.16.7": 547 | version "7.16.7" 548 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz#8f4b9562850cd973de3b498f1218796eb181ce00" 549 | integrity sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ== 550 | dependencies: 551 | "@babel/helper-annotate-as-pure" "^7.16.7" 552 | "@babel/helper-environment-visitor" "^7.16.7" 553 | "@babel/helper-function-name" "^7.16.7" 554 | "@babel/helper-optimise-call-expression" "^7.16.7" 555 | "@babel/helper-plugin-utils" "^7.16.7" 556 | "@babel/helper-replace-supers" "^7.16.7" 557 | "@babel/helper-split-export-declaration" "^7.16.7" 558 | globals "^11.1.0" 559 | 560 | "@babel/plugin-transform-computed-properties@^7.16.7": 561 | version "7.16.7" 562 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz#66dee12e46f61d2aae7a73710f591eb3df616470" 563 | integrity sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw== 564 | dependencies: 565 | "@babel/helper-plugin-utils" "^7.16.7" 566 | 567 | "@babel/plugin-transform-destructuring@^7.16.7": 568 | version "7.17.7" 569 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz#49dc2675a7afa9a5e4c6bdee636061136c3408d1" 570 | integrity sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ== 571 | dependencies: 572 | "@babel/helper-plugin-utils" "^7.16.7" 573 | 574 | "@babel/plugin-transform-dotall-regex@^7.16.7", "@babel/plugin-transform-dotall-regex@^7.4.4": 575 | version "7.16.7" 576 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz#6b2d67686fab15fb6a7fd4bd895d5982cfc81241" 577 | integrity sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ== 578 | dependencies: 579 | "@babel/helper-create-regexp-features-plugin" "^7.16.7" 580 | "@babel/helper-plugin-utils" "^7.16.7" 581 | 582 | "@babel/plugin-transform-duplicate-keys@^7.16.7": 583 | version "7.16.7" 584 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz#2207e9ca8f82a0d36a5a67b6536e7ef8b08823c9" 585 | integrity sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw== 586 | dependencies: 587 | "@babel/helper-plugin-utils" "^7.16.7" 588 | 589 | "@babel/plugin-transform-exponentiation-operator@^7.16.7": 590 | version "7.16.7" 591 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz#efa9862ef97e9e9e5f653f6ddc7b665e8536fe9b" 592 | integrity sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA== 593 | dependencies: 594 | "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7" 595 | "@babel/helper-plugin-utils" "^7.16.7" 596 | 597 | "@babel/plugin-transform-for-of@^7.16.7": 598 | version "7.16.7" 599 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz#649d639d4617dff502a9a158c479b3b556728d8c" 600 | integrity sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg== 601 | dependencies: 602 | "@babel/helper-plugin-utils" "^7.16.7" 603 | 604 | "@babel/plugin-transform-function-name@^7.16.7": 605 | version "7.16.7" 606 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz#5ab34375c64d61d083d7d2f05c38d90b97ec65cf" 607 | integrity sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA== 608 | dependencies: 609 | "@babel/helper-compilation-targets" "^7.16.7" 610 | "@babel/helper-function-name" "^7.16.7" 611 | "@babel/helper-plugin-utils" "^7.16.7" 612 | 613 | "@babel/plugin-transform-literals@^7.16.7": 614 | version "7.16.7" 615 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz#254c9618c5ff749e87cb0c0cef1a0a050c0bdab1" 616 | integrity sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ== 617 | dependencies: 618 | "@babel/helper-plugin-utils" "^7.16.7" 619 | 620 | "@babel/plugin-transform-member-expression-literals@^7.16.7": 621 | version "7.16.7" 622 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz#6e5dcf906ef8a098e630149d14c867dd28f92384" 623 | integrity sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw== 624 | dependencies: 625 | "@babel/helper-plugin-utils" "^7.16.7" 626 | 627 | "@babel/plugin-transform-modules-amd@^7.16.7": 628 | version "7.16.7" 629 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz#b28d323016a7daaae8609781d1f8c9da42b13186" 630 | integrity sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g== 631 | dependencies: 632 | "@babel/helper-module-transforms" "^7.16.7" 633 | "@babel/helper-plugin-utils" "^7.16.7" 634 | babel-plugin-dynamic-import-node "^2.3.3" 635 | 636 | "@babel/plugin-transform-modules-commonjs@^7.16.8": 637 | version "7.17.9" 638 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz#274be1a2087beec0254d4abd4d86e52442e1e5b6" 639 | integrity sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw== 640 | dependencies: 641 | "@babel/helper-module-transforms" "^7.17.7" 642 | "@babel/helper-plugin-utils" "^7.16.7" 643 | "@babel/helper-simple-access" "^7.17.7" 644 | babel-plugin-dynamic-import-node "^2.3.3" 645 | 646 | "@babel/plugin-transform-modules-systemjs@^7.16.7": 647 | version "7.17.8" 648 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz#81fd834024fae14ea78fbe34168b042f38703859" 649 | integrity sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw== 650 | dependencies: 651 | "@babel/helper-hoist-variables" "^7.16.7" 652 | "@babel/helper-module-transforms" "^7.17.7" 653 | "@babel/helper-plugin-utils" "^7.16.7" 654 | "@babel/helper-validator-identifier" "^7.16.7" 655 | babel-plugin-dynamic-import-node "^2.3.3" 656 | 657 | "@babel/plugin-transform-modules-umd@^7.16.7": 658 | version "7.16.7" 659 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz#23dad479fa585283dbd22215bff12719171e7618" 660 | integrity sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ== 661 | dependencies: 662 | "@babel/helper-module-transforms" "^7.16.7" 663 | "@babel/helper-plugin-utils" "^7.16.7" 664 | 665 | "@babel/plugin-transform-named-capturing-groups-regex@^7.16.8": 666 | version "7.16.8" 667 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz#7f860e0e40d844a02c9dcf9d84965e7dfd666252" 668 | integrity sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw== 669 | dependencies: 670 | "@babel/helper-create-regexp-features-plugin" "^7.16.7" 671 | 672 | "@babel/plugin-transform-new-target@^7.16.7": 673 | version "7.16.7" 674 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz#9967d89a5c243818e0800fdad89db22c5f514244" 675 | integrity sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg== 676 | dependencies: 677 | "@babel/helper-plugin-utils" "^7.16.7" 678 | 679 | "@babel/plugin-transform-object-super@^7.16.7": 680 | version "7.16.7" 681 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz#ac359cf8d32cf4354d27a46867999490b6c32a94" 682 | integrity sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw== 683 | dependencies: 684 | "@babel/helper-plugin-utils" "^7.16.7" 685 | "@babel/helper-replace-supers" "^7.16.7" 686 | 687 | "@babel/plugin-transform-parameters@^7.16.7": 688 | version "7.16.7" 689 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz#a1721f55b99b736511cb7e0152f61f17688f331f" 690 | integrity sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw== 691 | dependencies: 692 | "@babel/helper-plugin-utils" "^7.16.7" 693 | 694 | "@babel/plugin-transform-property-literals@^7.16.7": 695 | version "7.16.7" 696 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz#2dadac85155436f22c696c4827730e0fe1057a55" 697 | integrity sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw== 698 | dependencies: 699 | "@babel/helper-plugin-utils" "^7.16.7" 700 | 701 | "@babel/plugin-transform-react-display-name@^7.16.7": 702 | version "7.16.7" 703 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz#7b6d40d232f4c0f550ea348593db3b21e2404340" 704 | integrity sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg== 705 | dependencies: 706 | "@babel/helper-plugin-utils" "^7.16.7" 707 | 708 | "@babel/plugin-transform-react-jsx-development@^7.16.7": 709 | version "7.16.7" 710 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.7.tgz#43a00724a3ed2557ed3f276a01a929e6686ac7b8" 711 | integrity sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A== 712 | dependencies: 713 | "@babel/plugin-transform-react-jsx" "^7.16.7" 714 | 715 | "@babel/plugin-transform-react-jsx-self@^7.16.7": 716 | version "7.16.7" 717 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.16.7.tgz#f432ad0cba14c4a1faf44f0076c69e42a4d4479e" 718 | integrity sha512-oe5VuWs7J9ilH3BCCApGoYjHoSO48vkjX2CbA5bFVhIuO2HKxA3vyF7rleA4o6/4rTDbk6r8hBW7Ul8E+UZrpA== 719 | dependencies: 720 | "@babel/helper-plugin-utils" "^7.16.7" 721 | 722 | "@babel/plugin-transform-react-jsx-source@^7.16.7": 723 | version "7.16.7" 724 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.16.7.tgz#1879c3f23629d287cc6186a6c683154509ec70c0" 725 | integrity sha512-rONFiQz9vgbsnaMtQlZCjIRwhJvlrPET8TabIUK2hzlXw9B9s2Ieaxte1SCOOXMbWRHodbKixNf3BLcWVOQ8Bw== 726 | dependencies: 727 | "@babel/helper-plugin-utils" "^7.16.7" 728 | 729 | "@babel/plugin-transform-react-jsx@^7.16.7", "@babel/plugin-transform-react-jsx@^7.17.3": 730 | version "7.17.3" 731 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.17.3.tgz#eac1565da176ccb1a715dae0b4609858808008c1" 732 | integrity sha512-9tjBm4O07f7mzKSIlEmPdiE6ub7kfIe6Cd+w+oQebpATfTQMAgW+YOuWxogbKVTulA+MEO7byMeIUtQ1z+z+ZQ== 733 | dependencies: 734 | "@babel/helper-annotate-as-pure" "^7.16.7" 735 | "@babel/helper-module-imports" "^7.16.7" 736 | "@babel/helper-plugin-utils" "^7.16.7" 737 | "@babel/plugin-syntax-jsx" "^7.16.7" 738 | "@babel/types" "^7.17.0" 739 | 740 | "@babel/plugin-transform-react-pure-annotations@^7.16.7": 741 | version "7.16.7" 742 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.7.tgz#232bfd2f12eb551d6d7d01d13fe3f86b45eb9c67" 743 | integrity sha512-hs71ToC97k3QWxswh2ElzMFABXHvGiJ01IB1TbYQDGeWRKWz/MPUTh5jGExdHvosYKpnJW5Pm3S4+TA3FyX+GA== 744 | dependencies: 745 | "@babel/helper-annotate-as-pure" "^7.16.7" 746 | "@babel/helper-plugin-utils" "^7.16.7" 747 | 748 | "@babel/plugin-transform-regenerator@^7.16.7": 749 | version "7.17.9" 750 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz#0a33c3a61cf47f45ed3232903683a0afd2d3460c" 751 | integrity sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ== 752 | dependencies: 753 | regenerator-transform "^0.15.0" 754 | 755 | "@babel/plugin-transform-reserved-words@^7.16.7": 756 | version "7.16.7" 757 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz#1d798e078f7c5958eec952059c460b220a63f586" 758 | integrity sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg== 759 | dependencies: 760 | "@babel/helper-plugin-utils" "^7.16.7" 761 | 762 | "@babel/plugin-transform-shorthand-properties@^7.16.7": 763 | version "7.16.7" 764 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a" 765 | integrity sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg== 766 | dependencies: 767 | "@babel/helper-plugin-utils" "^7.16.7" 768 | 769 | "@babel/plugin-transform-spread@^7.16.7": 770 | version "7.16.7" 771 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz#a303e2122f9f12e0105daeedd0f30fb197d8ff44" 772 | integrity sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg== 773 | dependencies: 774 | "@babel/helper-plugin-utils" "^7.16.7" 775 | "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" 776 | 777 | "@babel/plugin-transform-sticky-regex@^7.16.7": 778 | version "7.16.7" 779 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz#c84741d4f4a38072b9a1e2e3fd56d359552e8660" 780 | integrity sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw== 781 | dependencies: 782 | "@babel/helper-plugin-utils" "^7.16.7" 783 | 784 | "@babel/plugin-transform-template-literals@^7.16.7": 785 | version "7.16.7" 786 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz#f3d1c45d28967c8e80f53666fc9c3e50618217ab" 787 | integrity sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA== 788 | dependencies: 789 | "@babel/helper-plugin-utils" "^7.16.7" 790 | 791 | "@babel/plugin-transform-typeof-symbol@^7.16.7": 792 | version "7.16.7" 793 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz#9cdbe622582c21368bd482b660ba87d5545d4f7e" 794 | integrity sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ== 795 | dependencies: 796 | "@babel/helper-plugin-utils" "^7.16.7" 797 | 798 | "@babel/plugin-transform-unicode-escapes@^7.16.7": 799 | version "7.16.7" 800 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz#da8717de7b3287a2c6d659750c964f302b31ece3" 801 | integrity sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q== 802 | dependencies: 803 | "@babel/helper-plugin-utils" "^7.16.7" 804 | 805 | "@babel/plugin-transform-unicode-regex@^7.16.7": 806 | version "7.16.7" 807 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz#0f7aa4a501198976e25e82702574c34cfebe9ef2" 808 | integrity sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q== 809 | dependencies: 810 | "@babel/helper-create-regexp-features-plugin" "^7.16.7" 811 | "@babel/helper-plugin-utils" "^7.16.7" 812 | 813 | "@babel/preset-env@^7.10.2": 814 | version "7.16.11" 815 | resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.11.tgz#5dd88fd885fae36f88fd7c8342475c9f0abe2982" 816 | integrity sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g== 817 | dependencies: 818 | "@babel/compat-data" "^7.16.8" 819 | "@babel/helper-compilation-targets" "^7.16.7" 820 | "@babel/helper-plugin-utils" "^7.16.7" 821 | "@babel/helper-validator-option" "^7.16.7" 822 | "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.7" 823 | "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.7" 824 | "@babel/plugin-proposal-async-generator-functions" "^7.16.8" 825 | "@babel/plugin-proposal-class-properties" "^7.16.7" 826 | "@babel/plugin-proposal-class-static-block" "^7.16.7" 827 | "@babel/plugin-proposal-dynamic-import" "^7.16.7" 828 | "@babel/plugin-proposal-export-namespace-from" "^7.16.7" 829 | "@babel/plugin-proposal-json-strings" "^7.16.7" 830 | "@babel/plugin-proposal-logical-assignment-operators" "^7.16.7" 831 | "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.7" 832 | "@babel/plugin-proposal-numeric-separator" "^7.16.7" 833 | "@babel/plugin-proposal-object-rest-spread" "^7.16.7" 834 | "@babel/plugin-proposal-optional-catch-binding" "^7.16.7" 835 | "@babel/plugin-proposal-optional-chaining" "^7.16.7" 836 | "@babel/plugin-proposal-private-methods" "^7.16.11" 837 | "@babel/plugin-proposal-private-property-in-object" "^7.16.7" 838 | "@babel/plugin-proposal-unicode-property-regex" "^7.16.7" 839 | "@babel/plugin-syntax-async-generators" "^7.8.4" 840 | "@babel/plugin-syntax-class-properties" "^7.12.13" 841 | "@babel/plugin-syntax-class-static-block" "^7.14.5" 842 | "@babel/plugin-syntax-dynamic-import" "^7.8.3" 843 | "@babel/plugin-syntax-export-namespace-from" "^7.8.3" 844 | "@babel/plugin-syntax-json-strings" "^7.8.3" 845 | "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" 846 | "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" 847 | "@babel/plugin-syntax-numeric-separator" "^7.10.4" 848 | "@babel/plugin-syntax-object-rest-spread" "^7.8.3" 849 | "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" 850 | "@babel/plugin-syntax-optional-chaining" "^7.8.3" 851 | "@babel/plugin-syntax-private-property-in-object" "^7.14.5" 852 | "@babel/plugin-syntax-top-level-await" "^7.14.5" 853 | "@babel/plugin-transform-arrow-functions" "^7.16.7" 854 | "@babel/plugin-transform-async-to-generator" "^7.16.8" 855 | "@babel/plugin-transform-block-scoped-functions" "^7.16.7" 856 | "@babel/plugin-transform-block-scoping" "^7.16.7" 857 | "@babel/plugin-transform-classes" "^7.16.7" 858 | "@babel/plugin-transform-computed-properties" "^7.16.7" 859 | "@babel/plugin-transform-destructuring" "^7.16.7" 860 | "@babel/plugin-transform-dotall-regex" "^7.16.7" 861 | "@babel/plugin-transform-duplicate-keys" "^7.16.7" 862 | "@babel/plugin-transform-exponentiation-operator" "^7.16.7" 863 | "@babel/plugin-transform-for-of" "^7.16.7" 864 | "@babel/plugin-transform-function-name" "^7.16.7" 865 | "@babel/plugin-transform-literals" "^7.16.7" 866 | "@babel/plugin-transform-member-expression-literals" "^7.16.7" 867 | "@babel/plugin-transform-modules-amd" "^7.16.7" 868 | "@babel/plugin-transform-modules-commonjs" "^7.16.8" 869 | "@babel/plugin-transform-modules-systemjs" "^7.16.7" 870 | "@babel/plugin-transform-modules-umd" "^7.16.7" 871 | "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.8" 872 | "@babel/plugin-transform-new-target" "^7.16.7" 873 | "@babel/plugin-transform-object-super" "^7.16.7" 874 | "@babel/plugin-transform-parameters" "^7.16.7" 875 | "@babel/plugin-transform-property-literals" "^7.16.7" 876 | "@babel/plugin-transform-regenerator" "^7.16.7" 877 | "@babel/plugin-transform-reserved-words" "^7.16.7" 878 | "@babel/plugin-transform-shorthand-properties" "^7.16.7" 879 | "@babel/plugin-transform-spread" "^7.16.7" 880 | "@babel/plugin-transform-sticky-regex" "^7.16.7" 881 | "@babel/plugin-transform-template-literals" "^7.16.7" 882 | "@babel/plugin-transform-typeof-symbol" "^7.16.7" 883 | "@babel/plugin-transform-unicode-escapes" "^7.16.7" 884 | "@babel/plugin-transform-unicode-regex" "^7.16.7" 885 | "@babel/preset-modules" "^0.1.5" 886 | "@babel/types" "^7.16.8" 887 | babel-plugin-polyfill-corejs2 "^0.3.0" 888 | babel-plugin-polyfill-corejs3 "^0.5.0" 889 | babel-plugin-polyfill-regenerator "^0.3.0" 890 | core-js-compat "^3.20.2" 891 | semver "^6.3.0" 892 | 893 | "@babel/preset-modules@^0.1.5": 894 | version "0.1.5" 895 | resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" 896 | integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== 897 | dependencies: 898 | "@babel/helper-plugin-utils" "^7.0.0" 899 | "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" 900 | "@babel/plugin-transform-dotall-regex" "^7.4.4" 901 | "@babel/types" "^7.4.4" 902 | esutils "^2.0.2" 903 | 904 | "@babel/preset-react@^7.10.1": 905 | version "7.16.7" 906 | resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.16.7.tgz#4c18150491edc69c183ff818f9f2aecbe5d93852" 907 | integrity sha512-fWpyI8UM/HE6DfPBzD8LnhQ/OcH8AgTaqcqP2nGOXEUV+VKBR5JRN9hCk9ai+zQQ57vtm9oWeXguBCPNUjytgA== 908 | dependencies: 909 | "@babel/helper-plugin-utils" "^7.16.7" 910 | "@babel/helper-validator-option" "^7.16.7" 911 | "@babel/plugin-transform-react-display-name" "^7.16.7" 912 | "@babel/plugin-transform-react-jsx" "^7.16.7" 913 | "@babel/plugin-transform-react-jsx-development" "^7.16.7" 914 | "@babel/plugin-transform-react-pure-annotations" "^7.16.7" 915 | 916 | "@babel/runtime@^7.1.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": 917 | version "7.17.9" 918 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.9.tgz#d19fbf802d01a8cb6cf053a64e472d42c434ba72" 919 | integrity sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg== 920 | dependencies: 921 | regenerator-runtime "^0.13.4" 922 | 923 | "@babel/template@^7.16.7": 924 | version "7.16.7" 925 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" 926 | integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== 927 | dependencies: 928 | "@babel/code-frame" "^7.16.7" 929 | "@babel/parser" "^7.16.7" 930 | "@babel/types" "^7.16.7" 931 | 932 | "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.3", "@babel/traverse@^7.17.9": 933 | version "7.17.9" 934 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.9.tgz#1f9b207435d9ae4a8ed6998b2b82300d83c37a0d" 935 | integrity sha512-PQO8sDIJ8SIwipTPiR71kJQCKQYB5NGImbOviK8K+kg5xkNSYXLBupuX9QhatFowrsvo9Hj8WgArg3W7ijNAQw== 936 | dependencies: 937 | "@babel/code-frame" "^7.16.7" 938 | "@babel/generator" "^7.17.9" 939 | "@babel/helper-environment-visitor" "^7.16.7" 940 | "@babel/helper-function-name" "^7.17.9" 941 | "@babel/helper-hoist-variables" "^7.16.7" 942 | "@babel/helper-split-export-declaration" "^7.16.7" 943 | "@babel/parser" "^7.17.9" 944 | "@babel/types" "^7.17.0" 945 | debug "^4.1.0" 946 | globals "^11.1.0" 947 | 948 | "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.4.4": 949 | version "7.17.0" 950 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" 951 | integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== 952 | dependencies: 953 | "@babel/helper-validator-identifier" "^7.16.7" 954 | to-fast-properties "^2.0.0" 955 | 956 | "@jridgewell/resolve-uri@^3.0.3": 957 | version "3.0.5" 958 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz#68eb521368db76d040a6315cdb24bf2483037b9c" 959 | integrity sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew== 960 | 961 | "@jridgewell/sourcemap-codec@^1.4.10": 962 | version "1.4.11" 963 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz#771a1d8d744eeb71b6adb35808e1a6c7b9b8c8ec" 964 | integrity sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg== 965 | 966 | "@jridgewell/trace-mapping@^0.3.0": 967 | version "0.3.4" 968 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3" 969 | integrity sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ== 970 | dependencies: 971 | "@jridgewell/resolve-uri" "^3.0.3" 972 | "@jridgewell/sourcemap-codec" "^1.4.10" 973 | 974 | "@rollup/pluginutils@^4.2.0": 975 | version "4.2.1" 976 | resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz#e6c6c3aba0744edce3fb2074922d3776c0af2a6d" 977 | integrity sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ== 978 | dependencies: 979 | estree-walker "^2.0.1" 980 | picomatch "^2.2.2" 981 | 982 | "@types/classnames@^2.3.1": 983 | version "2.3.1" 984 | resolved "https://registry.yarnpkg.com/@types/classnames/-/classnames-2.3.1.tgz#3c2467aa0f1a93f1f021e3b9bcf938bd5dfdc0dd" 985 | integrity sha512-zeOWb0JGBoVmlQoznvqXbE0tEC/HONsnoUNH19Hc96NFsTAwTXbTqb8FMYkru1F/iqp7a18Ws3nWJvtA1sHD1A== 986 | dependencies: 987 | classnames "*" 988 | 989 | "@types/history@^4.7.11": 990 | version "4.7.11" 991 | resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.11.tgz#56588b17ae8f50c53983a524fc3cc47437969d64" 992 | integrity sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA== 993 | 994 | "@types/hoist-non-react-statics@^3.3.0": 995 | version "3.3.1" 996 | resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz#1124aafe5118cb591977aeb1ceaaed1070eb039f" 997 | integrity sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA== 998 | dependencies: 999 | "@types/react" "*" 1000 | hoist-non-react-statics "^3.3.0" 1001 | 1002 | "@types/node@^15.6.0": 1003 | version "15.14.9" 1004 | resolved "https://registry.yarnpkg.com/@types/node/-/node-15.14.9.tgz#bc43c990c3c9be7281868bbc7b8fdd6e2b57adfa" 1005 | integrity sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A== 1006 | 1007 | "@types/prop-types@*": 1008 | version "15.7.5" 1009 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" 1010 | integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== 1011 | 1012 | "@types/react-alert@^5.2.0": 1013 | version "5.2.1" 1014 | resolved "https://registry.yarnpkg.com/@types/react-alert/-/react-alert-5.2.1.tgz#be10b4e4c0c1cf3223771285de851706dee5b879" 1015 | integrity sha512-sJBDIBupmbPFLHutwrKwBW2SY+LQJTcVpp6CxxsEYIt2YmLgW7+U1AZzfcFK+f/6sIB38vSrtMOneY3auJ0LYA== 1016 | dependencies: 1017 | "@types/react" "*" 1018 | 1019 | "@types/react-dom@^17.0.3": 1020 | version "17.0.15" 1021 | resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.15.tgz#f2c8efde11521a4b7991e076cb9c70ba3bb0d156" 1022 | integrity sha512-Tr9VU9DvNoHDWlmecmcsE5ZZiUkYx+nKBzum4Oxe1K0yJVyBlfbq7H3eXjxXqJczBKqPGq3EgfTru4MgKb9+Yw== 1023 | dependencies: 1024 | "@types/react" "^17" 1025 | 1026 | "@types/react-redux@^7.1.16": 1027 | version "7.1.24" 1028 | resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.24.tgz#6caaff1603aba17b27d20f8ad073e4c077e975c0" 1029 | integrity sha512-7FkurKcS1k0FHZEtdbbgN8Oc6b+stGSfZYjQGicofJ0j4U0qIn/jaSvnP2pLwZKiai3/17xqqxkkrxTgN8UNbQ== 1030 | dependencies: 1031 | "@types/hoist-non-react-statics" "^3.3.0" 1032 | "@types/react" "*" 1033 | hoist-non-react-statics "^3.3.0" 1034 | redux "^4.0.0" 1035 | 1036 | "@types/react-router-dom@^5.1.7": 1037 | version "5.3.3" 1038 | resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-5.3.3.tgz#e9d6b4a66fcdbd651a5f106c2656a30088cc1e83" 1039 | integrity sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw== 1040 | dependencies: 1041 | "@types/history" "^4.7.11" 1042 | "@types/react" "*" 1043 | "@types/react-router" "*" 1044 | 1045 | "@types/react-router@*": 1046 | version "5.1.18" 1047 | resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.18.tgz#c8851884b60bc23733500d86c1266e1cfbbd9ef3" 1048 | integrity sha512-YYknwy0D0iOwKQgz9v8nOzt2J6l4gouBmDnWqUUznltOTaon+r8US8ky8HvN0tXvc38U9m6z/t2RsVsnd1zM0g== 1049 | dependencies: 1050 | "@types/history" "^4.7.11" 1051 | "@types/react" "*" 1052 | 1053 | "@types/react@*": 1054 | version "18.0.5" 1055 | resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.5.tgz#1a4d4b705ae6af5aed369dec22800b20f89f5301" 1056 | integrity sha512-UPxNGInDCIKlfqBrm8LDXYWNfLHwIdisWcsH5GpMyGjhEDLFgTtlRBaoWuCua9HcyuE0rMkmAeZ3FXV1pYLIYQ== 1057 | dependencies: 1058 | "@types/prop-types" "*" 1059 | "@types/scheduler" "*" 1060 | csstype "^3.0.2" 1061 | 1062 | "@types/react@^17", "@types/react@^17.0.4": 1063 | version "17.0.44" 1064 | resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.44.tgz#c3714bd34dd551ab20b8015d9d0dbec812a51ec7" 1065 | integrity sha512-Ye0nlw09GeMp2Suh8qoOv0odfgCoowfM/9MG6WeRD60Gq9wS90bdkdRtYbRkNhXOpG4H+YXGvj4wOWhAC0LJ1g== 1066 | dependencies: 1067 | "@types/prop-types" "*" 1068 | "@types/scheduler" "*" 1069 | csstype "^3.0.2" 1070 | 1071 | "@types/redux@^3.6.0": 1072 | version "3.6.0" 1073 | resolved "https://registry.yarnpkg.com/@types/redux/-/redux-3.6.0.tgz#f1ebe1e5411518072e4fdfca5c76e16e74c1399a" 1074 | integrity sha1-8evh5UEVGAcuT9/KXHbhbnTBOZo= 1075 | dependencies: 1076 | redux "*" 1077 | 1078 | "@types/scheduler@*": 1079 | version "0.16.2" 1080 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" 1081 | integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== 1082 | 1083 | "@types/uuid@^8.3.0": 1084 | version "8.3.4" 1085 | resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" 1086 | integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== 1087 | 1088 | "@vitejs/plugin-react@^1.0.7": 1089 | version "1.3.1" 1090 | resolved "https://registry.yarnpkg.com/@vitejs/plugin-react/-/plugin-react-1.3.1.tgz#bf008adf33e713215cd4a6b94a75146dd6891975" 1091 | integrity sha512-qQS8Y2fZCjo5YmDUplEXl3yn+aueiwxB7BaoQ4nWYJYR+Ai8NXPVLlkLobVMs5+DeyFyg9Lrz6zCzdX1opcvyw== 1092 | dependencies: 1093 | "@babel/core" "^7.17.9" 1094 | "@babel/plugin-transform-react-jsx" "^7.17.3" 1095 | "@babel/plugin-transform-react-jsx-development" "^7.16.7" 1096 | "@babel/plugin-transform-react-jsx-self" "^7.16.7" 1097 | "@babel/plugin-transform-react-jsx-source" "^7.16.7" 1098 | "@rollup/pluginutils" "^4.2.0" 1099 | react-refresh "^0.12.0" 1100 | resolve "^1.22.0" 1101 | 1102 | ansi-styles@^3.2.1: 1103 | version "3.2.1" 1104 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 1105 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 1106 | dependencies: 1107 | color-convert "^1.9.0" 1108 | 1109 | babel-plugin-dynamic-import-node@^2.3.3: 1110 | version "2.3.3" 1111 | resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" 1112 | integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== 1113 | dependencies: 1114 | object.assign "^4.1.0" 1115 | 1116 | babel-plugin-polyfill-corejs2@^0.3.0: 1117 | version "0.3.1" 1118 | resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz#440f1b70ccfaabc6b676d196239b138f8a2cfba5" 1119 | integrity sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w== 1120 | dependencies: 1121 | "@babel/compat-data" "^7.13.11" 1122 | "@babel/helper-define-polyfill-provider" "^0.3.1" 1123 | semver "^6.1.1" 1124 | 1125 | babel-plugin-polyfill-corejs3@^0.5.0: 1126 | version "0.5.2" 1127 | resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz#aabe4b2fa04a6e038b688c5e55d44e78cd3a5f72" 1128 | integrity sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ== 1129 | dependencies: 1130 | "@babel/helper-define-polyfill-provider" "^0.3.1" 1131 | core-js-compat "^3.21.0" 1132 | 1133 | babel-plugin-polyfill-regenerator@^0.3.0: 1134 | version "0.3.1" 1135 | resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz#2c0678ea47c75c8cc2fbb1852278d8fb68233990" 1136 | integrity sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A== 1137 | dependencies: 1138 | "@babel/helper-define-polyfill-provider" "^0.3.1" 1139 | 1140 | browserslist@^4.17.5, browserslist@^4.20.2: 1141 | version "4.20.2" 1142 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.2.tgz#567b41508757ecd904dab4d1c646c612cd3d4f88" 1143 | integrity sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA== 1144 | dependencies: 1145 | caniuse-lite "^1.0.30001317" 1146 | electron-to-chromium "^1.4.84" 1147 | escalade "^3.1.1" 1148 | node-releases "^2.0.2" 1149 | picocolors "^1.0.0" 1150 | 1151 | call-bind@^1.0.0: 1152 | version "1.0.2" 1153 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 1154 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 1155 | dependencies: 1156 | function-bind "^1.1.1" 1157 | get-intrinsic "^1.0.2" 1158 | 1159 | caniuse-lite@^1.0.30001317: 1160 | version "1.0.30001332" 1161 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz#39476d3aa8d83ea76359c70302eafdd4a1d727dd" 1162 | integrity sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw== 1163 | 1164 | chalk@^2.0.0: 1165 | version "2.4.2" 1166 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 1167 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 1168 | dependencies: 1169 | ansi-styles "^3.2.1" 1170 | escape-string-regexp "^1.0.5" 1171 | supports-color "^5.3.0" 1172 | 1173 | classnames@*: 1174 | version "2.3.1" 1175 | resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" 1176 | integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== 1177 | 1178 | classnames@2.2.6: 1179 | version "2.2.6" 1180 | resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" 1181 | integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== 1182 | 1183 | color-convert@^1.9.0: 1184 | version "1.9.3" 1185 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 1186 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 1187 | dependencies: 1188 | color-name "1.1.3" 1189 | 1190 | color-name@1.1.3: 1191 | version "1.1.3" 1192 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 1193 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 1194 | 1195 | convert-source-map@^1.7.0: 1196 | version "1.8.0" 1197 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" 1198 | integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== 1199 | dependencies: 1200 | safe-buffer "~5.1.1" 1201 | 1202 | copy-anything@^2.0.1: 1203 | version "2.0.6" 1204 | resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-2.0.6.tgz#092454ea9584a7b7ad5573062b2a87f5900fc480" 1205 | integrity sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw== 1206 | dependencies: 1207 | is-what "^3.14.1" 1208 | 1209 | core-js-compat@^3.20.2, core-js-compat@^3.21.0: 1210 | version "3.22.0" 1211 | resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.22.0.tgz#7ce17ab57c378be2c717c7c8ed8f82a50a25b3e4" 1212 | integrity sha512-WwA7xbfRGrk8BGaaHlakauVXrlYmAIkk8PNGb1FDQS+Rbrewc3pgFfwJFRw6psmJVAll7Px9UHRYE16oRQnwAQ== 1213 | dependencies: 1214 | browserslist "^4.20.2" 1215 | semver "7.0.0" 1216 | 1217 | csstype@^3.0.2: 1218 | version "3.0.11" 1219 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.11.tgz#d66700c5eacfac1940deb4e3ee5642792d85cd33" 1220 | integrity sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw== 1221 | 1222 | debug@^4.1.0, debug@^4.1.1: 1223 | version "4.3.4" 1224 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 1225 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 1226 | dependencies: 1227 | ms "2.1.2" 1228 | 1229 | define-properties@^1.1.3: 1230 | version "1.1.4" 1231 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" 1232 | integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== 1233 | dependencies: 1234 | has-property-descriptors "^1.0.0" 1235 | object-keys "^1.1.1" 1236 | 1237 | electron-to-chromium@^1.4.84: 1238 | version "1.4.111" 1239 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.111.tgz#897613f6504f3f17c9381c7499a635b413e4df4e" 1240 | integrity sha512-/s3+fwhKf1YK4k7btOImOzCQLpUjS6MaPf0ODTNuT4eTM1Bg4itBpLkydhOzJmpmH6Z9eXFyuuK5czsmzRzwtw== 1241 | 1242 | errno@^0.1.1: 1243 | version "0.1.8" 1244 | resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" 1245 | integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== 1246 | dependencies: 1247 | prr "~1.0.1" 1248 | 1249 | esbuild-android-64@0.14.36: 1250 | version "0.14.36" 1251 | resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.36.tgz#fc5f95ce78c8c3d790fa16bc71bd904f2bb42aa1" 1252 | integrity sha512-jwpBhF1jmo0tVCYC/ORzVN+hyVcNZUWuozGcLHfod0RJCedTDTvR4nwlTXdx1gtncDqjk33itjO+27OZHbiavw== 1253 | 1254 | esbuild-android-arm64@0.14.36: 1255 | version "0.14.36" 1256 | resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.36.tgz#44356fbb9f8de82a5cdf11849e011dfb3ad0a8a8" 1257 | integrity sha512-/hYkyFe7x7Yapmfv4X/tBmyKnggUmdQmlvZ8ZlBnV4+PjisrEhAvC3yWpURuD9XoB8Wa1d5dGkTsF53pIvpjsg== 1258 | 1259 | esbuild-darwin-64@0.14.36: 1260 | version "0.14.36" 1261 | resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.36.tgz#3d9324b21489c70141665c2e740d6e84f16f725d" 1262 | integrity sha512-kkl6qmV0dTpyIMKagluzYqlc1vO0ecgpviK/7jwPbRDEv5fejRTaBBEE2KxEQbTHcLhiiDbhG7d5UybZWo/1zQ== 1263 | 1264 | esbuild-darwin-arm64@0.14.36: 1265 | version "0.14.36" 1266 | resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.36.tgz#2a8040c2e465131e5281034f3c72405e643cb7b2" 1267 | integrity sha512-q8fY4r2Sx6P0Pr3VUm//eFYKVk07C5MHcEinU1BjyFnuYz4IxR/03uBbDwluR6ILIHnZTE7AkTUWIdidRi1Jjw== 1268 | 1269 | esbuild-freebsd-64@0.14.36: 1270 | version "0.14.36" 1271 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.36.tgz#d82c387b4d01fe9e8631f97d41eb54f2dbeb68a3" 1272 | integrity sha512-Hn8AYuxXXRptybPqoMkga4HRFE7/XmhtlQjXFHoAIhKUPPMeJH35GYEUWGbjteai9FLFvBAjEAlwEtSGxnqWww== 1273 | 1274 | esbuild-freebsd-arm64@0.14.36: 1275 | version "0.14.36" 1276 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.36.tgz#e8ce2e6c697da6c7ecd0cc0ac821d47c5ab68529" 1277 | integrity sha512-S3C0attylLLRiCcHiJd036eDEMOY32+h8P+jJ3kTcfhJANNjP0TNBNL30TZmEdOSx/820HJFgRrqpNAvTbjnDA== 1278 | 1279 | esbuild-linux-32@0.14.36: 1280 | version "0.14.36" 1281 | resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.36.tgz#a4a261e2af91986ea62451f2db712a556cb38a15" 1282 | integrity sha512-Eh9OkyTrEZn9WGO4xkI3OPPpUX7p/3QYvdG0lL4rfr73Ap2HAr6D9lP59VMF64Ex01LhHSXwIsFG/8AQjh6eNw== 1283 | 1284 | esbuild-linux-64@0.14.36: 1285 | version "0.14.36" 1286 | resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.36.tgz#4a9500f9197e2c8fcb884a511d2c9d4c2debde72" 1287 | integrity sha512-vFVFS5ve7PuwlfgoWNyRccGDi2QTNkQo/2k5U5ttVD0jRFaMlc8UQee708fOZA6zTCDy5RWsT5MJw3sl2X6KDg== 1288 | 1289 | esbuild-linux-arm64@0.14.36: 1290 | version "0.14.36" 1291 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.36.tgz#c91c21e25b315464bd7da867365dd1dae14ca176" 1292 | integrity sha512-24Vq1M7FdpSmaTYuu1w0Hdhiqkbto1I5Pjyi+4Cdw5fJKGlwQuw+hWynTcRI/cOZxBcBpP21gND7W27gHAiftw== 1293 | 1294 | esbuild-linux-arm@0.14.36: 1295 | version "0.14.36" 1296 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.36.tgz#90e23bca2e6e549affbbe994f80ba3bb6c4d934a" 1297 | integrity sha512-NhgU4n+NCsYgt7Hy61PCquEz5aevI6VjQvxwBxtxrooXsxt5b2xtOUXYZe04JxqQo+XZk3d1gcr7pbV9MAQ/Lg== 1298 | 1299 | esbuild-linux-mips64le@0.14.36: 1300 | version "0.14.36" 1301 | resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.36.tgz#40e11afb08353ff24709fc89e4db0f866bc131d2" 1302 | integrity sha512-hZUeTXvppJN+5rEz2EjsOFM9F1bZt7/d2FUM1lmQo//rXh1RTFYzhC0txn7WV0/jCC7SvrGRaRz0NMsRPf8SIA== 1303 | 1304 | esbuild-linux-ppc64le@0.14.36: 1305 | version "0.14.36" 1306 | resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.36.tgz#9e8a588c513d06cc3859f9dcc52e5fdfce8a1a5e" 1307 | integrity sha512-1Bg3QgzZjO+QtPhP9VeIBhAduHEc2kzU43MzBnMwpLSZ890azr4/A9Dganun8nsqD/1TBcqhId0z4mFDO8FAvg== 1308 | 1309 | esbuild-linux-riscv64@0.14.36: 1310 | version "0.14.36" 1311 | resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.36.tgz#e578c09b23b3b97652e60e3692bfda628b541f06" 1312 | integrity sha512-dOE5pt3cOdqEhaufDRzNCHf5BSwxgygVak9UR7PH7KPVHwSTDAZHDoEjblxLqjJYpc5XaU9+gKJ9F8mp9r5I4A== 1313 | 1314 | esbuild-linux-s390x@0.14.36: 1315 | version "0.14.36" 1316 | resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.36.tgz#3c9dab40d0d69932ffded0fd7317bb403626c9bc" 1317 | integrity sha512-g4FMdh//BBGTfVHjF6MO7Cz8gqRoDPzXWxRvWkJoGroKA18G9m0wddvPbEqcQf5Tbt2vSc1CIgag7cXwTmoTXg== 1318 | 1319 | esbuild-netbsd-64@0.14.36: 1320 | version "0.14.36" 1321 | resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.36.tgz#e27847f6d506218291619b8c1e121ecd97628494" 1322 | integrity sha512-UB2bVImxkWk4vjnP62ehFNZ73lQY1xcnL5ZNYF3x0AG+j8HgdkNF05v67YJdCIuUJpBuTyCK8LORCYo9onSW+A== 1323 | 1324 | esbuild-openbsd-64@0.14.36: 1325 | version "0.14.36" 1326 | resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.36.tgz#c94c04c557fae516872a586eae67423da6d2fabb" 1327 | integrity sha512-NvGB2Chf8GxuleXRGk8e9zD3aSdRO5kLt9coTQbCg7WMGXeX471sBgh4kSg8pjx0yTXRt0MlrUDnjVYnetyivg== 1328 | 1329 | esbuild-sunos-64@0.14.36: 1330 | version "0.14.36" 1331 | resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.36.tgz#9b79febc0df65a30f1c9bd63047d1675511bf99d" 1332 | integrity sha512-VkUZS5ftTSjhRjuRLp+v78auMO3PZBXu6xl4ajomGenEm2/rGuWlhFSjB7YbBNErOchj51Jb2OK8lKAo8qdmsQ== 1333 | 1334 | esbuild-windows-32@0.14.36: 1335 | version "0.14.36" 1336 | resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.36.tgz#910d11936c8d2122ffdd3275e5b28d8a4e1240ec" 1337 | integrity sha512-bIar+A6hdytJjZrDxfMBUSEHHLfx3ynoEZXx/39nxy86pX/w249WZm8Bm0dtOAByAf4Z6qV0LsnTIJHiIqbw0w== 1338 | 1339 | esbuild-windows-64@0.14.36: 1340 | version "0.14.36" 1341 | resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.36.tgz#21b4ce8b42a4efc63f4b58ec617f1302448aad26" 1342 | integrity sha512-+p4MuRZekVChAeueT1Y9LGkxrT5x7YYJxYE8ZOTcEfeUUN43vktSn6hUNsvxzzATrSgq5QqRdllkVBxWZg7KqQ== 1343 | 1344 | esbuild-windows-arm64@0.14.36: 1345 | version "0.14.36" 1346 | resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.36.tgz#ba21546fecb7297667d0052d00150de22c044b24" 1347 | integrity sha512-fBB4WlDqV1m18EF/aheGYQkQZHfPHiHJSBYzXIo8yKehek+0BtBwo/4PNwKGJ5T0YK0oc8pBKjgwPbzSrPLb+Q== 1348 | 1349 | esbuild@^0.14.27: 1350 | version "0.14.36" 1351 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.36.tgz#0023a73eab57886ac5605df16ee421e471a971b3" 1352 | integrity sha512-HhFHPiRXGYOCRlrhpiVDYKcFJRdO0sBElZ668M4lh2ER0YgnkLxECuFe7uWCf23FrcLc59Pqr7dHkTqmRPDHmw== 1353 | optionalDependencies: 1354 | esbuild-android-64 "0.14.36" 1355 | esbuild-android-arm64 "0.14.36" 1356 | esbuild-darwin-64 "0.14.36" 1357 | esbuild-darwin-arm64 "0.14.36" 1358 | esbuild-freebsd-64 "0.14.36" 1359 | esbuild-freebsd-arm64 "0.14.36" 1360 | esbuild-linux-32 "0.14.36" 1361 | esbuild-linux-64 "0.14.36" 1362 | esbuild-linux-arm "0.14.36" 1363 | esbuild-linux-arm64 "0.14.36" 1364 | esbuild-linux-mips64le "0.14.36" 1365 | esbuild-linux-ppc64le "0.14.36" 1366 | esbuild-linux-riscv64 "0.14.36" 1367 | esbuild-linux-s390x "0.14.36" 1368 | esbuild-netbsd-64 "0.14.36" 1369 | esbuild-openbsd-64 "0.14.36" 1370 | esbuild-sunos-64 "0.14.36" 1371 | esbuild-windows-32 "0.14.36" 1372 | esbuild-windows-64 "0.14.36" 1373 | esbuild-windows-arm64 "0.14.36" 1374 | 1375 | escalade@^3.1.1: 1376 | version "3.1.1" 1377 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 1378 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 1379 | 1380 | escape-string-regexp@^1.0.5: 1381 | version "1.0.5" 1382 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1383 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 1384 | 1385 | estree-walker@^2.0.1: 1386 | version "2.0.2" 1387 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" 1388 | integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== 1389 | 1390 | esutils@^2.0.2: 1391 | version "2.0.3" 1392 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 1393 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 1394 | 1395 | fsevents@~2.3.2: 1396 | version "2.3.2" 1397 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 1398 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 1399 | 1400 | function-bind@^1.1.1: 1401 | version "1.1.1" 1402 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1403 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 1404 | 1405 | gensync@^1.0.0-beta.2: 1406 | version "1.0.0-beta.2" 1407 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" 1408 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== 1409 | 1410 | get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: 1411 | version "1.1.1" 1412 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" 1413 | integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== 1414 | dependencies: 1415 | function-bind "^1.1.1" 1416 | has "^1.0.3" 1417 | has-symbols "^1.0.1" 1418 | 1419 | globals@^11.1.0: 1420 | version "11.12.0" 1421 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 1422 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 1423 | 1424 | graceful-fs@^4.1.2: 1425 | version "4.2.10" 1426 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" 1427 | integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== 1428 | 1429 | has-flag@^3.0.0: 1430 | version "3.0.0" 1431 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1432 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 1433 | 1434 | has-property-descriptors@^1.0.0: 1435 | version "1.0.0" 1436 | resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" 1437 | integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== 1438 | dependencies: 1439 | get-intrinsic "^1.1.1" 1440 | 1441 | has-symbols@^1.0.1: 1442 | version "1.0.3" 1443 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" 1444 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== 1445 | 1446 | has@^1.0.3: 1447 | version "1.0.3" 1448 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1449 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 1450 | dependencies: 1451 | function-bind "^1.1.1" 1452 | 1453 | history@^4.9.0: 1454 | version "4.10.1" 1455 | resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" 1456 | integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== 1457 | dependencies: 1458 | "@babel/runtime" "^7.1.2" 1459 | loose-envify "^1.2.0" 1460 | resolve-pathname "^3.0.0" 1461 | tiny-invariant "^1.0.2" 1462 | tiny-warning "^1.0.0" 1463 | value-equal "^1.0.1" 1464 | 1465 | hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2: 1466 | version "3.3.2" 1467 | resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" 1468 | integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== 1469 | dependencies: 1470 | react-is "^16.7.0" 1471 | 1472 | image-size@~0.5.0: 1473 | version "0.5.5" 1474 | resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" 1475 | integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w= 1476 | 1477 | is-core-module@^2.8.1: 1478 | version "2.8.1" 1479 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" 1480 | integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== 1481 | dependencies: 1482 | has "^1.0.3" 1483 | 1484 | is-what@^3.14.1: 1485 | version "3.14.1" 1486 | resolved "https://registry.yarnpkg.com/is-what/-/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1" 1487 | integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA== 1488 | 1489 | isarray@0.0.1: 1490 | version "0.0.1" 1491 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" 1492 | integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= 1493 | 1494 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: 1495 | version "4.0.0" 1496 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1497 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1498 | 1499 | jsesc@^2.5.1: 1500 | version "2.5.2" 1501 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 1502 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 1503 | 1504 | jsesc@~0.5.0: 1505 | version "0.5.0" 1506 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" 1507 | integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= 1508 | 1509 | json5@^2.2.1: 1510 | version "2.2.1" 1511 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" 1512 | integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== 1513 | 1514 | less@^3.11.3: 1515 | version "3.13.1" 1516 | resolved "https://registry.yarnpkg.com/less/-/less-3.13.1.tgz#0ebc91d2a0e9c0c6735b83d496b0ab0583077909" 1517 | integrity sha512-SwA1aQXGUvp+P5XdZslUOhhLnClSLIjWvJhmd+Vgib5BFIr9lMNlQwmwUNOjXThF/A0x+MCYYPeWEfeWiLRnTw== 1518 | dependencies: 1519 | copy-anything "^2.0.1" 1520 | tslib "^1.10.0" 1521 | optionalDependencies: 1522 | errno "^0.1.1" 1523 | graceful-fs "^4.1.2" 1524 | image-size "~0.5.0" 1525 | make-dir "^2.1.0" 1526 | mime "^1.4.1" 1527 | native-request "^1.0.5" 1528 | source-map "~0.6.0" 1529 | 1530 | lodash.debounce@^4.0.8: 1531 | version "4.0.8" 1532 | resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" 1533 | integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= 1534 | 1535 | loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: 1536 | version "1.4.0" 1537 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 1538 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 1539 | dependencies: 1540 | js-tokens "^3.0.0 || ^4.0.0" 1541 | 1542 | make-dir@^2.1.0: 1543 | version "2.1.0" 1544 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" 1545 | integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== 1546 | dependencies: 1547 | pify "^4.0.1" 1548 | semver "^5.6.0" 1549 | 1550 | mime@^1.4.1: 1551 | version "1.6.0" 1552 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 1553 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== 1554 | 1555 | mini-create-react-context@^0.4.0: 1556 | version "0.4.1" 1557 | resolved "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz#072171561bfdc922da08a60c2197a497cc2d1d5e" 1558 | integrity sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ== 1559 | dependencies: 1560 | "@babel/runtime" "^7.12.1" 1561 | tiny-warning "^1.0.3" 1562 | 1563 | ms@2.1.2: 1564 | version "2.1.2" 1565 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1566 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1567 | 1568 | nanoid@^3.3.1: 1569 | version "3.3.2" 1570 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.2.tgz#c89622fafb4381cd221421c69ec58547a1eec557" 1571 | integrity sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA== 1572 | 1573 | native-request@^1.0.5: 1574 | version "1.1.0" 1575 | resolved "https://registry.yarnpkg.com/native-request/-/native-request-1.1.0.tgz#acdb30fe2eefa3e1bc8c54b3a6852e9c5c0d3cb0" 1576 | integrity sha512-uZ5rQaeRn15XmpgE0xoPL8YWqcX90VtCFglYwAgkvKM5e8fog+vePLAhHxuuv/gRkrQxIeh5U3q9sMNUrENqWw== 1577 | 1578 | node-releases@^2.0.2: 1579 | version "2.0.3" 1580 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.3.tgz#225ee7488e4a5e636da8da52854844f9d716ca96" 1581 | integrity sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw== 1582 | 1583 | object-assign@^4.1.1: 1584 | version "4.1.1" 1585 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1586 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 1587 | 1588 | object-keys@^1.1.1: 1589 | version "1.1.1" 1590 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 1591 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 1592 | 1593 | object.assign@^4.1.0: 1594 | version "4.1.2" 1595 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" 1596 | integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== 1597 | dependencies: 1598 | call-bind "^1.0.0" 1599 | define-properties "^1.1.3" 1600 | has-symbols "^1.0.1" 1601 | object-keys "^1.1.1" 1602 | 1603 | path-parse@^1.0.7: 1604 | version "1.0.7" 1605 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 1606 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 1607 | 1608 | path-to-regexp@^1.7.0: 1609 | version "1.8.0" 1610 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" 1611 | integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== 1612 | dependencies: 1613 | isarray "0.0.1" 1614 | 1615 | picocolors@^1.0.0: 1616 | version "1.0.0" 1617 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 1618 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 1619 | 1620 | picomatch@^2.2.2: 1621 | version "2.3.1" 1622 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 1623 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 1624 | 1625 | pify@^4.0.1: 1626 | version "4.0.1" 1627 | resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" 1628 | integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== 1629 | 1630 | postcss@^8.4.12: 1631 | version "8.4.12" 1632 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.12.tgz#1e7de78733b28970fa4743f7da6f3763648b1905" 1633 | integrity sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg== 1634 | dependencies: 1635 | nanoid "^3.3.1" 1636 | picocolors "^1.0.0" 1637 | source-map-js "^1.0.2" 1638 | 1639 | prop-types@^15.6.2, prop-types@^15.7.2: 1640 | version "15.8.1" 1641 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" 1642 | integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== 1643 | dependencies: 1644 | loose-envify "^1.4.0" 1645 | object-assign "^4.1.1" 1646 | react-is "^16.13.1" 1647 | 1648 | prr@~1.0.1: 1649 | version "1.0.1" 1650 | resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" 1651 | integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= 1652 | 1653 | react-dom@17.0.2: 1654 | version "17.0.2" 1655 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" 1656 | integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== 1657 | dependencies: 1658 | loose-envify "^1.1.0" 1659 | object-assign "^4.1.1" 1660 | scheduler "^0.20.2" 1661 | 1662 | react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: 1663 | version "16.13.1" 1664 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" 1665 | integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== 1666 | 1667 | react-redux@7.2.4: 1668 | version "7.2.4" 1669 | resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.4.tgz#1ebb474032b72d806de2e0519cd07761e222e225" 1670 | integrity sha512-hOQ5eOSkEJEXdpIKbnRyl04LhaWabkDPV+Ix97wqQX3T3d2NQ8DUblNXXtNMavc7DpswyQM6xfaN4HQDKNY2JA== 1671 | dependencies: 1672 | "@babel/runtime" "^7.12.1" 1673 | "@types/react-redux" "^7.1.16" 1674 | hoist-non-react-statics "^3.3.2" 1675 | loose-envify "^1.4.0" 1676 | prop-types "^15.7.2" 1677 | react-is "^16.13.1" 1678 | 1679 | react-refresh@^0.12.0: 1680 | version "0.12.0" 1681 | resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.12.0.tgz#28ac0a2c30ef2bb3433d5fd0621e69a6d774c3a4" 1682 | integrity sha512-suLIhrU2IHKL5JEKR/fAwJv7bbeq4kJ+pJopf77jHwuR+HmJS/HbrPIGsTBUVfw7tXPOmYv7UJ7PCaN49e8x4A== 1683 | 1684 | react-router-dom@5.2.0: 1685 | version "5.2.0" 1686 | resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.2.0.tgz#9e65a4d0c45e13289e66c7b17c7e175d0ea15662" 1687 | integrity sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA== 1688 | dependencies: 1689 | "@babel/runtime" "^7.1.2" 1690 | history "^4.9.0" 1691 | loose-envify "^1.3.1" 1692 | prop-types "^15.6.2" 1693 | react-router "5.2.0" 1694 | tiny-invariant "^1.0.2" 1695 | tiny-warning "^1.0.0" 1696 | 1697 | react-router@5.2.0: 1698 | version "5.2.0" 1699 | resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.2.0.tgz#424e75641ca8747fbf76e5ecca69781aa37ea293" 1700 | integrity sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw== 1701 | dependencies: 1702 | "@babel/runtime" "^7.1.2" 1703 | history "^4.9.0" 1704 | hoist-non-react-statics "^3.1.0" 1705 | loose-envify "^1.3.1" 1706 | mini-create-react-context "^0.4.0" 1707 | path-to-regexp "^1.7.0" 1708 | prop-types "^15.6.2" 1709 | react-is "^16.6.0" 1710 | tiny-invariant "^1.0.2" 1711 | tiny-warning "^1.0.0" 1712 | 1713 | react@17.0.2: 1714 | version "17.0.2" 1715 | resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" 1716 | integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== 1717 | dependencies: 1718 | loose-envify "^1.1.0" 1719 | object-assign "^4.1.1" 1720 | 1721 | redux-observable@1.2.0: 1722 | version "1.2.0" 1723 | resolved "https://registry.yarnpkg.com/redux-observable/-/redux-observable-1.2.0.tgz#ff51b6c6be2598e9b5e89fc36639186bb0e669c7" 1724 | integrity sha512-yeR90RP2WzZzCxxnQPlh2uFzyfFLsfXu8ROh53jGDPXVqj71uNDMmvi/YKQkd9ofiVoO4OYb1snbowO49tCEMg== 1725 | 1726 | redux@*, redux@^4.0.0: 1727 | version "4.1.2" 1728 | resolved "https://registry.yarnpkg.com/redux/-/redux-4.1.2.tgz#140f35426d99bb4729af760afcf79eaaac407104" 1729 | integrity sha512-SH8PglcebESbd/shgf6mii6EIoRM0zrQyjcuQ+ojmfxjTtE0z9Y8pa62iA/OJ58qjP6j27uyW4kUF4jl/jd6sw== 1730 | dependencies: 1731 | "@babel/runtime" "^7.9.2" 1732 | 1733 | regenerate-unicode-properties@^10.0.1: 1734 | version "10.0.1" 1735 | resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz#7f442732aa7934a3740c779bb9b3340dccc1fb56" 1736 | integrity sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw== 1737 | dependencies: 1738 | regenerate "^1.4.2" 1739 | 1740 | regenerate@^1.4.2: 1741 | version "1.4.2" 1742 | resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" 1743 | integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== 1744 | 1745 | regenerator-runtime@^0.13.4: 1746 | version "0.13.9" 1747 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" 1748 | integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== 1749 | 1750 | regenerator-transform@^0.15.0: 1751 | version "0.15.0" 1752 | resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.0.tgz#cbd9ead5d77fae1a48d957cf889ad0586adb6537" 1753 | integrity sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg== 1754 | dependencies: 1755 | "@babel/runtime" "^7.8.4" 1756 | 1757 | regexpu-core@^5.0.1: 1758 | version "5.0.1" 1759 | resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.0.1.tgz#c531122a7840de743dcf9c83e923b5560323ced3" 1760 | integrity sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw== 1761 | dependencies: 1762 | regenerate "^1.4.2" 1763 | regenerate-unicode-properties "^10.0.1" 1764 | regjsgen "^0.6.0" 1765 | regjsparser "^0.8.2" 1766 | unicode-match-property-ecmascript "^2.0.0" 1767 | unicode-match-property-value-ecmascript "^2.0.0" 1768 | 1769 | regjsgen@^0.6.0: 1770 | version "0.6.0" 1771 | resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.6.0.tgz#83414c5354afd7d6627b16af5f10f41c4e71808d" 1772 | integrity sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA== 1773 | 1774 | regjsparser@^0.8.2: 1775 | version "0.8.4" 1776 | resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.8.4.tgz#8a14285ffcc5de78c5b95d62bbf413b6bc132d5f" 1777 | integrity sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA== 1778 | dependencies: 1779 | jsesc "~0.5.0" 1780 | 1781 | resolve-pathname@^3.0.0: 1782 | version "3.0.0" 1783 | resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" 1784 | integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== 1785 | 1786 | resolve@^1.14.2, resolve@^1.22.0: 1787 | version "1.22.0" 1788 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" 1789 | integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== 1790 | dependencies: 1791 | is-core-module "^2.8.1" 1792 | path-parse "^1.0.7" 1793 | supports-preserve-symlinks-flag "^1.0.0" 1794 | 1795 | rollup@^2.59.0: 1796 | version "2.70.2" 1797 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.70.2.tgz#808d206a8851628a065097b7ba2053bd83ba0c0d" 1798 | integrity sha512-EitogNZnfku65I1DD5Mxe8JYRUCy0hkK5X84IlDtUs+O6JRMpRciXTzyCUuX11b5L5pvjH+OmFXiQ3XjabcXgg== 1799 | optionalDependencies: 1800 | fsevents "~2.3.2" 1801 | 1802 | rxjs@6.6.3: 1803 | version "6.6.3" 1804 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" 1805 | integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== 1806 | dependencies: 1807 | tslib "^1.9.0" 1808 | 1809 | safe-buffer@~5.1.1: 1810 | version "5.1.2" 1811 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 1812 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 1813 | 1814 | scheduler@^0.20.2: 1815 | version "0.20.2" 1816 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" 1817 | integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== 1818 | dependencies: 1819 | loose-envify "^1.1.0" 1820 | object-assign "^4.1.1" 1821 | 1822 | semver@7.0.0: 1823 | version "7.0.0" 1824 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" 1825 | integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== 1826 | 1827 | semver@^5.6.0: 1828 | version "5.7.1" 1829 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 1830 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 1831 | 1832 | semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: 1833 | version "6.3.0" 1834 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 1835 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 1836 | 1837 | source-map-js@^1.0.2: 1838 | version "1.0.2" 1839 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" 1840 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 1841 | 1842 | source-map@^0.5.0: 1843 | version "0.5.7" 1844 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 1845 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= 1846 | 1847 | source-map@~0.6.0: 1848 | version "0.6.1" 1849 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 1850 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 1851 | 1852 | supports-color@^5.3.0: 1853 | version "5.5.0" 1854 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1855 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1856 | dependencies: 1857 | has-flag "^3.0.0" 1858 | 1859 | supports-preserve-symlinks-flag@^1.0.0: 1860 | version "1.0.0" 1861 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 1862 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 1863 | 1864 | tiny-invariant@^1.0.2: 1865 | version "1.2.0" 1866 | resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.2.0.tgz#a1141f86b672a9148c72e978a19a73b9b94a15a9" 1867 | integrity sha512-1Uhn/aqw5C6RI4KejVeTg6mIS7IqxnLJ8Mv2tV5rTc0qWobay7pDUz6Wi392Cnc8ak1H0F2cjoRzb2/AW4+Fvg== 1868 | 1869 | tiny-warning@^1.0.0, tiny-warning@^1.0.3: 1870 | version "1.0.3" 1871 | resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" 1872 | integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== 1873 | 1874 | to-fast-properties@^2.0.0: 1875 | version "2.0.0" 1876 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 1877 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= 1878 | 1879 | tslib@^1.10.0, tslib@^1.9.0: 1880 | version "1.14.1" 1881 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" 1882 | integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== 1883 | 1884 | typesafe-actions@5.1.0: 1885 | version "5.1.0" 1886 | resolved "https://registry.yarnpkg.com/typesafe-actions/-/typesafe-actions-5.1.0.tgz#9afe8b1e6a323af1fd59e6a57b11b7dd6623d2f1" 1887 | integrity sha512-bna6Yi1pRznoo6Bz1cE6btB/Yy8Xywytyfrzu/wc+NFW3ZF0I+2iCGImhBsoYYCOWuICtRO4yHcnDlzgo1AdNg== 1888 | 1889 | typescript@^4.4.4: 1890 | version "4.6.3" 1891 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.3.tgz#eefeafa6afdd31d725584c67a0eaba80f6fc6c6c" 1892 | integrity sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw== 1893 | 1894 | unicode-canonical-property-names-ecmascript@^2.0.0: 1895 | version "2.0.0" 1896 | resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" 1897 | integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== 1898 | 1899 | unicode-match-property-ecmascript@^2.0.0: 1900 | version "2.0.0" 1901 | resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" 1902 | integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== 1903 | dependencies: 1904 | unicode-canonical-property-names-ecmascript "^2.0.0" 1905 | unicode-property-aliases-ecmascript "^2.0.0" 1906 | 1907 | unicode-match-property-value-ecmascript@^2.0.0: 1908 | version "2.0.0" 1909 | resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" 1910 | integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== 1911 | 1912 | unicode-property-aliases-ecmascript@^2.0.0: 1913 | version "2.0.0" 1914 | resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" 1915 | integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== 1916 | 1917 | uuid@^8.3.2: 1918 | version "8.3.2" 1919 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" 1920 | integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== 1921 | 1922 | value-equal@^1.0.1: 1923 | version "1.0.1" 1924 | resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" 1925 | integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== 1926 | 1927 | vite@^2.7.2: 1928 | version "2.9.5" 1929 | resolved "https://registry.yarnpkg.com/vite/-/vite-2.9.5.tgz#08ef37ac7a6d879c96f328b791732c9a00ea25ea" 1930 | integrity sha512-dvMN64X2YEQgSXF1lYabKXw3BbN6e+BL67+P3Vy4MacnY+UzT1AfkHiioFSi9+uiDUiaDy7Ax/LQqivk6orilg== 1931 | dependencies: 1932 | esbuild "^0.14.27" 1933 | postcss "^8.4.12" 1934 | resolve "^1.22.0" 1935 | rollup "^2.59.0" 1936 | optionalDependencies: 1937 | fsevents "~2.3.2" 1938 | --------------------------------------------------------------------------------