quanyawei
2024-04-03 b74ea56001fba65e67d9b39a5757dab4e4036858
Merge branch 'feature_1.0'
6 files modified
2727 ■■■■ changed files
.eslintrc.js 45 ●●●● patch | view | raw | blame | history
amsdist/index.html 268 ●●●● patch | view | raw | blame | history
package-lock.json 1992 ●●●● patch | view | raw | blame | history
package.json 2 ●●●●● patch | view | raw | blame | history
public/index.html 251 ●●●● patch | view | raw | blame | history
src/views/list/road.vue 169 ●●●●● patch | view | raw | blame | history
.eslintrc.js
@@ -2,36 +2,37 @@
  root: true,
  env: {
    browser: true,
    node: true
    node: true,
  },
  extends: [
    'plugin:vue/essential',
    '@vue/standard',
    '@vue/typescript/recommended',
    '@vue/prettier',
    '@vue/prettier/@typescript-eslint',
    "plugin:vue/essential",
    "@vue/standard",
    "@vue/typescript/recommended",
    "@vue/prettier",
    "@vue/prettier/@typescript-eslint",
  ],
  parserOptions: {
    ecmaVersion: 2020
    ecmaVersion: 2020,
  },
  globals: {
    _czc: true
    _czc: true,
    BMapGL: true,
  },
  rules: {
    'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
    'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
    'camelcase': 'off',
    'comma-dangle': 'off',
    '@typescript-eslint/no-explicit-any': 'off',
    '@typescript-eslint/camelcase': 'off',
    '@typescript-eslint/no-empty-function': 'off',
    'lines-between-class-members': 'off',
    '@typescript-eslint/no-this-alias': [
    "no-console": process.env.NODE_ENV === "production" ? "warn" : "off",
    "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off",
    camelcase: "off",
    "comma-dangle": "off",
    "@typescript-eslint/no-explicit-any": "off",
    "@typescript-eslint/camelcase": "off",
    "@typescript-eslint/no-empty-function": "off",
    "lines-between-class-members": "off",
    "@typescript-eslint/no-this-alias": [
      "error",
      {
        "allowDestructuring": true,
        "allowedNames": ["that", "self"]
      }
    ]
        allowDestructuring: true,
        allowedNames: ["that", "self"],
      },
    ],
  },
}
};
amsdist/index.html
@@ -1,84 +1,232 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><script src="//api.map.baidu.com/api?type=webgl&v=2.0&ak=9FrZ6v3P8xS290ygi40M5Ik3Fgwes4KY"></script><!--[if IE]><link rel="icon" href="/logo.ico"><![endif]--><link><title>七星瓢虫环境科技</title><style type="text/css">.preloader{
        position:fixed;
        top:0;
        left:0;
        width:100%;
        height:100%;
        overflow:hidden;
        background:#49a9ee;
        z-index:9999;
        transition:opacity .65s
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width,initial-scale=1" />
    <script
      type="text/javascript"
      src="//api.map.baidu.com/api?v=2.0&ak=9FrZ6v3P8xS290ygi40M5Ik3Fgwes4KY"
    ></script>
    <script src="//api.map.baidu.com/api?type=webgl&v=2.0&ak=9FrZ6v3P8xS290ygi40M5Ik3Fgwes4KY"></script>
    <link
      href="//mapopen.cdn.bcebos.com/github/BMapGLLib/DrawingManager/src/DrawingManager.min.css"
      rel="stylesheet"
    />
    <script
      type="text/javascript"
      src="//mapopen.cdn.bcebos.com/github/BMapGLLib/DrawingManager/src/DrawingManager.min.js"
    ></script>
    <!--[if IE]><link rel="icon" href="/logo.ico"/><![endif]-->
    <link />
    <title>七星瓢虫环境科技</title>
    <style type="text/css">
      .preloader {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        overflow: hidden;
        background: #49a9ee;
        z-index: 9999;
        transition: opacity 0.65s;
      }
      .preloader-hidden-add{
        opacity:1;
        display:block
      .preloader-hidden-add {
        opacity: 1;
        display: block;
      }
      .preloader-hidden-add-active{
        opacity:0
      .preloader-hidden-add-active {
        opacity: 0;
      }
      .preloader-hidden{
        display:none
      .preloader-hidden {
        display: none;
      }
      .cs-loader{
        position:absolute;
        top:0;
        left:0;
        height:100%;
        width:100%
      .cs-loader {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
      }
      .cs-loader-inner{
        transform:translateY(-50%);
        top:50%;
        position:absolute;
        width:100%;
        color:#fff;
        text-align:center
      .cs-loader-inner {
        transform: translateY(-50%);
        top: 50%;
        position: absolute;
        width: 100%;
        color: #fff;
        text-align: center;
      }
      .cs-loader-inner label{
        font-size:20px;
        opacity:0;
        display:inline-block
      .cs-loader-inner label {
        font-size: 20px;
        opacity: 0;
        display: inline-block;
      }
      @keyframes lol{
        0%{
          opacity:0;
          transform:translateX(-300px)
      @keyframes lol {
        0% {
          opacity: 0;
          transform: translateX(-300px);
        }
        33%{
          opacity:1;
          transform:translateX(0)
        33% {
          opacity: 1;
          transform: translateX(0);
        }
        66%{
          opacity:1;
          transform:translateX(0)
        66% {
          opacity: 1;
          transform: translateX(0);
        }
        100%{
          opacity:0;
          transform:translateX(300px)
        100% {
          opacity: 0;
          transform: translateX(300px);
        }
      }
      .cs-loader-inner label:nth-child(6){
        animation:lol 3s infinite ease-in-out
      .cs-loader-inner label:nth-child(6) {
        animation: lol 3s infinite ease-in-out;
      }
      .cs-loader-inner label:nth-child(5){
        animation:lol 3s .1s infinite ease-in-out
      .cs-loader-inner label:nth-child(5) {
        animation: lol 3s 0.1s infinite ease-in-out;
      }
      .cs-loader-inner label:nth-child(4){
        animation:lol 3s .2s infinite ease-in-out
      .cs-loader-inner label:nth-child(4) {
        animation: lol 3s 0.2s infinite ease-in-out;
      }
      .cs-loader-inner label:nth-child(3){
        animation:lol 3s .3s infinite ease-in-out
      .cs-loader-inner label:nth-child(3) {
        animation: lol 3s 0.3s infinite ease-in-out;
      }
      .cs-loader-inner label:nth-child(2){
        animation:lol 3s .4s infinite ease-in-out
      .cs-loader-inner label:nth-child(2) {
        animation: lol 3s 0.4s infinite ease-in-out;
      }
      .cs-loader-inner label:nth-child(1){
        animation:lol 3s .5s infinite ease-in-out
      }</style><link href="/static/css/chunk-51830bbe.819092da.css" rel="prefetch"><link href="/static/css/chunk-746ea768.819092da.css" rel="prefetch"><link href="/static/css/chunk-7719f1df.819092da.css" rel="prefetch"><link href="/static/css/chunk-792672a0.819092da.css" rel="prefetch"><link href="/static/css/chunk-c34215be.776d51fc.css" rel="prefetch"><link href="/static/css/dashboard.a5056d0a.css" rel="prefetch"><link href="/static/css/form.c580f3ec.css" rel="prefetch"><link href="/static/css/list.84d59dc3.css" rel="prefetch"><link href="/static/css/widgets.af4d1250.css" rel="prefetch"><link href="/static/js/chunk-0d102e9f.84d9098c.js" rel="prefetch"><link href="/static/js/chunk-0db6f456.33407482.js" rel="prefetch"><link href="/static/js/chunk-0df38b29.42cf7330.js" rel="prefetch"><link href="/static/js/chunk-1285c570.b00767db.js" rel="prefetch"><link href="/static/js/chunk-13ef0950.b47c13db.js" rel="prefetch"><link href="/static/js/chunk-16300079.25f078c9.js" rel="prefetch"><link href="/static/js/chunk-16b3d45c.f9275788.js" rel="prefetch"><link href="/static/js/chunk-1727ea8e.a6987b11.js" rel="prefetch"><link href="/static/js/chunk-1a2de8f4.b7bb3f93.js" rel="prefetch"><link href="/static/js/chunk-1b7fd891.bf079632.js" rel="prefetch"><link href="/static/js/chunk-1c4bb97c.8b08c9dd.js" rel="prefetch"><link href="/static/js/chunk-21b34fe2.1c85ec0b.js" rel="prefetch"><link href="/static/js/chunk-247e2cac.d685e4c3.js" rel="prefetch"><link href="/static/js/chunk-29255102.89a45ad5.js" rel="prefetch"><link href="/static/js/chunk-2c7f2666.2526f1dd.js" rel="prefetch"><link href="/static/js/chunk-2d0c0fc4.256d64fa.js" rel="prefetch"><link href="/static/js/chunk-2f1ad42e.5de09ca6.js" rel="prefetch"><link href="/static/js/chunk-31475960.1f237c76.js" rel="prefetch"><link href="/static/js/chunk-3bd7cd7e.3ab0ef16.js" rel="prefetch"><link href="/static/js/chunk-3c705d88.0b1e2c8e.js" rel="prefetch"><link href="/static/js/chunk-3d0a6901.51f72804.js" rel="prefetch"><link href="/static/js/chunk-43b7ffe8.03e40d89.js" rel="prefetch"><link href="/static/js/chunk-43c061a5.c59c978f.js" rel="prefetch"><link href="/static/js/chunk-4420fbcc.83f4e630.js" rel="prefetch"><link href="/static/js/chunk-4d2d92b2.183f216e.js" rel="prefetch"><link href="/static/js/chunk-4d2e8f23.39f6a972.js" rel="prefetch"><link href="/static/js/chunk-502b3c56.91955ce2.js" rel="prefetch"><link href="/static/js/chunk-505564cc.7ba597fe.js" rel="prefetch"><link href="/static/js/chunk-51830bbe.07dbe304.js" rel="prefetch"><link href="/static/js/chunk-534fc889.9ccc87d9.js" rel="prefetch"><link href="/static/js/chunk-55a5cd42.aad5ac87.js" rel="prefetch"><link href="/static/js/chunk-56f73d72.5029f7ce.js" rel="prefetch"><link href="/static/js/chunk-577f7cae.8850ba2c.js" rel="prefetch"><link href="/static/js/chunk-59879dfe.e038415a.js" rel="prefetch"><link href="/static/js/chunk-5c79e807.4a3fc185.js" rel="prefetch"><link href="/static/js/chunk-5ed3eb64.765c2952.js" rel="prefetch"><link href="/static/js/chunk-60929f6b.35063002.js" rel="prefetch"><link href="/static/js/chunk-6450c4d9.53491a28.js" rel="prefetch"><link href="/static/js/chunk-652beb70.4fe9a0f9.js" rel="prefetch"><link href="/static/js/chunk-6a65b256.3483444f.js" rel="prefetch"><link href="/static/js/chunk-6c72069e.bd774249.js" rel="prefetch"><link href="/static/js/chunk-7254f54c.8d423c0e.js" rel="prefetch"><link href="/static/js/chunk-72d235fa.a2a8357b.js" rel="prefetch"><link href="/static/js/chunk-746ea768.33ee4770.js" rel="prefetch"><link href="/static/js/chunk-7719f1df.8eaf5383.js" rel="prefetch"><link href="/static/js/chunk-77e41e03.874ad5b0.js" rel="prefetch"><link href="/static/js/chunk-792672a0.34a60f7d.js" rel="prefetch"><link href="/static/js/chunk-7a83ed1a.64d1066d.js" rel="prefetch"><link href="/static/js/chunk-7d6f6568.915104d9.js" rel="prefetch"><link href="/static/js/chunk-7e90ba94.4bd45d71.js" rel="prefetch"><link href="/static/js/chunk-8da7292e.0722a053.js" rel="prefetch"><link href="/static/js/chunk-8e59b7be.ccaac780.js" rel="prefetch"><link href="/static/js/chunk-93618a72.f975d76a.js" rel="prefetch"><link href="/static/js/chunk-9672f91e.63b18587.js" rel="prefetch"><link href="/static/js/chunk-97e31f1c.fee95ffb.js" rel="prefetch"><link href="/static/js/chunk-b3a6dac6.9f888763.js" rel="prefetch"><link href="/static/js/chunk-bb1aa296.7ff299bb.js" rel="prefetch"><link href="/static/js/chunk-c34215be.34ee7d63.js" rel="prefetch"><link href="/static/js/chunk-d07f9196.0c35c7dc.js" rel="prefetch"><link href="/static/js/chunk-dc2e5e3a.765dde54.js" rel="prefetch"><link href="/static/js/chunk-ffd68490.e8df53a2.js" rel="prefetch"><link href="/static/js/dashboard.c618a295.js" rel="prefetch"><link href="/static/js/form.616aa3f6.js" rel="prefetch"><link href="/static/js/form~list.9bfd1b7d.js" rel="prefetch"><link href="/static/js/form~widgets.0f5c31b8.js" rel="prefetch"><link href="/static/js/list.2e751e4c.js" rel="prefetch"><link href="/static/js/list.testmodal.a58903f7.js" rel="prefetch"><link href="/static/js/widgets.7a6f40cd.js" rel="prefetch"><link href="/static/css/app.7378fb46.css" rel="preload" as="style"><link href="/static/css/chunk-vendors.ffa94230.css" rel="preload" as="style"><link href="/static/js/app.060d6998.js" rel="preload" as="script"><link href="/static/js/chunk-vendors.10d7aa79.js" rel="preload" as="script"><link href="/static/css/chunk-vendors.ffa94230.css" rel="stylesheet"><link href="/static/css/app.7378fb46.css" rel="stylesheet"><link rel="icon" type="image/png" sizes="32x32" href="/logo.ico"><link rel="icon" type="image/png" sizes="16x16" href="/logo.ico"><link rel="manifest" href="/manifest.json"><meta name="theme-color" content="#4DBA87"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="vue-alain"><link rel="apple-touch-icon" href="/logo.ico"><link rel="mask-icon" href="/logo.ico" color="#4DBA87"><meta name="msapplication-TileImage" content="/logo.ico"><meta name="msapplication-TileColor" content="#000000"></head><body class="has-ad-rt"><noscript><strong>We're sorry but vue-alain doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><div class="preloader"><div class="cs-loader"><div class="cs-loader-inner"><label>●</label> <label>●</label> <label>●</label> <label>●</label> <label>●</label> <label>●</label></div></div></div><script src="/static/js/chunk-vendors.10d7aa79.js"></script><script src="/static/js/app.060d6998.js"></script></body></html>
      .cs-loader-inner label:nth-child(1) {
        animation: lol 3s 0.5s infinite ease-in-out;
      }
    </style>
    <link href="/static/css/chunk-51830bbe.819092da.css" rel="prefetch" />
    <link href="/static/css/chunk-746ea768.819092da.css" rel="prefetch" />
    <link href="/static/css/chunk-7719f1df.819092da.css" rel="prefetch" />
    <link href="/static/css/chunk-792672a0.819092da.css" rel="prefetch" />
    <link href="/static/css/chunk-c34215be.776d51fc.css" rel="prefetch" />
    <link href="/static/css/dashboard.a5056d0a.css" rel="prefetch" />
    <link href="/static/css/form.c580f3ec.css" rel="prefetch" />
    <link href="/static/css/list.84d59dc3.css" rel="prefetch" />
    <link href="/static/css/widgets.af4d1250.css" rel="prefetch" />
    <link href="/static/js/chunk-0d102e9f.84d9098c.js" rel="prefetch" />
    <link href="/static/js/chunk-0db6f456.33407482.js" rel="prefetch" />
    <link href="/static/js/chunk-0df38b29.42cf7330.js" rel="prefetch" />
    <link href="/static/js/chunk-1285c570.b00767db.js" rel="prefetch" />
    <link href="/static/js/chunk-13ef0950.b47c13db.js" rel="prefetch" />
    <link href="/static/js/chunk-16300079.25f078c9.js" rel="prefetch" />
    <link href="/static/js/chunk-16b3d45c.f9275788.js" rel="prefetch" />
    <link href="/static/js/chunk-1727ea8e.a6987b11.js" rel="prefetch" />
    <link href="/static/js/chunk-1a2de8f4.b7bb3f93.js" rel="prefetch" />
    <link href="/static/js/chunk-1b7fd891.bf079632.js" rel="prefetch" />
    <link href="/static/js/chunk-1c4bb97c.8b08c9dd.js" rel="prefetch" />
    <link href="/static/js/chunk-21b34fe2.1c85ec0b.js" rel="prefetch" />
    <link href="/static/js/chunk-247e2cac.d685e4c3.js" rel="prefetch" />
    <link href="/static/js/chunk-29255102.89a45ad5.js" rel="prefetch" />
    <link href="/static/js/chunk-2c7f2666.2526f1dd.js" rel="prefetch" />
    <link href="/static/js/chunk-2d0c0fc4.256d64fa.js" rel="prefetch" />
    <link href="/static/js/chunk-2f1ad42e.5de09ca6.js" rel="prefetch" />
    <link href="/static/js/chunk-31475960.1f237c76.js" rel="prefetch" />
    <link href="/static/js/chunk-3bd7cd7e.3ab0ef16.js" rel="prefetch" />
    <link href="/static/js/chunk-3c705d88.0b1e2c8e.js" rel="prefetch" />
    <link href="/static/js/chunk-3d0a6901.51f72804.js" rel="prefetch" />
    <link href="/static/js/chunk-43b7ffe8.03e40d89.js" rel="prefetch" />
    <link href="/static/js/chunk-43c061a5.c59c978f.js" rel="prefetch" />
    <link href="/static/js/chunk-4420fbcc.83f4e630.js" rel="prefetch" />
    <link href="/static/js/chunk-4d2d92b2.183f216e.js" rel="prefetch" />
    <link href="/static/js/chunk-4d2e8f23.39f6a972.js" rel="prefetch" />
    <link href="/static/js/chunk-502b3c56.91955ce2.js" rel="prefetch" />
    <link href="/static/js/chunk-505564cc.7ba597fe.js" rel="prefetch" />
    <link href="/static/js/chunk-51830bbe.07dbe304.js" rel="prefetch" />
    <link href="/static/js/chunk-534fc889.9ccc87d9.js" rel="prefetch" />
    <link href="/static/js/chunk-55a5cd42.aad5ac87.js" rel="prefetch" />
    <link href="/static/js/chunk-56f73d72.5029f7ce.js" rel="prefetch" />
    <link href="/static/js/chunk-577f7cae.8850ba2c.js" rel="prefetch" />
    <link href="/static/js/chunk-59879dfe.e038415a.js" rel="prefetch" />
    <link href="/static/js/chunk-5c79e807.4a3fc185.js" rel="prefetch" />
    <link href="/static/js/chunk-5ed3eb64.765c2952.js" rel="prefetch" />
    <link href="/static/js/chunk-60929f6b.35063002.js" rel="prefetch" />
    <link href="/static/js/chunk-6450c4d9.53491a28.js" rel="prefetch" />
    <link href="/static/js/chunk-652beb70.4fe9a0f9.js" rel="prefetch" />
    <link href="/static/js/chunk-6a65b256.3483444f.js" rel="prefetch" />
    <link href="/static/js/chunk-6c72069e.bd774249.js" rel="prefetch" />
    <link href="/static/js/chunk-7254f54c.8d423c0e.js" rel="prefetch" />
    <link href="/static/js/chunk-72d235fa.a2a8357b.js" rel="prefetch" />
    <link href="/static/js/chunk-746ea768.33ee4770.js" rel="prefetch" />
    <link href="/static/js/chunk-7719f1df.8eaf5383.js" rel="prefetch" />
    <link href="/static/js/chunk-77e41e03.874ad5b0.js" rel="prefetch" />
    <link href="/static/js/chunk-792672a0.34a60f7d.js" rel="prefetch" />
    <link href="/static/js/chunk-7a83ed1a.64d1066d.js" rel="prefetch" />
    <link href="/static/js/chunk-7d6f6568.915104d9.js" rel="prefetch" />
    <link href="/static/js/chunk-7e90ba94.4bd45d71.js" rel="prefetch" />
    <link href="/static/js/chunk-8da7292e.0722a053.js" rel="prefetch" />
    <link href="/static/js/chunk-8e59b7be.ccaac780.js" rel="prefetch" />
    <link href="/static/js/chunk-93618a72.f975d76a.js" rel="prefetch" />
    <link href="/static/js/chunk-9672f91e.63b18587.js" rel="prefetch" />
    <link href="/static/js/chunk-97e31f1c.fee95ffb.js" rel="prefetch" />
    <link href="/static/js/chunk-b3a6dac6.9f888763.js" rel="prefetch" />
    <link href="/static/js/chunk-bb1aa296.7ff299bb.js" rel="prefetch" />
    <link href="/static/js/chunk-c34215be.34ee7d63.js" rel="prefetch" />
    <link href="/static/js/chunk-d07f9196.0c35c7dc.js" rel="prefetch" />
    <link href="/static/js/chunk-dc2e5e3a.765dde54.js" rel="prefetch" />
    <link href="/static/js/chunk-ffd68490.e8df53a2.js" rel="prefetch" />
    <link href="/static/js/dashboard.c618a295.js" rel="prefetch" />
    <link href="/static/js/form.616aa3f6.js" rel="prefetch" />
    <link href="/static/js/form~list.9bfd1b7d.js" rel="prefetch" />
    <link href="/static/js/form~widgets.0f5c31b8.js" rel="prefetch" />
    <link href="/static/js/list.2e751e4c.js" rel="prefetch" />
    <link href="/static/js/list.testmodal.a58903f7.js" rel="prefetch" />
    <link href="/static/js/widgets.7a6f40cd.js" rel="prefetch" />
    <link href="/static/css/app.7378fb46.css" rel="preload" as="style" />
    <link
      href="/static/css/chunk-vendors.ffa94230.css"
      rel="preload"
      as="style"
    />
    <link href="/static/js/app.060d6998.js" rel="preload" as="script" />
    <link
      href="/static/js/chunk-vendors.10d7aa79.js"
      rel="preload"
      as="script"
    />
    <link href="/static/css/chunk-vendors.ffa94230.css" rel="stylesheet" />
    <link href="/static/css/app.7378fb46.css" rel="stylesheet" />
    <link rel="icon" type="image/png" sizes="32x32" href="/logo.ico" />
    <link rel="icon" type="image/png" sizes="16x16" href="/logo.ico" />
    <link rel="manifest" href="/manifest.json" />
    <meta name="theme-color" content="#4DBA87" />
    <meta name="apple-mobile-web-app-capable" content="no" />
    <meta name="apple-mobile-web-app-status-bar-style" content="default" />
    <meta name="apple-mobile-web-app-title" content="vue-alain" />
    <link rel="apple-touch-icon" href="/logo.ico" />
    <link rel="mask-icon" href="/logo.ico" color="#4DBA87" />
    <meta name="msapplication-TileImage" content="/logo.ico" />
    <meta name="msapplication-TileColor" content="#000000" />
  </head>
  <body class="has-ad-rt">
    <noscript
      ><strong
        >We're sorry but vue-alain doesn't work properly without JavaScript
        enabled. Please enable it to continue.</strong
      ></noscript
    >
    <div id="app"></div>
    <div class="preloader">
      <div class="cs-loader">
        <div class="cs-loader-inner">
          <label>●</label> <label>●</label> <label>●</label> <label>●</label>
          <label>●</label> <label>●</label>
        </div>
      </div>
    </div>
    <script src="/static/js/chunk-vendors.10d7aa79.js"></script>
    <script src="/static/js/app.060d6998.js"></script>
  </body>
</html>
package-lock.json
@@ -1691,6 +1691,1279 @@
      "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==",
      "dev": true
    },
    "@turf/along": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/along/-/along-6.5.0.tgz",
      "integrity": "sha512-LLyWQ0AARqJCmMcIEAXF4GEu8usmd4Kbz3qk1Oy5HoRNpZX47+i5exQtmIWKdqJ1MMhW26fCTXgpsEs5zgJ5gw==",
      "requires": {
        "@turf/bearing": "^6.5.0",
        "@turf/destination": "^6.5.0",
        "@turf/distance": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0"
      }
    },
    "@turf/angle": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/angle/-/angle-6.5.0.tgz",
      "integrity": "sha512-4pXMbWhFofJJAOvTMCns6N4C8CMd5Ih4O2jSAG9b3dDHakj3O4yN1+Zbm+NUei+eVEZ9gFeVp9svE3aMDenIkw==",
      "requires": {
        "@turf/bearing": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/rhumb-bearing": "^6.5.0"
      }
    },
    "@turf/area": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/area/-/area-6.5.0.tgz",
      "integrity": "sha512-xCZdiuojokLbQ+29qR6qoMD89hv+JAgWjLrwSEWL+3JV8IXKeNFl6XkEJz9HGkVpnXvQKJoRz4/liT+8ZZ5Jyg==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/meta": "^6.5.0"
      }
    },
    "@turf/bbox": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/bbox/-/bbox-6.5.0.tgz",
      "integrity": "sha512-RBbLaao5hXTYyyg577iuMtDB8ehxMlUqHEJiMs8jT1GHkFhr6sYre3lmLsPeYEi/ZKj5TP5tt7fkzNdJ4GIVyw==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/meta": "^6.5.0"
      }
    },
    "@turf/bbox-clip": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/bbox-clip/-/bbox-clip-6.5.0.tgz",
      "integrity": "sha512-F6PaIRF8WMp8EmgU/Ke5B1Y6/pia14UAYB5TiBC668w5rVVjy5L8rTm/m2lEkkDMHlzoP9vNY4pxpNthE7rLcQ==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0"
      }
    },
    "@turf/bbox-polygon": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/bbox-polygon/-/bbox-polygon-6.5.0.tgz",
      "integrity": "sha512-+/r0NyL1lOG3zKZmmf6L8ommU07HliP4dgYToMoTxqzsWzyLjaj/OzgQ8rBmv703WJX+aS6yCmLuIhYqyufyuw==",
      "requires": {
        "@turf/helpers": "^6.5.0"
      }
    },
    "@turf/bearing": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/bearing/-/bearing-6.5.0.tgz",
      "integrity": "sha512-dxINYhIEMzgDOztyMZc20I7ssYVNEpSv04VbMo5YPQsqa80KO3TFvbuCahMsCAW5z8Tncc8dwBlEFrmRjJG33A==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0"
      }
    },
    "@turf/bezier-spline": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/bezier-spline/-/bezier-spline-6.5.0.tgz",
      "integrity": "sha512-vokPaurTd4PF96rRgGVm6zYYC5r1u98ZsG+wZEv9y3kJTuJRX/O3xIY2QnTGTdbVmAJN1ouOsD0RoZYaVoXORQ==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0"
      }
    },
    "@turf/boolean-clockwise": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/boolean-clockwise/-/boolean-clockwise-6.5.0.tgz",
      "integrity": "sha512-45+C7LC5RMbRWrxh3Z0Eihsc8db1VGBO5d9BLTOAwU4jR6SgsunTfRWR16X7JUwIDYlCVEmnjcXJNi/kIU3VIw==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0"
      }
    },
    "@turf/boolean-contains": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/boolean-contains/-/boolean-contains-6.5.0.tgz",
      "integrity": "sha512-4m8cJpbw+YQcKVGi8y0cHhBUnYT+QRfx6wzM4GI1IdtYH3p4oh/DOBJKrepQyiDzFDaNIjxuWXBh0ai1zVwOQQ==",
      "requires": {
        "@turf/bbox": "^6.5.0",
        "@turf/boolean-point-in-polygon": "^6.5.0",
        "@turf/boolean-point-on-line": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0"
      }
    },
    "@turf/boolean-crosses": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/boolean-crosses/-/boolean-crosses-6.5.0.tgz",
      "integrity": "sha512-gvshbTPhAHporTlQwBJqyfW+2yV8q/mOTxG6PzRVl6ARsqNoqYQWkd4MLug7OmAqVyBzLK3201uAeBjxbGw0Ng==",
      "requires": {
        "@turf/boolean-point-in-polygon": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/line-intersect": "^6.5.0",
        "@turf/polygon-to-line": "^6.5.0"
      }
    },
    "@turf/boolean-disjoint": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/boolean-disjoint/-/boolean-disjoint-6.5.0.tgz",
      "integrity": "sha512-rZ2ozlrRLIAGo2bjQ/ZUu4oZ/+ZjGvLkN5CKXSKBcu6xFO6k2bgqeM8a1836tAW+Pqp/ZFsTA5fZHsJZvP2D5g==",
      "requires": {
        "@turf/boolean-point-in-polygon": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/line-intersect": "^6.5.0",
        "@turf/meta": "^6.5.0",
        "@turf/polygon-to-line": "^6.5.0"
      }
    },
    "@turf/boolean-equal": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/boolean-equal/-/boolean-equal-6.5.0.tgz",
      "integrity": "sha512-cY0M3yoLC26mhAnjv1gyYNQjn7wxIXmL2hBmI/qs8g5uKuC2hRWi13ydufE3k4x0aNRjFGlg41fjoYLwaVF+9Q==",
      "requires": {
        "@turf/clean-coords": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "geojson-equality": "0.1.6"
      }
    },
    "@turf/boolean-intersects": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/boolean-intersects/-/boolean-intersects-6.5.0.tgz",
      "integrity": "sha512-nIxkizjRdjKCYFQMnml6cjPsDOBCThrt+nkqtSEcxkKMhAQj5OO7o2CecioNTaX8EayqwMGVKcsz27oP4mKPTw==",
      "requires": {
        "@turf/boolean-disjoint": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/meta": "^6.5.0"
      }
    },
    "@turf/boolean-overlap": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/boolean-overlap/-/boolean-overlap-6.5.0.tgz",
      "integrity": "sha512-8btMIdnbXVWUa1M7D4shyaSGxLRw6NjMcqKBcsTXcZdnaixl22k7ar7BvIzkaRYN3SFECk9VGXfLncNS3ckQUw==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/line-intersect": "^6.5.0",
        "@turf/line-overlap": "^6.5.0",
        "@turf/meta": "^6.5.0",
        "geojson-equality": "0.1.6"
      }
    },
    "@turf/boolean-parallel": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/boolean-parallel/-/boolean-parallel-6.5.0.tgz",
      "integrity": "sha512-aSHJsr1nq9e5TthZGZ9CZYeXklJyRgR5kCLm5X4urz7+MotMOp/LsGOsvKvK9NeUl9+8OUmfMn8EFTT8LkcvIQ==",
      "requires": {
        "@turf/clean-coords": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/line-segment": "^6.5.0",
        "@turf/rhumb-bearing": "^6.5.0"
      }
    },
    "@turf/boolean-point-in-polygon": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/boolean-point-in-polygon/-/boolean-point-in-polygon-6.5.0.tgz",
      "integrity": "sha512-DtSuVFB26SI+hj0SjrvXowGTUCHlgevPAIsukssW6BG5MlNSBQAo70wpICBNJL6RjukXg8d2eXaAWuD/CqL00A==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0"
      }
    },
    "@turf/boolean-point-on-line": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/boolean-point-on-line/-/boolean-point-on-line-6.5.0.tgz",
      "integrity": "sha512-A1BbuQ0LceLHvq7F/P7w3QvfpmZqbmViIUPHdNLvZimFNLo4e6IQunmzbe+8aSStH9QRZm3VOflyvNeXvvpZEQ==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0"
      }
    },
    "@turf/boolean-within": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/boolean-within/-/boolean-within-6.5.0.tgz",
      "integrity": "sha512-YQB3oU18Inx35C/LU930D36RAVe7LDXk1kWsQ8mLmuqYn9YdPsDQTMTkLJMhoQ8EbN7QTdy333xRQ4MYgToteQ==",
      "requires": {
        "@turf/bbox": "^6.5.0",
        "@turf/boolean-point-in-polygon": "^6.5.0",
        "@turf/boolean-point-on-line": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0"
      }
    },
    "@turf/buffer": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/buffer/-/buffer-6.5.0.tgz",
      "integrity": "sha512-qeX4N6+PPWbKqp1AVkBVWFerGjMYMUyencwfnkCesoznU6qvfugFHNAngNqIBVnJjZ5n8IFyOf+akcxnrt9sNg==",
      "requires": {
        "@turf/bbox": "^6.5.0",
        "@turf/center": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/meta": "^6.5.0",
        "@turf/projection": "^6.5.0",
        "d3-geo": "1.7.1",
        "turf-jsts": "*"
      }
    },
    "@turf/center": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/center/-/center-6.5.0.tgz",
      "integrity": "sha512-T8KtMTfSATWcAX088rEDKjyvQCBkUsLnK/Txb6/8WUXIeOZyHu42G7MkdkHRoHtwieLdduDdmPLFyTdG5/e7ZQ==",
      "requires": {
        "@turf/bbox": "^6.5.0",
        "@turf/helpers": "^6.5.0"
      }
    },
    "@turf/center-mean": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/center-mean/-/center-mean-6.5.0.tgz",
      "integrity": "sha512-AAX6f4bVn12pTVrMUiB9KrnV94BgeBKpyg3YpfnEbBpkN/znfVhL8dG8IxMAxAoSZ61Zt9WLY34HfENveuOZ7Q==",
      "requires": {
        "@turf/bbox": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/meta": "^6.5.0"
      }
    },
    "@turf/center-median": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/center-median/-/center-median-6.5.0.tgz",
      "integrity": "sha512-dT8Ndu5CiZkPrj15PBvslpuf01ky41DEYEPxS01LOxp5HOUHXp1oJxsPxvc+i/wK4BwccPNzU1vzJ0S4emd1KQ==",
      "requires": {
        "@turf/center-mean": "^6.5.0",
        "@turf/centroid": "^6.5.0",
        "@turf/distance": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/meta": "^6.5.0"
      }
    },
    "@turf/center-of-mass": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/center-of-mass/-/center-of-mass-6.5.0.tgz",
      "integrity": "sha512-EWrriU6LraOfPN7m1jZi+1NLTKNkuIsGLZc2+Y8zbGruvUW+QV7K0nhf7iZWutlxHXTBqEXHbKue/o79IumAsQ==",
      "requires": {
        "@turf/centroid": "^6.5.0",
        "@turf/convex": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/meta": "^6.5.0"
      }
    },
    "@turf/centroid": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/centroid/-/centroid-6.5.0.tgz",
      "integrity": "sha512-MwE1oq5E3isewPprEClbfU5pXljIK/GUOMbn22UM3IFPDJX0KeoyLNwghszkdmFp/qMGL/M13MMWvU+GNLXP/A==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/meta": "^6.5.0"
      }
    },
    "@turf/circle": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/circle/-/circle-6.5.0.tgz",
      "integrity": "sha512-oU1+Kq9DgRnoSbWFHKnnUdTmtcRUMmHoV9DjTXu9vOLNV5OWtAAh1VZ+mzsioGGzoDNT/V5igbFOkMfBQc0B6A==",
      "requires": {
        "@turf/destination": "^6.5.0",
        "@turf/helpers": "^6.5.0"
      }
    },
    "@turf/clean-coords": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/clean-coords/-/clean-coords-6.5.0.tgz",
      "integrity": "sha512-EMX7gyZz0WTH/ET7xV8MyrExywfm9qUi0/MY89yNffzGIEHuFfqwhcCqZ8O00rZIPZHUTxpmsxQSTfzJJA1CPw==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0"
      }
    },
    "@turf/clone": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/clone/-/clone-6.5.0.tgz",
      "integrity": "sha512-mzVtTFj/QycXOn6ig+annKrM6ZlimreKYz6f/GSERytOpgzodbQyOgkfwru100O1KQhhjSudKK4DsQ0oyi9cTw==",
      "requires": {
        "@turf/helpers": "^6.5.0"
      }
    },
    "@turf/clusters": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/clusters/-/clusters-6.5.0.tgz",
      "integrity": "sha512-Y6gfnTJzQ1hdLfCsyd5zApNbfLIxYEpmDibHUqR5z03Lpe02pa78JtgrgUNt1seeO/aJ4TG1NLN8V5gOrHk04g==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/meta": "^6.5.0"
      }
    },
    "@turf/clusters-dbscan": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/clusters-dbscan/-/clusters-dbscan-6.5.0.tgz",
      "integrity": "sha512-SxZEE4kADU9DqLRiT53QZBBhu8EP9skviSyl+FGj08Y01xfICM/RR9ACUdM0aEQimhpu+ZpRVcUK+2jtiCGrYQ==",
      "requires": {
        "@turf/clone": "^6.5.0",
        "@turf/distance": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/meta": "^6.5.0",
        "density-clustering": "1.3.0"
      }
    },
    "@turf/clusters-kmeans": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/clusters-kmeans/-/clusters-kmeans-6.5.0.tgz",
      "integrity": "sha512-DwacD5+YO8kwDPKaXwT9DV46tMBVNsbi1IzdajZu1JDSWoN7yc7N9Qt88oi+p30583O0UPVkAK+A10WAQv4mUw==",
      "requires": {
        "@turf/clone": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/meta": "^6.5.0",
        "skmeans": "0.9.7"
      }
    },
    "@turf/collect": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/collect/-/collect-6.5.0.tgz",
      "integrity": "sha512-4dN/T6LNnRg099m97BJeOcTA5fSI8cu87Ydgfibewd2KQwBexO69AnjEFqfPX3Wj+Zvisj1uAVIZbPmSSrZkjg==",
      "requires": {
        "@turf/bbox": "^6.5.0",
        "@turf/boolean-point-in-polygon": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "rbush": "2.x"
      },
      "dependencies": {
        "quickselect": {
          "version": "1.1.1",
          "resolved": "https://registry.npmmirror.com/quickselect/-/quickselect-1.1.1.tgz",
          "integrity": "sha512-qN0Gqdw4c4KGPsBOQafj6yj/PA6c/L63f6CaZ/DCF/xF4Esu3jVmKLUDYxghFx8Kb/O7y9tI7x2RjTSXwdK1iQ=="
        },
        "rbush": {
          "version": "2.0.2",
          "resolved": "https://registry.npmmirror.com/rbush/-/rbush-2.0.2.tgz",
          "integrity": "sha512-XBOuALcTm+O/H8G90b6pzu6nX6v2zCKiFG4BJho8a+bY6AER6t8uQUZdi5bomQc0AprCWhEGa7ncAbbRap0bRA==",
          "requires": {
            "quickselect": "^1.0.1"
          }
        }
      }
    },
    "@turf/combine": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/combine/-/combine-6.5.0.tgz",
      "integrity": "sha512-Q8EIC4OtAcHiJB3C4R+FpB4LANiT90t17uOd851qkM2/o6m39bfN5Mv0PWqMZIHWrrosZqRqoY9dJnzz/rJxYQ==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/meta": "^6.5.0"
      }
    },
    "@turf/concave": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/concave/-/concave-6.5.0.tgz",
      "integrity": "sha512-I/sUmUC8TC5h/E2vPwxVht+nRt+TnXIPRoztDFvS8/Y0+cBDple9inLSo9nnPXMXidrBlGXZ9vQx/BjZUJgsRQ==",
      "requires": {
        "@turf/clone": "^6.5.0",
        "@turf/distance": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/meta": "^6.5.0",
        "@turf/tin": "^6.5.0",
        "topojson-client": "3.x",
        "topojson-server": "3.x"
      }
    },
    "@turf/convex": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/convex/-/convex-6.5.0.tgz",
      "integrity": "sha512-x7ZwC5z7PJB0SBwNh7JCeCNx7Iu+QSrH7fYgK0RhhNop13TqUlvHMirMLRgf2db1DqUetrAO2qHJeIuasquUWg==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/meta": "^6.5.0",
        "concaveman": "*"
      }
    },
    "@turf/destination": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/destination/-/destination-6.5.0.tgz",
      "integrity": "sha512-4cnWQlNC8d1tItOz9B4pmJdWpXqS0vEvv65bI/Pj/genJnsL7evI0/Xw42RvEGROS481MPiU80xzvwxEvhQiMQ==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0"
      }
    },
    "@turf/difference": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/difference/-/difference-6.5.0.tgz",
      "integrity": "sha512-l8iR5uJqvI+5Fs6leNbhPY5t/a3vipUF/3AeVLpwPQcgmedNXyheYuy07PcMGH5Jdpi5gItOiTqwiU/bUH4b3A==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "polygon-clipping": "^0.15.3"
      }
    },
    "@turf/dissolve": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/dissolve/-/dissolve-6.5.0.tgz",
      "integrity": "sha512-WBVbpm9zLTp0Bl9CE35NomTaOL1c4TQCtEoO43YaAhNEWJOOIhZMFJyr8mbvYruKl817KinT3x7aYjjCMjTAsQ==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/meta": "^6.5.0",
        "polygon-clipping": "^0.15.3"
      }
    },
    "@turf/distance": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/distance/-/distance-6.5.0.tgz",
      "integrity": "sha512-xzykSLfoURec5qvQJcfifw/1mJa+5UwByZZ5TZ8iaqjGYN0vomhV9aiSLeYdUGtYRESZ+DYC/OzY+4RclZYgMg==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0"
      }
    },
    "@turf/distance-weight": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/distance-weight/-/distance-weight-6.5.0.tgz",
      "integrity": "sha512-a8qBKkgVNvPKBfZfEJZnC3DV7dfIsC3UIdpRci/iap/wZLH41EmS90nM+BokAJflUHYy8PqE44wySGWHN1FXrQ==",
      "requires": {
        "@turf/centroid": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/meta": "^6.5.0"
      }
    },
    "@turf/ellipse": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/ellipse/-/ellipse-6.5.0.tgz",
      "integrity": "sha512-kuXtwFviw/JqnyJXF1mrR/cb496zDTSbGKtSiolWMNImYzGGkbsAsFTjwJYgD7+4FixHjp0uQPzo70KDf3AIBw==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/rhumb-destination": "^6.5.0",
        "@turf/transform-rotate": "^6.5.0"
      }
    },
    "@turf/envelope": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/envelope/-/envelope-6.5.0.tgz",
      "integrity": "sha512-9Z+FnBWvOGOU4X+fMZxYFs1HjFlkKqsddLuMknRaqcJd6t+NIv5DWvPtDL8ATD2GEExYDiFLwMdckfr1yqJgHA==",
      "requires": {
        "@turf/bbox": "^6.5.0",
        "@turf/bbox-polygon": "^6.5.0",
        "@turf/helpers": "^6.5.0"
      }
    },
    "@turf/explode": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/explode/-/explode-6.5.0.tgz",
      "integrity": "sha512-6cSvMrnHm2qAsace6pw9cDmK2buAlw8+tjeJVXMfMyY+w7ZUi1rprWMsY92J7s2Dar63Bv09n56/1V7+tcj52Q==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/meta": "^6.5.0"
      }
    },
    "@turf/flatten": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/flatten/-/flatten-6.5.0.tgz",
      "integrity": "sha512-IBZVwoNLVNT6U/bcUUllubgElzpMsNoCw8tLqBw6dfYg9ObGmpEjf9BIYLr7a2Yn5ZR4l7YIj2T7kD5uJjZADQ==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/meta": "^6.5.0"
      }
    },
    "@turf/flip": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/flip/-/flip-6.5.0.tgz",
      "integrity": "sha512-oyikJFNjt2LmIXQqgOGLvt70RgE2lyzPMloYWM7OR5oIFGRiBvqVD2hA6MNw6JewIm30fWZ8DQJw1NHXJTJPbg==",
      "requires": {
        "@turf/clone": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/meta": "^6.5.0"
      }
    },
    "@turf/great-circle": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/great-circle/-/great-circle-6.5.0.tgz",
      "integrity": "sha512-7ovyi3HaKOXdFyN7yy1yOMa8IyOvV46RC1QOQTT+RYUN8ke10eyqExwBpL9RFUPvlpoTzoYbM/+lWPogQlFncg==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0"
      }
    },
    "@turf/helpers": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/helpers/-/helpers-6.5.0.tgz",
      "integrity": "sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw=="
    },
    "@turf/hex-grid": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/hex-grid/-/hex-grid-6.5.0.tgz",
      "integrity": "sha512-Ln3tc2tgZT8etDOldgc6e741Smg1CsMKAz1/Mlel+MEL5Ynv2mhx3m0q4J9IB1F3a4MNjDeVvm8drAaf9SF33g==",
      "requires": {
        "@turf/distance": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/intersect": "^6.5.0",
        "@turf/invariant": "^6.5.0"
      }
    },
    "@turf/interpolate": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/interpolate/-/interpolate-6.5.0.tgz",
      "integrity": "sha512-LSH5fMeiGyuDZ4WrDJNgh81d2DnNDUVJtuFryJFup8PV8jbs46lQGfI3r1DJ2p1IlEJIz3pmAZYeTfMMoeeohw==",
      "requires": {
        "@turf/bbox": "^6.5.0",
        "@turf/centroid": "^6.5.0",
        "@turf/clone": "^6.5.0",
        "@turf/distance": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/hex-grid": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/meta": "^6.5.0",
        "@turf/point-grid": "^6.5.0",
        "@turf/square-grid": "^6.5.0",
        "@turf/triangle-grid": "^6.5.0"
      }
    },
    "@turf/intersect": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/intersect/-/intersect-6.5.0.tgz",
      "integrity": "sha512-2legGJeKrfFkzntcd4GouPugoqPUjexPZnOvfez+3SfIMrHvulw8qV8u7pfVyn2Yqs53yoVCEjS5sEpvQ5YRQg==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "polygon-clipping": "^0.15.3"
      }
    },
    "@turf/invariant": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/invariant/-/invariant-6.5.0.tgz",
      "integrity": "sha512-Wv8PRNCtPD31UVbdJE/KVAWKe7l6US+lJItRR/HOEW3eh+U/JwRCSUl/KZ7bmjM/C+zLNoreM2TU6OoLACs4eg==",
      "requires": {
        "@turf/helpers": "^6.5.0"
      }
    },
    "@turf/isobands": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/isobands/-/isobands-6.5.0.tgz",
      "integrity": "sha512-4h6sjBPhRwMVuFaVBv70YB7eGz+iw0bhPRnp+8JBdX1UPJSXhoi/ZF2rACemRUr0HkdVB/a1r9gC32vn5IAEkw==",
      "requires": {
        "@turf/area": "^6.5.0",
        "@turf/bbox": "^6.5.0",
        "@turf/boolean-point-in-polygon": "^6.5.0",
        "@turf/explode": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/meta": "^6.5.0",
        "object-assign": "*"
      }
    },
    "@turf/isolines": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/isolines/-/isolines-6.5.0.tgz",
      "integrity": "sha512-6ElhiLCopxWlv4tPoxiCzASWt/jMRvmp6mRYrpzOm3EUl75OhHKa/Pu6Y9nWtCMmVC/RcWtiiweUocbPLZLm0A==",
      "requires": {
        "@turf/bbox": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/meta": "^6.5.0",
        "object-assign": "*"
      }
    },
    "@turf/kinks": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/kinks/-/kinks-6.5.0.tgz",
      "integrity": "sha512-ViCngdPt1eEL7hYUHR2eHR662GvCgTc35ZJFaNR6kRtr6D8plLaDju0FILeFFWSc+o8e3fwxZEJKmFj9IzPiIQ==",
      "requires": {
        "@turf/helpers": "^6.5.0"
      }
    },
    "@turf/length": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/length/-/length-6.5.0.tgz",
      "integrity": "sha512-5pL5/pnw52fck3oRsHDcSGrj9HibvtlrZ0QNy2OcW8qBFDNgZ4jtl6U7eATVoyWPKBHszW3dWETW+iLV7UARig==",
      "requires": {
        "@turf/distance": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/meta": "^6.5.0"
      }
    },
    "@turf/line-arc": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/line-arc/-/line-arc-6.5.0.tgz",
      "integrity": "sha512-I6c+V6mIyEwbtg9P9zSFF89T7QPe1DPTG3MJJ6Cm1MrAY0MdejwQKOpsvNl8LDU2ekHOlz2kHpPVR7VJsoMllA==",
      "requires": {
        "@turf/circle": "^6.5.0",
        "@turf/destination": "^6.5.0",
        "@turf/helpers": "^6.5.0"
      }
    },
    "@turf/line-chunk": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/line-chunk/-/line-chunk-6.5.0.tgz",
      "integrity": "sha512-i1FGE6YJaaYa+IJesTfyRRQZP31QouS+wh/pa6O3CC0q4T7LtHigyBSYjrbjSLfn2EVPYGlPCMFEqNWCOkC6zg==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/length": "^6.5.0",
        "@turf/line-slice-along": "^6.5.0",
        "@turf/meta": "^6.5.0"
      }
    },
    "@turf/line-intersect": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/line-intersect/-/line-intersect-6.5.0.tgz",
      "integrity": "sha512-CS6R1tZvVQD390G9Ea4pmpM6mJGPWoL82jD46y0q1KSor9s6HupMIo1kY4Ny+AEYQl9jd21V3Scz20eldpbTVA==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/line-segment": "^6.5.0",
        "@turf/meta": "^6.5.0",
        "geojson-rbush": "3.x"
      }
    },
    "@turf/line-offset": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/line-offset/-/line-offset-6.5.0.tgz",
      "integrity": "sha512-CEXZbKgyz8r72qRvPchK0dxqsq8IQBdH275FE6o4MrBkzMcoZsfSjghtXzKaz9vvro+HfIXal0sTk2mqV1lQTw==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/meta": "^6.5.0"
      }
    },
    "@turf/line-overlap": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/line-overlap/-/line-overlap-6.5.0.tgz",
      "integrity": "sha512-xHOaWLd0hkaC/1OLcStCpfq55lPHpPNadZySDXYiYjEz5HXr1oKmtMYpn0wGizsLwrOixRdEp+j7bL8dPt4ojQ==",
      "requires": {
        "@turf/boolean-point-on-line": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/line-segment": "^6.5.0",
        "@turf/meta": "^6.5.0",
        "@turf/nearest-point-on-line": "^6.5.0",
        "deep-equal": "1.x",
        "geojson-rbush": "3.x"
      }
    },
    "@turf/line-segment": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/line-segment/-/line-segment-6.5.0.tgz",
      "integrity": "sha512-jI625Ho4jSuJESNq66Mmi290ZJ5pPZiQZruPVpmHkUw257Pew0alMmb6YrqYNnLUuiVVONxAAKXUVeeUGtycfw==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/meta": "^6.5.0"
      }
    },
    "@turf/line-slice": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/line-slice/-/line-slice-6.5.0.tgz",
      "integrity": "sha512-vDqJxve9tBHhOaVVFXqVjF5qDzGtKWviyjbyi2QnSnxyFAmLlLnBfMX8TLQCAf2GxHibB95RO5FBE6I2KVPRuw==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/nearest-point-on-line": "^6.5.0"
      }
    },
    "@turf/line-slice-along": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/line-slice-along/-/line-slice-along-6.5.0.tgz",
      "integrity": "sha512-KHJRU6KpHrAj+BTgTNqby6VCTnDzG6a1sJx/I3hNvqMBLvWVA2IrkR9L9DtsQsVY63IBwVdQDqiwCuZLDQh4Ng==",
      "requires": {
        "@turf/bearing": "^6.5.0",
        "@turf/destination": "^6.5.0",
        "@turf/distance": "^6.5.0",
        "@turf/helpers": "^6.5.0"
      }
    },
    "@turf/line-split": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/line-split/-/line-split-6.5.0.tgz",
      "integrity": "sha512-/rwUMVr9OI2ccJjw7/6eTN53URtGThNSD5I0GgxyFXMtxWiloRJ9MTff8jBbtPWrRka/Sh2GkwucVRAEakx9Sw==",
      "requires": {
        "@turf/bbox": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/line-intersect": "^6.5.0",
        "@turf/line-segment": "^6.5.0",
        "@turf/meta": "^6.5.0",
        "@turf/nearest-point-on-line": "^6.5.0",
        "@turf/square": "^6.5.0",
        "@turf/truncate": "^6.5.0",
        "geojson-rbush": "3.x"
      }
    },
    "@turf/line-to-polygon": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/line-to-polygon/-/line-to-polygon-6.5.0.tgz",
      "integrity": "sha512-qYBuRCJJL8Gx27OwCD1TMijM/9XjRgXH/m/TyuND4OXedBpIWlK5VbTIO2gJ8OCfznBBddpjiObLBrkuxTpN4Q==",
      "requires": {
        "@turf/bbox": "^6.5.0",
        "@turf/clone": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0"
      }
    },
    "@turf/mask": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/mask/-/mask-6.5.0.tgz",
      "integrity": "sha512-RQha4aU8LpBrmrkH8CPaaoAfk0Egj5OuXtv6HuCQnHeGNOQt3TQVibTA3Sh4iduq4EPxnZfDjgsOeKtrCA19lg==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "polygon-clipping": "^0.15.3"
      }
    },
    "@turf/meta": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/meta/-/meta-6.5.0.tgz",
      "integrity": "sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==",
      "requires": {
        "@turf/helpers": "^6.5.0"
      }
    },
    "@turf/midpoint": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/midpoint/-/midpoint-6.5.0.tgz",
      "integrity": "sha512-MyTzV44IwmVI6ec9fB2OgZ53JGNlgOpaYl9ArKoF49rXpL84F9rNATndbe0+MQIhdkw8IlzA6xVP4lZzfMNVCw==",
      "requires": {
        "@turf/bearing": "^6.5.0",
        "@turf/destination": "^6.5.0",
        "@turf/distance": "^6.5.0",
        "@turf/helpers": "^6.5.0"
      }
    },
    "@turf/moran-index": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/moran-index/-/moran-index-6.5.0.tgz",
      "integrity": "sha512-ItsnhrU2XYtTtTudrM8so4afBCYWNaB0Mfy28NZwLjB5jWuAsvyV+YW+J88+neK/ougKMTawkmjQqodNJaBeLQ==",
      "requires": {
        "@turf/distance-weight": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/meta": "^6.5.0"
      }
    },
    "@turf/nearest-point": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/nearest-point/-/nearest-point-6.5.0.tgz",
      "integrity": "sha512-fguV09QxilZv/p94s8SMsXILIAMiaXI5PATq9d7YWijLxWUj6Q/r43kxyoi78Zmwwh1Zfqz9w+bCYUAxZ5+euA==",
      "requires": {
        "@turf/clone": "^6.5.0",
        "@turf/distance": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/meta": "^6.5.0"
      }
    },
    "@turf/nearest-point-on-line": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/nearest-point-on-line/-/nearest-point-on-line-6.5.0.tgz",
      "integrity": "sha512-WthrvddddvmymnC+Vf7BrkHGbDOUu6Z3/6bFYUGv1kxw8tiZ6n83/VG6kHz4poHOfS0RaNflzXSkmCi64fLBlg==",
      "requires": {
        "@turf/bearing": "^6.5.0",
        "@turf/destination": "^6.5.0",
        "@turf/distance": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/line-intersect": "^6.5.0",
        "@turf/meta": "^6.5.0"
      }
    },
    "@turf/nearest-point-to-line": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/nearest-point-to-line/-/nearest-point-to-line-6.5.0.tgz",
      "integrity": "sha512-PXV7cN0BVzUZdjj6oeb/ESnzXSfWmEMrsfZSDRgqyZ9ytdiIj/eRsnOXLR13LkTdXVOJYDBuf7xt1mLhM4p6+Q==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/meta": "^6.5.0",
        "@turf/point-to-line-distance": "^6.5.0",
        "object-assign": "*"
      }
    },
    "@turf/planepoint": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/planepoint/-/planepoint-6.5.0.tgz",
      "integrity": "sha512-R3AahA6DUvtFbka1kcJHqZ7DMHmPXDEQpbU5WaglNn7NaCQg9HB0XM0ZfqWcd5u92YXV+Gg8QhC8x5XojfcM4Q==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0"
      }
    },
    "@turf/point-grid": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/point-grid/-/point-grid-6.5.0.tgz",
      "integrity": "sha512-Iq38lFokNNtQJnOj/RBKmyt6dlof0yhaHEDELaWHuECm1lIZLY3ZbVMwbs+nXkwTAHjKfS/OtMheUBkw+ee49w==",
      "requires": {
        "@turf/boolean-within": "^6.5.0",
        "@turf/distance": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0"
      }
    },
    "@turf/point-on-feature": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/point-on-feature/-/point-on-feature-6.5.0.tgz",
      "integrity": "sha512-bDpuIlvugJhfcF/0awAQ+QI6Om1Y1FFYE8Y/YdxGRongivix850dTeXCo0mDylFdWFPGDo7Mmh9Vo4VxNwW/TA==",
      "requires": {
        "@turf/boolean-point-in-polygon": "^6.5.0",
        "@turf/center": "^6.5.0",
        "@turf/explode": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/nearest-point": "^6.5.0"
      }
    },
    "@turf/point-to-line-distance": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/point-to-line-distance/-/point-to-line-distance-6.5.0.tgz",
      "integrity": "sha512-opHVQ4vjUhNBly1bob6RWy+F+hsZDH9SA0UW36pIRzfpu27qipU18xup0XXEePfY6+wvhF6yL/WgCO2IbrLqEA==",
      "requires": {
        "@turf/bearing": "^6.5.0",
        "@turf/distance": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/meta": "^6.5.0",
        "@turf/projection": "^6.5.0",
        "@turf/rhumb-bearing": "^6.5.0",
        "@turf/rhumb-distance": "^6.5.0"
      }
    },
    "@turf/points-within-polygon": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/points-within-polygon/-/points-within-polygon-6.5.0.tgz",
      "integrity": "sha512-YyuheKqjliDsBDt3Ho73QVZk1VXX1+zIA2gwWvuz8bR1HXOkcuwk/1J76HuFMOQI3WK78wyAi+xbkx268PkQzQ==",
      "requires": {
        "@turf/boolean-point-in-polygon": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/meta": "^6.5.0"
      }
    },
    "@turf/polygon-smooth": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/polygon-smooth/-/polygon-smooth-6.5.0.tgz",
      "integrity": "sha512-LO/X/5hfh/Rk4EfkDBpLlVwt3i6IXdtQccDT9rMjXEP32tRgy0VMFmdkNaXoGlSSKf/1mGqLl4y4wHd86DqKbg==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/meta": "^6.5.0"
      }
    },
    "@turf/polygon-tangents": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/polygon-tangents/-/polygon-tangents-6.5.0.tgz",
      "integrity": "sha512-sB4/IUqJMYRQH9jVBwqS/XDitkEfbyqRy+EH/cMRJURTg78eHunvJ708x5r6umXsbiUyQU4eqgPzEylWEQiunw==",
      "requires": {
        "@turf/bbox": "^6.5.0",
        "@turf/boolean-within": "^6.5.0",
        "@turf/explode": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/nearest-point": "^6.5.0"
      }
    },
    "@turf/polygon-to-line": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/polygon-to-line/-/polygon-to-line-6.5.0.tgz",
      "integrity": "sha512-5p4n/ij97EIttAq+ewSnKt0ruvuM+LIDzuczSzuHTpq4oS7Oq8yqg5TQ4nzMVuK41r/tALCk7nAoBuw3Su4Gcw==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0"
      }
    },
    "@turf/polygonize": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/polygonize/-/polygonize-6.5.0.tgz",
      "integrity": "sha512-a/3GzHRaCyzg7tVYHo43QUChCspa99oK4yPqooVIwTC61npFzdrmnywMv0S+WZjHZwK37BrFJGFrZGf6ocmY5w==",
      "requires": {
        "@turf/boolean-point-in-polygon": "^6.5.0",
        "@turf/envelope": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/meta": "^6.5.0"
      }
    },
    "@turf/projection": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/projection/-/projection-6.5.0.tgz",
      "integrity": "sha512-/Pgh9mDvQWWu8HRxqpM+tKz8OzgauV+DiOcr3FCjD6ubDnrrmMJlsf6fFJmggw93mtVPrZRL6yyi9aYCQBOIvg==",
      "requires": {
        "@turf/clone": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/meta": "^6.5.0"
      }
    },
    "@turf/random": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/random/-/random-6.5.0.tgz",
      "integrity": "sha512-8Q25gQ/XbA7HJAe+eXp4UhcXM9aOOJFaxZ02+XSNwMvY8gtWSCBLVqRcW4OhqilgZ8PeuQDWgBxeo+BIqqFWFQ==",
      "requires": {
        "@turf/helpers": "^6.5.0"
      }
    },
    "@turf/rectangle-grid": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/rectangle-grid/-/rectangle-grid-6.5.0.tgz",
      "integrity": "sha512-yQZ/1vbW68O2KsSB3OZYK+72aWz/Adnf7m2CMKcC+aq6TwjxZjAvlbCOsNUnMAuldRUVN1ph6RXMG4e9KEvKvg==",
      "requires": {
        "@turf/boolean-intersects": "^6.5.0",
        "@turf/distance": "^6.5.0",
        "@turf/helpers": "^6.5.0"
      }
    },
    "@turf/rewind": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/rewind/-/rewind-6.5.0.tgz",
      "integrity": "sha512-IoUAMcHWotBWYwSYuYypw/LlqZmO+wcBpn8ysrBNbazkFNkLf3btSDZMkKJO/bvOzl55imr/Xj4fi3DdsLsbzQ==",
      "requires": {
        "@turf/boolean-clockwise": "^6.5.0",
        "@turf/clone": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/meta": "^6.5.0"
      }
    },
    "@turf/rhumb-bearing": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/rhumb-bearing/-/rhumb-bearing-6.5.0.tgz",
      "integrity": "sha512-jMyqiMRK4hzREjQmnLXmkJ+VTNTx1ii8vuqRwJPcTlKbNWfjDz/5JqJlb5NaFDcdMpftWovkW5GevfnuzHnOYA==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0"
      }
    },
    "@turf/rhumb-destination": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/rhumb-destination/-/rhumb-destination-6.5.0.tgz",
      "integrity": "sha512-RHNP1Oy+7xTTdRrTt375jOZeHceFbjwohPHlr9Hf68VdHHPMAWgAKqiX2YgSWDcvECVmiGaBKWus1Df+N7eE4Q==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0"
      }
    },
    "@turf/rhumb-distance": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/rhumb-distance/-/rhumb-distance-6.5.0.tgz",
      "integrity": "sha512-oKp8KFE8E4huC2Z1a1KNcFwjVOqa99isxNOwfo4g3SUABQ6NezjKDDrnvC4yI5YZ3/huDjULLBvhed45xdCrzg==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0"
      }
    },
    "@turf/sample": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/sample/-/sample-6.5.0.tgz",
      "integrity": "sha512-kSdCwY7el15xQjnXYW520heKUrHwRvnzx8ka4eYxX9NFeOxaFITLW2G7UtXb6LJK8mmPXI8Aexv23F2ERqzGFg==",
      "requires": {
        "@turf/helpers": "^6.5.0"
      }
    },
    "@turf/sector": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/sector/-/sector-6.5.0.tgz",
      "integrity": "sha512-cYUOkgCTWqa23SOJBqxoFAc/yGCUsPRdn/ovbRTn1zNTm/Spmk6hVB84LCKOgHqvSF25i0d2kWqpZDzLDdAPbw==",
      "requires": {
        "@turf/circle": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/line-arc": "^6.5.0",
        "@turf/meta": "^6.5.0"
      }
    },
    "@turf/shortest-path": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/shortest-path/-/shortest-path-6.5.0.tgz",
      "integrity": "sha512-4de5+G7+P4hgSoPwn+SO9QSi9HY5NEV/xRJ+cmoFVRwv2CDsuOPDheHKeuIAhKyeKDvPvPt04XYWbac4insJMg==",
      "requires": {
        "@turf/bbox": "^6.5.0",
        "@turf/bbox-polygon": "^6.5.0",
        "@turf/boolean-point-in-polygon": "^6.5.0",
        "@turf/clean-coords": "^6.5.0",
        "@turf/distance": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/meta": "^6.5.0",
        "@turf/transform-scale": "^6.5.0"
      }
    },
    "@turf/simplify": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/simplify/-/simplify-6.5.0.tgz",
      "integrity": "sha512-USas3QqffPHUY184dwQdP8qsvcVH/PWBYdXY5am7YTBACaQOMAlf6AKJs9FT8jiO6fQpxfgxuEtwmox+pBtlOg==",
      "requires": {
        "@turf/clean-coords": "^6.5.0",
        "@turf/clone": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/meta": "^6.5.0"
      }
    },
    "@turf/square": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/square/-/square-6.5.0.tgz",
      "integrity": "sha512-BM2UyWDmiuHCadVhHXKIx5CQQbNCpOxB6S/aCNOCLbhCeypKX5Q0Aosc5YcmCJgkwO5BERCC6Ee7NMbNB2vHmQ==",
      "requires": {
        "@turf/distance": "^6.5.0",
        "@turf/helpers": "^6.5.0"
      }
    },
    "@turf/square-grid": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/square-grid/-/square-grid-6.5.0.tgz",
      "integrity": "sha512-mlR0ayUdA+L4c9h7p4k3pX6gPWHNGuZkt2c5II1TJRmhLkW2557d6b/Vjfd1z9OVaajb1HinIs1FMSAPXuuUrA==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/rectangle-grid": "^6.5.0"
      }
    },
    "@turf/standard-deviational-ellipse": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/standard-deviational-ellipse/-/standard-deviational-ellipse-6.5.0.tgz",
      "integrity": "sha512-02CAlz8POvGPFK2BKK8uHGUk/LXb0MK459JVjKxLC2yJYieOBTqEbjP0qaWhiBhGzIxSMaqe8WxZ0KvqdnstHA==",
      "requires": {
        "@turf/center-mean": "^6.5.0",
        "@turf/ellipse": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/meta": "^6.5.0",
        "@turf/points-within-polygon": "^6.5.0"
      }
    },
    "@turf/tag": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/tag/-/tag-6.5.0.tgz",
      "integrity": "sha512-XwlBvrOV38CQsrNfrxvBaAPBQgXMljeU0DV8ExOyGM7/hvuGHJw3y8kKnQ4lmEQcmcrycjDQhP7JqoRv8vFssg==",
      "requires": {
        "@turf/boolean-point-in-polygon": "^6.5.0",
        "@turf/clone": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/meta": "^6.5.0"
      }
    },
    "@turf/tesselate": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/tesselate/-/tesselate-6.5.0.tgz",
      "integrity": "sha512-M1HXuyZFCfEIIKkglh/r5L9H3c5QTEsnMBoZOFQiRnGPGmJWcaBissGb7mTFX2+DKE7FNWXh4TDnZlaLABB0dQ==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "earcut": "^2.0.0"
      }
    },
    "@turf/tin": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/tin/-/tin-6.5.0.tgz",
      "integrity": "sha512-YLYikRzKisfwj7+F+Tmyy/LE3d2H7D4kajajIfc9mlik2+esG7IolsX/+oUz1biguDYsG0DUA8kVYXDkobukfg==",
      "requires": {
        "@turf/helpers": "^6.5.0"
      }
    },
    "@turf/transform-rotate": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/transform-rotate/-/transform-rotate-6.5.0.tgz",
      "integrity": "sha512-A2Ip1v4246ZmpssxpcL0hhiVBEf4L8lGnSPWTgSv5bWBEoya2fa/0SnFX9xJgP40rMP+ZzRaCN37vLHbv1Guag==",
      "requires": {
        "@turf/centroid": "^6.5.0",
        "@turf/clone": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/meta": "^6.5.0",
        "@turf/rhumb-bearing": "^6.5.0",
        "@turf/rhumb-destination": "^6.5.0",
        "@turf/rhumb-distance": "^6.5.0"
      }
    },
    "@turf/transform-scale": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/transform-scale/-/transform-scale-6.5.0.tgz",
      "integrity": "sha512-VsATGXC9rYM8qTjbQJ/P7BswKWXHdnSJ35JlV4OsZyHBMxJQHftvmZJsFbOqVtQnIQIzf2OAly6rfzVV9QLr7g==",
      "requires": {
        "@turf/bbox": "^6.5.0",
        "@turf/center": "^6.5.0",
        "@turf/centroid": "^6.5.0",
        "@turf/clone": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/meta": "^6.5.0",
        "@turf/rhumb-bearing": "^6.5.0",
        "@turf/rhumb-destination": "^6.5.0",
        "@turf/rhumb-distance": "^6.5.0"
      }
    },
    "@turf/transform-translate": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/transform-translate/-/transform-translate-6.5.0.tgz",
      "integrity": "sha512-NABLw5VdtJt/9vSstChp93pc6oel4qXEos56RBMsPlYB8hzNTEKYtC146XJvyF4twJeeYS8RVe1u7KhoFwEM5w==",
      "requires": {
        "@turf/clone": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/meta": "^6.5.0",
        "@turf/rhumb-destination": "^6.5.0"
      }
    },
    "@turf/triangle-grid": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/triangle-grid/-/triangle-grid-6.5.0.tgz",
      "integrity": "sha512-2jToUSAS1R1htq4TyLQYPTIsoy6wg3e3BQXjm2rANzw4wPQCXGOxrur1Fy9RtzwqwljlC7DF4tg0OnWr8RjmfA==",
      "requires": {
        "@turf/distance": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/intersect": "^6.5.0"
      }
    },
    "@turf/truncate": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/truncate/-/truncate-6.5.0.tgz",
      "integrity": "sha512-pFxg71pLk+eJj134Z9yUoRhIi8vqnnKvCYwdT4x/DQl/19RVdq1tV3yqOT3gcTQNfniteylL5qV1uTBDV5sgrg==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/meta": "^6.5.0"
      }
    },
    "@turf/turf": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/turf/-/turf-6.5.0.tgz",
      "integrity": "sha512-ipMCPnhu59bh92MNt8+pr1VZQhHVuTMHklciQURo54heoxRzt1neNYZOBR6jdL+hNsbDGAECMuIpAutX+a3Y+w==",
      "requires": {
        "@turf/along": "^6.5.0",
        "@turf/angle": "^6.5.0",
        "@turf/area": "^6.5.0",
        "@turf/bbox": "^6.5.0",
        "@turf/bbox-clip": "^6.5.0",
        "@turf/bbox-polygon": "^6.5.0",
        "@turf/bearing": "^6.5.0",
        "@turf/bezier-spline": "^6.5.0",
        "@turf/boolean-clockwise": "^6.5.0",
        "@turf/boolean-contains": "^6.5.0",
        "@turf/boolean-crosses": "^6.5.0",
        "@turf/boolean-disjoint": "^6.5.0",
        "@turf/boolean-equal": "^6.5.0",
        "@turf/boolean-intersects": "^6.5.0",
        "@turf/boolean-overlap": "^6.5.0",
        "@turf/boolean-parallel": "^6.5.0",
        "@turf/boolean-point-in-polygon": "^6.5.0",
        "@turf/boolean-point-on-line": "^6.5.0",
        "@turf/boolean-within": "^6.5.0",
        "@turf/buffer": "^6.5.0",
        "@turf/center": "^6.5.0",
        "@turf/center-mean": "^6.5.0",
        "@turf/center-median": "^6.5.0",
        "@turf/center-of-mass": "^6.5.0",
        "@turf/centroid": "^6.5.0",
        "@turf/circle": "^6.5.0",
        "@turf/clean-coords": "^6.5.0",
        "@turf/clone": "^6.5.0",
        "@turf/clusters": "^6.5.0",
        "@turf/clusters-dbscan": "^6.5.0",
        "@turf/clusters-kmeans": "^6.5.0",
        "@turf/collect": "^6.5.0",
        "@turf/combine": "^6.5.0",
        "@turf/concave": "^6.5.0",
        "@turf/convex": "^6.5.0",
        "@turf/destination": "^6.5.0",
        "@turf/difference": "^6.5.0",
        "@turf/dissolve": "^6.5.0",
        "@turf/distance": "^6.5.0",
        "@turf/distance-weight": "^6.5.0",
        "@turf/ellipse": "^6.5.0",
        "@turf/envelope": "^6.5.0",
        "@turf/explode": "^6.5.0",
        "@turf/flatten": "^6.5.0",
        "@turf/flip": "^6.5.0",
        "@turf/great-circle": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/hex-grid": "^6.5.0",
        "@turf/interpolate": "^6.5.0",
        "@turf/intersect": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "@turf/isobands": "^6.5.0",
        "@turf/isolines": "^6.5.0",
        "@turf/kinks": "^6.5.0",
        "@turf/length": "^6.5.0",
        "@turf/line-arc": "^6.5.0",
        "@turf/line-chunk": "^6.5.0",
        "@turf/line-intersect": "^6.5.0",
        "@turf/line-offset": "^6.5.0",
        "@turf/line-overlap": "^6.5.0",
        "@turf/line-segment": "^6.5.0",
        "@turf/line-slice": "^6.5.0",
        "@turf/line-slice-along": "^6.5.0",
        "@turf/line-split": "^6.5.0",
        "@turf/line-to-polygon": "^6.5.0",
        "@turf/mask": "^6.5.0",
        "@turf/meta": "^6.5.0",
        "@turf/midpoint": "^6.5.0",
        "@turf/moran-index": "^6.5.0",
        "@turf/nearest-point": "^6.5.0",
        "@turf/nearest-point-on-line": "^6.5.0",
        "@turf/nearest-point-to-line": "^6.5.0",
        "@turf/planepoint": "^6.5.0",
        "@turf/point-grid": "^6.5.0",
        "@turf/point-on-feature": "^6.5.0",
        "@turf/point-to-line-distance": "^6.5.0",
        "@turf/points-within-polygon": "^6.5.0",
        "@turf/polygon-smooth": "^6.5.0",
        "@turf/polygon-tangents": "^6.5.0",
        "@turf/polygon-to-line": "^6.5.0",
        "@turf/polygonize": "^6.5.0",
        "@turf/projection": "^6.5.0",
        "@turf/random": "^6.5.0",
        "@turf/rewind": "^6.5.0",
        "@turf/rhumb-bearing": "^6.5.0",
        "@turf/rhumb-destination": "^6.5.0",
        "@turf/rhumb-distance": "^6.5.0",
        "@turf/sample": "^6.5.0",
        "@turf/sector": "^6.5.0",
        "@turf/shortest-path": "^6.5.0",
        "@turf/simplify": "^6.5.0",
        "@turf/square": "^6.5.0",
        "@turf/square-grid": "^6.5.0",
        "@turf/standard-deviational-ellipse": "^6.5.0",
        "@turf/tag": "^6.5.0",
        "@turf/tesselate": "^6.5.0",
        "@turf/tin": "^6.5.0",
        "@turf/transform-rotate": "^6.5.0",
        "@turf/transform-scale": "^6.5.0",
        "@turf/transform-translate": "^6.5.0",
        "@turf/triangle-grid": "^6.5.0",
        "@turf/truncate": "^6.5.0",
        "@turf/union": "^6.5.0",
        "@turf/unkink-polygon": "^6.5.0",
        "@turf/voronoi": "^6.5.0"
      }
    },
    "@turf/union": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/union/-/union-6.5.0.tgz",
      "integrity": "sha512-igYWCwP/f0RFHIlC2c0SKDuM/ObBaqSljI3IdV/x71805QbIvY/BYGcJdyNcgEA6cylIGl/0VSlIbpJHZ9ldhw==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "polygon-clipping": "^0.15.3"
      }
    },
    "@turf/unkink-polygon": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/unkink-polygon/-/unkink-polygon-6.5.0.tgz",
      "integrity": "sha512-8QswkzC0UqKmN1DT6HpA9upfa1HdAA5n6bbuzHy8NJOX8oVizVAqfEPY0wqqTgboDjmBR4yyImsdPGUl3gZ8JQ==",
      "requires": {
        "@turf/area": "^6.5.0",
        "@turf/boolean-point-in-polygon": "^6.5.0",
        "@turf/helpers": "^6.5.0",
        "@turf/meta": "^6.5.0",
        "rbush": "^2.0.1"
      },
      "dependencies": {
        "quickselect": {
          "version": "1.1.1",
          "resolved": "https://registry.npmmirror.com/quickselect/-/quickselect-1.1.1.tgz",
          "integrity": "sha512-qN0Gqdw4c4KGPsBOQafj6yj/PA6c/L63f6CaZ/DCF/xF4Esu3jVmKLUDYxghFx8Kb/O7y9tI7x2RjTSXwdK1iQ=="
        },
        "rbush": {
          "version": "2.0.2",
          "resolved": "https://registry.npmmirror.com/rbush/-/rbush-2.0.2.tgz",
          "integrity": "sha512-XBOuALcTm+O/H8G90b6pzu6nX6v2zCKiFG4BJho8a+bY6AER6t8uQUZdi5bomQc0AprCWhEGa7ncAbbRap0bRA==",
          "requires": {
            "quickselect": "^1.0.1"
          }
        }
      }
    },
    "@turf/voronoi": {
      "version": "6.5.0",
      "resolved": "https://registry.npmmirror.com/@turf/voronoi/-/voronoi-6.5.0.tgz",
      "integrity": "sha512-C/xUsywYX+7h1UyNqnydHXiun4UPjK88VDghtoRypR9cLlb7qozkiLRphQxxsCM0KxyxpVPHBVQXdAL3+Yurow==",
      "requires": {
        "@turf/helpers": "^6.5.0",
        "@turf/invariant": "^6.5.0",
        "d3-voronoi": "1.1.2"
      }
    },
    "@types/babel__core": {
      "version": "7.1.14",
      "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.14.tgz",
@@ -1783,6 +3056,11 @@
        "@types/qs": "*",
        "@types/range-parser": "*"
      }
    },
    "@types/geojson": {
      "version": "7946.0.8",
      "resolved": "https://registry.npmmirror.com/@types/geojson/-/geojson-7946.0.8.tgz",
      "integrity": "sha512-1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA=="
    },
    "@types/glob": {
      "version": "7.1.3",
@@ -2299,6 +3577,205 @@
        "tslint": "^5.20.1",
        "webpack": "^4.0.0",
        "yorkie": "^2.0.0"
      },
      "dependencies": {
        "ansi-styles": {
          "version": "4.3.0",
          "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
          "dev": true,
          "optional": true,
          "requires": {
            "color-convert": "^2.0.1"
          }
        },
        "chalk": {
          "version": "4.1.2",
          "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
          "dev": true,
          "optional": true,
          "requires": {
            "ansi-styles": "^4.1.0",
            "supports-color": "^7.1.0"
          }
        },
        "color-convert": {
          "version": "2.0.1",
          "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
          "dev": true,
          "optional": true,
          "requires": {
            "color-name": "~1.1.4"
          }
        },
        "color-name": {
          "version": "1.1.4",
          "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
          "dev": true,
          "optional": true
        },
        "cosmiconfig": {
          "version": "6.0.0",
          "resolved": "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
          "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
          "dev": true,
          "optional": true,
          "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"
          }
        },
        "fork-ts-checker-webpack-plugin-v5": {
          "version": "npm:fork-ts-checker-webpack-plugin@5.2.1",
          "resolved": "https://registry.npmmirror.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.2.1.tgz",
          "integrity": "sha512-SVi+ZAQOGbtAsUWrZvGzz38ga2YqjWvca1pXQFUArIVXqli0lLoDQ8uS0wg0kSpcwpZmaW5jVCZXQebkyUQSsw==",
          "dev": true,
          "optional": true,
          "requires": {
            "@babel/code-frame": "^7.8.3",
            "@types/json-schema": "^7.0.5",
            "chalk": "^4.1.0",
            "cosmiconfig": "^6.0.0",
            "deepmerge": "^4.2.2",
            "fs-extra": "^9.0.0",
            "memfs": "^3.1.2",
            "minimatch": "^3.0.4",
            "schema-utils": "2.7.0",
            "semver": "^7.3.2",
            "tapable": "^1.0.0"
          }
        },
        "fs-extra": {
          "version": "9.1.0",
          "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz",
          "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
          "dev": true,
          "optional": true,
          "requires": {
            "at-least-node": "^1.0.0",
            "graceful-fs": "^4.2.0",
            "jsonfile": "^6.0.1",
            "universalify": "^2.0.0"
          }
        },
        "has-flag": {
          "version": "4.0.0",
          "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
          "dev": true,
          "optional": true
        },
        "import-fresh": {
          "version": "3.3.0",
          "resolved": "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz",
          "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
          "dev": true,
          "optional": true,
          "requires": {
            "parent-module": "^1.0.0",
            "resolve-from": "^4.0.0"
          }
        },
        "jsonfile": {
          "version": "6.1.0",
          "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz",
          "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
          "dev": true,
          "optional": true,
          "requires": {
            "graceful-fs": "^4.1.6",
            "universalify": "^2.0.0"
          }
        },
        "lru-cache": {
          "version": "6.0.0",
          "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz",
          "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
          "dev": true,
          "optional": true,
          "requires": {
            "yallist": "^4.0.0"
          }
        },
        "parse-json": {
          "version": "5.2.0",
          "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz",
          "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
          "dev": true,
          "optional": true,
          "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-type": {
          "version": "4.0.0",
          "resolved": "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz",
          "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
          "dev": true,
          "optional": true
        },
        "resolve-from": {
          "version": "4.0.0",
          "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz",
          "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
          "dev": true,
          "optional": true
        },
        "schema-utils": {
          "version": "2.7.0",
          "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-2.7.0.tgz",
          "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==",
          "dev": true,
          "optional": true,
          "requires": {
            "@types/json-schema": "^7.0.4",
            "ajv": "^6.12.2",
            "ajv-keywords": "^3.4.1"
          }
        },
        "semver": {
          "version": "7.6.0",
          "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz",
          "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
          "dev": true,
          "optional": true,
          "requires": {
            "lru-cache": "^6.0.0"
          }
        },
        "supports-color": {
          "version": "7.2.0",
          "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
          "dev": true,
          "optional": true,
          "requires": {
            "has-flag": "^4.0.0"
          }
        },
        "universalify": {
          "version": "2.0.1",
          "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz",
          "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
          "dev": true,
          "optional": true
        },
        "yallist": {
          "version": "4.0.0",
          "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
          "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
          "dev": true,
          "optional": true
        }
      }
    },
    "@vue/cli-plugin-unit-jest": {
@@ -2392,6 +3869,87 @@
        "webpack-chain": "^6.4.0",
        "webpack-dev-server": "^3.11.0",
        "webpack-merge": "^4.2.2"
      },
      "dependencies": {
        "ansi-styles": {
          "version": "4.3.0",
          "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
          "dev": true,
          "optional": true,
          "requires": {
            "color-convert": "^2.0.1"
          }
        },
        "chalk": {
          "version": "4.1.2",
          "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
          "dev": true,
          "optional": true,
          "requires": {
            "ansi-styles": "^4.1.0",
            "supports-color": "^7.1.0"
          }
        },
        "color-convert": {
          "version": "2.0.1",
          "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
          "dev": true,
          "optional": true,
          "requires": {
            "color-name": "~1.1.4"
          }
        },
        "color-name": {
          "version": "1.1.4",
          "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
          "dev": true,
          "optional": true
        },
        "has-flag": {
          "version": "4.0.0",
          "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
          "dev": true,
          "optional": true
        },
        "loader-utils": {
          "version": "2.0.4",
          "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz",
          "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
          "dev": true,
          "optional": true,
          "requires": {
            "big.js": "^5.2.2",
            "emojis-list": "^3.0.0",
            "json5": "^2.1.2"
          }
        },
        "supports-color": {
          "version": "7.2.0",
          "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
          "dev": true,
          "optional": true,
          "requires": {
            "has-flag": "^4.0.0"
          }
        },
        "vue-loader-v16": {
          "version": "npm:vue-loader@16.8.3",
          "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-16.8.3.tgz",
          "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
          "dev": true,
          "optional": true,
          "requires": {
            "chalk": "^4.1.0",
            "hash-sum": "^2.0.0",
            "loader-utils": "^2.0.0"
          }
        }
      }
    },
    "@vue/cli-shared-utils": {
@@ -4477,8 +6035,7 @@
    "commander": {
      "version": "2.15.1",
      "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz",
      "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==",
      "dev": true
      "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag=="
    },
    "common-tags": {
      "version": "1.8.0",
@@ -4574,6 +6131,17 @@
        "inherits": "^2.0.3",
        "readable-stream": "^2.2.2",
        "typedarray": "^0.0.6"
      }
    },
    "concaveman": {
      "version": "1.2.1",
      "resolved": "https://registry.npmmirror.com/concaveman/-/concaveman-1.2.1.tgz",
      "integrity": "sha512-PwZYKaM/ckQSa8peP5JpVr7IMJ4Nn/MHIaWUjP4be+KoZ7Botgs8seAZGpmaOM+UZXawcdYRao/px9ycrCihHw==",
      "requires": {
        "point-in-polygon": "^1.1.0",
        "rbush": "^3.0.1",
        "robust-predicates": "^2.0.4",
        "tinyqueue": "^2.0.3"
      }
    },
    "condense-newlines": {
@@ -4685,6 +6253,11 @@
      "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
      "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
      "dev": true
    },
    "coordtransform": {
      "version": "2.1.2",
      "resolved": "https://registry.npmmirror.com/coordtransform/-/coordtransform-2.1.2.tgz",
      "integrity": "sha512-0xLJApBlrUP+clyLJWIaqg4GXE5JTbAJb5d/CDMqebIksAMMze8eAyO6YfHEIxWJ+c42mXoMHBzWTeUrG7RFhw=="
    },
    "copy-anything": {
      "version": "2.0.3",
@@ -5402,6 +6975,24 @@
        }
      }
    },
    "d3-array": {
      "version": "1.2.4",
      "resolved": "https://registry.npmmirror.com/d3-array/-/d3-array-1.2.4.tgz",
      "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw=="
    },
    "d3-geo": {
      "version": "1.7.1",
      "resolved": "https://registry.npmmirror.com/d3-geo/-/d3-geo-1.7.1.tgz",
      "integrity": "sha512-O4AempWAr+P5qbk2bC2FuN/sDW4z+dN2wDf9QV3bxQt4M5HfOEeXLgJ/UKQW0+o1Dj8BE+L5kiDbdWUMjsmQpw==",
      "requires": {
        "d3-array": "1"
      }
    },
    "d3-voronoi": {
      "version": "1.1.2",
      "resolved": "https://registry.npmmirror.com/d3-voronoi/-/d3-voronoi-1.1.2.tgz",
      "integrity": "sha512-RhGS1u2vavcO7ay7ZNAPo4xeDh/VYeGof3x5ZLJBQgYhLegxr3s5IykvWmJ94FTU6mcbtp4sloqZ54mP6R4Utw=="
    },
    "dashdash": {
      "version": "1.14.1",
      "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
@@ -5481,7 +7072,6 @@
      "version": "1.1.1",
      "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz",
      "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==",
      "dev": true,
      "requires": {
        "is-arguments": "^1.0.4",
        "is-date-object": "^1.0.1",
@@ -5591,7 +7181,6 @@
      "version": "1.1.3",
      "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
      "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
      "dev": true,
      "requires": {
        "object-keys": "^1.0.12"
      }
@@ -5661,6 +7250,11 @@
      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
      "dev": true
    },
    "density-clustering": {
      "version": "1.3.0",
      "resolved": "https://registry.npmmirror.com/density-clustering/-/density-clustering-1.3.0.tgz",
      "integrity": "sha512-icpmBubVTwLnsaor9qH/4tG5+7+f61VcqMN3V3pm9sxxSCt2Jcs0zWOgwZW9ARJYaKD3FumIgHiMOcIMRRAzFQ=="
    },
    "depd": {
      "version": "1.1.2",
@@ -5912,6 +7506,11 @@
        "readable-stream": "^2.0.0",
        "stream-shift": "^1.0.0"
      }
    },
    "earcut": {
      "version": "2.2.4",
      "resolved": "https://registry.npmmirror.com/earcut/-/earcut-2.2.4.tgz",
      "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ=="
    },
    "easy-stack": {
      "version": "1.0.1",
@@ -7409,205 +9008,6 @@
        }
      }
    },
    "fork-ts-checker-webpack-plugin-v5": {
      "version": "npm:fork-ts-checker-webpack-plugin@5.2.1",
      "resolved": "https://registry.npmmirror.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.2.1.tgz",
      "integrity": "sha512-SVi+ZAQOGbtAsUWrZvGzz38ga2YqjWvca1pXQFUArIVXqli0lLoDQ8uS0wg0kSpcwpZmaW5jVCZXQebkyUQSsw==",
      "dev": true,
      "optional": true,
      "requires": {
        "@babel/code-frame": "^7.8.3",
        "@types/json-schema": "^7.0.5",
        "chalk": "^4.1.0",
        "cosmiconfig": "^6.0.0",
        "deepmerge": "^4.2.2",
        "fs-extra": "^9.0.0",
        "memfs": "^3.1.2",
        "minimatch": "^3.0.4",
        "schema-utils": "2.7.0",
        "semver": "^7.3.2",
        "tapable": "^1.0.0"
      },
      "dependencies": {
        "ansi-styles": {
          "version": "4.3.0",
          "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
          "dev": true,
          "optional": true,
          "requires": {
            "color-convert": "^2.0.1"
          }
        },
        "chalk": {
          "version": "4.1.2",
          "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
          "dev": true,
          "optional": true,
          "requires": {
            "ansi-styles": "^4.1.0",
            "supports-color": "^7.1.0"
          }
        },
        "color-convert": {
          "version": "2.0.1",
          "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
          "dev": true,
          "optional": true,
          "requires": {
            "color-name": "~1.1.4"
          }
        },
        "color-name": {
          "version": "1.1.4",
          "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
          "dev": true,
          "optional": true
        },
        "cosmiconfig": {
          "version": "6.0.0",
          "resolved": "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
          "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
          "dev": true,
          "optional": true,
          "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"
          }
        },
        "fs-extra": {
          "version": "9.1.0",
          "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz",
          "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
          "dev": true,
          "optional": true,
          "requires": {
            "at-least-node": "^1.0.0",
            "graceful-fs": "^4.2.0",
            "jsonfile": "^6.0.1",
            "universalify": "^2.0.0"
          }
        },
        "has-flag": {
          "version": "4.0.0",
          "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
          "dev": true,
          "optional": true
        },
        "import-fresh": {
          "version": "3.3.0",
          "resolved": "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz",
          "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
          "dev": true,
          "optional": true,
          "requires": {
            "parent-module": "^1.0.0",
            "resolve-from": "^4.0.0"
          }
        },
        "jsonfile": {
          "version": "6.1.0",
          "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz",
          "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
          "dev": true,
          "optional": true,
          "requires": {
            "graceful-fs": "^4.1.6",
            "universalify": "^2.0.0"
          }
        },
        "lru-cache": {
          "version": "6.0.0",
          "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz",
          "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
          "dev": true,
          "optional": true,
          "requires": {
            "yallist": "^4.0.0"
          }
        },
        "parse-json": {
          "version": "5.2.0",
          "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz",
          "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
          "dev": true,
          "optional": true,
          "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-type": {
          "version": "4.0.0",
          "resolved": "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz",
          "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
          "dev": true,
          "optional": true
        },
        "resolve-from": {
          "version": "4.0.0",
          "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz",
          "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
          "dev": true,
          "optional": true
        },
        "schema-utils": {
          "version": "2.7.0",
          "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-2.7.0.tgz",
          "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==",
          "dev": true,
          "optional": true,
          "requires": {
            "@types/json-schema": "^7.0.4",
            "ajv": "^6.12.2",
            "ajv-keywords": "^3.4.1"
          }
        },
        "semver": {
          "version": "7.5.4",
          "resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.4.tgz",
          "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
          "dev": true,
          "optional": true,
          "requires": {
            "lru-cache": "^6.0.0"
          }
        },
        "supports-color": {
          "version": "7.2.0",
          "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
          "dev": true,
          "optional": true,
          "requires": {
            "has-flag": "^4.0.0"
          }
        },
        "universalify": {
          "version": "2.0.0",
          "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.0.tgz",
          "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
          "dev": true,
          "optional": true
        },
        "yallist": {
          "version": "4.0.0",
          "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
          "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
          "dev": true,
          "optional": true
        }
      }
    },
    "form-data": {
      "version": "2.3.3",
      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
@@ -7703,6 +9103,26 @@
      "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
      "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
      "dev": true
    },
    "geojson-equality": {
      "version": "0.1.6",
      "resolved": "https://registry.npmmirror.com/geojson-equality/-/geojson-equality-0.1.6.tgz",
      "integrity": "sha512-TqG8YbqizP3EfwP5Uw4aLu6pKkg6JQK9uq/XZ1lXQntvTHD1BBKJWhNpJ2M0ax6TuWMP3oyx6Oq7FCIfznrgpQ==",
      "requires": {
        "deep-equal": "^1.0.0"
      }
    },
    "geojson-rbush": {
      "version": "3.2.0",
      "resolved": "https://registry.npmmirror.com/geojson-rbush/-/geojson-rbush-3.2.0.tgz",
      "integrity": "sha512-oVltQTXolxvsz1sZnutlSuLDEcQAKYC/uXt9zDzJJ6bu0W+baTI8LZBaTup5afzibEH4N3jlq2p+a152wlBJ7w==",
      "requires": {
        "@turf/bbox": "*",
        "@turf/helpers": "6.x",
        "@turf/meta": "6.x",
        "@types/geojson": "7946.0.8",
        "rbush": "^3.0.1"
      }
    },
    "get-caller-file": {
      "version": "2.0.5",
@@ -8518,7 +9938,6 @@
      "version": "1.1.0",
      "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz",
      "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==",
      "dev": true,
      "requires": {
        "call-bind": "^1.0.0"
      }
@@ -8609,8 +10028,7 @@
    "is-date-object": {
      "version": "1.0.4",
      "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz",
      "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==",
      "dev": true
      "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A=="
    },
    "is-descriptor": {
      "version": "1.0.2",
@@ -8789,7 +10207,6 @@
      "version": "1.1.3",
      "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz",
      "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==",
      "dev": true,
      "requires": {
        "call-bind": "^1.0.2",
        "has-symbols": "^1.0.2"
@@ -11519,7 +12936,6 @@
      "version": "1.1.5",
      "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz",
      "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==",
      "dev": true,
      "requires": {
        "call-bind": "^1.0.2",
        "define-properties": "^1.1.3"
@@ -11528,8 +12944,7 @@
    "object-keys": {
      "version": "1.1.1",
      "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
      "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
      "dev": true
      "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
    },
    "object-visit": {
      "version": "1.0.1",
@@ -12101,6 +13516,27 @@
      "dev": true,
      "requires": {
        "ts-pnp": "^1.1.6"
      }
    },
    "point-in-polygon": {
      "version": "1.1.0",
      "resolved": "https://registry.npmmirror.com/point-in-polygon/-/point-in-polygon-1.1.0.tgz",
      "integrity": "sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw=="
    },
    "polygon-clipping": {
      "version": "0.15.7",
      "resolved": "https://registry.npmmirror.com/polygon-clipping/-/polygon-clipping-0.15.7.tgz",
      "integrity": "sha512-nhfdr83ECBg6xtqOAJab1tbksbBAOMUltN60bU+llHVOL0e5Onm1WpAXXWXVB39L8AJFssoIhEVuy/S90MmotA==",
      "requires": {
        "robust-predicates": "^3.0.2",
        "splaytree": "^3.1.0"
      },
      "dependencies": {
        "robust-predicates": {
          "version": "3.0.2",
          "resolved": "https://registry.npmmirror.com/robust-predicates/-/robust-predicates-3.0.2.tgz",
          "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg=="
        }
      }
    },
    "portfinder": {
@@ -12974,6 +14410,11 @@
      "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
      "dev": true
    },
    "quickselect": {
      "version": "2.0.0",
      "resolved": "https://registry.npmmirror.com/quickselect/-/quickselect-2.0.0.tgz",
      "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw=="
    },
    "raf": {
      "version": "3.4.1",
      "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz",
@@ -13023,6 +14464,14 @@
        "http-errors": "1.7.2",
        "iconv-lite": "0.4.24",
        "unpipe": "1.0.0"
      }
    },
    "rbush": {
      "version": "3.0.1",
      "resolved": "https://registry.npmmirror.com/rbush/-/rbush-3.0.1.tgz",
      "integrity": "sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==",
      "requires": {
        "quickselect": "^2.0.0"
      }
    },
    "react-is": {
@@ -13157,7 +14606,6 @@
      "version": "1.3.1",
      "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz",
      "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==",
      "dev": true,
      "requires": {
        "call-bind": "^1.0.2",
        "define-properties": "^1.1.3"
@@ -13445,6 +14893,11 @@
        "hash-base": "^3.0.0",
        "inherits": "^2.0.1"
      }
    },
    "robust-predicates": {
      "version": "2.0.4",
      "resolved": "https://registry.npmmirror.com/robust-predicates/-/robust-predicates-2.0.4.tgz",
      "integrity": "sha512-l4NwboJM74Ilm4VKfbAtFeGq7aEjWL+5kVFcmgFA2MrdnQWx9iE/tUGvxY5HyMI7o/WpSIUFLbC5fbeaHgSCYg=="
    },
    "rsvp": {
      "version": "4.8.5",
@@ -13856,6 +15309,11 @@
      "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
      "dev": true
    },
    "skmeans": {
      "version": "0.9.7",
      "resolved": "https://registry.npmmirror.com/skmeans/-/skmeans-0.9.7.tgz",
      "integrity": "sha512-hNj1/oZ7ygsfmPZ7ZfN5MUBRoGg1gtpnImuJBgLO0ljQ67DtJuiQaiYdS4lUA6s0KCwnPhGivtC/WRwIZLkHyg=="
    },
    "slash": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
@@ -14197,6 +15655,11 @@
          }
        }
      }
    },
    "splaytree": {
      "version": "3.1.2",
      "resolved": "https://registry.npmmirror.com/splaytree/-/splaytree-3.1.2.tgz",
      "integrity": "sha512-4OM2BJgC5UzrhVnnJA4BkHKGtjXNzzUfpQjCO8I05xYPsfS/VuQDwjCGGMi8rYQilHEV4j8NBqTFbls/PZEE7A=="
    },
    "split-string": {
      "version": "3.1.0",
@@ -14838,6 +16301,11 @@
      "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz",
      "integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA=="
    },
    "tinyqueue": {
      "version": "2.0.3",
      "resolved": "https://registry.npmmirror.com/tinyqueue/-/tinyqueue-2.0.3.tgz",
      "integrity": "sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA=="
    },
    "tmp": {
      "version": "0.1.0",
      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.1.0.tgz",
@@ -14919,6 +16387,22 @@
      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
      "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
      "dev": true
    },
    "topojson-client": {
      "version": "3.1.0",
      "resolved": "https://registry.npmmirror.com/topojson-client/-/topojson-client-3.1.0.tgz",
      "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==",
      "requires": {
        "commander": "2"
      }
    },
    "topojson-server": {
      "version": "3.0.1",
      "resolved": "https://registry.npmmirror.com/topojson-server/-/topojson-server-3.0.1.tgz",
      "integrity": "sha512-/VS9j/ffKr2XAOjlZ9CgyyeLmgJ9dMwq6Y0YEON8O7p/tGGk+dCWnrE03zEdu7i4L7YsFZLEPZPzCvcB7lEEXw==",
      "requires": {
        "commander": "2"
      }
    },
    "toposort": {
      "version": "1.0.7",
@@ -15085,6 +16569,11 @@
      "requires": {
        "safe-buffer": "^5.0.1"
      }
    },
    "turf-jsts": {
      "version": "1.2.3",
      "resolved": "https://registry.npmmirror.com/turf-jsts/-/turf-jsts-1.2.3.tgz",
      "integrity": "sha512-Ja03QIJlPuHt4IQ2FfGex4F4JAr8m3jpaHbFbQrgwr7s7L6U8ocrHiF3J1+wf9jzhGKxvDeaCAnGDot8OjGFyA=="
    },
    "tweetnacl": {
      "version": "0.14.5",
@@ -15647,87 +17136,6 @@
          "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz",
          "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=",
          "dev": true
        }
      }
    },
    "vue-loader-v16": {
      "version": "npm:vue-loader@16.8.3",
      "resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-16.8.3.tgz",
      "integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
      "dev": true,
      "optional": true,
      "requires": {
        "chalk": "^4.1.0",
        "hash-sum": "^2.0.0",
        "loader-utils": "^2.0.0"
      },
      "dependencies": {
        "ansi-styles": {
          "version": "4.3.0",
          "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
          "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
          "dev": true,
          "optional": true,
          "requires": {
            "color-convert": "^2.0.1"
          }
        },
        "chalk": {
          "version": "4.1.2",
          "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
          "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
          "dev": true,
          "optional": true,
          "requires": {
            "ansi-styles": "^4.1.0",
            "supports-color": "^7.1.0"
          }
        },
        "color-convert": {
          "version": "2.0.1",
          "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
          "dev": true,
          "optional": true,
          "requires": {
            "color-name": "~1.1.4"
          }
        },
        "color-name": {
          "version": "1.1.4",
          "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
          "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
          "dev": true,
          "optional": true
        },
        "has-flag": {
          "version": "4.0.0",
          "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
          "dev": true,
          "optional": true
        },
        "loader-utils": {
          "version": "2.0.4",
          "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz",
          "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
          "dev": true,
          "optional": true,
          "requires": {
            "big.js": "^5.2.2",
            "emojis-list": "^3.0.0",
            "json5": "^2.1.2"
          }
        },
        "supports-color": {
          "version": "7.2.0",
          "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
          "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
          "dev": true,
          "optional": true,
          "requires": {
            "has-flag": "^4.0.0"
          }
        }
      }
    },
