From 479c0e53e5c78da752dec16c905537666a19bc8c Mon Sep 17 00:00:00 2001
From: Matias Meri <matu16@hotmail.fi>
Date: Wed, 13 Apr 2022 11:20:06 +0300
Subject: [PATCH] Snake spawn and randomized food spawn

---
 package-lock.json                | 1724 ++++++++++++++++++++++++++++++
 projekti/package-lock.json       | 1011 ++++++++++++++++++
 projekti/package.json            |    6 +
 projekti/public/logo192.png      |  Bin 5347 -> 0 bytes
 projekti/public/logo512.png      |  Bin 9664 -> 0 bytes
 projekti/src/App.css             |   38 -
 projekti/src/App.js              |  101 +-
 projekti/src/App.test.js         |    8 -
 projekti/src/components/Food.js  |   13 +
 projekti/src/components/Snake.js |   18 +
 projekti/src/index.css           |   32 +-
 projekti/src/index.js            |   11 +-
 projekti/src/logo.svg            |    1 -
 projekti/src/reportWebVitals.js  |   13 -
 projekti/src/setupTests.js       |    5 -
 15 files changed, 2824 insertions(+), 157 deletions(-)
 create mode 100644 package-lock.json
 delete mode 100644 projekti/public/logo192.png
 delete mode 100644 projekti/public/logo512.png
 delete mode 100644 projekti/src/App.css
 delete mode 100644 projekti/src/App.test.js
 create mode 100644 projekti/src/components/Food.js
 create mode 100644 projekti/src/components/Snake.js
 delete mode 100644 projekti/src/logo.svg
 delete mode 100644 projekti/src/reportWebVitals.js
 delete mode 100644 projekti/src/setupTests.js

diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..64ad3e1
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,1724 @@
+{
+  "requires": true,
+  "lockfileVersion": 1,
+  "dependencies": {
+    "@babel/code-frame": {
+      "version": "7.16.7",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
+      "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==",
+      "requires": {
+        "@babel/highlight": "^7.16.7"
+      }
+    },
+    "@babel/helper-module-imports": {
+      "version": "7.16.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz",
+      "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==",
+      "requires": {
+        "@babel/types": "^7.16.7"
+      }
+    },
+    "@babel/helper-plugin-utils": {
+      "version": "7.16.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz",
+      "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA=="
+    },
+    "@babel/helper-validator-identifier": {
+      "version": "7.16.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz",
+      "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw=="
+    },
+    "@babel/highlight": {
+      "version": "7.17.9",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz",
+      "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==",
+      "requires": {
+        "@babel/helper-validator-identifier": "^7.16.7",
+        "chalk": "^2.0.0",
+        "js-tokens": "^4.0.0"
+      }
+    },
+    "@babel/plugin-syntax-jsx": {
+      "version": "7.16.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz",
+      "integrity": "sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==",
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.16.7"
+      }
+    },
+    "@babel/runtime": {
+      "version": "7.17.9",
+      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz",
+      "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==",
+      "requires": {
+        "regenerator-runtime": "^0.13.4"
+      },
+      "dependencies": {
+        "regenerator-runtime": {
+          "version": "0.13.9",
+          "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
+          "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA=="
+        }
+      }
+    },
+    "@babel/types": {
+      "version": "7.17.0",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz",
+      "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==",
+      "requires": {
+        "@babel/helper-validator-identifier": "^7.16.7",
+        "to-fast-properties": "^2.0.0"
+      },
+      "dependencies": {
+        "to-fast-properties": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+          "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+        }
+      }
+    },
+    "@chakra-ui/accordion": {
+      "version": "1.4.10",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/accordion/-/accordion-1.4.10.tgz",
+      "integrity": "sha512-TehP/24201HHmsq0aTa6efp/TkzULbQPFs1WvUkG46CBaWBz2/PfwhZ61ETrFDJST1NKVljpm+WrWPtx9jWF4w==",
+      "requires": {
+        "@chakra-ui/descendant": "2.1.3",
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/icon": "2.0.5",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/transition": "1.4.7",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/alert": {
+      "version": "1.3.7",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/alert/-/alert-1.3.7.tgz",
+      "integrity": "sha512-fFpJYBpHOIK/BX4BVl/xafYiDBUW+Bq/gUYDOo4iAiO4vHgxo74oa+yOwSRNlNjAgIX7pi2ridsYQALKyWyxxQ==",
+      "requires": {
+        "@chakra-ui/icon": "2.0.5",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/anatomy": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/anatomy/-/anatomy-1.3.0.tgz",
+      "integrity": "sha512-vj/lcHkCuq/dtbl69DkNsftZTnrGEegB90ODs1B6rxw8iVMdDSYkthPPFAkqzNs4ppv1y2IBjELuVzpeta1OHA==",
+      "requires": {
+        "@chakra-ui/theme-tools": "^1.3.6"
+      }
+    },
+    "@chakra-ui/avatar": {
+      "version": "1.3.10",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/avatar/-/avatar-1.3.10.tgz",
+      "integrity": "sha512-vTkEwvqYNSQR3zxPmT+ZkQS44ptI0N0i8fO3r+S0s6Hi1m6phBgohd20wxdIlSKcfHqPMqRjpQr/VBlSqziyyQ==",
+      "requires": {
+        "@chakra-ui/image": "1.1.9",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/breadcrumb": {
+      "version": "1.3.6",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/breadcrumb/-/breadcrumb-1.3.6.tgz",
+      "integrity": "sha512-iXxienBO6RUnJEcDvyDWyRt+mzPyl7/b6N8i0vrjGKGLpgtayJFvIdo33tFcvx6TCy7V9hiE3HTtZnNomWdR6A==",
+      "requires": {
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/button": {
+      "version": "1.5.9",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/button/-/button-1.5.9.tgz",
+      "integrity": "sha512-flHRK6Bxsr3mto+DiOK32+lyfLHTPBZCfIsLPSoFGyf2g67hFxDrkqj9oD8QOlQOU9vsIptd10A3kqZQEd00FA==",
+      "requires": {
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/spinner": "1.2.6",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/checkbox": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/checkbox/-/checkbox-1.7.0.tgz",
+      "integrity": "sha512-BElMx27+oIWU2Y+pv8QYjNmJmj21HvqfTZc4boinU+Hh/vbrtRTuxigKKFxYhQqsPfUcpUyNkRwNwN2KB8Hk3A==",
+      "requires": {
+        "@chakra-ui/form-control": "1.5.10",
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4",
+        "@chakra-ui/visually-hidden": "1.1.6"
+      }
+    },
+    "@chakra-ui/clickable": {
+      "version": "1.2.6",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/clickable/-/clickable-1.2.6.tgz",
+      "integrity": "sha512-89SsrQwwwAadcl/bN8nZqqaaVhVNFdBXqQnxVy1t07DL5ezubmNb5SgFh9LDznkm9YYPQhaGr3W6HFro7iAHMg==",
+      "requires": {
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/close-button": {
+      "version": "1.2.7",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/close-button/-/close-button-1.2.7.tgz",
+      "integrity": "sha512-cYTxfgrIlPU4IZm1sehZXxx/TNQBk9c3LBPvTpywEM8GVRGINh4YLq8WiMaPtO+TDNBnKoWS/jS4IHnR+abADw==",
+      "requires": {
+        "@chakra-ui/icon": "2.0.5",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/color-mode": {
+      "version": "1.4.7",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/color-mode/-/color-mode-1.4.7.tgz",
+      "integrity": "sha512-pl5lMhNnFVBpYzXrs3mjxJOE/qnb5NJC71sQaxk9uqUQUpM/oJ+kyE4eYKKSWNvs+qhFx9eZJvuP5DvSrtij3w==",
+      "requires": {
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/react-env": "1.1.6",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/control-box": {
+      "version": "1.1.6",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/control-box/-/control-box-1.1.6.tgz",
+      "integrity": "sha512-EUcq5f854puG6ZA6wAWl4107OPl8+bj4MMHJCa48BB0qec0U8HCEtxQGnFwJmaYLalIAjMfHuY3OwO2A3Hi9hA==",
+      "requires": {
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/counter": {
+      "version": "1.2.9",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/counter/-/counter-1.2.9.tgz",
+      "integrity": "sha512-gGsG7xbFjgvnZu8UoiaGVpX5NwQKFHpO1fpZanIYi1Ty4DKlMWar8ouWaxHgQESSsiVwprRePFhwxv9Mk/mnYQ==",
+      "requires": {
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/css-reset": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/css-reset/-/css-reset-1.1.3.tgz",
+      "integrity": "sha512-AgfrE7bRTJvNi/4zIfacI/kBHmHmHEIeQtHwCvk/0qM9V2gK1VM3ctYlnibf7BTh17F/UszweOGRb1lHSPfWjw=="
+    },
+    "@chakra-ui/descendant": {
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-2.1.3.tgz",
+      "integrity": "sha512-aNYNv99gEPENCdw2N5y3FvL5wgBVcLiOzJ2TxSwb4EVYszbgBZ8Ry1pf7lkoSfysdxD0scgy2cVyxO8TsYTU4g==",
+      "requires": {
+        "@chakra-ui/react-utils": "^1.2.3"
+      }
+    },
+    "@chakra-ui/editable": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/editable/-/editable-1.4.1.tgz",
+      "integrity": "sha512-mt5BuI59YRzLetH3FBG3qAKxxJ0WtsYBaNHuulJLgO4iO6y279WWIQZVGXYmtZw/6ENK6GtRHCotf+ruDcGBEA==",
+      "requires": {
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/focus-lock": {
+      "version": "1.2.6",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/focus-lock/-/focus-lock-1.2.6.tgz",
+      "integrity": "sha512-ZJNE1oNdUM1aGWuCJ+bxFa/d3EwxzfMWzTKzSvKDK50GWoUQQ10xFTT9nY/yFpkcwhBvx1KavxKf44mIhIbSog==",
+      "requires": {
+        "@chakra-ui/utils": "1.10.4",
+        "react-focus-lock": "2.5.2"
+      }
+    },
+    "@chakra-ui/form-control": {
+      "version": "1.5.10",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/form-control/-/form-control-1.5.10.tgz",
+      "integrity": "sha512-u64RtIuqUd7D0cRIuNvvi6+BQ1yls+IhcXmUlbTbn27bvBJcKgwxlFpKE26KonW77qHjguL1Sse2Mv5Gz/9akw==",
+      "requires": {
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/icon": "2.0.5",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/hooks": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/hooks/-/hooks-1.9.0.tgz",
+      "integrity": "sha512-fvhsObVxfQzAGaT5Vc4siwzoUVxueSK81MCHlU4FifANJQ+u/6c8PZkn9WRM0+WzWJHMAcYvp0y+A46y7TftFQ==",
+      "requires": {
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4",
+        "compute-scroll-into-view": "1.0.14",
+        "copy-to-clipboard": "3.3.1"
+      }
+    },
+    "@chakra-ui/icon": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/icon/-/icon-2.0.5.tgz",
+      "integrity": "sha512-ZrqRvCCIxGr4qFd/r1pmtd9tobRmv8KAxV7ygFoc/t4vOSKTcVIjhE12gsI3FzgvXM15ZFVwsxa1zodwgo5neQ==",
+      "requires": {
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/image": {
+      "version": "1.1.9",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/image/-/image-1.1.9.tgz",
+      "integrity": "sha512-Aki+17AI/A3ss0DaQWrJa74luZN2m9o0bTugCeFr+6yV/VWjXeGSW7aht3XeGH6NrNoVuIkew0lmfrVRt9FfXA==",
+      "requires": {
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/input": {
+      "version": "1.4.5",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/input/-/input-1.4.5.tgz",
+      "integrity": "sha512-UOycHcMcxKwGCt7qVEdas3gfgJLc/R3siEMVTH/aiROi4wPtzn7GZPphLd/Zn/sALlbVIqjofZ6Cj6Koz+bx2g==",
+      "requires": {
+        "@chakra-ui/form-control": "1.5.10",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/layout": {
+      "version": "1.7.8",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/layout/-/layout-1.7.8.tgz",
+      "integrity": "sha512-zXMS/TEjqYDCgG3zwS/PcSTNBs1OMyuY92WP5HBxJLGipGxVLTvmIt0cPDiodTqLNfFsalBUMH6lR79pxk6ZtA==",
+      "requires": {
+        "@chakra-ui/icon": "2.0.5",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/live-region": {
+      "version": "1.1.6",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/live-region/-/live-region-1.1.6.tgz",
+      "integrity": "sha512-9gPQHXf7oW0jXyT5R/JzyDMfJ3hF70TqhN8bRH4fMyfNr2Se+SjztMBqCrv5FS5rPjcCeua+e0eArpoB3ROuWQ==",
+      "requires": {
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/media-query": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/media-query/-/media-query-2.0.4.tgz",
+      "integrity": "sha512-kn6g/L0IFFUHz2v4yiCsBnhg9jUeA7525Z+AWl+BPtvryi7i9J+AJ27y/QAge7vUGy4dwDeFyxOZTs2oZ9/BsA==",
+      "requires": {
+        "@chakra-ui/react-env": "1.1.6",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/menu": {
+      "version": "1.8.10",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/menu/-/menu-1.8.10.tgz",
+      "integrity": "sha512-ml2LFo/Tn4OuGosqabZRO0nBNqZ+v/5IBfVUGAXWpSPSYXfQXPQg6WRy5hLxlCEMYdVFrYxDRvQTOCaHcN0Q8g==",
+      "requires": {
+        "@chakra-ui/clickable": "1.2.6",
+        "@chakra-ui/descendant": "2.1.3",
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/popper": "2.4.3",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/transition": "1.4.7",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/modal": {
+      "version": "1.11.0",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/modal/-/modal-1.11.0.tgz",
+      "integrity": "sha512-E2Ebne3rqz3vMSH/eLOmBAd+LnQX9uPlcuCoAolS0l8peD8ifILhuAYmOa/vzdAhakEut2/Y9LLTty22cxCyOg==",
+      "requires": {
+        "@chakra-ui/close-button": "1.2.7",
+        "@chakra-ui/focus-lock": "1.2.6",
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/portal": "1.3.9",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/transition": "1.4.7",
+        "@chakra-ui/utils": "1.10.4",
+        "aria-hidden": "^1.1.1",
+        "react-remove-scroll": "2.4.1"
+      }
+    },
+    "@chakra-ui/number-input": {
+      "version": "1.4.6",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/number-input/-/number-input-1.4.6.tgz",
+      "integrity": "sha512-MgdhpvyOdzWxbl3CQXWHwp/b8/NV6Hnpi0VjiJd52Plw8BQH5wl/SEbl9tECZ8pv7opGiNdGSqAFeVXOhXgFQw==",
+      "requires": {
+        "@chakra-ui/counter": "1.2.9",
+        "@chakra-ui/form-control": "1.5.10",
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/icon": "2.0.5",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/pin-input": {
+      "version": "1.7.9",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/pin-input/-/pin-input-1.7.9.tgz",
+      "integrity": "sha512-xx0n1iRK83MPNUaWxGEL2yUxGAtzXeGjYsZzzccqL/vTqsLHUBWnDjsjoztMkcekwcZt6fKzVrq60iCiLGYYUQ==",
+      "requires": {
+        "@chakra-ui/descendant": "2.1.3",
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/popover": {
+      "version": "1.11.8",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/popover/-/popover-1.11.8.tgz",
+      "integrity": "sha512-EGDAnr2ohIZmrDoS7tmlFojHD9vJjUUi7ZYbTB7QGUbQSvjfJKw36d4Y9Kd85dA1nlz18oe7b5+Eqmraw+tSPg==",
+      "requires": {
+        "@chakra-ui/close-button": "1.2.7",
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/popper": "2.4.3",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/popper": {
+      "version": "2.4.3",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/popper/-/popper-2.4.3.tgz",
+      "integrity": "sha512-TGzFnYt3mtIVkIejtYIAu4Ka9DaYLzMR4NgcqI6EtaTvgK7Xep+6RTiY/Nq+ZT3l/eaNUwqHRFoNrDUg1XYasA==",
+      "requires": {
+        "@chakra-ui/react-utils": "1.2.3",
+        "@popperjs/core": "^2.9.3"
+      }
+    },
+    "@chakra-ui/portal": {
+      "version": "1.3.9",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/portal/-/portal-1.3.9.tgz",
+      "integrity": "sha512-C/DYG90Zlal+N4HtaEU54PKmufRqnmPmmXHYiB0uh27I1frAdzizgrmkjyne5F1Hodf1XlnWYGlxRzJql2j/rQ==",
+      "requires": {
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/progress": {
+      "version": "1.2.6",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/progress/-/progress-1.2.6.tgz",
+      "integrity": "sha512-thaHRIYTVktgV78vJMNwzfCX+ickhSpn2bun6FtGVUphFx4tjV+ggz+IGohm6AH2hapskoR1mQU2iNZb6BK0hQ==",
+      "requires": {
+        "@chakra-ui/theme-tools": "1.3.6",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/provider": {
+      "version": "1.7.13",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/provider/-/provider-1.7.13.tgz",
+      "integrity": "sha512-LTcEZ/u61qQnZ/hKoXv01s2EkIwz9gS/tffLdhL83XVFIFNi5blxv9VIEU50+tkhLrK3rgBiDb5jMvkJq23uyA==",
+      "requires": {
+        "@chakra-ui/css-reset": "1.1.3",
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/portal": "1.3.9",
+        "@chakra-ui/react-env": "1.1.6",
+        "@chakra-ui/system": "1.12.0",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/radio": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/radio/-/radio-1.5.0.tgz",
+      "integrity": "sha512-jiS3NL6oJ4Qe+GP4JTfEzx/M6mtmJTK9DNYUTo7dIRemsEqH3hH4ZTZit15sg07w1odbhOAL7UJdt8F4EkOXNQ==",
+      "requires": {
+        "@chakra-ui/form-control": "1.5.10",
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4",
+        "@chakra-ui/visually-hidden": "1.1.6"
+      }
+    },
+    "@chakra-ui/react": {
+      "version": "1.8.7",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/react/-/react-1.8.7.tgz",
+      "integrity": "sha512-XyPXBCV446Cv+OCHDOFwDHiCwtlnMC/SwS21zC4rbIQgb1rz3vPCh4wJaD7FaXutoB7RMjDaU08xKxXXVy1wyg==",
+      "requires": {
+        "@chakra-ui/accordion": "1.4.10",
+        "@chakra-ui/alert": "1.3.7",
+        "@chakra-ui/avatar": "1.3.10",
+        "@chakra-ui/breadcrumb": "1.3.6",
+        "@chakra-ui/button": "1.5.9",
+        "@chakra-ui/checkbox": "1.7.0",
+        "@chakra-ui/close-button": "1.2.7",
+        "@chakra-ui/control-box": "1.1.6",
+        "@chakra-ui/counter": "1.2.9",
+        "@chakra-ui/css-reset": "1.1.3",
+        "@chakra-ui/editable": "1.4.1",
+        "@chakra-ui/form-control": "1.5.10",
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/icon": "2.0.5",
+        "@chakra-ui/image": "1.1.9",
+        "@chakra-ui/input": "1.4.5",
+        "@chakra-ui/layout": "1.7.8",
+        "@chakra-ui/live-region": "1.1.6",
+        "@chakra-ui/media-query": "2.0.4",
+        "@chakra-ui/menu": "1.8.10",
+        "@chakra-ui/modal": "1.11.0",
+        "@chakra-ui/number-input": "1.4.6",
+        "@chakra-ui/pin-input": "1.7.9",
+        "@chakra-ui/popover": "1.11.8",
+        "@chakra-ui/popper": "2.4.3",
+        "@chakra-ui/portal": "1.3.9",
+        "@chakra-ui/progress": "1.2.6",
+        "@chakra-ui/provider": "1.7.13",
+        "@chakra-ui/radio": "1.5.0",
+        "@chakra-ui/react-env": "1.1.6",
+        "@chakra-ui/select": "1.2.10",
+        "@chakra-ui/skeleton": "1.2.13",
+        "@chakra-ui/slider": "1.5.10",
+        "@chakra-ui/spinner": "1.2.6",
+        "@chakra-ui/stat": "1.2.7",
+        "@chakra-ui/switch": "1.3.9",
+        "@chakra-ui/system": "1.12.0",
+        "@chakra-ui/table": "1.3.6",
+        "@chakra-ui/tabs": "1.6.9",
+        "@chakra-ui/tag": "1.2.7",
+        "@chakra-ui/textarea": "1.2.10",
+        "@chakra-ui/theme": "1.14.0",
+        "@chakra-ui/toast": "1.5.8",
+        "@chakra-ui/tooltip": "1.5.0",
+        "@chakra-ui/transition": "1.4.7",
+        "@chakra-ui/utils": "1.10.4",
+        "@chakra-ui/visually-hidden": "1.1.6"
+      }
+    },
+    "@chakra-ui/react-env": {
+      "version": "1.1.6",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/react-env/-/react-env-1.1.6.tgz",
+      "integrity": "sha512-L90LNvCfe04FTkN9OPok/o2e60zLJNBH8Im/5dUHvqy7dXLXok8ZDad5vEL46XmGbhe7O8fbxhG6FmAYdcCHrQ==",
+      "requires": {
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/react-utils": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/react-utils/-/react-utils-1.2.3.tgz",
+      "integrity": "sha512-r8pUwCVVB7UPhb0AiRa9ZzSp4xkMz64yIeJ4O4aGy4WMw7TRH4j4QkbkE1YC9tQitrXrliOlvx4WWJR4VyiGpw==",
+      "requires": {
+        "@chakra-ui/utils": "^1.10.4"
+      }
+    },
+    "@chakra-ui/select": {
+      "version": "1.2.10",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/select/-/select-1.2.10.tgz",
+      "integrity": "sha512-f6Z5e9ZBX3JKvlOdEVJaSroirRYXoaF98NfIY/qRYLp9/4pzh8qkLHMxN4JCA1iNP5LCJ1LFqHPZFLPZFGxCgg==",
+      "requires": {
+        "@chakra-ui/form-control": "1.5.10",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/skeleton": {
+      "version": "1.2.13",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/skeleton/-/skeleton-1.2.13.tgz",
+      "integrity": "sha512-yLcMQ+D6ZFTzpX0uivLLqcKm4x/K7H8guNn31AGx0ri1slcPrv4M5Z10URFFHSpf0lamotZgL1YucOMxMYzZZw==",
+      "requires": {
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/media-query": "2.0.4",
+        "@chakra-ui/system": "1.12.0",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/slider": {
+      "version": "1.5.10",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/slider/-/slider-1.5.10.tgz",
+      "integrity": "sha512-wsp/x0pr7E3n1TrVKWhZ+mj5HTsVe9Zmg7EGCKeERbCNlnXdaGt3rjaDjxnH05oNPXbMFcqHf7ZkvZK4LakpSw==",
+      "requires": {
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/spinner": {
+      "version": "1.2.6",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/spinner/-/spinner-1.2.6.tgz",
+      "integrity": "sha512-GoUCccN120fGRVgUtfuwcEjeoaxffB+XsgpxX7jhWloXf8b6lkqm68bsxX4Ybb2vGN1fANI98/45JmrnddZO/A==",
+      "requires": {
+        "@chakra-ui/utils": "1.10.4",
+        "@chakra-ui/visually-hidden": "1.1.6"
+      }
+    },
+    "@chakra-ui/stat": {
+      "version": "1.2.7",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/stat/-/stat-1.2.7.tgz",
+      "integrity": "sha512-m76jumFW1N+mCG4ytrUz9Mh09nZtS4OQcADEvOslfdI5StwwuzasTA1tueaelPzdhBioMwFUWL05Fr1fXbPJ/Q==",
+      "requires": {
+        "@chakra-ui/icon": "2.0.5",
+        "@chakra-ui/utils": "1.10.4",
+        "@chakra-ui/visually-hidden": "1.1.6"
+      }
+    },
+    "@chakra-ui/styled-system": {
+      "version": "1.19.0",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/styled-system/-/styled-system-1.19.0.tgz",
+      "integrity": "sha512-z+bMfWs6jQGkpgarge1kmk78DuDhJIXRUMyRqZ3+CiIkze88bIIsww6mV2i8tEfUfTAvALeMnlYZ1DYsHsTTJw==",
+      "requires": {
+        "@chakra-ui/utils": "1.10.4",
+        "csstype": "3.0.9"
+      },
+      "dependencies": {
+        "csstype": {
+          "version": "3.0.9",
+          "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz",
+          "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw=="
+        }
+      }
+    },
+    "@chakra-ui/switch": {
+      "version": "1.3.9",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/switch/-/switch-1.3.9.tgz",
+      "integrity": "sha512-s3wBVKiXpxEq7dSxuFdDiecKHrm6USZxYn3sJy+ssLhAyNu9Qb1FFGRuXrnbJ0qeTS1Gq/GLmt4EM+cnjWN/ag==",
+      "requires": {
+        "@chakra-ui/checkbox": "1.7.0",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/system": {
+      "version": "1.12.0",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/system/-/system-1.12.0.tgz",
+      "integrity": "sha512-yKX7T0KGo39YXAVMIdJB3PKzkStIblPAPLy7BIho1dK8ja8LpcB/HmQMioJocvQgD/0bV3sBls/v5So9Jb9PYQ==",
+      "requires": {
+        "@chakra-ui/color-mode": "1.4.7",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/styled-system": "1.19.0",
+        "@chakra-ui/utils": "1.10.4",
+        "react-fast-compare": "3.2.0"
+      }
+    },
+    "@chakra-ui/table": {
+      "version": "1.3.6",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/table/-/table-1.3.6.tgz",
+      "integrity": "sha512-7agZAgAeDFKviqStvixqnLAH54+setzhx67EztioZTr5Xu+6hQ4rotfJbu8L4i587pcbNg98kCEXEkidjw0XRQ==",
+      "requires": {
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/tabs": {
+      "version": "1.6.9",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/tabs/-/tabs-1.6.9.tgz",
+      "integrity": "sha512-dWRpmLQDnCAZwTMY+e/0RPs80oXofz6565ACcffTmOm9DT/JXmMhicA+oIVsU8TxJczzrHhIICJzxWd1MNEweQ==",
+      "requires": {
+        "@chakra-ui/clickable": "1.2.6",
+        "@chakra-ui/descendant": "2.1.3",
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/tag": {
+      "version": "1.2.7",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/tag/-/tag-1.2.7.tgz",
+      "integrity": "sha512-RKrKOol4i/CnpFfo3T9LMm1abaqM+5Bs0soQLbo1iJBbBACY09sWXrQYvveQ2GYzU/OrAUloHqqmKjyVGOlNtg==",
+      "requires": {
+        "@chakra-ui/icon": "2.0.5",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/textarea": {
+      "version": "1.2.10",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/textarea/-/textarea-1.2.10.tgz",
+      "integrity": "sha512-cdauifkP4CyjOqLeVc95+HCk8mag8PlfGHCGew1+3VeayxjBKDcgbP71NTT6dQPJYdUJbG2E0ghQfpMb7UWx2g==",
+      "requires": {
+        "@chakra-ui/form-control": "1.5.10",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/theme": {
+      "version": "1.14.0",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/theme/-/theme-1.14.0.tgz",
+      "integrity": "sha512-zKy/8JSbiCP0QeBsLzdub7aBnfX2k0qp5vD+RA+mxPEiykEvPGg+TwryxRM5KMZK1Zdgg95aH+9mwiGe9tJt3A==",
+      "requires": {
+        "@chakra-ui/anatomy": "1.3.0",
+        "@chakra-ui/theme-tools": "1.3.6",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/theme-tools": {
+      "version": "1.3.6",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/theme-tools/-/theme-tools-1.3.6.tgz",
+      "integrity": "sha512-Wxz3XSJhPCU6OwCHEyH44EegEDQHwvlsx+KDkUDGevOjUU88YuNqOVkKtgTpgMLNQcsrYZ93oPWZUJqqCVNRew==",
+      "requires": {
+        "@chakra-ui/utils": "1.10.4",
+        "@ctrl/tinycolor": "^3.4.0"
+      }
+    },
+    "@chakra-ui/toast": {
+      "version": "1.5.8",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/toast/-/toast-1.5.8.tgz",
+      "integrity": "sha512-6hDEUtYDlfCENfoz5w63pQjwPOGUP0Asn9tP1dq/o9ppi6nudcNQ6wukU1umOUCeuZetlCMgLjNEpSWmqOtd9Q==",
+      "requires": {
+        "@chakra-ui/alert": "1.3.7",
+        "@chakra-ui/close-button": "1.2.7",
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/theme": "1.14.0",
+        "@chakra-ui/transition": "1.4.7",
+        "@chakra-ui/utils": "1.10.4",
+        "@reach/alert": "0.13.2"
+      }
+    },
+    "@chakra-ui/tooltip": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/tooltip/-/tooltip-1.5.0.tgz",
+      "integrity": "sha512-Lv3L0BpawJ0Vfdl8ht3h7aytRv6pXDZ+NMs7CrT+EeLVcCh2QldEAdOBnSpocsqGBqaJ1mnBofAr6bE9YIxTGg==",
+      "requires": {
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/popper": "2.4.3",
+        "@chakra-ui/portal": "1.3.9",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4",
+        "@chakra-ui/visually-hidden": "1.1.6"
+      }
+    },
+    "@chakra-ui/transition": {
+      "version": "1.4.7",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/transition/-/transition-1.4.7.tgz",
+      "integrity": "sha512-2sbMoKB/enp6Qbte3DD6zwBHyO4YAUSgvSr3wn7DAy4hz9kRZHPuUf/N+i9QZ0whL2koXLgdZvV6RNtSTShq4g==",
+      "requires": {
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/utils": {
+      "version": "1.10.4",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/utils/-/utils-1.10.4.tgz",
+      "integrity": "sha512-AM91VQQxw8F4F1WDA28mqKY6NFIOuzc2Ekkna88imy2OiqqmYH0xkq8J16L2qj4cLiLozpYqba3C79pWioy6FA==",
+      "requires": {
+        "@types/lodash.mergewith": "4.6.6",
+        "css-box-model": "1.2.1",
+        "framesync": "5.3.0",
+        "lodash.mergewith": "4.6.2"
+      }
+    },
+    "@chakra-ui/visually-hidden": {
+      "version": "1.1.6",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/visually-hidden/-/visually-hidden-1.1.6.tgz",
+      "integrity": "sha512-Xzy5bA0UA+IyMgwJizQYSEdgz8cC/tHdmFB3CniXzmpKTSK8mJddeEBl+cGbXHBzxEUhH7xF1eaS41O+0ezWEQ==",
+      "requires": {
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@ctrl/tinycolor": {
+      "version": "3.4.0",
+      "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.4.0.tgz",
+      "integrity": "sha512-JZButFdZ1+/xAfpguQHoabIXkcqRRKpMrWKBkpEZZyxfY9C1DpADFB8PEqGSTeFr135SaTRfKqGKx5xSCLI7ZQ=="
+    },
+    "@emotion/babel-plugin": {
+      "version": "11.7.2",
+      "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.7.2.tgz",
+      "integrity": "sha512-6mGSCWi9UzXut/ZAN6lGFu33wGR3SJisNl3c0tvlmb8XChH1b2SUvxvnOh7hvLpqyRdHHU9AiazV3Cwbk5SXKQ==",
+      "requires": {
+        "@babel/helper-module-imports": "^7.12.13",
+        "@babel/plugin-syntax-jsx": "^7.12.13",
+        "@babel/runtime": "^7.13.10",
+        "@emotion/hash": "^0.8.0",
+        "@emotion/memoize": "^0.7.5",
+        "@emotion/serialize": "^1.0.2",
+        "babel-plugin-macros": "^2.6.1",
+        "convert-source-map": "^1.5.0",
+        "escape-string-regexp": "^4.0.0",
+        "find-root": "^1.1.0",
+        "source-map": "^0.5.7",
+        "stylis": "4.0.13"
+      }
+    },
+    "@emotion/cache": {
+      "version": "11.7.1",
+      "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.7.1.tgz",
+      "integrity": "sha512-r65Zy4Iljb8oyjtLeCuBH8Qjiy107dOYC6SJq7g7GV5UCQWMObY4SJDPGFjiiVpPrOJ2hmJOoBiYTC7hwx9E2A==",
+      "requires": {
+        "@emotion/memoize": "^0.7.4",
+        "@emotion/sheet": "^1.1.0",
+        "@emotion/utils": "^1.0.0",
+        "@emotion/weak-memoize": "^0.2.5",
+        "stylis": "4.0.13"
+      }
+    },
+    "@emotion/hash": {
+      "version": "0.8.0",
+      "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz",
+      "integrity": "sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow=="
+    },
+    "@emotion/is-prop-valid": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.1.2.tgz",
+      "integrity": "sha512-3QnhqeL+WW88YjYbQL5gUIkthuMw7a0NGbZ7wfFVk2kg/CK5w8w5FFa0RzWjyY1+sujN0NWbtSHH6OJmWHtJpQ==",
+      "requires": {
+        "@emotion/memoize": "^0.7.4"
+      }
+    },
+    "@emotion/memoize": {
+      "version": "0.7.5",
+      "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.5.tgz",
+      "integrity": "sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ=="
+    },
+    "@emotion/react": {
+      "version": "11.9.0",
+      "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.9.0.tgz",
+      "integrity": "sha512-lBVSF5d0ceKtfKCDQJveNAtkC7ayxpVlgOohLgXqRwqWr9bOf4TZAFFyIcNngnV6xK6X4x2ZeXq7vliHkoVkxQ==",
+      "requires": {
+        "@babel/runtime": "^7.13.10",
+        "@emotion/babel-plugin": "^11.7.1",
+        "@emotion/cache": "^11.7.1",
+        "@emotion/serialize": "^1.0.3",
+        "@emotion/utils": "^1.1.0",
+        "@emotion/weak-memoize": "^0.2.5",
+        "hoist-non-react-statics": "^3.3.1"
+      }
+    },
+    "@emotion/serialize": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.0.3.tgz",
+      "integrity": "sha512-2mSSvgLfyV3q+iVh3YWgNlUc2a9ZlDU7DjuP5MjK3AXRR0dYigCrP99aeFtaB2L/hjfEZdSThn5dsZ0ufqbvsA==",
+      "requires": {
+        "@emotion/hash": "^0.8.0",
+        "@emotion/memoize": "^0.7.4",
+        "@emotion/unitless": "^0.7.5",
+        "@emotion/utils": "^1.0.0",
+        "csstype": "^3.0.2"
+      }
+    },
+    "@emotion/sheet": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.1.0.tgz",
+      "integrity": "sha512-u0AX4aSo25sMAygCuQTzS+HsImZFuS8llY8O7b9MDRzbJM0kVJlAz6KNDqcG7pOuQZJmj/8X/rAW+66kMnMW+g=="
+    },
+    "@emotion/styled": {
+      "version": "11.8.1",
+      "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.8.1.tgz",
+      "integrity": "sha512-OghEVAYBZMpEquHZwuelXcRjRJQOVayvbmNR0zr174NHdmMgrNkLC6TljKC5h9lZLkN5WGrdUcrKlOJ4phhoTQ==",
+      "requires": {
+        "@babel/runtime": "^7.13.10",
+        "@emotion/babel-plugin": "^11.7.1",
+        "@emotion/is-prop-valid": "^1.1.2",
+        "@emotion/serialize": "^1.0.2",
+        "@emotion/utils": "^1.1.0"
+      }
+    },
+    "@emotion/unitless": {
+      "version": "0.7.5",
+      "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz",
+      "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg=="
+    },
+    "@emotion/utils": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.1.0.tgz",
+      "integrity": "sha512-iRLa/Y4Rs5H/f2nimczYmS5kFJEbpiVvgN3XVfZ022IYhuNA1IRSHEizcof88LtCTXtl9S2Cxt32KgaXEu72JQ=="
+    },
+    "@emotion/weak-memoize": {
+      "version": "0.2.5",
+      "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz",
+      "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA=="
+    },
+    "@popperjs/core": {
+      "version": "2.11.5",
+      "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.5.tgz",
+      "integrity": "sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw=="
+    },
+    "@reach/alert": {
+      "version": "0.13.2",
+      "resolved": "https://registry.npmjs.org/@reach/alert/-/alert-0.13.2.tgz",
+      "integrity": "sha512-LDz83AXCrClyq/MWe+0vaZfHp1Ytqn+kgL5VxG7rirUvmluWaj/snxzfNPWn0Ma4K2YENmXXRC/iHt5X95SqIg==",
+      "requires": {
+        "@reach/utils": "0.13.2",
+        "@reach/visually-hidden": "0.13.2",
+        "prop-types": "^15.7.2",
+        "tslib": "^2.1.0"
+      }
+    },
+    "@reach/utils": {
+      "version": "0.13.2",
+      "resolved": "https://registry.npmjs.org/@reach/utils/-/utils-0.13.2.tgz",
+      "integrity": "sha512-3ir6cN60zvUrwjOJu7C6jec/samqAeyAB12ZADK+qjnmQPdzSYldrFWwDVV5H0WkhbYXR3uh+eImu13hCetNPQ==",
+      "requires": {
+        "@types/warning": "^3.0.0",
+        "tslib": "^2.1.0",
+        "warning": "^4.0.3"
+      }
+    },
+    "@reach/visually-hidden": {
+      "version": "0.13.2",
+      "resolved": "https://registry.npmjs.org/@reach/visually-hidden/-/visually-hidden-0.13.2.tgz",
+      "integrity": "sha512-sPZwNS0/duOuG0mYwE5DmgEAzW9VhgU3aIt1+mrfT/xiT9Cdncqke+kRBQgU708q/Ttm9tWsoHni03nn/SuPTQ==",
+      "requires": {
+        "prop-types": "^15.7.2",
+        "tslib": "^2.1.0"
+      }
+    },
+    "@redux-saga/core": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/@redux-saga/core/-/core-1.1.3.tgz",
+      "integrity": "sha512-8tInBftak8TPzE6X13ABmEtRJGjtK17w7VUs7qV17S8hCO5S3+aUTWZ/DBsBJPdE8Z5jOPwYALyvofgq1Ws+kg==",
+      "requires": {
+        "@babel/runtime": "^7.6.3",
+        "@redux-saga/deferred": "^1.1.2",
+        "@redux-saga/delay-p": "^1.1.2",
+        "@redux-saga/is": "^1.1.2",
+        "@redux-saga/symbols": "^1.1.2",
+        "@redux-saga/types": "^1.1.0",
+        "redux": "^4.0.4",
+        "typescript-tuple": "^2.2.1"
+      }
+    },
+    "@redux-saga/deferred": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/@redux-saga/deferred/-/deferred-1.1.2.tgz",
+      "integrity": "sha512-908rDLHFN2UUzt2jb4uOzj6afpjgJe3MjICaUNO3bvkV/kN/cNeI9PMr8BsFXB/MR8WTAZQq/PlTq8Kww3TBSQ=="
+    },
+    "@redux-saga/delay-p": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/@redux-saga/delay-p/-/delay-p-1.1.2.tgz",
+      "integrity": "sha512-ojc+1IoC6OP65Ts5+ZHbEYdrohmIw1j9P7HS9MOJezqMYtCDgpkoqB5enAAZrNtnbSL6gVCWPHaoaTY5KeO0/g==",
+      "requires": {
+        "@redux-saga/symbols": "^1.1.2"
+      }
+    },
+    "@redux-saga/is": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/@redux-saga/is/-/is-1.1.2.tgz",
+      "integrity": "sha512-OLbunKVsCVNTKEf2cH4TYyNbbPgvmZ52iaxBD4I1fTif4+MTXMa4/Z07L83zW/hTCXwpSZvXogqMqLfex2Tg6w==",
+      "requires": {
+        "@redux-saga/symbols": "^1.1.2",
+        "@redux-saga/types": "^1.1.0"
+      }
+    },
+    "@redux-saga/symbols": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/@redux-saga/symbols/-/symbols-1.1.2.tgz",
+      "integrity": "sha512-EfdGnF423glv3uMwLsGAtE6bg+R9MdqlHEzExnfagXPrIiuxwr3bdiAwz3gi+PsrQ3yBlaBpfGLtDG8rf3LgQQ=="
+    },
+    "@redux-saga/types": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@redux-saga/types/-/types-1.1.0.tgz",
+      "integrity": "sha512-afmTuJrylUU/0OtqzaRkbyYFFNgCF73Bvel/sw90pvGrWIZ+vyoIJqA6eMSoA6+nb443kTmulmBtC9NerXboNg=="
+    },
+    "@types/hoist-non-react-statics": {
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz",
+      "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==",
+      "requires": {
+        "@types/react": "*",
+        "hoist-non-react-statics": "^3.3.0"
+      }
+    },
+    "@types/lodash": {
+      "version": "4.14.181",
+      "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.181.tgz",
+      "integrity": "sha512-n3tyKthHJbkiWhDZs3DkhkCzt2MexYHXlX0td5iMplyfwketaOeKboEVBqzceH7juqvEg3q5oUoBFxSLu7zFag=="
+    },
+    "@types/lodash.mergewith": {
+      "version": "4.6.6",
+      "resolved": "https://registry.npmjs.org/@types/lodash.mergewith/-/lodash.mergewith-4.6.6.tgz",
+      "integrity": "sha512-RY/8IaVENjG19rxTZu9Nukqh0W2UrYgmBj5sdns4hWRZaV8PqR7wIKHFKzvOTjo4zVRV7sVI+yFhAJql12Kfqg==",
+      "requires": {
+        "@types/lodash": "*"
+      }
+    },
+    "@types/parse-json": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
+      "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA=="
+    },
+    "@types/prop-types": {
+      "version": "15.7.4",
+      "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz",
+      "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ=="
+    },
+    "@types/react": {
+      "version": "17.0.43",
+      "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.43.tgz",
+      "integrity": "sha512-8Q+LNpdxf057brvPu1lMtC5Vn7J119xrP1aq4qiaefNioQUYANF/CYeK4NsKorSZyUGJ66g0IM+4bbjwx45o2A==",
+      "requires": {
+        "@types/prop-types": "*",
+        "@types/scheduler": "*",
+        "csstype": "^3.0.2"
+      }
+    },
+    "@types/react-redux": {
+      "version": "7.1.23",
+      "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.23.tgz",
+      "integrity": "sha512-D02o3FPfqQlfu2WeEYwh3x2otYd2Dk1o8wAfsA0B1C2AJEFxE663Ozu7JzuWbznGgW248NaOF6wsqCGNq9d3qw==",
+      "requires": {
+        "@types/hoist-non-react-statics": "^3.3.0",
+        "@types/react": "*",
+        "hoist-non-react-statics": "^3.3.0",
+        "redux": "^4.0.0"
+      }
+    },
+    "@types/scheduler": {
+      "version": "0.16.2",
+      "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
+      "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew=="
+    },
+    "@types/warning": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@types/warning/-/warning-3.0.0.tgz",
+      "integrity": "sha1-DSUBJorY+ZYrdA04fEZU9fjiPlI="
+    },
+    "ansi-styles": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+      "requires": {
+        "color-convert": "^1.9.0"
+      }
+    },
+    "aria-hidden": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.1.3.tgz",
+      "integrity": "sha512-RhVWFtKH5BiGMycI72q2RAFMLQi8JP9bLuQXgR5a8Znp7P5KOIADSJeyfI8PCVxLEp067B2HbP5JIiI/PXIZeA==",
+      "requires": {
+        "tslib": "^1.0.0"
+      },
+      "dependencies": {
+        "tslib": {
+          "version": "1.14.1",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+          "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+        }
+      }
+    },
+    "babel-helper-builder-react-jsx": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz",
+      "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=",
+      "requires": {
+        "babel-runtime": "^6.26.0",
+        "babel-types": "^6.26.0",
+        "esutils": "^2.0.2"
+      }
+    },
+    "babel-plugin-macros": {
+      "version": "2.8.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz",
+      "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==",
+      "requires": {
+        "@babel/runtime": "^7.7.2",
+        "cosmiconfig": "^6.0.0",
+        "resolve": "^1.12.0"
+      }
+    },
+    "babel-plugin-syntax-flow": {
+      "version": "6.18.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz",
+      "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0="
+    },
+    "babel-plugin-syntax-jsx": {
+      "version": "6.18.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
+      "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY="
+    },
+    "babel-plugin-transform-flow-strip-types": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz",
+      "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=",
+      "requires": {
+        "babel-plugin-syntax-flow": "^6.18.0",
+        "babel-runtime": "^6.22.0"
+      }
+    },
+    "babel-plugin-transform-react-display-name": {
+      "version": "6.25.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz",
+      "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=",
+      "requires": {
+        "babel-runtime": "^6.22.0"
+      }
+    },
+    "babel-plugin-transform-react-jsx": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz",
+      "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=",
+      "requires": {
+        "babel-helper-builder-react-jsx": "^6.24.1",
+        "babel-plugin-syntax-jsx": "^6.8.0",
+        "babel-runtime": "^6.22.0"
+      }
+    },
+    "babel-plugin-transform-react-jsx-self": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz",
+      "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=",
+      "requires": {
+        "babel-plugin-syntax-jsx": "^6.8.0",
+        "babel-runtime": "^6.22.0"
+      }
+    },
+    "babel-plugin-transform-react-jsx-source": {
+      "version": "6.22.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz",
+      "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=",
+      "requires": {
+        "babel-plugin-syntax-jsx": "^6.8.0",
+        "babel-runtime": "^6.22.0"
+      }
+    },
+    "babel-preset-flow": {
+      "version": "6.23.0",
+      "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz",
+      "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=",
+      "requires": {
+        "babel-plugin-transform-flow-strip-types": "^6.22.0"
+      }
+    },
+    "babel-preset-react": {
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz",
+      "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=",
+      "requires": {
+        "babel-plugin-syntax-jsx": "^6.3.13",
+        "babel-plugin-transform-react-display-name": "^6.23.0",
+        "babel-plugin-transform-react-jsx": "^6.24.1",
+        "babel-plugin-transform-react-jsx-self": "^6.22.0",
+        "babel-plugin-transform-react-jsx-source": "^6.22.0",
+        "babel-preset-flow": "^6.23.0"
+      }
+    },
+    "babel-runtime": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+      "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+      "requires": {
+        "core-js": "^2.4.0",
+        "regenerator-runtime": "^0.11.0"
+      }
+    },
+    "babel-types": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+      "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
+      "requires": {
+        "babel-runtime": "^6.26.0",
+        "esutils": "^2.0.2",
+        "lodash": "^4.17.4",
+        "to-fast-properties": "^1.0.3"
+      }
+    },
+    "callsites": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+      "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
+    },
+    "chalk": {
+      "version": "2.4.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+      "requires": {
+        "ansi-styles": "^3.2.1",
+        "escape-string-regexp": "^1.0.5",
+        "supports-color": "^5.3.0"
+      },
+      "dependencies": {
+        "escape-string-regexp": {
+          "version": "1.0.5",
+          "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+          "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+        }
+      }
+    },
+    "color-convert": {
+      "version": "1.9.3",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+      "requires": {
+        "color-name": "1.1.3"
+      }
+    },
+    "color-name": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
+    },
+    "compute-scroll-into-view": {
+      "version": "1.0.14",
+      "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.14.tgz",
+      "integrity": "sha512-mKDjINe3tc6hGelUMNDzuhorIUZ7kS7BwyY0r2wQd2HOH2tRuJykiC06iSEX8y1TuhNzvz4GcJnK16mM2J1NMQ=="
+    },
+    "convert-source-map": {
+      "version": "1.8.0",
+      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
+      "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
+      "requires": {
+        "safe-buffer": "~5.1.1"
+      }
+    },
+    "copy-to-clipboard": {
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz",
+      "integrity": "sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==",
+      "requires": {
+        "toggle-selection": "^1.0.6"
+      }
+    },
+    "core-js": {
+      "version": "2.6.12",
+      "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
+      "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ=="
+    },
+    "cosmiconfig": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
+      "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
+      "requires": {
+        "@types/parse-json": "^4.0.0",
+        "import-fresh": "^3.1.0",
+        "parse-json": "^5.0.0",
+        "path-type": "^4.0.0",
+        "yaml": "^1.7.2"
+      }
+    },
+    "css-box-model": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/css-box-model/-/css-box-model-1.2.1.tgz",
+      "integrity": "sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw==",
+      "requires": {
+        "tiny-invariant": "^1.0.6"
+      }
+    },
+    "csstype": {
+      "version": "3.0.11",
+      "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.11.tgz",
+      "integrity": "sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw=="
+    },
+    "debounce": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz",
+      "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug=="
+    },
+    "detect-node-es": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz",
+      "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ=="
+    },
+    "error-ex": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+      "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+      "requires": {
+        "is-arrayish": "^0.2.1"
+      }
+    },
+    "escape-string-regexp": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+      "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="
+    },
+    "esutils": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+      "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
+    },
+    "find-root": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz",
+      "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng=="
+    },
+    "focus-lock": {
+      "version": "0.9.2",
+      "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-0.9.2.tgz",
+      "integrity": "sha512-YtHxjX7a0IC0ZACL5wsX8QdncXofWpGPNoVMuI/nZUrPGp6LmNI6+D5j0pPj+v8Kw5EpweA+T5yImK0rnWf7oQ==",
+      "requires": {
+        "tslib": "^2.0.3"
+      }
+    },
+    "framer-motion": {
+      "version": "5.6.0",
+      "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-5.6.0.tgz",
+      "integrity": "sha512-Y4FtwUU+LUWLKSzoT6Sq538qluvhpe6izdQK8/xZeVjQZ/ORKGfZzyhzcUxNfscqnfEa3dUOA47s+dwrSipdGA==",
+      "requires": {
+        "@emotion/is-prop-valid": "^0.8.2",
+        "framesync": "6.0.1",
+        "hey-listen": "^1.0.8",
+        "popmotion": "11.0.3",
+        "react-merge-refs": "^1.1.0",
+        "react-use-measure": "^2.1.1",
+        "style-value-types": "5.0.0",
+        "tslib": "^2.1.0"
+      },
+      "dependencies": {
+        "@emotion/is-prop-valid": {
+          "version": "0.8.8",
+          "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz",
+          "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==",
+          "optional": true,
+          "requires": {
+            "@emotion/memoize": "0.7.4"
+          }
+        },
+        "@emotion/memoize": {
+          "version": "0.7.4",
+          "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz",
+          "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==",
+          "optional": true
+        },
+        "framesync": {
+          "version": "6.0.1",
+          "resolved": "https://registry.npmjs.org/framesync/-/framesync-6.0.1.tgz",
+          "integrity": "sha512-fUY88kXvGiIItgNC7wcTOl0SNRCVXMKSWW2Yzfmn7EKNc+MpCzcz9DhdHcdjbrtN3c6R4H5dTY2jiCpPdysEjA==",
+          "requires": {
+            "tslib": "^2.1.0"
+          }
+        }
+      }
+    },
+    "framesync": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/framesync/-/framesync-5.3.0.tgz",
+      "integrity": "sha512-oc5m68HDO/tuK2blj7ZcdEBRx3p1PjrgHazL8GYEpvULhrtGIFbQArN6cQS2QhW8mitffaB+VYzMjDqBxxQeoA==",
+      "requires": {
+        "tslib": "^2.1.0"
+      }
+    },
+    "function-bind": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+    },
+    "get-nonce": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz",
+      "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q=="
+    },
+    "has": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+      "requires": {
+        "function-bind": "^1.1.1"
+      }
+    },
+    "has-flag": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
+    },
+    "hey-listen": {
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz",
+      "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q=="
+    },
+    "hoist-non-react-statics": {
+      "version": "3.3.2",
+      "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
+      "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
+      "requires": {
+        "react-is": "^16.7.0"
+      },
+      "dependencies": {
+        "react-is": {
+          "version": "16.13.1",
+          "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+          "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+        }
+      }
+    },
+    "import-fresh": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+      "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+      "requires": {
+        "parent-module": "^1.0.0",
+        "resolve-from": "^4.0.0"
+      }
+    },
+    "invariant": {
+      "version": "2.2.4",
+      "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+      "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+      "requires": {
+        "loose-envify": "^1.0.0"
+      }
+    },
+    "is-arrayish": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+      "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
+    },
+    "is-core-module": {
+      "version": "2.8.1",
+      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz",
+      "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==",
+      "requires": {
+        "has": "^1.0.3"
+      }
+    },
+    "js-tokens": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+    },
+    "json-parse-even-better-errors": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="
+    },
+    "lines-and-columns": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
+      "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
+    },
+    "lodash": {
+      "version": "4.17.21",
+      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+    },
+    "lodash.mergewith": {
+      "version": "4.6.2",
+      "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz",
+      "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ=="
+    },
+    "loose-envify": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+      "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+      "requires": {
+        "js-tokens": "^3.0.0 || ^4.0.0"
+      }
+    },
+    "object-assign": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+    },
+    "parent-module": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+      "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+      "requires": {
+        "callsites": "^3.0.0"
+      }
+    },
+    "parse-json": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+      "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+      "requires": {
+        "@babel/code-frame": "^7.0.0",
+        "error-ex": "^1.3.1",
+        "json-parse-even-better-errors": "^2.3.0",
+        "lines-and-columns": "^1.1.6"
+      }
+    },
+    "path-parse": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+      "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
+    },
+    "path-type": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+      "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="
+    },
+    "popmotion": {
+      "version": "11.0.3",
+      "resolved": "https://registry.npmjs.org/popmotion/-/popmotion-11.0.3.tgz",
+      "integrity": "sha512-Y55FLdj3UxkR7Vl3s7Qr4e9m0onSnP8W7d/xQLsoJM40vs6UKHFdygs6SWryasTZYqugMjm3BepCF4CWXDiHgA==",
+      "requires": {
+        "framesync": "6.0.1",
+        "hey-listen": "^1.0.8",
+        "style-value-types": "5.0.0",
+        "tslib": "^2.1.0"
+      },
+      "dependencies": {
+        "framesync": {
+          "version": "6.0.1",
+          "resolved": "https://registry.npmjs.org/framesync/-/framesync-6.0.1.tgz",
+          "integrity": "sha512-fUY88kXvGiIItgNC7wcTOl0SNRCVXMKSWW2Yzfmn7EKNc+MpCzcz9DhdHcdjbrtN3c6R4H5dTY2jiCpPdysEjA==",
+          "requires": {
+            "tslib": "^2.1.0"
+          }
+        }
+      }
+    },
+    "prop-types": {
+      "version": "15.8.1",
+      "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
+      "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
+      "requires": {
+        "loose-envify": "^1.4.0",
+        "object-assign": "^4.1.1",
+        "react-is": "^16.13.1"
+      },
+      "dependencies": {
+        "react-is": {
+          "version": "16.13.1",
+          "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+          "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+        }
+      }
+    },
+    "react": {
+      "version": "18.0.0",
+      "resolved": "https://registry.npmjs.org/react/-/react-18.0.0.tgz",
+      "integrity": "sha512-x+VL6wbT4JRVPm7EGxXhZ8w8LTROaxPXOqhlGyVSrv0sB1jkyFGgXxJ8LVoPRLvPR6/CIZGFmfzqUa2NYeMr2A==",
+      "requires": {
+        "loose-envify": "^1.1.0"
+      }
+    },
+    "react-clientside-effect": {
+      "version": "1.2.5",
+      "resolved": "https://registry.npmjs.org/react-clientside-effect/-/react-clientside-effect-1.2.5.tgz",
+      "integrity": "sha512-2bL8qFW1TGBHozGGbVeyvnggRpMjibeZM2536AKNENLECutp2yfs44IL8Hmpn8qjFQ2K7A9PnYf3vc7aQq/cPA==",
+      "requires": {
+        "@babel/runtime": "^7.12.13"
+      }
+    },
+    "react-dom": {
+      "version": "18.0.0",
+      "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.0.0.tgz",
+      "integrity": "sha512-XqX7uzmFo0pUceWFCt7Gff6IyIMzFUn7QMZrbrQfGxtaxXZIcGQzoNpRLE3fQLnS4XzLLPMZX2T9TRcSrasicw==",
+      "requires": {
+        "loose-envify": "^1.1.0",
+        "scheduler": "^0.21.0"
+      }
+    },
+    "react-fast-compare": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz",
+      "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA=="
+    },
+    "react-focus-lock": {
+      "version": "2.5.2",
+      "resolved": "https://registry.npmjs.org/react-focus-lock/-/react-focus-lock-2.5.2.tgz",
+      "integrity": "sha512-WzpdOnEqjf+/A3EH9opMZWauag7gV0BxFl+EY4ElA4qFqYsUsBLnmo2sELbN5OC30S16GAWMy16B9DLPpdJKAQ==",
+      "requires": {
+        "@babel/runtime": "^7.0.0",
+        "focus-lock": "^0.9.1",
+        "prop-types": "^15.6.2",
+        "react-clientside-effect": "^1.2.5",
+        "use-callback-ref": "^1.2.5",
+        "use-sidecar": "^1.0.5"
+      }
+    },
+    "react-is": {
+      "version": "17.0.2",
+      "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
+      "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
+    },
+    "react-merge-refs": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/react-merge-refs/-/react-merge-refs-1.1.0.tgz",
+      "integrity": "sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ=="
+    },
+    "react-redux": {
+      "version": "7.2.8",
+      "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.8.tgz",
+      "integrity": "sha512-6+uDjhs3PSIclqoCk0kd6iX74gzrGc3W5zcAjbrFgEdIjRSQObdIwfx80unTkVUYvbQ95Y8Av3OvFHq1w5EOUw==",
+      "requires": {
+        "@babel/runtime": "^7.15.4",
+        "@types/react-redux": "^7.1.20",
+        "hoist-non-react-statics": "^3.3.2",
+        "loose-envify": "^1.4.0",
+        "prop-types": "^15.7.2",
+        "react-is": "^17.0.2"
+      }
+    },
+    "react-remove-scroll": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.4.1.tgz",
+      "integrity": "sha512-K7XZySEzOHMTq7dDwcHsZA6Y7/1uX5RsWhRXVYv8rdh+y9Qz2nMwl9RX/Mwnj/j7JstCGmxyfyC0zbVGXYh3mA==",
+      "requires": {
+        "react-remove-scroll-bar": "^2.1.0",
+        "react-style-singleton": "^2.1.0",
+        "tslib": "^1.0.0",
+        "use-callback-ref": "^1.2.3",
+        "use-sidecar": "^1.0.1"
+      },
+      "dependencies": {
+        "tslib": {
+          "version": "1.14.1",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+          "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+        }
+      }
+    },
+    "react-remove-scroll-bar": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.2.0.tgz",
+      "integrity": "sha512-UU9ZBP1wdMR8qoUs7owiVcpaPwsQxUDC2lypP6mmixaGlARZa7ZIBx1jcuObLdhMOvCsnZcvetOho0wzPa9PYg==",
+      "requires": {
+        "react-style-singleton": "^2.1.0",
+        "tslib": "^1.0.0"
+      },
+      "dependencies": {
+        "tslib": {
+          "version": "1.14.1",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+          "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+        }
+      }
+    },
+    "react-style-singleton": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.1.1.tgz",
+      "integrity": "sha512-jNRp07Jza6CBqdRKNgGhT3u9umWvils1xsuMOjZlghBDH2MU0PL2WZor4PGYjXpnRCa9DQSlHMs/xnABWOwYbA==",
+      "requires": {
+        "get-nonce": "^1.0.0",
+        "invariant": "^2.2.4",
+        "tslib": "^1.0.0"
+      },
+      "dependencies": {
+        "tslib": {
+          "version": "1.14.1",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+          "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+        }
+      }
+    },
+    "react-use-measure": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/react-use-measure/-/react-use-measure-2.1.1.tgz",
+      "integrity": "sha512-nocZhN26cproIiIduswYpV5y5lQpSQS1y/4KuvUCjSKmw7ZWIS/+g3aFnX3WdBkyuGUtTLif3UTqnLLhbDoQig==",
+      "requires": {
+        "debounce": "^1.2.1"
+      }
+    },
+    "redux": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/redux/-/redux-4.1.2.tgz",
+      "integrity": "sha512-SH8PglcebESbd/shgf6mii6EIoRM0zrQyjcuQ+ojmfxjTtE0z9Y8pa62iA/OJ58qjP6j27uyW4kUF4jl/jd6sw==",
+      "requires": {
+        "@babel/runtime": "^7.9.2"
+      }
+    },
+    "redux-saga": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/redux-saga/-/redux-saga-1.1.3.tgz",
+      "integrity": "sha512-RkSn/z0mwaSa5/xH/hQLo8gNf4tlvT18qXDNvedihLcfzh+jMchDgaariQoehCpgRltEm4zHKJyINEz6aqswTw==",
+      "requires": {
+        "@redux-saga/core": "^1.1.3"
+      }
+    },
+    "regenerator-runtime": {
+      "version": "0.11.1",
+      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
+      "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
+    },
+    "resolve": {
+      "version": "1.22.0",
+      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
+      "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
+      "requires": {
+        "is-core-module": "^2.8.1",
+        "path-parse": "^1.0.7",
+        "supports-preserve-symlinks-flag": "^1.0.0"
+      }
+    },
+    "resolve-from": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+      "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="
+    },
+    "safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+    },
+    "scheduler": {
+      "version": "0.21.0",
+      "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.21.0.tgz",
+      "integrity": "sha512-1r87x5fz9MXqswA2ERLo0EbOAU74DpIUO090gIasYTqlVoJeMcl+Z1Rg7WHz+qtPujhS/hGIt9kxZOYBV3faRQ==",
+      "requires": {
+        "loose-envify": "^1.1.0"
+      }
+    },
+    "source-map": {
+      "version": "0.5.7",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+    },
+    "style-value-types": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/style-value-types/-/style-value-types-5.0.0.tgz",
+      "integrity": "sha512-08yq36Ikn4kx4YU6RD7jWEv27v4V+PUsOGa4n/as8Et3CuODMJQ00ENeAVXAeydX4Z2j1XHZF1K2sX4mGl18fA==",
+      "requires": {
+        "hey-listen": "^1.0.8",
+        "tslib": "^2.1.0"
+      }
+    },
+    "stylis": {
+      "version": "4.0.13",
+      "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.0.13.tgz",
+      "integrity": "sha512-xGPXiFVl4YED9Jh7Euv2V220mriG9u4B2TA6Ybjc1catrstKD2PpIdU3U0RKpkVBC2EhmL/F0sPCr9vrFTNRag=="
+    },
+    "supports-color": {
+      "version": "5.5.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+      "requires": {
+        "has-flag": "^3.0.0"
+      }
+    },
+    "supports-preserve-symlinks-flag": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+      "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
+    },
+    "tiny-invariant": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.2.0.tgz",
+      "integrity": "sha512-1Uhn/aqw5C6RI4KejVeTg6mIS7IqxnLJ8Mv2tV5rTc0qWobay7pDUz6Wi392Cnc8ak1H0F2cjoRzb2/AW4+Fvg=="
+    },
+    "to-fast-properties": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
+      "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc="
+    },
+    "toggle-selection": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz",
+      "integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI="
+    },
+    "tslib": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
+      "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
+    },
+    "typescript-compare": {
+      "version": "0.0.2",
+      "resolved": "https://registry.npmjs.org/typescript-compare/-/typescript-compare-0.0.2.tgz",
+      "integrity": "sha512-8ja4j7pMHkfLJQO2/8tut7ub+J3Lw2S3061eJLFQcvs3tsmJKp8KG5NtpLn7KcY2w08edF74BSVN7qJS0U6oHA==",
+      "requires": {
+        "typescript-logic": "^0.0.0"
+      }
+    },
+    "typescript-logic": {
+      "version": "0.0.0",
+      "resolved": "https://registry.npmjs.org/typescript-logic/-/typescript-logic-0.0.0.tgz",
+      "integrity": "sha512-zXFars5LUkI3zP492ls0VskH3TtdeHCqu0i7/duGt60i5IGPIpAHE/DWo5FqJ6EjQ15YKXrt+AETjv60Dat34Q=="
+    },
+    "typescript-tuple": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/typescript-tuple/-/typescript-tuple-2.2.1.tgz",
+      "integrity": "sha512-Zcr0lbt8z5ZdEzERHAMAniTiIKerFCMgd7yjq1fPnDJ43et/k9twIFQMUYff9k5oXcsQ0WpvFcgzK2ZKASoW6Q==",
+      "requires": {
+        "typescript-compare": "^0.0.2"
+      }
+    },
+    "use-callback-ref": {
+      "version": "1.2.5",
+      "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.2.5.tgz",
+      "integrity": "sha512-gN3vgMISAgacF7sqsLPByqoePooY3n2emTH59Ur5d/M8eg4WTWu1xp8i8DHjohftIyEx0S08RiYxbffr4j8Peg=="
+    },
+    "use-sidecar": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.0.5.tgz",
+      "integrity": "sha512-k9jnrjYNwN6xYLj1iaGhonDghfvmeTmYjAiGvOr7clwKfPjMXJf4/HOr7oT5tJwYafgp2tG2l3eZEOfoELiMcA==",
+      "requires": {
+        "detect-node-es": "^1.1.0",
+        "tslib": "^1.9.3"
+      },
+      "dependencies": {
+        "tslib": {
+          "version": "1.14.1",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+          "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+        }
+      }
+    },
+    "warning": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
+      "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
+      "requires": {
+        "loose-envify": "^1.0.0"
+      }
+    },
+    "yaml": {
+      "version": "1.10.2",
+      "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
+      "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg=="
+    }
+  }
+}
diff --git a/projekti/package-lock.json b/projekti/package-lock.json
index 7a491a3..64a72b8 100644
--- a/projekti/package-lock.json
+++ b/projekti/package-lock.json
@@ -1248,6 +1248,618 @@
       "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
       "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw=="
     },