package.json
@@ -11,12 +11,14 @@
  },
  "dependencies": {
    "@amap/amap-vue": "^2.0.13",
    "@turf/turf": "^6.5.0",
    "@types/lodash": "^4.14.149",
    "@types/mockjs": "^1.0.1",
    "@types/numeral": "^0.0.26",
    "@types/qs": "^6.9.0",
    "ant-design-vue": "^1.7.5",
    "axios": "^0.19.0",
    "coordtransform": "^2.1.2",
    "core-js": "^3.4.3",
    "crypto-js": "^4.0.0",
    "date-fns": "^2.8.1",
public/index.html
@@ -1,143 +1,150 @@
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width,initial-scale=1.0" />
    <script
      type="text/javascript"
      src="//api.map.baidu.com/api?type=webgl&v=2.0&ak=9FrZ6v3P8xS290ygi40M5Ik3Fgwes4KY"
    ></script>
    <link
      href="//mapopen.cdn.bcebos.com/github/BMapGLLib/DrawingManager/src/DrawingManager.min.css"
      rel="stylesheet"
    />
    <script
      type="text/javascript"
      src="//mapopen.cdn.bcebos.com/github/BMapGLLib/DrawingManager/src/DrawingManager.min.js"
    ></script>
    <script src="https://webapi.amap.com/loca?v=1.3.2&key=be57d4add7dc10fb7f7924763a2179ae&plugin=AMap.MarkerClusterer"></script>
    <link rel="icon" href="<%= BASE_URL %>logo.ico" />
    <link />
    <title>七星瓢虫环境科技</title>
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width,initial-scale=1.0">
  <script type="text/javascript"
    src="//api.map.baidu.com/api?type=webgl&v=2.0&ak=9FrZ6v3P8xS290ygi40M5Ik3Fgwes4KY"></script>
  <script
    src="https://webapi.amap.com/loca?v=1.3.2&key=be57d4add7dc10fb7f7924763a2179ae&plugin=AMap.MarkerClusterer"></script>
  <link rel="icon" href="<%= BASE_URL %>logo.ico">
  <link />
  <title>七星瓢虫环境科技</title>
  <style type="text/css">
    .preloader {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      overflow: hidden;
      background: #49a9ee;
      z-index: 9999;
      transition: opacity .65s
    }
    .preloader-hidden-add {
      opacity: 1;
      display: block
    }
    .preloader-hidden-add-active {
      opacity: 0
    }
    .preloader-hidden {
      display: none
    }
    .cs-loader {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%
    }
    .cs-loader-inner {
      transform: translateY(-50%);
      top: 50%;
      position: absolute;
      width: 100%;
      color: #fff;
      text-align: center
    }
    .cs-loader-inner label {
      font-size: 20px;
      opacity: 0;
      display: inline-block
    }
    @keyframes lol {
      0% {
        opacity: 0;
        transform: translateX(-300px)
    <style type="text/css">
      .preloader {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        overflow: hidden;
        background: #49a9ee;
        z-index: 9999;
        transition: opacity 0.65s;
      }
      33% {
      .preloader-hidden-add {
        opacity: 1;
        transform: translateX(0)
        display: block;
      }
      66% {
        opacity: 1;
        transform: translateX(0)
      }
      100% {
      .preloader-hidden-add-active {
        opacity: 0;
        transform: translateX(300px)
      }
    }
    .cs-loader-inner label:nth-child(6) {
      animation: lol 3s infinite ease-in-out
    }
      .preloader-hidden {
        display: none;
      }
    .cs-loader-inner label:nth-child(5) {
      animation: lol 3s .1s infinite ease-in-out
    }
      .cs-loader {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
      }
    .cs-loader-inner label:nth-child(4) {
      animation: lol 3s .2s infinite ease-in-out
    }
      .cs-loader-inner {
        transform: translateY(-50%);
        top: 50%;
        position: absolute;
        width: 100%;
        color: #fff;
        text-align: center;
      }
    .cs-loader-inner label:nth-child(3) {
      animation: lol 3s .3s infinite ease-in-out
    }
      .cs-loader-inner label {
        font-size: 20px;
        opacity: 0;
        display: inline-block;
      }
    .cs-loader-inner label:nth-child(2) {
      animation: lol 3s .4s infinite ease-in-out
    }
      @keyframes lol {
        0% {
          opacity: 0;
          transform: translateX(-300px);
        }
    .cs-loader-inner label:nth-child(1) {
      animation: lol 3s .5s infinite ease-in-out
    }
  </style>
</head>
        33% {
          opacity: 1;
          transform: translateX(0);
        }
<body class="has-ad-rt">
  <noscript>
    <strong>We're sorry but vue-alain doesn't work properly without JavaScript enabled. Please enable it to
      continue.</strong>
  </noscript>
        66% {
          opacity: 1;
          transform: translateX(0);
        }
  <div id="app"></div>
  <div class="preloader">
    <div class="cs-loader">
      <div class="cs-loader-inner">
        <label> ●</label>
        <label> ●</label>
        <label> ●</label>
        <label> ●</label>
        <label> ●</label>
        <label> ●</label>
        100% {
          opacity: 0;
          transform: translateX(300px);
        }
      }
      .cs-loader-inner label:nth-child(6) {
        animation: lol 3s infinite ease-in-out;
      }
      .cs-loader-inner label:nth-child(5) {
        animation: lol 3s 0.1s infinite ease-in-out;
      }
      .cs-loader-inner label:nth-child(4) {
        animation: lol 3s 0.2s infinite ease-in-out;
      }
      .cs-loader-inner label:nth-child(3) {
        animation: lol 3s 0.3s infinite ease-in-out;
      }
      .cs-loader-inner label:nth-child(2) {
        animation: lol 3s 0.4s infinite ease-in-out;
      }
      .cs-loader-inner label:nth-child(1) {
        animation: lol 3s 0.5s infinite ease-in-out;
      }
    </style>
  </head>
  <body class="has-ad-rt">
    <noscript>
      <strong
        >We're sorry but vue-alain doesn't work properly without JavaScript
        enabled. Please enable it to continue.</strong
      >
    </noscript>
    <div id="app"></div>
    <div class="preloader">
      <div class="cs-loader">
        <div class="cs-loader-inner">
          <label> ●</label>
          <label> ●</label>
          <label> ●</label>
          <label> ●</label>
          <label> ●</label>
          <label> ●</label>
        </div>
      </div>
    </div>
  </div>
  <!-- built files will be auto injected -->
    <!-- built files will be auto injected -->
  </body>
</body>
<script type="text/javascript">
  window._AMapSecurityConfig = {
    securityJsCode: '20fcbbc1782d2853f433831e61fab769',
  }
</script>
</html>
  <script type="text/javascript">
    window._AMapSecurityConfig = {
      securityJsCode: "20fcbbc1782d2853f433831e61fab769",
    };
  </script>
</html>
src/views/list/road.vue
@@ -38,6 +38,9 @@
        <a-button type="primary" style="margin-left: 10px" @click="selectLu"
          >搜索</a-button
        >
        <a-button type="primary" style="margin-left: 10px" @click="clearPolygon"
          >清除绘制</a-button
        >
      </div>
      <div class="left-two">
        <a-table
@@ -142,6 +145,22 @@
    </a-modal>
    <div class="right">
      <div id="roadmap" class="roadmap"></div>
      <ul class="drawing-panel">
        <li
          class="bmap-btn bmap-rectangle"
          @click="draw('rectangle')"
          :style="{
            'background-position-y': actNav === 'rectangle' ? '-52px' : '0px',
          }"
        ></li>
        <li
          class="bmap-btn bmap-polygon"
          @click="draw('polygon')"
          :style="{
            'background-position-y': actNav === 'polygon' ? '-52px' : '0px',
          }"
        ></li>
      </ul>
    </div>
    <div class="fixeds" v-show="showfix === true">
      <div style="font-size: 20px; margin-left: 50px; margin-top: 50px">
@@ -163,12 +182,14 @@
<script lang="tsx">
import { Component, Prop, Vue, Model, Watch } from "vue-property-decorator";
import { get, post } from "@/util/request";
import * as turf from "@turf/turf";
import org from "@/util/org";
import axios from "axios";
import { jsonp } from "vue-jsonp";
import any = jasmine.any;
import { da } from "date-fns/locale";
import { Moment } from "moment";
import coordtransform from "coordtransform";
@Component({
  components: {},
})
@@ -183,6 +204,8 @@
    ];
  }
  private mounted() {
    let a = coordtransform.bd09togcj02(120.16669577, 33.35188998);
    console.log("bd09togcj02:", coordtransform.gcj02towgs84(a[0], a[1]));
    this.roadmap();
  }
  private dateFormat(fmt: string, date: any) {
@@ -211,12 +234,26 @@
    return fmt;
  }
  private map: any;
  private drawingManager: any;
  private roadmap() {
    this.map = new BMapGL.Map("roadmap");
    this.map = new BMapGL.Map("roadmap", {
      enableMapClick: false, //取消默认窗口
    });
    // 设置地图中心点和缩放级别
    var point = new BMapGL.Point(116.404, 39.915);
    this.map.centerAndZoom("苏州市", 15);
    this.map.enableScrollWheelZoom(true); // 开启鼠标滚轮,地图可以进行放大、缩小s
    this.drawingManager = new BMapGLLib.DrawingManager(this.map, {
      // isOpen: true, // 是否开启绘制模式
      enableCalculate: false, // 绘制是否进行测距测面
      enableSorption: true, // 是否开启边界吸附功能
      sorptiondistance: 20, // 边界吸附距离
      circleOptions: this.styleOptions, // 圆的样式
      polylineOptions: this.styleOptions, // 线的样式
      polygonOptions: this.styleOptions, // 多边形的样式
      rectangleOptions: this.styleOptions, // 矩形的样式
      labelOptions: this.labelOptions, // label样式
    });
  }
  private dataSource: any[] = [];
  private visibleCreateModal1: boolean = false;