+    "@chakra-ui/accordion": {
+      "version": "1.4.10",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/accordion/-/accordion-1.4.10.tgz",
+      "integrity": "sha512-TehP/24201HHmsq0aTa6efp/TkzULbQPFs1WvUkG46CBaWBz2/PfwhZ61ETrFDJST1NKVljpm+WrWPtx9jWF4w==",
+      "requires": {
+        "@chakra-ui/descendant": "2.1.3",
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/icon": "2.0.5",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/transition": "1.4.7",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/alert": {
+      "version": "1.3.7",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/alert/-/alert-1.3.7.tgz",
+      "integrity": "sha512-fFpJYBpHOIK/BX4BVl/xafYiDBUW+Bq/gUYDOo4iAiO4vHgxo74oa+yOwSRNlNjAgIX7pi2ridsYQALKyWyxxQ==",
+      "requires": {
+        "@chakra-ui/icon": "2.0.5",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/anatomy": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/anatomy/-/anatomy-1.3.0.tgz",
+      "integrity": "sha512-vj/lcHkCuq/dtbl69DkNsftZTnrGEegB90ODs1B6rxw8iVMdDSYkthPPFAkqzNs4ppv1y2IBjELuVzpeta1OHA==",
+      "requires": {
+        "@chakra-ui/theme-tools": "^1.3.6"
+      }
+    },
+    "@chakra-ui/avatar": {
+      "version": "1.3.10",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/avatar/-/avatar-1.3.10.tgz",
+      "integrity": "sha512-vTkEwvqYNSQR3zxPmT+ZkQS44ptI0N0i8fO3r+S0s6Hi1m6phBgohd20wxdIlSKcfHqPMqRjpQr/VBlSqziyyQ==",
+      "requires": {
+        "@chakra-ui/image": "1.1.9",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/breadcrumb": {
+      "version": "1.3.6",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/breadcrumb/-/breadcrumb-1.3.6.tgz",
+      "integrity": "sha512-iXxienBO6RUnJEcDvyDWyRt+mzPyl7/b6N8i0vrjGKGLpgtayJFvIdo33tFcvx6TCy7V9hiE3HTtZnNomWdR6A==",
+      "requires": {
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/button": {
+      "version": "1.5.9",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/button/-/button-1.5.9.tgz",
+      "integrity": "sha512-flHRK6Bxsr3mto+DiOK32+lyfLHTPBZCfIsLPSoFGyf2g67hFxDrkqj9oD8QOlQOU9vsIptd10A3kqZQEd00FA==",
+      "requires": {
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/spinner": "1.2.6",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/checkbox": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/checkbox/-/checkbox-1.7.0.tgz",
+      "integrity": "sha512-BElMx27+oIWU2Y+pv8QYjNmJmj21HvqfTZc4boinU+Hh/vbrtRTuxigKKFxYhQqsPfUcpUyNkRwNwN2KB8Hk3A==",
+      "requires": {
+        "@chakra-ui/form-control": "1.5.10",
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4",
+        "@chakra-ui/visually-hidden": "1.1.6"
+      }
+    },
+    "@chakra-ui/clickable": {
+      "version": "1.2.6",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/clickable/-/clickable-1.2.6.tgz",
+      "integrity": "sha512-89SsrQwwwAadcl/bN8nZqqaaVhVNFdBXqQnxVy1t07DL5ezubmNb5SgFh9LDznkm9YYPQhaGr3W6HFro7iAHMg==",
+      "requires": {
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/close-button": {
+      "version": "1.2.7",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/close-button/-/close-button-1.2.7.tgz",
+      "integrity": "sha512-cYTxfgrIlPU4IZm1sehZXxx/TNQBk9c3LBPvTpywEM8GVRGINh4YLq8WiMaPtO+TDNBnKoWS/jS4IHnR+abADw==",
+      "requires": {
+        "@chakra-ui/icon": "2.0.5",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/color-mode": {
+      "version": "1.4.7",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/color-mode/-/color-mode-1.4.7.tgz",
+      "integrity": "sha512-pl5lMhNnFVBpYzXrs3mjxJOE/qnb5NJC71sQaxk9uqUQUpM/oJ+kyE4eYKKSWNvs+qhFx9eZJvuP5DvSrtij3w==",
+      "requires": {
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/react-env": "1.1.6",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/control-box": {
+      "version": "1.1.6",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/control-box/-/control-box-1.1.6.tgz",
+      "integrity": "sha512-EUcq5f854puG6ZA6wAWl4107OPl8+bj4MMHJCa48BB0qec0U8HCEtxQGnFwJmaYLalIAjMfHuY3OwO2A3Hi9hA==",
+      "requires": {
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/counter": {
+      "version": "1.2.9",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/counter/-/counter-1.2.9.tgz",
+      "integrity": "sha512-gGsG7xbFjgvnZu8UoiaGVpX5NwQKFHpO1fpZanIYi1Ty4DKlMWar8ouWaxHgQESSsiVwprRePFhwxv9Mk/mnYQ==",
+      "requires": {
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/css-reset": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/css-reset/-/css-reset-1.1.3.tgz",
+      "integrity": "sha512-AgfrE7bRTJvNi/4zIfacI/kBHmHmHEIeQtHwCvk/0qM9V2gK1VM3ctYlnibf7BTh17F/UszweOGRb1lHSPfWjw=="
+    },
+    "@chakra-ui/descendant": {
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/descendant/-/descendant-2.1.3.tgz",
+      "integrity": "sha512-aNYNv99gEPENCdw2N5y3FvL5wgBVcLiOzJ2TxSwb4EVYszbgBZ8Ry1pf7lkoSfysdxD0scgy2cVyxO8TsYTU4g==",
+      "requires": {
+        "@chakra-ui/react-utils": "^1.2.3"
+      }
+    },
+    "@chakra-ui/editable": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/editable/-/editable-1.4.1.tgz",
+      "integrity": "sha512-mt5BuI59YRzLetH3FBG3qAKxxJ0WtsYBaNHuulJLgO4iO6y279WWIQZVGXYmtZw/6ENK6GtRHCotf+ruDcGBEA==",
+      "requires": {
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/focus-lock": {
+      "version": "1.2.6",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/focus-lock/-/focus-lock-1.2.6.tgz",
+      "integrity": "sha512-ZJNE1oNdUM1aGWuCJ+bxFa/d3EwxzfMWzTKzSvKDK50GWoUQQ10xFTT9nY/yFpkcwhBvx1KavxKf44mIhIbSog==",
+      "requires": {
+        "@chakra-ui/utils": "1.10.4",
+        "react-focus-lock": "2.5.2"
+      }
+    },
+    "@chakra-ui/form-control": {
+      "version": "1.5.10",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/form-control/-/form-control-1.5.10.tgz",
+      "integrity": "sha512-u64RtIuqUd7D0cRIuNvvi6+BQ1yls+IhcXmUlbTbn27bvBJcKgwxlFpKE26KonW77qHjguL1Sse2Mv5Gz/9akw==",
+      "requires": {
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/icon": "2.0.5",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/hooks": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/hooks/-/hooks-1.9.0.tgz",
+      "integrity": "sha512-fvhsObVxfQzAGaT5Vc4siwzoUVxueSK81MCHlU4FifANJQ+u/6c8PZkn9WRM0+WzWJHMAcYvp0y+A46y7TftFQ==",
+      "requires": {
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4",
+        "compute-scroll-into-view": "1.0.14",
+        "copy-to-clipboard": "3.3.1"
+      }
+    },
+    "@chakra-ui/icon": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/icon/-/icon-2.0.5.tgz",
+      "integrity": "sha512-ZrqRvCCIxGr4qFd/r1pmtd9tobRmv8KAxV7ygFoc/t4vOSKTcVIjhE12gsI3FzgvXM15ZFVwsxa1zodwgo5neQ==",
+      "requires": {
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/image": {
+      "version": "1.1.9",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/image/-/image-1.1.9.tgz",
+      "integrity": "sha512-Aki+17AI/A3ss0DaQWrJa74luZN2m9o0bTugCeFr+6yV/VWjXeGSW7aht3XeGH6NrNoVuIkew0lmfrVRt9FfXA==",
+      "requires": {
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/input": {
+      "version": "1.4.5",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/input/-/input-1.4.5.tgz",
+      "integrity": "sha512-UOycHcMcxKwGCt7qVEdas3gfgJLc/R3siEMVTH/aiROi4wPtzn7GZPphLd/Zn/sALlbVIqjofZ6Cj6Koz+bx2g==",
+      "requires": {
+        "@chakra-ui/form-control": "1.5.10",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/layout": {
+      "version": "1.7.8",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/layout/-/layout-1.7.8.tgz",
+      "integrity": "sha512-zXMS/TEjqYDCgG3zwS/PcSTNBs1OMyuY92WP5HBxJLGipGxVLTvmIt0cPDiodTqLNfFsalBUMH6lR79pxk6ZtA==",
+      "requires": {
+        "@chakra-ui/icon": "2.0.5",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/live-region": {
+      "version": "1.1.6",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/live-region/-/live-region-1.1.6.tgz",
+      "integrity": "sha512-9gPQHXf7oW0jXyT5R/JzyDMfJ3hF70TqhN8bRH4fMyfNr2Se+SjztMBqCrv5FS5rPjcCeua+e0eArpoB3ROuWQ==",
+      "requires": {
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/media-query": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/media-query/-/media-query-2.0.4.tgz",
+      "integrity": "sha512-kn6g/L0IFFUHz2v4yiCsBnhg9jUeA7525Z+AWl+BPtvryi7i9J+AJ27y/QAge7vUGy4dwDeFyxOZTs2oZ9/BsA==",
+      "requires": {
+        "@chakra-ui/react-env": "1.1.6",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/menu": {
+      "version": "1.8.10",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/menu/-/menu-1.8.10.tgz",
+      "integrity": "sha512-ml2LFo/Tn4OuGosqabZRO0nBNqZ+v/5IBfVUGAXWpSPSYXfQXPQg6WRy5hLxlCEMYdVFrYxDRvQTOCaHcN0Q8g==",
+      "requires": {
+        "@chakra-ui/clickable": "1.2.6",
+        "@chakra-ui/descendant": "2.1.3",
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/popper": "2.4.3",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/transition": "1.4.7",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/modal": {
+      "version": "1.11.0",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/modal/-/modal-1.11.0.tgz",
+      "integrity": "sha512-E2Ebne3rqz3vMSH/eLOmBAd+LnQX9uPlcuCoAolS0l8peD8ifILhuAYmOa/vzdAhakEut2/Y9LLTty22cxCyOg==",
+      "requires": {
+        "@chakra-ui/close-button": "1.2.7",
+        "@chakra-ui/focus-lock": "1.2.6",
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/portal": "1.3.9",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/transition": "1.4.7",
+        "@chakra-ui/utils": "1.10.4",
+        "aria-hidden": "^1.1.1",
+        "react-remove-scroll": "2.4.1"
+      }
+    },
+    "@chakra-ui/number-input": {
+      "version": "1.4.6",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/number-input/-/number-input-1.4.6.tgz",
+      "integrity": "sha512-MgdhpvyOdzWxbl3CQXWHwp/b8/NV6Hnpi0VjiJd52Plw8BQH5wl/SEbl9tECZ8pv7opGiNdGSqAFeVXOhXgFQw==",
+      "requires": {
+        "@chakra-ui/counter": "1.2.9",
+        "@chakra-ui/form-control": "1.5.10",
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/icon": "2.0.5",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/pin-input": {
+      "version": "1.7.9",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/pin-input/-/pin-input-1.7.9.tgz",
+      "integrity": "sha512-xx0n1iRK83MPNUaWxGEL2yUxGAtzXeGjYsZzzccqL/vTqsLHUBWnDjsjoztMkcekwcZt6fKzVrq60iCiLGYYUQ==",
+      "requires": {
+        "@chakra-ui/descendant": "2.1.3",
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/popover": {
+      "version": "1.11.8",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/popover/-/popover-1.11.8.tgz",
+      "integrity": "sha512-EGDAnr2ohIZmrDoS7tmlFojHD9vJjUUi7ZYbTB7QGUbQSvjfJKw36d4Y9Kd85dA1nlz18oe7b5+Eqmraw+tSPg==",
+      "requires": {
+        "@chakra-ui/close-button": "1.2.7",
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/popper": "2.4.3",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/popper": {
+      "version": "2.4.3",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/popper/-/popper-2.4.3.tgz",
+      "integrity": "sha512-TGzFnYt3mtIVkIejtYIAu4Ka9DaYLzMR4NgcqI6EtaTvgK7Xep+6RTiY/Nq+ZT3l/eaNUwqHRFoNrDUg1XYasA==",
+      "requires": {
+        "@chakra-ui/react-utils": "1.2.3",
+        "@popperjs/core": "^2.9.3"
+      }
+    },
+    "@chakra-ui/portal": {
+      "version": "1.3.9",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/portal/-/portal-1.3.9.tgz",
+      "integrity": "sha512-C/DYG90Zlal+N4HtaEU54PKmufRqnmPmmXHYiB0uh27I1frAdzizgrmkjyne5F1Hodf1XlnWYGlxRzJql2j/rQ==",
+      "requires": {
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/progress": {
+      "version": "1.2.6",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/progress/-/progress-1.2.6.tgz",
+      "integrity": "sha512-thaHRIYTVktgV78vJMNwzfCX+ickhSpn2bun6FtGVUphFx4tjV+ggz+IGohm6AH2hapskoR1mQU2iNZb6BK0hQ==",
+      "requires": {
+        "@chakra-ui/theme-tools": "1.3.6",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/provider": {
+      "version": "1.7.13",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/provider/-/provider-1.7.13.tgz",
+      "integrity": "sha512-LTcEZ/u61qQnZ/hKoXv01s2EkIwz9gS/tffLdhL83XVFIFNi5blxv9VIEU50+tkhLrK3rgBiDb5jMvkJq23uyA==",
+      "requires": {
+        "@chakra-ui/css-reset": "1.1.3",
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/portal": "1.3.9",
+        "@chakra-ui/react-env": "1.1.6",
+        "@chakra-ui/system": "1.12.0",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/radio": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/radio/-/radio-1.5.0.tgz",
+      "integrity": "sha512-jiS3NL6oJ4Qe+GP4JTfEzx/M6mtmJTK9DNYUTo7dIRemsEqH3hH4ZTZit15sg07w1odbhOAL7UJdt8F4EkOXNQ==",
+      "requires": {
+        "@chakra-ui/form-control": "1.5.10",
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4",
+        "@chakra-ui/visually-hidden": "1.1.6"
+      }
+    },
+    "@chakra-ui/react": {
+      "version": "1.8.7",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/react/-/react-1.8.7.tgz",
+      "integrity": "sha512-XyPXBCV446Cv+OCHDOFwDHiCwtlnMC/SwS21zC4rbIQgb1rz3vPCh4wJaD7FaXutoB7RMjDaU08xKxXXVy1wyg==",
+      "requires": {
+        "@chakra-ui/accordion": "1.4.10",
+        "@chakra-ui/alert": "1.3.7",
+        "@chakra-ui/avatar": "1.3.10",
+        "@chakra-ui/breadcrumb": "1.3.6",
+        "@chakra-ui/button": "1.5.9",
+        "@chakra-ui/checkbox": "1.7.0",
+        "@chakra-ui/close-button": "1.2.7",
+        "@chakra-ui/control-box": "1.1.6",
+        "@chakra-ui/counter": "1.2.9",
+        "@chakra-ui/css-reset": "1.1.3",
+        "@chakra-ui/editable": "1.4.1",
+        "@chakra-ui/form-control": "1.5.10",
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/icon": "2.0.5",
+        "@chakra-ui/image": "1.1.9",
+        "@chakra-ui/input": "1.4.5",
+        "@chakra-ui/layout": "1.7.8",
+        "@chakra-ui/live-region": "1.1.6",
+        "@chakra-ui/media-query": "2.0.4",
+        "@chakra-ui/menu": "1.8.10",
+        "@chakra-ui/modal": "1.11.0",
+        "@chakra-ui/number-input": "1.4.6",
+        "@chakra-ui/pin-input": "1.7.9",
+        "@chakra-ui/popover": "1.11.8",
+        "@chakra-ui/popper": "2.4.3",
+        "@chakra-ui/portal": "1.3.9",
+        "@chakra-ui/progress": "1.2.6",
+        "@chakra-ui/provider": "1.7.13",
+        "@chakra-ui/radio": "1.5.0",
+        "@chakra-ui/react-env": "1.1.6",
+        "@chakra-ui/select": "1.2.10",
+        "@chakra-ui/skeleton": "1.2.13",
+        "@chakra-ui/slider": "1.5.10",
+        "@chakra-ui/spinner": "1.2.6",
+        "@chakra-ui/stat": "1.2.7",
+        "@chakra-ui/switch": "1.3.9",
+        "@chakra-ui/system": "1.12.0",
+        "@chakra-ui/table": "1.3.6",
+        "@chakra-ui/tabs": "1.6.9",
+        "@chakra-ui/tag": "1.2.7",
+        "@chakra-ui/textarea": "1.2.10",
+        "@chakra-ui/theme": "1.14.0",
+        "@chakra-ui/toast": "1.5.8",
+        "@chakra-ui/tooltip": "1.5.0",
+        "@chakra-ui/transition": "1.4.7",
+        "@chakra-ui/utils": "1.10.4",
+        "@chakra-ui/visually-hidden": "1.1.6"
+      }
+    },
+    "@chakra-ui/react-env": {
+      "version": "1.1.6",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/react-env/-/react-env-1.1.6.tgz",
+      "integrity": "sha512-L90LNvCfe04FTkN9OPok/o2e60zLJNBH8Im/5dUHvqy7dXLXok8ZDad5vEL46XmGbhe7O8fbxhG6FmAYdcCHrQ==",
+      "requires": {
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/react-utils": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/react-utils/-/react-utils-1.2.3.tgz",
+      "integrity": "sha512-r8pUwCVVB7UPhb0AiRa9ZzSp4xkMz64yIeJ4O4aGy4WMw7TRH4j4QkbkE1YC9tQitrXrliOlvx4WWJR4VyiGpw==",
+      "requires": {
+        "@chakra-ui/utils": "^1.10.4"
+      }
+    },
+    "@chakra-ui/select": {
+      "version": "1.2.10",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/select/-/select-1.2.10.tgz",
+      "integrity": "sha512-f6Z5e9ZBX3JKvlOdEVJaSroirRYXoaF98NfIY/qRYLp9/4pzh8qkLHMxN4JCA1iNP5LCJ1LFqHPZFLPZFGxCgg==",
+      "requires": {
+        "@chakra-ui/form-control": "1.5.10",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/skeleton": {
+      "version": "1.2.13",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/skeleton/-/skeleton-1.2.13.tgz",
+      "integrity": "sha512-yLcMQ+D6ZFTzpX0uivLLqcKm4x/K7H8guNn31AGx0ri1slcPrv4M5Z10URFFHSpf0lamotZgL1YucOMxMYzZZw==",
+      "requires": {
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/media-query": "2.0.4",
+        "@chakra-ui/system": "1.12.0",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/slider": {
+      "version": "1.5.10",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/slider/-/slider-1.5.10.tgz",
+      "integrity": "sha512-wsp/x0pr7E3n1TrVKWhZ+mj5HTsVe9Zmg7EGCKeERbCNlnXdaGt3rjaDjxnH05oNPXbMFcqHf7ZkvZK4LakpSw==",
+      "requires": {
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/spinner": {
+      "version": "1.2.6",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/spinner/-/spinner-1.2.6.tgz",
+      "integrity": "sha512-GoUCccN120fGRVgUtfuwcEjeoaxffB+XsgpxX7jhWloXf8b6lkqm68bsxX4Ybb2vGN1fANI98/45JmrnddZO/A==",
+      "requires": {
+        "@chakra-ui/utils": "1.10.4",
+        "@chakra-ui/visually-hidden": "1.1.6"
+      }
+    },
+    "@chakra-ui/stat": {
+      "version": "1.2.7",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/stat/-/stat-1.2.7.tgz",
+      "integrity": "sha512-m76jumFW1N+mCG4ytrUz9Mh09nZtS4OQcADEvOslfdI5StwwuzasTA1tueaelPzdhBioMwFUWL05Fr1fXbPJ/Q==",
+      "requires": {
+        "@chakra-ui/icon": "2.0.5",
+        "@chakra-ui/utils": "1.10.4",
+        "@chakra-ui/visually-hidden": "1.1.6"
+      }
+    },
+    "@chakra-ui/styled-system": {
+      "version": "1.19.0",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/styled-system/-/styled-system-1.19.0.tgz",
+      "integrity": "sha512-z+bMfWs6jQGkpgarge1kmk78DuDhJIXRUMyRqZ3+CiIkze88bIIsww6mV2i8tEfUfTAvALeMnlYZ1DYsHsTTJw==",
+      "requires": {
+        "@chakra-ui/utils": "1.10.4",
+        "csstype": "3.0.9"
+      },
+      "dependencies": {
+        "csstype": {
+          "version": "3.0.9",
+          "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz",
+          "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw=="
+        }
+      }
+    },
+    "@chakra-ui/switch": {
+      "version": "1.3.9",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/switch/-/switch-1.3.9.tgz",
+      "integrity": "sha512-s3wBVKiXpxEq7dSxuFdDiecKHrm6USZxYn3sJy+ssLhAyNu9Qb1FFGRuXrnbJ0qeTS1Gq/GLmt4EM+cnjWN/ag==",
+      "requires": {
+        "@chakra-ui/checkbox": "1.7.0",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/system": {
+      "version": "1.12.0",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/system/-/system-1.12.0.tgz",
+      "integrity": "sha512-yKX7T0KGo39YXAVMIdJB3PKzkStIblPAPLy7BIho1dK8ja8LpcB/HmQMioJocvQgD/0bV3sBls/v5So9Jb9PYQ==",
+      "requires": {
+        "@chakra-ui/color-mode": "1.4.7",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/styled-system": "1.19.0",
+        "@chakra-ui/utils": "1.10.4",
+        "react-fast-compare": "3.2.0"
+      }
+    },
+    "@chakra-ui/table": {
+      "version": "1.3.6",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/table/-/table-1.3.6.tgz",
+      "integrity": "sha512-7agZAgAeDFKviqStvixqnLAH54+setzhx67EztioZTr5Xu+6hQ4rotfJbu8L4i587pcbNg98kCEXEkidjw0XRQ==",
+      "requires": {
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/tabs": {
+      "version": "1.6.9",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/tabs/-/tabs-1.6.9.tgz",
+      "integrity": "sha512-dWRpmLQDnCAZwTMY+e/0RPs80oXofz6565ACcffTmOm9DT/JXmMhicA+oIVsU8TxJczzrHhIICJzxWd1MNEweQ==",
+      "requires": {
+        "@chakra-ui/clickable": "1.2.6",
+        "@chakra-ui/descendant": "2.1.3",
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/tag": {
+      "version": "1.2.7",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/tag/-/tag-1.2.7.tgz",
+      "integrity": "sha512-RKrKOol4i/CnpFfo3T9LMm1abaqM+5Bs0soQLbo1iJBbBACY09sWXrQYvveQ2GYzU/OrAUloHqqmKjyVGOlNtg==",
+      "requires": {
+        "@chakra-ui/icon": "2.0.5",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/textarea": {
+      "version": "1.2.10",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/textarea/-/textarea-1.2.10.tgz",
+      "integrity": "sha512-cdauifkP4CyjOqLeVc95+HCk8mag8PlfGHCGew1+3VeayxjBKDcgbP71NTT6dQPJYdUJbG2E0ghQfpMb7UWx2g==",
+      "requires": {
+        "@chakra-ui/form-control": "1.5.10",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/theme": {
+      "version": "1.14.0",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/theme/-/theme-1.14.0.tgz",
+      "integrity": "sha512-zKy/8JSbiCP0QeBsLzdub7aBnfX2k0qp5vD+RA+mxPEiykEvPGg+TwryxRM5KMZK1Zdgg95aH+9mwiGe9tJt3A==",
+      "requires": {
+        "@chakra-ui/anatomy": "1.3.0",
+        "@chakra-ui/theme-tools": "1.3.6",
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/theme-tools": {
+      "version": "1.3.6",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/theme-tools/-/theme-tools-1.3.6.tgz",
+      "integrity": "sha512-Wxz3XSJhPCU6OwCHEyH44EegEDQHwvlsx+KDkUDGevOjUU88YuNqOVkKtgTpgMLNQcsrYZ93oPWZUJqqCVNRew==",
+      "requires": {
+        "@chakra-ui/utils": "1.10.4",
+        "@ctrl/tinycolor": "^3.4.0"
+      }
+    },
+    "@chakra-ui/toast": {
+      "version": "1.5.8",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/toast/-/toast-1.5.8.tgz",
+      "integrity": "sha512-6hDEUtYDlfCENfoz5w63pQjwPOGUP0Asn9tP1dq/o9ppi6nudcNQ6wukU1umOUCeuZetlCMgLjNEpSWmqOtd9Q==",
+      "requires": {
+        "@chakra-ui/alert": "1.3.7",
+        "@chakra-ui/close-button": "1.2.7",
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/theme": "1.14.0",
+        "@chakra-ui/transition": "1.4.7",
+        "@chakra-ui/utils": "1.10.4",
+        "@reach/alert": "0.13.2"
+      }
+    },
+    "@chakra-ui/tooltip": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/tooltip/-/tooltip-1.5.0.tgz",
+      "integrity": "sha512-Lv3L0BpawJ0Vfdl8ht3h7aytRv6pXDZ+NMs7CrT+EeLVcCh2QldEAdOBnSpocsqGBqaJ1mnBofAr6bE9YIxTGg==",
+      "requires": {
+        "@chakra-ui/hooks": "1.9.0",
+        "@chakra-ui/popper": "2.4.3",
+        "@chakra-ui/portal": "1.3.9",
+        "@chakra-ui/react-utils": "1.2.3",
+        "@chakra-ui/utils": "1.10.4",
+        "@chakra-ui/visually-hidden": "1.1.6"
+      }
+    },
+    "@chakra-ui/transition": {
+      "version": "1.4.7",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/transition/-/transition-1.4.7.tgz",
+      "integrity": "sha512-2sbMoKB/enp6Qbte3DD6zwBHyO4YAUSgvSr3wn7DAy4hz9kRZHPuUf/N+i9QZ0whL2koXLgdZvV6RNtSTShq4g==",
+      "requires": {
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
+    "@chakra-ui/utils": {
+      "version": "1.10.4",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/utils/-/utils-1.10.4.tgz",
+      "integrity": "sha512-AM91VQQxw8F4F1WDA28mqKY6NFIOuzc2Ekkna88imy2OiqqmYH0xkq8J16L2qj4cLiLozpYqba3C79pWioy6FA==",
+      "requires": {
+        "@types/lodash.mergewith": "4.6.6",
+        "css-box-model": "1.2.1",
+        "framesync": "5.3.0",
+        "lodash.mergewith": "4.6.2"
+      }
+    },
+    "@chakra-ui/visually-hidden": {
+      "version": "1.1.6",
+      "resolved": "https://registry.npmjs.org/@chakra-ui/visually-hidden/-/visually-hidden-1.1.6.tgz",
+      "integrity": "sha512-Xzy5bA0UA+IyMgwJizQYSEdgz8cC/tHdmFB3CniXzmpKTSK8mJddeEBl+cGbXHBzxEUhH7xF1eaS41O+0ezWEQ==",
+      "requires": {
+        "@chakra-ui/utils": "1.10.4"
+      }
+    },
     "@csstools/normalize.css": {
       "version": "12.0.0",
       "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.0.0.tgz",
@@ -1320,6 +1932,11 @@
         "postcss-value-parser": "^4.2.0"
       }
     },
+    "@ctrl/tinycolor": {
+      "version": "3.4.0",
+      "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.4.0.tgz",
+      "integrity": "sha512-JZButFdZ1+/xAfpguQHoabIXkcqRRKpMrWKBkpEZZyxfY9C1DpADFB8PEqGSTeFr135SaTRfKqGKx5xSCLI7ZQ=="
+    },
     "@eslint/eslintrc": {
       "version": "1.2.1",
       "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz",
@@ -1923,6 +2540,62 @@
         }
       }
     },
+    "@popperjs/core": {
+      "version": "2.11.5",
+      "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.5.tgz",
+      "integrity": "sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw=="
+    },
+    "@reach/alert": {
+      "version": "0.13.2",
+      "resolved": "https://registry.npmjs.org/@reach/alert/-/alert-0.13.2.tgz",
+      "integrity": "sha512-LDz83AXCrClyq/MWe+0vaZfHp1Ytqn+kgL5VxG7rirUvmluWaj/snxzfNPWn0Ma4K2YENmXXRC/iHt5X95SqIg==",
+      "requires": {
+        "@reach/utils": "0.13.2",
+        "@reach/visually-hidden": "0.13.2",
+        "prop-types": "^15.7.2",
+        "tslib": "^2.1.0"
+      },
+      "dependencies": {
+        "tslib": {
+          "version": "2.3.1",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
+          "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
+        }
+      }
+    },
+    "@reach/utils": {
+      "version": "0.13.2",
+      "resolved": "https://registry.npmjs.org/@reach/utils/-/utils-0.13.2.tgz",
+      "integrity": "sha512-3ir6cN60zvUrwjOJu7C6jec/samqAeyAB12ZADK+qjnmQPdzSYldrFWwDVV5H0WkhbYXR3uh+eImu13hCetNPQ==",
+      "requires": {
+        "@types/warning": "^3.0.0",
+        "tslib": "^2.1.0",
+        "warning": "^4.0.3"
+      },
+      "dependencies": {
+        "tslib": {
+          "version": "2.3.1",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
+          "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
+        }
+      }
+    },
+    "@reach/visually-hidden": {
+      "version": "0.13.2",
+      "resolved": "https://registry.npmjs.org/@reach/visually-hidden/-/visually-hidden-0.13.2.tgz",
+      "integrity": "sha512-sPZwNS0/duOuG0mYwE5DmgEAzW9VhgU3aIt1+mrfT/xiT9Cdncqke+kRBQgU708q/Ttm9tWsoHni03nn/SuPTQ==",
+      "requires": {
+        "prop-types": "^15.7.2",
+        "tslib": "^2.1.0"
+      },
+      "dependencies": {
+        "tslib": {
+          "version": "2.3.1",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
+          "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
+        }
+      }
+    },
     "@rollup/plugin-babel": {
       "version": "5.3.1",
       "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz",
@@ -2399,6 +3072,15 @@
         "@types/node": "*"
       }
     },
+    "@types/hoist-non-react-statics": {
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz",
+      "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==",
+      "requires": {
+        "@types/react": "*",
+        "hoist-non-react-statics": "^3.3.0"
+      }
+    },
     "@types/html-minifier-terser": {
       "version": "6.1.0",
       "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz",
@@ -2452,6 +3134,19 @@
       "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
       "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4="
     },
+    "@types/lodash": {
+      "version": "4.14.181",
+      "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.181.tgz",
+      "integrity": "sha512-n3tyKthHJbkiWhDZs3DkhkCzt2MexYHXlX0td5iMplyfwketaOeKboEVBqzceH7juqvEg3q5oUoBFxSLu7zFag=="
+    },
+    "@types/lodash.mergewith": {
+      "version": "4.6.6",
+      "resolved": "https://registry.npmjs.org/@types/lodash.mergewith/-/lodash.mergewith-4.6.6.tgz",
+      "integrity": "sha512-RY/8IaVENjG19rxTZu9Nukqh0W2UrYgmBj5sdns4hWRZaV8PqR7wIKHFKzvOTjo4zVRV7sVI+yFhAJql12Kfqg==",
+      "requires": {
+        "@types/lodash": "*"
+      }
+    },
     "@types/mime": {
       "version": "1.3.2",
       "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
@@ -2510,6 +3205,17 @@
         "@types/react": "*"
       }
     },
+    "@types/react-redux": {
+      "version": "7.1.23",
+      "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.23.tgz",
+      "integrity": "sha512-D02o3FPfqQlfu2WeEYwh3x2otYd2Dk1o8wAfsA0B1C2AJEFxE663Ozu7JzuWbznGgW248NaOF6wsqCGNq9d3qw==",
+      "requires": {
+        "@types/hoist-non-react-statics": "^3.3.0",
+        "@types/react": "*",
+        "hoist-non-react-statics": "^3.3.0",
+        "redux": "^4.0.0"
+      }
+    },
     "@types/resolve": {
       "version": "1.17.1",
       "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz",
@@ -2571,6 +3277,11 @@
       "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz",
       "integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg=="
     },
+    "@types/warning": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@types/warning/-/warning-3.0.0.tgz",
+      "integrity": "sha1-DSUBJorY+ZYrdA04fEZU9fjiPlI="
+    },
     "@types/ws": {
       "version": "8.5.3",
       "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz",
@@ -3039,6 +3750,14 @@
         "sprintf-js": "~1.0.2"
       }
     },
+    "aria-hidden": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.1.3.tgz",
+      "integrity": "sha512-RhVWFtKH5BiGMycI72q2RAFMLQi8JP9bLuQXgR5a8Znp7P5KOIADSJeyfI8PCVxLEp067B2HbP5JIiI/PXIZeA==",
+      "requires": {
+        "tslib": "^1.0.0"
+      }
+    },
     "aria-query": {
       "version": "4.2.2",
       "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz",
@@ -3800,6 +4519,11 @@
         }
       }
     },
+    "compute-scroll-into-view": {
+      "version": "1.0.14",
+      "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.14.tgz",
+      "integrity": "sha512-mKDjINe3tc6hGelUMNDzuhorIUZ7kS7BwyY0r2wQd2HOH2tRuJykiC06iSEX8y1TuhNzvz4GcJnK16mM2J1NMQ=="
+    },
     "concat-map": {
       "version": "0.0.1",
       "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -3853,6 +4577,14 @@
       "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
       "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
     },
+    "copy-to-clipboard": {
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz",
+      "integrity": "sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==",
+      "requires": {
+        "toggle-selection": "^1.0.6"
+      }
+    },
     "core-js": {
       "version": "3.21.1",
       "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.21.1.tgz",
@@ -3936,6 +4668,14 @@
         "postcss-selector-parser": "^6.0.9"
       }
     },
+    "css-box-model": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/css-box-model/-/css-box-model-1.2.1.tgz",
+      "integrity": "sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw==",
+      "requires": {
+        "tiny-invariant": "^1.0.6"
+      }
+    },
     "css-declaration-sorter": {
       "version": "6.1.4",
       "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.4.tgz",
@@ -4311,6 +5051,11 @@
       "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
       "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g=="
     },
+    "detect-node-es": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz",
+      "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ=="
+    },
     "detect-port-alt": {
       "version": "1.1.6",
       "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz",
@@ -5391,6 +6136,21 @@
       "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz",
       "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg=="
     },
+    "focus-lock": {
+      "version": "0.9.2",
+      "resolved": "https://registry.npmjs.org/focus-lock/-/focus-lock-0.9.2.tgz",
+      "integrity": "sha512-YtHxjX7a0IC0ZACL5wsX8QdncXofWpGPNoVMuI/nZUrPGp6LmNI6+D5j0pPj+v8Kw5EpweA+T5yImK0rnWf7oQ==",
+      "requires": {
+        "tslib": "^2.0.3"
+      },
+      "dependencies": {
+        "tslib": {
+          "version": "2.3.1",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
+          "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
+        }
+      }
+    },
     "follow-redirects": {
       "version": "1.14.9",
       "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz",
@@ -5519,6 +6279,21 @@
       "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
       "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA=="
     },
+    "framesync": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/framesync/-/framesync-5.3.0.tgz",
+      "integrity": "sha512-oc5m68HDO/tuK2blj7ZcdEBRx3p1PjrgHazL8GYEpvULhrtGIFbQArN6cQS2QhW8mitffaB+VYzMjDqBxxQeoA==",
+      "requires": {
+        "tslib": "^2.1.0"
+      },
+      "dependencies": {
+        "tslib": {
+          "version": "2.3.1",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
+          "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
+        }
+      }
+    },
     "fresh": {
       "version": "0.5.2",
       "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
@@ -5580,6 +6355,11 @@
         "has-symbols": "^1.0.1"
       }
     },
+    "get-nonce": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz",
+      "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q=="
+    },
     "get-own-enumerable-property-symbols": {
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz",
@@ -5735,6 +6515,22 @@
       "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
       "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
     },
+    "history": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz",
+      "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==",
+      "requires": {
+        "@babel/runtime": "^7.7.6"
+      }
+    },
+    "hoist-non-react-statics": {
+      "version": "3.3.2",
+      "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
+      "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
+      "requires": {
+        "react-is": "^16.7.0"
+      }
+    },
     "hoopy": {
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz",
@@ -6017,6 +6813,14 @@
         "side-channel": "^1.0.4"
       }
     },
+    "invariant": {
+      "version": "2.2.4",
+      "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+      "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+      "requires": {
+        "loose-envify": "^1.0.0"
+      }
+    },
     "ip": {
       "version": "1.1.5",
       "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
@@ -7792,6 +8596,11 @@
       "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
       "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
     },
+    "lodash.mergewith": {
+      "version": "4.6.2",
+      "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz",
+      "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ=="
+    },
     "lodash.sortby": {
       "version": "4.7.0",
       "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
@@ -8075,6 +8884,74 @@
       "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.0.tgz",
       "integrity": "sha512-08ARB91bUi6zNKzVmaj3QO7cr397uiDT2nJ63cHjyNtCTWIgvS47j3eT0WfzUwS9+6Z5YshRaoasFkXCKrIYbA=="
     },
+    "node-html-parser": {
+      "version": "5.3.3",
+      "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-5.3.3.tgz",
+      "integrity": "sha512-ncg1033CaX9UexbyA7e1N0aAoAYRDiV8jkTvzEnfd1GDvzFdrsXLzR4p4ik8mwLgnaKP/jyUFWDy9q3jvRT2Jw==",
+      "dev": true,
+      "requires": {
+        "css-select": "^4.2.1",
+        "he": "1.2.0"
+      },
+      "dependencies": {
+        "css-select": {
+          "version": "4.3.0",
+          "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz",
+          "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==",
+          "dev": true,
+          "requires": {
+            "boolbase": "^1.0.0",
+            "css-what": "^6.0.1",
+            "domhandler": "^4.3.1",
+            "domutils": "^2.8.0",
+            "nth-check": "^2.0.1"
+          }
+        },
+        "css-what": {
+          "version": "6.0.1",
+          "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.0.1.tgz",
+          "integrity": "sha512-z93ZGFLNc6yaoXAmVhqoSIb+BduplteCt1fepvwhBUQK6MNE4g6fgjpuZKJKp0esUe+vXWlIkwZZjNWoOKw0ZA==",
+          "dev": true
+        },
+        "dom-serializer": {
+          "version": "1.3.2",
+          "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz",
+          "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==",
+          "dev": true,
+          "requires": {
+            "domelementtype": "^2.0.1",
+            "domhandler": "^4.2.0",
+            "entities": "^2.0.0"
+          }
+        },
+        "domelementtype": {
+          "version": "2.2.0",
+          "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
+          "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
+          "dev": true
+        },
+        "domutils": {
+          "version": "2.8.0",
+          "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
+          "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
+          "dev": true,
+          "requires": {
+            "dom-serializer": "^1.0.1",
+            "domelementtype": "^2.2.0",
+            "domhandler": "^4.2.0"
+          }
+        },
+        "nth-check": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz",
+          "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==",
+          "dev": true,
+          "requires": {
+            "boolbase": "^1.0.0"
+          }
+        }
+      }
+    },
     "node-int64": {
       "version": "0.4.0",
       "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
@@ -9366,6 +10243,14 @@
         "whatwg-fetch": "^3.6.2"
       }
     },
+    "react-clientside-effect": {
+      "version": "1.2.5",
+      "resolved": "https://registry.npmjs.org/react-clientside-effect/-/react-clientside-effect-1.2.5.tgz",
+      "integrity": "sha512-2bL8qFW1TGBHozGGbVeyvnggRpMjibeZM2536AKNENLECutp2yfs44IL8Hmpn8qjFQ2K7A9PnYf3vc7aQq/cPA==",
+      "requires": {
+        "@babel/runtime": "^7.12.13"
+      }
+    },
     "react-dev-utils": {
       "version": "12.0.0",
       "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.0.tgz",
@@ -9467,16 +10352,92 @@
       "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.10.tgz",
       "integrity": "sha512-mKR90fX7Pm5seCOfz8q9F+66VCc1PGsWSBxKbITjfKVQHMNF2zudxHnMdJiB1fRCb+XsbQV9sO9DCkgsMQgBIA=="
     },
+    "react-fast-compare": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz",
+      "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA=="
+    },
+    "react-focus-lock": {
+      "version": "2.5.2",
+      "resolved": "https://registry.npmjs.org/react-focus-lock/-/react-focus-lock-2.5.2.tgz",
+      "integrity": "sha512-WzpdOnEqjf+/A3EH9opMZWauag7gV0BxFl+EY4ElA4qFqYsUsBLnmo2sELbN5OC30S16GAWMy16B9DLPpdJKAQ==",
+      "requires": {
+        "@babel/runtime": "^7.0.0",
+        "focus-lock": "^0.9.1",
+        "prop-types": "^15.6.2",
+        "react-clientside-effect": "^1.2.5",
+        "use-callback-ref": "^1.2.5",
+        "use-sidecar": "^1.0.5"
+      }
+    },
     "react-is": {
       "version": "16.13.1",
       "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
       "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
     },
+    "react-redux": {
+      "version": "7.2.8",
+      "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.8.tgz",
+      "integrity": "sha512-6+uDjhs3PSIclqoCk0kd6iX74gzrGc3W5zcAjbrFgEdIjRSQObdIwfx80unTkVUYvbQ95Y8Av3OvFHq1w5EOUw==",
+      "requires": {
+        "@babel/runtime": "^7.15.4",
+        "@types/react-redux": "^7.1.20",
+        "hoist-non-react-statics": "^3.3.2",
+        "loose-envify": "^1.4.0",
+        "prop-types": "^15.7.2",
+        "react-is": "^17.0.2"
+      },
+      "dependencies": {
+        "react-is": {
+          "version": "17.0.2",
+          "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
+          "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
+        }
+      }
+    },
     "react-refresh": {
       "version": "0.11.0",
       "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz",
       "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A=="
     },
+    "react-remove-scroll": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.4.1.tgz",
+      "integrity": "sha512-K7XZySEzOHMTq7dDwcHsZA6Y7/1uX5RsWhRXVYv8rdh+y9Qz2nMwl9RX/Mwnj/j7JstCGmxyfyC0zbVGXYh3mA==",
+      "requires": {
+        "react-remove-scroll-bar": "^2.1.0",
+        "react-style-singleton": "^2.1.0",
+        "tslib": "^1.0.0",
+        "use-callback-ref": "^1.2.3",
+        "use-sidecar": "^1.0.1"
+      }
+    },
+    "react-remove-scroll-bar": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.2.0.tgz",
+      "integrity": "sha512-UU9ZBP1wdMR8qoUs7owiVcpaPwsQxUDC2lypP6mmixaGlARZa7ZIBx1jcuObLdhMOvCsnZcvetOho0wzPa9PYg==",
+      "requires": {
+        "react-style-singleton": "^2.1.0",
+        "tslib": "^1.0.0"
+      }
+    },
+    "react-router": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.3.0.tgz",
+      "integrity": "sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==",
+      "requires": {
+        "history": "^5.2.0"
+      }
+    },
+    "react-router-dom": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.3.0.tgz",
+      "integrity": "sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==",
+      "requires": {
+        "history": "^5.2.0",
+        "react-router": "6.3.0"
+      }
+    },
     "react-scripts": {
       "version": "5.0.0",
       "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.0.tgz",
@@ -9532,6 +10493,16 @@
         "workbox-webpack-plugin": "^6.4.1"
       }
     },
+    "react-style-singleton": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.1.1.tgz",
+      "integrity": "sha512-jNRp07Jza6CBqdRKNgGhT3u9umWvils1xsuMOjZlghBDH2MU0PL2WZor4PGYjXpnRCa9DQSlHMs/xnABWOwYbA==",
+      "requires": {
+        "get-nonce": "^1.0.0",
+        "invariant": "^2.2.4",
+        "tslib": "^1.0.0"
+      }
+    },
     "readable-stream": {
       "version": "3.6.0",
       "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
@@ -9577,6 +10548,14 @@
         "strip-indent": "^3.0.0"
       }
     },
+    "redux": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/redux/-/redux-4.1.2.tgz",
+      "integrity": "sha512-SH8PglcebESbd/shgf6mii6EIoRM0zrQyjcuQ+ojmfxjTtE0z9Y8pa62iA/OJ58qjP6j27uyW4kUF4jl/jd6sw==",
+      "requires": {
+        "@babel/runtime": "^7.9.2"
+      }
+    },
     "regenerate": {
       "version": "1.4.2",
       "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
@@ -10637,6 +11616,11 @@
       "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
       "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q="
     },
+    "tiny-invariant": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.2.0.tgz",
+      "integrity": "sha512-1Uhn/aqw5C6RI4KejVeTg6mIS7IqxnLJ8Mv2tV5rTc0qWobay7pDUz6Wi392Cnc8ak1H0F2cjoRzb2/AW4+Fvg=="
+    },
     "tmpl": {
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
@@ -10655,6 +11639,11 @@
         "is-number": "^7.0.0"
       }
     },
+    "toggle-selection": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz",
+      "integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI="
+    },
     "toidentifier": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
@@ -10830,6 +11819,20 @@
         "punycode": "^2.1.0"
       }
     },
+    "use-callback-ref": {
+      "version": "1.2.5",
+      "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.2.5.tgz",
+      "integrity": "sha512-gN3vgMISAgacF7sqsLPByqoePooY3n2emTH59Ur5d/M8eg4WTWu1xp8i8DHjohftIyEx0S08RiYxbffr4j8Peg=="
+    },
+    "use-sidecar": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.0.5.tgz",
+      "integrity": "sha512-k9jnrjYNwN6xYLj1iaGhonDghfvmeTmYjAiGvOr7clwKfPjMXJf4/HOr7oT5tJwYafgp2tG2l3eZEOfoELiMcA==",
+      "requires": {
+        "detect-node-es": "^1.1.0",
+        "tslib": "^1.9.3"
+      }
+    },
     "util-deprecate": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -10912,6 +11915,14 @@
         "makeerror": "1.0.12"
       }
     },
+    "warning": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
+      "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
+      "requires": {
+        "loose-envify": "^1.0.0"
+      }
+    },
     "watchpack": {
       "version": "2.3.1",
       "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz",
diff --git a/projekti/package.json b/projekti/package.json
index e000b96..6605391 100644
--- a/projekti/package.json
+++ b/projekti/package.json
@@ -3,11 +3,14 @@
   "version": "0.1.0",
   "private": true,
   "dependencies": {
+    "@chakra-ui/react": "^1.8.7",
     "@testing-library/jest-dom": "^5.16.2",
     "@testing-library/react": "^12.1.4",
     "@testing-library/user-event": "^13.5.0",
     "react": "^17.0.2",
     "react-dom": "^17.0.2",
+    "react-redux": "^7.2.8",
+    "react-router-dom": "^6.3.0",
     "react-scripts": "5.0.0",
     "web-vitals": "^2.1.4"
   },
@@ -34,5 +37,8 @@
       "last 1 firefox version",
       "last 1 safari version"
     ]
+  },
+  "devDependencies": {
+    "node-html-parser": "^5.3.3"
   }
 }
diff --git a/projekti/public/logo192.png b/projekti/public/logo192.png
deleted file mode 100644
index fc44b0a3796c0e0a64c3d858ca038bd4570465d9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 5347
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