@@ -287,7 +324,7 @@
      </div>
    );
  }
  private deleteDevice(record) {
  private deleteDevice(record: any) {
    get("coordinate/deleteCruiserRoad", {
      id: record.coordinateId,
    }).then((res) => {
@@ -299,12 +336,28 @@
  private pointshow: boolean = false;
  private batchid: any = 0;
  private batchshow: boolean = false;
  private handleEditbatch(record) {
  private handleEditbatch(record: any) {
    let ptsWithin = turf.pointsWithinPolygon(this.multiPt, this.turfPolygon);
    console.log("ptsWithin", ptsWithin);
    let data: { flylon: number; flylat: number }[] = [];
    turf.coordEach(ptsWithin, (currentCoord) => {
      data.push({
        flylon: currentCoord[0],
        flylat: currentCoord[1],
      });
    });
    console.log("data", data);
    this.check = false;
    this.startstate = "batch";
    this.batchshow = true;
    // this.selectCar();
    this.batchid = record.coordinateId;
    post("coordinateDetail/batch", {
      coordinateId: record.coordinateId,
      list: data,
      mac: this.carvalue,
    }).then((res) => {
      console.log(res);
      this.$message.success(res.data.message);
      // this.selectCar()
    });
  }
  private handlebatch() {
    // this.selectCar()
@@ -316,10 +369,10 @@
    this.endtime = "";
  }
  private insertbatch() {
    console.log("this.starttime", this.starttime);
    console.log("this.starttime", this.endtime);
    post("coordinateDetail/batch", {
      coordinateId: this.batchid,
      time1: this.starttime,
      time2: this.endtime,
      mac: this.carvalue,
    }).then((res) => {
      console.log(res);
@@ -331,7 +384,7 @@
  }
  private upa = "";
  private recordid: any = 0;
  private handleEditModalVisible(record) {
  private handleEditModalVisible(record: any) {
    console.log("dataList", this.dataList);
    this.check = false;
    this.handlebatch();
@@ -451,13 +504,71 @@
  private endtime: any = "";
  private InfoWindow = null;
  private startstate: any = "none";
  private setMarker(res) {
  private styleOptions = {
    strokeColor: "#5E87DB", // 边线颜色
    fillColor: "#5E87DB", // 填充颜色。当参数为空时,圆形没有填充颜色
    strokeWeight: 2, // 边线宽度,以像素为单位
    strokeOpacity: 1, // 边线透明度,取值范围0-1
    fillOpacity: 0.2, // 填充透明度,取值范围0-1
  };
  private labelOptions = {
    borderRadius: "2px",
    background: "#FFFBCC",
    border: "1px solid #E1E1E1",
    color: "#703A04",
    fontSize: "12px",
    letterSpacing: "0",
    padding: "5px",
  };
  private actNav: String = "";
  private clearPolygon() {
    this.drawingManager.clearOverlays();
  }
  private turfPolygon: any = null;
  private draw(drawingType: String) {
    console.log("new BMapGLLib", this.drawingManager);
    this.actNav = drawingType;
    if (
      this.drawingManager._isOpen &&
      this.drawingManager.getDrawingMode() === drawingType
    ) {
      this.drawingManager.close();
    } else {
      this.drawingManager.setDrawingMode(drawingType);
      this.drawingManager.open();
    }
    // 监听矩形绘制完成事件
    this.drawingManager.addEventListener("overlaycomplete", (e: any) => {
      // 获取矩形对象
      this.actNav = "";
      const polygon = e.overlay;
      // 获取矩形的四个顶点
      const polygonPoints = polygon.getPath();
      console.log("polygonPoints1", polygonPoints);
      let transformationPoints = polygonPoints.map((coord: any) => {
        const [x, y] = [coord.lng, coord.lat];
        const [lng1, lat1] = coordtransform.bd09togcj02(x, y);
        const [lng2, lat2] = coordtransform.gcj02towgs84(lng1, lat1);
        return { lng: lng2, lat: lat2 };
      });
      console.log("polygonPoints2", transformationPoints);
      this.turfPolygon = turf.polygon([
        transformationPoints.map((item: any) => [item.lng, item.lat]),
      ]);
    });
  }
  private multiPt: any = [];
  private setMarker(res: any) {
    const that = this;
    that.carDate = [];
    that.carDataList = [];
    let pointSlint = [];
    for (var i = 0; i < res.data.data.rsData.length; i++) {
      that.carDate.push(res.data.data.rsData[i]);
      pointSlint.push(res.data.data.rsData[i].data.split("_").map(Number));
    }
    this.multiPt = turf.points([...pointSlint]);
    for (var i = 0; i < res.data.data.data.length; i++) {
      that.carDataList.push(res.data.data.data[i]);
    }
@@ -655,7 +766,7 @@
    }
  }
  private setZoom(bPoints) {
  private setZoom(bPoints: any) {
    var view = this.map.getViewport(eval(bPoints));
    var mapZoom = view.zoom;
    var centerPoint = view.center;
@@ -724,4 +835,40 @@
  left: 55%;
  z-index: 999;
}
.drawing-panel {
  z-index: 200;
  position: absolute;
  top: 10rem;
  margin-left: 2rem;
  padding-left: 0;
  border-radius: .25rem;
  height: 47px;
  box-shadow: 0 2px 6px 0 rgba(27, 142, 236, 0.5);
}
.bmap-btn {
  border-right: 1px solid #d2d2d2;
  float: left;
  width: 64px;
  height: 100%;
  background-image: url(
//api.map.baidu.com/library/DrawingManager/1.4/src/bg_drawing_tool.png);
  cursor: pointer;
  list-style: none;
  padding: 0;
}
.drawing-panel .bmap-marker {
  background-position: -65px 0;
}
.drawing-panel .bmap-polyline {
  background-position: -195px 0;
}
.drawing-panel .bmap-rectangle {
  background-position: -325px 0;
}
.drawing-panel .bmap-polygon {
  background-position: -260px 0;
}
.drawing-panel .bmap-circle {
  background-position: -130px 0;
}
</style>