diff --git a/projekti/public/logo512.png b/projekti/public/logo512.png
deleted file mode 100644
index a4e47a6545bc15971f8f63fba70e4013df88a664..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 9664
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
Q-2sVvy85}Sb4q9e0RM_kJ^%m!

diff --git a/projekti/src/App.css b/projekti/src/App.css
deleted file mode 100644
index 74b5e05..0000000
--- a/projekti/src/App.css
+++ /dev/null
@@ -1,38 +0,0 @@
-.App {
-  text-align: center;
-}
-
-.App-logo {
-  height: 40vmin;
-  pointer-events: none;
-}
-
-@media (prefers-reduced-motion: no-preference) {
-  .App-logo {
-    animation: App-logo-spin infinite 20s linear;
-  }
-}
-
-.App-header {
-  background-color: #282c34;
-  min-height: 100vh;
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  justify-content: center;
-  font-size: calc(10px + 2vmin);
-  color: white;
-}
-
-.App-link {
-  color: #61dafb;
-}
-
-@keyframes App-logo-spin {
-  from {
-    transform: rotate(0deg);
-  }
-  to {
-    transform: rotate(360deg);
-  }
-}
diff --git a/projekti/src/App.js b/projekti/src/App.js
index d6a881a..550ac77 100644
--- a/projekti/src/App.js
+++ b/projekti/src/App.js
@@ -1,80 +1,35 @@
-import React, {Component} from "react";
-
-
-class App extends Component {
-
-  constructor() {
-    super();
-    this.state = initialState;
-  }
-}
-
-  export interface ICanvasBoard {
-  height: number;
-  width: number;
+import React, {Component} from "react"
+import Snake from "./components/Snake";
+import Food from "./components/Food";
+
+// comment
+const getRandomPoint = () => {
+    let min = 1;
+    let max = 98;
+    let x = Math.floor((Math.random()*(max-min+1)+min)/2)*2
+    let y = Math.floor((Math.random()*(max-min+1)+min)/2)*2
+    return [x,y]
 }
 
-const CanvasBoard = ({ height, width }: ICanvasBoard) => {
-  return (
-      <canvas
-          style={{
-            border: "3px solid black",
-          }}
-          height={height}
-          width={width}
-      />
-  );
-};
-
-import { ChakraProvider, Container, Heading } from "@chakra-ui/react";
-import { Provider } from "react-redux";
-import CanvasBoard from "./components/CanvasBoard";
-import ScoreCard from "./components/ScoreCard";
-import store from "./store";
-
-const App = () => {
-  return (
-      <Provider store={store}>
-        <ChakraProvider>
-          <Container maxW="container.lg" centerContent>
-            <Heading as="h1" size="xl">SNAKE GAME</Heading>
-            <CanvasBoard height={600} width={1000} /> //Canvasboard component added
-          </Container>
-        </ChakraProvider>
-      </Provider>
-  );
-};
-
-export default App;
-
-  // how the snake moves on the board
-  moveSnake() {
-
-  }
-
-  // updates the direction of the snake from the input it gets
-  changeDirection() {
-  }
-
-  // checks if food is eaten
-  isEaten() {
-    // ebins ebins
-  }
-
-
-  // checks if snakes head touched itself
-  isCollapsed() {
-
-  }
-
-  // updates the position of the snake and food on the board
-  updatePosition() {
+class App extends Component {
 
-  }
+    state = {
+        food: getRandomPoint(),
+        snakeDots: [
+            [0, 0],
+            [2, 0]
+        ],
+    }
 
-  render() {
-    return{
 
+    render() {
+        return(
+            <div className="game-area">
+                <Snake snakeDots={this.state.snakeDots}/>
+                <Food dot={this.state.food}/>
+            </div>
+        )
     }
-  }
 }
+
+export default App
diff --git a/projekti/src/App.test.js b/projekti/src/App.test.js
deleted file mode 100644
index 1f03afe..0000000
--- a/projekti/src/App.test.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import { render, screen } from '@testing-library/react';
-import App from './App';
-
-test('renders learn react link', () => {
-  render(<App />);
-  const linkElement = screen.getByText(/learn react/i);
-  expect(linkElement).toBeInTheDocument();
-});
diff --git a/projekti/src/components/Food.js b/projekti/src/components/Food.js
new file mode 100644
index 0000000..c0a46e4
--- /dev/null
+++ b/projekti/src/components/Food.js
@@ -0,0 +1,13 @@
+import React from "react"
+
+export default (props) => {
+
+    const style = {
+        left: `${props.dot[0]}%`,
+        top: `${props.dot[1]}%`
+    }
+
+    return (
+        <div className="snake-food" style={style}></div>
+    )
+}
diff --git a/projekti/src/components/Snake.js b/projekti/src/components/Snake.js
new file mode 100644
index 0000000..8a86634
--- /dev/null
+++ b/projekti/src/components/Snake.js
@@ -0,0 +1,18 @@
+import React from "react"
+
+export default (props) => {
+    return (
+        <div>
+            {props.snakeDots.map((dot, i) => {
+                const style = {
+                    left: `${dot[0]}%`,
+                    top: `${dot[1]}%`
+                }
+                return (
+                    <div className="snake-dot" key={i} style={style}/>
+                )
+            })}
+        </div>
+    )
+}
+
diff --git a/projekti/src/index.css b/projekti/src/index.css
index ec2585e..e18d6a1 100644
--- a/projekti/src/index.css
+++ b/projekti/src/index.css
@@ -1,13 +1,25 @@
-body {
-  margin: 0;
-  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
-    'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
-    sans-serif;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
+.game-area {
+  position: relative;
+  margin: 50px;
+  width: 600px;
+  height: 600px;
+  border: 2px solid black;
 }
 
-code {
-  font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
-    monospace;
+.snake-dot {
+  position: absolute;
+  width: 2%;
+  height: 2%;
+  background-color: green;
+  border: 2px solid white;
+  z-index: 2;
+}
+
+.snake-food {
+  position: absolute;
+  width: 2%;
+  height: 2%;
+  background-color: red;
+  border: 2px solid white;
+  z-index: 1;
 }
diff --git a/projekti/src/index.js b/projekti/src/index.js
index ef2edf8..db80761 100644
--- a/projekti/src/index.js
+++ b/projekti/src/index.js
@@ -2,16 +2,9 @@ import React from 'react';
 import ReactDOM from 'react-dom';
 import './index.css';
 import App from './App';
-import reportWebVitals from './reportWebVitals';
+
 
 ReactDOM.render(
-  <React.StrictMode>
-    <App />
-  </React.StrictMode>,
+  <App />,
   document.getElementById('root')
 );
-
-// If you want to start measuring performance in your app, pass a function
-// to log results (for example: reportWebVitals(console.log))
-// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
-reportWebVitals();
diff --git a/projekti/src/logo.svg b/projekti/src/logo.svg
deleted file mode 100644
index 9dfc1c0..0000000
--- a/projekti/src/logo.svg
+++ /dev/null
@@ -1 +0,0 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 841.9 595.3"><g fill="#61DAFB"><path d="M666.3 296.5c0-32.5-40.7-63.3-103.1-82.4 14.4-63.6 8-114.2-20.2-130.4-6.5-3.8-14.1-5.6-22.4-5.6v22.3c4.6 0 8.3.9 11.4 2.6 13.6 7.8 19.5 37.5 14.9 75.7-1.1 9.4-2.9 19.3-5.1 29.4-19.6-4.8-41-8.5-63.5-10.9-13.5-18.5-27.5-35.3-41.6-50 32.6-30.3 63.2-46.9 84-46.9V78c-27.5 0-63.5 19.6-99.9 53.6-36.4-33.8-72.4-53.2-99.9-53.2v22.3c20.7 0 51.4 16.5 84 46.6-14 14.7-28 31.4-41.3 49.9-22.6 2.4-44 6.1-63.6 11-2.3-10-4-19.7-5.2-29-4.7-38.2 1.1-67.9 14.6-75.8 3-1.8 6.9-2.6 11.5-2.6V78.5c-8.4 0-16 1.8-22.6 5.6-28.1 16.2-34.4 66.7-19.9 130.1-62.2 19.2-102.7 49.9-102.7 82.3 0 32.5 40.7 63.3 103.1 82.4-14.4 63.6-8 114.2 20.2 130.4 6.5 3.8 14.1 5.6 22.5 5.6 27.5 0 63.5-19.6 99.9-53.6 36.4 33.8 72.4 53.2 99.9 53.2 8.4 0 16-1.8 22.6-5.6 28.1-16.2 34.4-66.7 19.9-130.1 62-19.1 102.5-49.9 102.5-82.3zm-130.2-66.7c-3.7 12.9-8.3 26.2-13.5 39.5-4.1-8-8.4-16-13.1-24-4.6-8-9.5-15.8-14.4-23.4 14.2 2.1 27.9 4.7 41 7.9zm-45.8 106.5c-7.8 13.5-15.8 26.3-24.1 38.2-14.9 1.3-30 2-45.2 2-15.1 0-30.2-.7-45-1.9-8.3-11.9-16.4-24.6-24.2-38-7.6-13.1-14.5-26.4-20.8-39.8 6.2-13.4 13.2-26.8 20.7-39.9 7.8-13.5 15.8-26.3 24.1-38.2 14.9-1.3 30-2 45.2-2 15.1 0 30.2.7 45 1.9 8.3 11.9 16.4 24.6 24.2 38 7.6 13.1 14.5 26.4 20.8 39.8-6.3 13.4-13.2 26.8-20.7 39.9zm32.3-13c5.4 13.4 10 26.8 13.8 39.8-13.1 3.2-26.9 5.9-41.2 8 4.9-7.7 9.8-15.6 14.4-23.7 4.6-8 8.9-16.1 13-24.1zM421.2 430c-9.3-9.6-18.6-20.3-27.8-32 9 .4 18.2.7 27.5.7 9.4 0 18.7-.2 27.8-.7-9 11.7-18.3 22.4-27.5 32zm-74.4-58.9c-14.2-2.1-27.9-4.7-41-7.9 3.7-12.9 8.3-26.2 13.5-39.5 4.1 8 8.4 16 13.1 24 4.7 8 9.5 15.8 14.4 23.4zM420.7 163c9.3 9.6 18.6 20.3 27.8 32-9-.4-18.2-.7-27.5-.7-9.4 0-18.7.2-27.8.7 9-11.7 18.3-22.4 27.5-32zm-74 58.9c-4.9 7.7-9.8 15.6-14.4 23.7-4.6 8-8.9 16-13 24-5.4-13.4-10-26.8-13.8-39.8 13.1-3.1 26.9-5.8 41.2-7.9zm-90.5 125.2c-35.4-15.1-58.3-34.9-58.3-50.6 0-15.7 22.9-35.6 58.3-50.6 8.6-3.7 18-7 27.7-10.1 5.7 19.6 13.2 40 22.5 60.9-9.2 20.8-16.6 41.1-22.2 60.6-9.9-3.1-19.3-6.5-28-10.2zM310 490c-13.6-7.8-19.5-37.5-14.9-75.7 1.1-9.4 2.9-19.3 5.1-29.4 19.6 4.8 41 8.5 63.5 10.9 13.5 18.5 27.5 35.3 41.6 50-32.6 30.3-63.2 46.9-84 46.9-4.5-.1-8.3-1-11.3-2.7zm237.2-76.2c4.7 38.2-1.1 67.9-14.6 75.8-3 1.8-6.9 2.6-11.5 2.6-20.7 0-51.4-16.5-84-46.6 14-14.7 28-31.4 41.3-49.9 22.6-2.4 44-6.1 63.6-11 2.3 10.1 4.1 19.8 5.2 29.1zm38.5-66.7c-8.6 3.7-18 7-27.7 10.1-5.7-19.6-13.2-40-22.5-60.9 9.2-20.8 16.6-41.1 22.2-60.6 9.9 3.1 19.3 6.5 28.1 10.2 35.4 15.1 58.3 34.9 58.3 50.6-.1 15.7-23 35.6-58.4 50.6zM320.8 78.4z"/><circle cx="420.9" cy="296.5" r="45.7"/><path d="M520.5 78.1z"/></g></svg>
\ No newline at end of file
diff --git a/projekti/src/reportWebVitals.js b/projekti/src/reportWebVitals.js
deleted file mode 100644
index 5253d3a..0000000
--- a/projekti/src/reportWebVitals.js
+++ /dev/null
@@ -1,13 +0,0 @@
-const reportWebVitals = onPerfEntry => {
-  if (onPerfEntry && onPerfEntry instanceof Function) {
-    import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
-      getCLS(onPerfEntry);
-      getFID(onPerfEntry);
-      getFCP(onPerfEntry);
-      getLCP(onPerfEntry);
-      getTTFB(onPerfEntry);
-    });
-  }
-};
-
-export default reportWebVitals;
diff --git a/projekti/src/setupTests.js b/projekti/src/setupTests.js
deleted file mode 100644
index 8f2609b..0000000
--- a/projekti/src/setupTests.js
+++ /dev/null
@@ -1,5 +0,0 @@
-// jest-dom adds custom jest matchers for asserting on DOM nodes.
-// allows you to do things like:
-// expect(element).toHaveTextContent(/react/i)
-// learn more: https://github.com/testing-library/jest-dom
-import '@testing-library/jest-dom';
-- 
GitLab