From 7a4ae8366765ad086dc2cfd7962bfcfcf8fc7566 Mon Sep 17 00:00:00 2001
From: Brandon Clayton <bclayton@usgs.gov>
Date: Tue, 15 Mar 2022 16:13:37 -0600
Subject: [PATCH] update deps

---
 package-lock.json                    | 493 ++++++++++++++-------------
 package.json                         |  25 +-
 projects/nshmp-apps/src/polyfills.ts |   2 +-
 3 files changed, 267 insertions(+), 253 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index ce832afcd..dc109e864 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -29,22 +29,19 @@
         "@ngrx/store": "^13.0.2",
         "angular-plotly.js": "^4.0.4",
         "core-js": "^2.6.12",
-        "d3-array": "^2.12.1",
-        "d3-format": "^1.4.3",
+        "d3-array": "^3.1.1",
         "d3-scale-chromatic": "^3.0.0",
         "file-saver": "^2.0.5",
-        "flatted": "^2.0.1",
-        "map.prototype.tojson": "^0.1.3",
         "mapbox-gl": "^1.13.2",
         "ngrx-forms": "^7.0.0",
         "ngx-mapbox-gl": "^7.1.2",
-        "plotly.js": "^2.6.0",
+        "plotly.js": "^2.11.1",
         "rxjs": "^6.6.7",
         "swagger-ui": "^3.52.3",
         "tslib": "^2.1.0",
-        "uswds": "^2.12.2",
+        "uswds": "^2.13.2",
         "yaml": "^1.10.2",
-        "zone.js": "~0.11.4"
+        "zone.js": "^0.11.5"
       },
       "devDependencies": {
         "@angular-devkit/architect": "^0.1302.6",
@@ -68,17 +65,17 @@
         "@types/jasmine": "^3.10.3",
         "@types/jasminewd2": "~2.0.3",
         "@types/jest": "^27.4.1",
-        "@types/mapbox-gl": "^1.13.2",
-        "@types/node": "^14.14.37",
+        "@types/mapbox-gl": "^1.13.3",
+        "@types/node": "^16.11.26",
         "@types/plotly.js": "^1.54.20",
         "@typescript-eslint/eslint-plugin": "^5.15.0",
         "@typescript-eslint/parser": "^5.15.0",
         "eslint": "^8.2.0",
-        "eslint-plugin-import": "2.25.2",
-        "eslint-plugin-jsdoc": "30.7.6",
-        "eslint-plugin-prefer-arrow": "1.2.2",
+        "eslint-plugin-import": "^2.25.4",
+        "eslint-plugin-jsdoc": "^38.0.4",
+        "eslint-plugin-prefer-arrow": "^1.2.3",
         "eslint-plugin-simple-import-sort": "^7.0.0",
-        "fs-extra": "^10.0.0",
+        "fs-extra": "^10.0.1",
         "gts": "^3.1.0",
         "husky": "^4.3.8",
         "jasmine-marbles": "^0.6.0",
@@ -86,7 +83,7 @@
         "jest-junit": "^11.0.1",
         "jest-preset-angular": "^8.4.0",
         "ng-packagr": "^13.2.1",
-        "prettier": "^2.3.0",
+        "prettier": "^2.5.1",
         "pretty-quick": "^2.0.1",
         "protractor": "~7.0.0",
         "ts-node": "^8.10.2",
@@ -3526,6 +3523,20 @@
         "node": ">=10.0.0"
       }
     },
+    "node_modules/@es-joy/jsdoccomment": {
+      "version": "0.21.2",
+      "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.21.2.tgz",
+      "integrity": "sha512-k8NwNnnYgUR/hyC/JdAbKvaIzTgnT5XJeCeVFo5tpT/4Fu5WiXmhdi6M/c4diqXSDf3ZENyrCtgzCUhIbfT8Zg==",
+      "dev": true,
+      "dependencies": {
+        "comment-parser": "1.3.0",
+        "esquery": "^1.4.0",
+        "jsdoc-type-pratt-parser": "~2.2.4"
+      },
+      "engines": {
+        "node": "^12 || ^14 || ^16 || ^17"
+      }
+    },
     "node_modules/@eslint/eslintrc": {
       "version": "1.2.1",
       "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz",
@@ -3663,6 +3674,11 @@
       "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-2.0.4.tgz",
       "integrity": "sha512-CBtL2rhZiYmdIryksp0zh4Mmx54iClYfNb0mpYeHrZnq4z84lVjre7LBWGPEjWspEn6AiF0lxC1HaZDye89m3g=="
     },
+    "node_modules/@ghsc/nshmp-utils/node_modules/d3-format": {
+      "version": "1.4.5",
+      "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz",
+      "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ=="
+    },
     "node_modules/@ghsc/nshmp-utils/node_modules/mapbox-gl": {
       "version": "2.5.1",
       "resolved": "https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-2.5.1.tgz",
@@ -6316,9 +6332,9 @@
       }
     },
     "node_modules/@types/mapbox-gl": {
-      "version": "1.13.2",
-      "resolved": "https://registry.npmjs.org/@types/mapbox-gl/-/mapbox-gl-1.13.2.tgz",
-      "integrity": "sha512-sv69WkijddNCIdLLyUsG90+X3Lh67a26lKsqaL8WbmXMkWITDrshe+sc9BI8oUV7sh+XD0jraI3qBe0NtJs7dw==",
+      "version": "1.13.3",
+      "resolved": "https://registry.npmjs.org/@types/mapbox-gl/-/mapbox-gl-1.13.3.tgz",
+      "integrity": "sha512-qKcbA5ZKhGwqU5/ti8zC0nbqkxqBYi9EUo4bIjB7MK8ve+mBhbJBcYRjTYWYD7IhHCQfvPGVSnVlesH6yZ2Fiw==",
       "dev": true,
       "dependencies": {
         "@types/geojson": "*"
@@ -6342,9 +6358,9 @@
       "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ=="
     },
     "node_modules/@types/node": {
-      "version": "14.17.32",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.32.tgz",
-      "integrity": "sha512-JcII3D5/OapPGx+eJ+Ik1SQGyt6WvuqdRfh9jUwL6/iHGjmyOriBDciBUu7lEIBTL2ijxwrR70WUnw5AEDmFvQ=="
+      "version": "16.11.26",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.26.tgz",
+      "integrity": "sha512-GZ7bu5A6+4DtG7q9GsoHXy3ALcgeIHP4NnL0Vv2wu0uUB/yQex26v0tf6/na1mm0+bS9Uw+0DFex7aaKr2qawQ=="
     },
     "node_modules/@types/normalize-package-data": {
       "version": "2.4.1",
@@ -9174,12 +9190,12 @@
       }
     },
     "node_modules/comment-parser": {
-      "version": "0.7.6",
-      "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.7.6.tgz",
-      "integrity": "sha512-GKNxVA7/iuTnAqGADlTWX4tkhzxZKXp5fLJqKTlQLHkE65XDUKutZ3BHaJC5IGcper2tT3QRD1xr4o3jNpgXXg==",
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.0.tgz",
+      "integrity": "sha512-hRpmWIKgzd81vn0ydoWoyPoALEOnF4wt8yKD35Ib1D6XC2siLiYaiqfGkYrunuKdsXGwpBpHU3+9r+RVw2NZfA==",
       "dev": true,
       "engines": {
-        "node": ">= 6.0.0"
+        "node": ">= 12.0.0"
       }
     },
     "node_modules/commondir": {
@@ -10049,11 +10065,14 @@
       }
     },
     "node_modules/d3-array": {
-      "version": "2.12.1",
-      "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz",
-      "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==",
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.1.1.tgz",
+      "integrity": "sha512-33qQ+ZoZlli19IFiQx4QEpf2CBEayMRzhlisJHSCsSUbDXv6ZishqS1x7uFVClKG4Wr7rZVHvaAttoLow6GqdQ==",
       "dependencies": {
-        "internmap": "^1.0.0"
+        "internmap": "1 - 2"
+      },
+      "engines": {
+        "node": ">=12"
       }
     },
     "node_modules/d3-axis": {
@@ -10221,9 +10240,12 @@
       }
     },
     "node_modules/d3-format": {
-      "version": "1.4.5",
-      "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz",
-      "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ=="
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz",
+      "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==",
+      "engines": {
+        "node": ">=12"
+      }
     },
     "node_modules/d3-geo": {
       "version": "1.12.1",
@@ -10413,17 +10435,6 @@
         "node": ">=12"
       }
     },
-    "node_modules/d3/node_modules/d3-array": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.1.1.tgz",
-      "integrity": "sha512-33qQ+ZoZlli19IFiQx4QEpf2CBEayMRzhlisJHSCsSUbDXv6ZishqS1x7uFVClKG4Wr7rZVHvaAttoLow6GqdQ==",
-      "dependencies": {
-        "internmap": "1 - 2"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
     "node_modules/d3/node_modules/d3-dispatch": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz",
@@ -10445,14 +10456,6 @@
         "node": ">=12"
       }
     },
-    "node_modules/d3/node_modules/d3-format": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz",
-      "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==",
-      "engines": {
-        "node": ">=12"
-      }
-    },
     "node_modules/d3/node_modules/d3-geo": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.0.1.tgz",
@@ -11959,14 +11962,13 @@
       }
     },
     "node_modules/eslint-module-utils": {
-      "version": "2.7.1",
-      "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.1.tgz",
-      "integrity": "sha512-fjoetBXQZq2tSTWZ9yWVl2KuFrTZZH3V+9iD1V1RfpDgxzJR+mPd/KZmMiA8gbPqdBzpNiEHOuT7IYEWxrH0zQ==",
+      "version": "2.7.3",
+      "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz",
+      "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==",
       "dev": true,
       "dependencies": {
         "debug": "^3.2.7",
-        "find-up": "^2.1.0",
-        "pkg-dir": "^2.0.0"
+        "find-up": "^2.1.0"
       },
       "engines": {
         "node": ">=4"
@@ -11982,9 +11984,9 @@
       }
     },
     "node_modules/eslint-plugin-import": {
-      "version": "2.25.2",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.2.tgz",
-      "integrity": "sha512-qCwQr9TYfoBHOFcVGKY9C9unq05uOxxdklmBXLVvcwo68y5Hta6/GzCZEMx2zQiu0woKNEER0LE7ZgaOfBU14g==",
+      "version": "2.25.4",
+      "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz",
+      "integrity": "sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA==",
       "dev": true,
       "dependencies": {
         "array-includes": "^3.1.4",
@@ -11992,14 +11994,14 @@
         "debug": "^2.6.9",
         "doctrine": "^2.1.0",
         "eslint-import-resolver-node": "^0.3.6",
-        "eslint-module-utils": "^2.7.0",
+        "eslint-module-utils": "^2.7.2",
         "has": "^1.0.3",
-        "is-core-module": "^2.7.0",
+        "is-core-module": "^2.8.0",
         "is-glob": "^4.0.3",
         "minimatch": "^3.0.4",
         "object.values": "^1.1.5",
         "resolve": "^1.20.0",
-        "tsconfig-paths": "^3.11.0"
+        "tsconfig-paths": "^3.12.0"
       },
       "engines": {
         "node": ">=4"
@@ -12036,24 +12038,37 @@
       "dev": true
     },
     "node_modules/eslint-plugin-jsdoc": {
-      "version": "30.7.6",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-30.7.6.tgz",
-      "integrity": "sha512-w18IOiS/9ahKgRfQOuHbce+EQYx3fwIkZhUZDEK+augNlhJkzgTSZkrBkzaflSbFNZ9/Tk4xzUABEaTbsBSzew==",
+      "version": "38.0.4",
+      "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-38.0.4.tgz",
+      "integrity": "sha512-/McOYm7BEmiwNd5niCea2iHuFRtTrqeZN6IKJPJoC2PO8hfQn3FFRgYoGs17hoo6PaIWQLxo6hvCJsu+/KSRfg==",
       "dev": true,
       "dependencies": {
-        "comment-parser": "^0.7.6",
-        "debug": "^4.2.0",
-        "jsdoctypeparser": "^9.0.0",
-        "lodash": "^4.17.20",
-        "regextras": "^0.7.1",
-        "semver": "^7.3.2",
+        "@es-joy/jsdoccomment": "~0.21.2",
+        "comment-parser": "1.3.0",
+        "debug": "^4.3.3",
+        "escape-string-regexp": "^4.0.0",
+        "esquery": "^1.4.0",
+        "regextras": "^0.8.0",
+        "semver": "^7.3.5",
         "spdx-expression-parse": "^3.0.1"
       },
       "engines": {
-        "node": ">=10"
+        "node": "^12 || ^14 || ^16 || ^17"
       },
       "peerDependencies": {
-        "eslint": "^6.0.0 || ^7.0.0"
+        "eslint": "^7.0.0 || ^8.0.0"
+      }
+    },
+    "node_modules/eslint-plugin-jsdoc/node_modules/escape-string-regexp": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+      "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
     "node_modules/eslint-plugin-node": {
@@ -12105,9 +12120,9 @@
       }
     },
     "node_modules/eslint-plugin-prefer-arrow": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-prefer-arrow/-/eslint-plugin-prefer-arrow-1.2.2.tgz",
-      "integrity": "sha512-C8YMhL+r8RMeMdYAw/rQtE6xNdMulj+zGWud/qIGnlmomiPRaLDGLMeskZ3alN6uMBojmooRimtdrXebLN4svQ==",
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/eslint-plugin-prefer-arrow/-/eslint-plugin-prefer-arrow-1.2.3.tgz",
+      "integrity": "sha512-J9I5PKCOJretVuiZRGvPQxCbllxGAV/viI20JO3LYblAodofBxyMnZAJ+WGeClHgANnSJberTNoFWWjrWKBuXQ==",
       "dev": true,
       "peerDependencies": {
         "eslint": ">=2.0.0"
@@ -13368,11 +13383,6 @@
       "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==",
       "dev": true
     },
-    "node_modules/flatted": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
-      "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA=="
-    },
     "node_modules/flatten-vertex-data": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/flatten-vertex-data/-/flatten-vertex-data-1.0.2.tgz",
@@ -13558,9 +13568,9 @@
       }
     },
     "node_modules/fs-extra": {
-      "version": "10.0.0",
-      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz",
-      "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==",
+      "version": "10.0.1",
+      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz",
+      "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==",
       "dev": true,
       "dependencies": {
         "graceful-fs": "^4.2.0",
@@ -18893,16 +18903,13 @@
       "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
       "dev": true
     },
-    "node_modules/jsdoctypeparser": {
-      "version": "9.0.0",
-      "resolved": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-9.0.0.tgz",
-      "integrity": "sha512-jrTA2jJIL6/DAEILBEh2/w9QxCuwmvNXIry39Ay/HVfhE3o2yVV0U44blYkqdHA/OKloJEqvJy0xU+GSdE2SIw==",
+    "node_modules/jsdoc-type-pratt-parser": {
+      "version": "2.2.5",
+      "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.2.5.tgz",
+      "integrity": "sha512-2a6eRxSxp1BW040hFvaJxhsCMI9lT8QB8t14t+NY5tC5rckIR0U9cr2tjOeaFirmEOy6MHvmJnY7zTBHq431Lw==",
       "dev": true,
-      "bin": {
-        "jsdoctypeparser": "bin/jsdoctypeparser"
-      },
       "engines": {
-        "node": ">=10"
+        "node": ">=12.0.0"
       }
     },
     "node_modules/jsdom": {
@@ -19784,15 +19791,6 @@
         "node": ">=0.10.0"
       }
     },
-    "node_modules/map.prototype.tojson": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/map.prototype.tojson/-/map.prototype.tojson-0.1.3.tgz",
-      "integrity": "sha1-O57bRLyU2SHMt7U+n2yOgudFGbU=",
-      "engines": {
-        "node": ">=0.10.0",
-        "prepublish": "babel index.es7 > index.js"
-      }
-    },
     "node_modules/mapbox-gl": {
       "version": "1.13.2",
       "resolved": "https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-1.13.2.tgz",
@@ -22724,18 +22722,6 @@
         "nice-napi": "^1.0.2"
       }
     },
-    "node_modules/pkg-dir": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
-      "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
-      "dev": true,
-      "dependencies": {
-        "find-up": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
     "node_modules/please-upgrade-node": {
       "version": "3.2.0",
       "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz",
@@ -22746,9 +22732,9 @@
       }
     },
     "node_modules/plotly.js": {
-      "version": "2.6.0",
-      "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.6.0.tgz",
-      "integrity": "sha512-pQWOHHW7Den0+uqUTfFFahKvrgHrVgfQ9+/VTzQEkNLJwl24L5yWdCqpa0Rbf3IlGLMvhMHs7CSowaJPx64ABA==",
+      "version": "2.11.1",
+      "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.11.1.tgz",
+      "integrity": "sha512-EKAACNT9wzZdrcU79xUUgLGYCp1fi2iZAAE7lVHw0qMTB8DcdPaYUkItpUT2Q2rIyf5EPu3z3n+5AKyvDZ/azw==",
       "dependencies": {
         "@plotly/d3": "3.8.0",
         "@plotly/d3-sankey": "0.7.2",
@@ -22784,8 +22770,8 @@
         "native-promise-only": "^0.8.1",
         "parse-svg-path": "^0.1.2",
         "polybooljs": "^1.2.0",
-        "probe-image-size": "^7.2.1",
-        "regl": "^2.1.0",
+        "probe-image-size": "^7.2.3",
+        "regl": "npm:@plotly/regl@^2.1.2",
         "regl-error2d": "^2.0.12",
         "regl-line2d": "^3.1.2",
         "regl-scatter2d": "^3.2.8",
@@ -22794,6 +22780,7 @@
         "superscript-text": "^1.0.0",
         "svg-path-sdf": "^1.1.3",
         "tinycolor2": "^1.4.2",
+        "to-px": "1.0.1",
         "topojson-client": "^3.1.0",
         "webgl-context": "^2.2.0",
         "world-calendars": "^1.0.3"
@@ -22809,6 +22796,11 @@
       "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.1.tgz",
       "integrity": "sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q=="
     },
+    "node_modules/plotly.js/node_modules/d3-format": {
+      "version": "1.4.5",
+      "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz",
+      "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ=="
+    },
     "node_modules/plotly.js/node_modules/d3-interpolate": {
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.4.0.tgz",
@@ -22850,11 +22842,25 @@
         "node": ">=6.4.0"
       }
     },
+    "node_modules/plotly.js/node_modules/regl": {
+      "name": "@plotly/regl",
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@plotly/regl/-/regl-2.1.2.tgz",
+      "integrity": "sha512-Mdk+vUACbQvjd0m/1JJjOOafmkp/EpmHjISsopEz5Av44CBq7rPC05HHNbYGKVyNUF2zmEoBS/TT0pd0SPFFyw=="
+    },
     "node_modules/plotly.js/node_modules/rw": {
       "version": "1.3.3",
       "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz",
       "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q="
     },
+    "node_modules/plotly.js/node_modules/to-px": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/to-px/-/to-px-1.0.1.tgz",
+      "integrity": "sha1-W7rtXl1PdkRbzJA8KTojB90yRkY=",
+      "dependencies": {
+        "parse-unit": "^1.0.1"
+      }
+    },
     "node_modules/polybooljs": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/polybooljs/-/polybooljs-1.2.0.tgz",
@@ -23121,9 +23127,9 @@
       }
     },
     "node_modules/prettier": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.4.1.tgz",
-      "integrity": "sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==",
+      "version": "2.5.1",
+      "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz",
+      "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==",
       "dev": true,
       "bin": {
         "prettier": "bin-prettier.js"
@@ -23335,9 +23341,9 @@
       "integrity": "sha512-WCjJHl1KEWbnkQom1+SzftbtXMKQoezOCYs5rECqMN+jP+apI7ftoflyqigqzopSO3hMhTEb0mFClA8lkolgEg=="
     },
     "node_modules/probe-image-size": {
-      "version": "7.2.1",
-      "resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-7.2.1.tgz",
-      "integrity": "sha512-d+6L3NvQBCNt4peRDoEfA7r9bPm6/qy18FnLKwg4NWBC5JrJm0pMLRg1kF4XNsPe1bUdt3WIMonPJzQWN2HXjQ==",
+      "version": "7.2.3",
+      "resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-7.2.3.tgz",
+      "integrity": "sha512-HubhG4Rb2UH8YtV4ba0Vp5bQ7L78RTONYu/ujmCu5nBI8wGv24s4E9xSKBi0N1MowRpxk76pFCpJtW0KPzOK0w==",
       "dependencies": {
         "lodash.merge": "^4.6.2",
         "needle": "^2.5.2",
@@ -24431,9 +24437,9 @@
       }
     },
     "node_modules/regextras": {
-      "version": "0.7.1",
-      "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.7.1.tgz",
-      "integrity": "sha512-9YXf6xtW+qzQ+hcMQXx95MOvfqXFgsKDZodX3qZB0x2n5Z94ioetIITsBtvJbiOyxa/6s9AtyweBLCdPmPko/w==",
+      "version": "0.8.0",
+      "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.8.0.tgz",
+      "integrity": "sha512-k519uI04Z3SaY0fLX843MRXnDeG2+vHOFsyhiPZvNLe7r8rD2YNRjq4BQLZZ0oAr2NrtvZlICsXysGNFPGa3CQ==",
       "dev": true,
       "engines": {
         "node": ">=0.1.14"
@@ -27615,9 +27621,9 @@
       }
     },
     "node_modules/tsconfig-paths": {
-      "version": "3.11.0",
-      "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz",
-      "integrity": "sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA==",
+      "version": "3.14.0",
+      "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.0.tgz",
+      "integrity": "sha512-cg/1jAZoL57R39+wiw4u/SCC6Ic9Q5NqjBOb+9xISedOYurfog9ZNmKJSxAnb2m/5Bq4lE9lhUcau33Ml8DM0g==",
       "dev": true,
       "dependencies": {
         "@types/json5": "^0.0.29",
@@ -28167,9 +28173,9 @@
       }
     },
     "node_modules/uswds": {
-      "version": "2.12.2",
-      "resolved": "https://registry.npmjs.org/uswds/-/uswds-2.12.2.tgz",
-      "integrity": "sha512-Y9YeILoe4xiH26JpyznSbIsC8osHY88QjTFM3K5r7GcSuryauu7CpPnQdBUCw5R7myc24N5X8S/nxnXvOEtudg==",
+      "version": "2.13.2",
+      "resolved": "https://registry.npmjs.org/uswds/-/uswds-2.13.2.tgz",
+      "integrity": "sha512-dhHH2SgFfZFQz7OckCig5oa/4AO0eYKWZM0pRLZUovbU5zwy1USsnjZkPhlVw9eKL6OG87mc1wuhj5Jbw28uvw==",
       "dependencies": {
         "classlist-polyfill": "^1.0.3",
         "domready": "^1.0.8",
@@ -29415,11 +29421,11 @@
       "integrity": "sha1-6NV3TRwHOKR7z6hynzcS4t7d6yU="
     },
     "node_modules/zone.js": {
-      "version": "0.11.4",
-      "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.4.tgz",
-      "integrity": "sha512-DDh2Ab+A/B+9mJyajPjHFPWfYU1H+pdun4wnnk0OcQTNjem1XQSZ2CDW+rfZEUDjv5M19SBqAkjZi0x5wuB5Qw==",
+      "version": "0.11.5",
+      "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.5.tgz",
+      "integrity": "sha512-D1/7VxEuQ7xk6z/kAROe4SUbd9CzxY4zOwVGnGHerd/SgLIVU5f4esDzQUsOCeArn933BZfWMKydH7l7dPEp0g==",
       "dependencies": {
-        "tslib": "^2.0.0"
+        "tslib": "^2.3.0"
       }
     }
   },
@@ -31792,6 +31798,17 @@
       "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==",
       "dev": true
     },
+    "@es-joy/jsdoccomment": {
+      "version": "0.21.2",
+      "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.21.2.tgz",
+      "integrity": "sha512-k8NwNnnYgUR/hyC/JdAbKvaIzTgnT5XJeCeVFo5tpT/4Fu5WiXmhdi6M/c4diqXSDf3ZENyrCtgzCUhIbfT8Zg==",
+      "dev": true,
+      "requires": {
+        "comment-parser": "1.3.0",
+        "esquery": "^1.4.0",
+        "jsdoc-type-pratt-parser": "~2.2.4"
+      }
+    },
     "@eslint/eslintrc": {
       "version": "1.2.1",
       "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.2.1.tgz",
@@ -31905,6 +31922,11 @@
           "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-2.0.4.tgz",
           "integrity": "sha512-CBtL2rhZiYmdIryksp0zh4Mmx54iClYfNb0mpYeHrZnq4z84lVjre7LBWGPEjWspEn6AiF0lxC1HaZDye89m3g=="
         },
+        "d3-format": {
+          "version": "1.4.5",
+          "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz",
+          "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ=="
+        },
         "mapbox-gl": {
           "version": "2.5.1",
           "resolved": "https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-2.5.1.tgz",
@@ -33952,9 +33974,9 @@
       }
     },
     "@types/mapbox-gl": {
-      "version": "1.13.2",
-      "resolved": "https://registry.npmjs.org/@types/mapbox-gl/-/mapbox-gl-1.13.2.tgz",
-      "integrity": "sha512-sv69WkijddNCIdLLyUsG90+X3Lh67a26lKsqaL8WbmXMkWITDrshe+sc9BI8oUV7sh+XD0jraI3qBe0NtJs7dw==",
+      "version": "1.13.3",
+      "resolved": "https://registry.npmjs.org/@types/mapbox-gl/-/mapbox-gl-1.13.3.tgz",
+      "integrity": "sha512-qKcbA5ZKhGwqU5/ti8zC0nbqkxqBYi9EUo4bIjB7MK8ve+mBhbJBcYRjTYWYD7IhHCQfvPGVSnVlesH6yZ2Fiw==",
       "dev": true,
       "requires": {
         "@types/geojson": "*"
@@ -33978,9 +34000,9 @@
       "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ=="
     },
     "@types/node": {
-      "version": "14.17.32",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.32.tgz",
-      "integrity": "sha512-JcII3D5/OapPGx+eJ+Ik1SQGyt6WvuqdRfh9jUwL6/iHGjmyOriBDciBUu7lEIBTL2ijxwrR70WUnw5AEDmFvQ=="
+      "version": "16.11.26",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.26.tgz",
+      "integrity": "sha512-GZ7bu5A6+4DtG7q9GsoHXy3ALcgeIHP4NnL0Vv2wu0uUB/yQex26v0tf6/na1mm0+bS9Uw+0DFex7aaKr2qawQ=="
     },
     "@types/normalize-package-data": {
       "version": "2.4.1",
@@ -36168,9 +36190,9 @@
       "dev": true
     },
     "comment-parser": {
-      "version": "0.7.6",
-      "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.7.6.tgz",
-      "integrity": "sha512-GKNxVA7/iuTnAqGADlTWX4tkhzxZKXp5fLJqKTlQLHkE65XDUKutZ3BHaJC5IGcper2tT3QRD1xr4o3jNpgXXg==",
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.0.tgz",
+      "integrity": "sha512-hRpmWIKgzd81vn0ydoWoyPoALEOnF4wt8yKD35Ib1D6XC2siLiYaiqfGkYrunuKdsXGwpBpHU3+9r+RVw2NZfA==",
       "dev": true
     },
     "commondir": {
@@ -36870,14 +36892,6 @@
         "d3-zoom": "3"
       },
       "dependencies": {
-        "d3-array": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.1.1.tgz",
-          "integrity": "sha512-33qQ+ZoZlli19IFiQx4QEpf2CBEayMRzhlisJHSCsSUbDXv6ZishqS1x7uFVClKG4Wr7rZVHvaAttoLow6GqdQ==",
-          "requires": {
-            "internmap": "1 - 2"
-          }
-        },
         "d3-dispatch": {
           "version": "3.0.1",
           "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz",
@@ -36893,11 +36907,6 @@
             "d3-timer": "1 - 3"
           }
         },
-        "d3-format": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz",
-          "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA=="
-        },
         "d3-geo": {
           "version": "3.0.1",
           "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.0.1.tgz",
@@ -36953,11 +36962,11 @@
       }
     },
     "d3-array": {
-      "version": "2.12.1",
-      "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz",
-      "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==",
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.1.1.tgz",
+      "integrity": "sha512-33qQ+ZoZlli19IFiQx4QEpf2CBEayMRzhlisJHSCsSUbDXv6ZishqS1x7uFVClKG4Wr7rZVHvaAttoLow6GqdQ==",
       "requires": {
-        "internmap": "^1.0.0"
+        "internmap": "1 - 2"
       }
     },
     "d3-axis": {
@@ -37080,9 +37089,9 @@
       }
     },
     "d3-format": {
-      "version": "1.4.5",
-      "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz",
-      "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ=="
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz",
+      "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA=="
     },
     "d3-geo": {
       "version": "1.12.1",
@@ -38436,14 +38445,13 @@
       }
     },
     "eslint-module-utils": {
-      "version": "2.7.1",
-      "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.1.tgz",
-      "integrity": "sha512-fjoetBXQZq2tSTWZ9yWVl2KuFrTZZH3V+9iD1V1RfpDgxzJR+mPd/KZmMiA8gbPqdBzpNiEHOuT7IYEWxrH0zQ==",
+      "version": "2.7.3",
+      "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz",
+      "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==",
       "dev": true,
       "requires": {
         "debug": "^3.2.7",
-        "find-up": "^2.1.0",
-        "pkg-dir": "^2.0.0"
+        "find-up": "^2.1.0"
       },
       "dependencies": {
         "debug": {
@@ -38458,9 +38466,9 @@
       }
     },
     "eslint-plugin-import": {
-      "version": "2.25.2",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.2.tgz",
-      "integrity": "sha512-qCwQr9TYfoBHOFcVGKY9C9unq05uOxxdklmBXLVvcwo68y5Hta6/GzCZEMx2zQiu0woKNEER0LE7ZgaOfBU14g==",
+      "version": "2.25.4",
+      "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz",
+      "integrity": "sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA==",
       "dev": true,
       "requires": {
         "array-includes": "^3.1.4",
@@ -38468,14 +38476,14 @@
         "debug": "^2.6.9",
         "doctrine": "^2.1.0",
         "eslint-import-resolver-node": "^0.3.6",
-        "eslint-module-utils": "^2.7.0",
+        "eslint-module-utils": "^2.7.2",
         "has": "^1.0.3",
-        "is-core-module": "^2.7.0",
+        "is-core-module": "^2.8.0",
         "is-glob": "^4.0.3",
         "minimatch": "^3.0.4",
         "object.values": "^1.1.5",
         "resolve": "^1.20.0",
-        "tsconfig-paths": "^3.11.0"
+        "tsconfig-paths": "^3.12.0"
       },
       "dependencies": {
         "debug": {
@@ -38505,18 +38513,27 @@
       }
     },
     "eslint-plugin-jsdoc": {
-      "version": "30.7.6",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-30.7.6.tgz",
-      "integrity": "sha512-w18IOiS/9ahKgRfQOuHbce+EQYx3fwIkZhUZDEK+augNlhJkzgTSZkrBkzaflSbFNZ9/Tk4xzUABEaTbsBSzew==",
+      "version": "38.0.4",
+      "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-38.0.4.tgz",
+      "integrity": "sha512-/McOYm7BEmiwNd5niCea2iHuFRtTrqeZN6IKJPJoC2PO8hfQn3FFRgYoGs17hoo6PaIWQLxo6hvCJsu+/KSRfg==",
       "dev": true,
       "requires": {
-        "comment-parser": "^0.7.6",
-        "debug": "^4.2.0",
-        "jsdoctypeparser": "^9.0.0",
-        "lodash": "^4.17.20",
-        "regextras": "^0.7.1",
-        "semver": "^7.3.2",
+        "@es-joy/jsdoccomment": "~0.21.2",
+        "comment-parser": "1.3.0",
+        "debug": "^4.3.3",
+        "escape-string-regexp": "^4.0.0",
+        "esquery": "^1.4.0",
+        "regextras": "^0.8.0",
+        "semver": "^7.3.5",
         "spdx-expression-parse": "^3.0.1"
+      },
+      "dependencies": {
+        "escape-string-regexp": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+          "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+          "dev": true
+        }
       }
     },
     "eslint-plugin-node": {
@@ -38552,9 +38569,9 @@
       }
     },
     "eslint-plugin-prefer-arrow": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-prefer-arrow/-/eslint-plugin-prefer-arrow-1.2.2.tgz",
-      "integrity": "sha512-C8YMhL+r8RMeMdYAw/rQtE6xNdMulj+zGWud/qIGnlmomiPRaLDGLMeskZ3alN6uMBojmooRimtdrXebLN4svQ==",
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/eslint-plugin-prefer-arrow/-/eslint-plugin-prefer-arrow-1.2.3.tgz",
+      "integrity": "sha512-J9I5PKCOJretVuiZRGvPQxCbllxGAV/viI20JO3LYblAodofBxyMnZAJ+WGeClHgANnSJberTNoFWWjrWKBuXQ==",
       "dev": true,
       "requires": {}
     },
@@ -39386,11 +39403,6 @@
         }
       }
     },
-    "flatted": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
-      "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA=="
-    },
     "flatten-vertex-data": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/flatten-vertex-data/-/flatten-vertex-data-1.0.2.tgz",
@@ -39533,9 +39545,9 @@
       }
     },
     "fs-extra": {
-      "version": "10.0.0",
-      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz",
-      "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==",
+      "version": "10.0.1",
+      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz",
+      "integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==",
       "dev": true,
       "requires": {
         "graceful-fs": "^4.2.0",
@@ -43536,10 +43548,10 @@
       "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
       "dev": true
     },
-    "jsdoctypeparser": {
-      "version": "9.0.0",
-      "resolved": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-9.0.0.tgz",
-      "integrity": "sha512-jrTA2jJIL6/DAEILBEh2/w9QxCuwmvNXIry39Ay/HVfhE3o2yVV0U44blYkqdHA/OKloJEqvJy0xU+GSdE2SIw==",
+    "jsdoc-type-pratt-parser": {
+      "version": "2.2.5",
+      "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.2.5.tgz",
+      "integrity": "sha512-2a6eRxSxp1BW040hFvaJxhsCMI9lT8QB8t14t+NY5tC5rckIR0U9cr2tjOeaFirmEOy6MHvmJnY7zTBHq431Lw==",
       "dev": true
     },
     "jsdom": {
@@ -44219,11 +44231,6 @@
         "object-visit": "^1.0.0"
       }
     },
-    "map.prototype.tojson": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/map.prototype.tojson/-/map.prototype.tojson-0.1.3.tgz",
-      "integrity": "sha1-O57bRLyU2SHMt7U+n2yOgudFGbU="
-    },
     "mapbox-gl": {
       "version": "1.13.2",
       "resolved": "https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-1.13.2.tgz",
@@ -46424,15 +46431,6 @@
         "nice-napi": "^1.0.2"
       }
     },
-    "pkg-dir": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
-      "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
-      "dev": true,
-      "requires": {
-        "find-up": "^2.1.0"
-      }
-    },
     "please-upgrade-node": {
       "version": "3.2.0",
       "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz",
@@ -46443,9 +46441,9 @@
       }
     },
     "plotly.js": {
-      "version": "2.6.0",
-      "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.6.0.tgz",
-      "integrity": "sha512-pQWOHHW7Den0+uqUTfFFahKvrgHrVgfQ9+/VTzQEkNLJwl24L5yWdCqpa0Rbf3IlGLMvhMHs7CSowaJPx64ABA==",
+      "version": "2.11.1",
+      "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.11.1.tgz",
+      "integrity": "sha512-EKAACNT9wzZdrcU79xUUgLGYCp1fi2iZAAE7lVHw0qMTB8DcdPaYUkItpUT2Q2rIyf5EPu3z3n+5AKyvDZ/azw==",
       "requires": {
         "@plotly/d3": "3.8.0",
         "@plotly/d3-sankey": "0.7.2",
@@ -46481,8 +46479,8 @@
         "native-promise-only": "^0.8.1",
         "parse-svg-path": "^0.1.2",
         "polybooljs": "^1.2.0",
-        "probe-image-size": "^7.2.1",
-        "regl": "^2.1.0",
+        "probe-image-size": "^7.2.3",
+        "regl": "npm:@plotly/regl@^2.1.2",
         "regl-error2d": "^2.0.12",
         "regl-line2d": "^3.1.2",
         "regl-scatter2d": "^3.2.8",
@@ -46491,6 +46489,7 @@
         "superscript-text": "^1.0.0",
         "svg-path-sdf": "^1.1.3",
         "tinycolor2": "^1.4.2",
+        "to-px": "1.0.1",
         "topojson-client": "^3.1.0",
         "webgl-context": "^2.2.0",
         "world-calendars": "^1.0.3"
@@ -46501,6 +46500,11 @@
           "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.1.tgz",
           "integrity": "sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q=="
         },
+        "d3-format": {
+          "version": "1.4.5",
+          "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz",
+          "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ=="
+        },
         "d3-interpolate": {
           "version": "1.4.0",
           "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.4.0.tgz",
@@ -46539,10 +46543,23 @@
             "vt-pbf": "^3.1.1"
           }
         },
+        "regl": {
+          "version": "npm:@plotly/regl@2.1.2",
+          "resolved": "https://registry.npmjs.org/@plotly/regl/-/regl-2.1.2.tgz",
+          "integrity": "sha512-Mdk+vUACbQvjd0m/1JJjOOafmkp/EpmHjISsopEz5Av44CBq7rPC05HHNbYGKVyNUF2zmEoBS/TT0pd0SPFFyw=="
+        },
         "rw": {
           "version": "1.3.3",
           "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz",
           "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q="
+        },
+        "to-px": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/to-px/-/to-px-1.0.1.tgz",
+          "integrity": "sha1-W7rtXl1PdkRbzJA8KTojB90yRkY=",
+          "requires": {
+            "parse-unit": "^1.0.1"
+          }
         }
       }
     },
@@ -46731,9 +46748,9 @@
       "dev": true
     },
     "prettier": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.4.1.tgz",
-      "integrity": "sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==",
+      "version": "2.5.1",
+      "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz",
+      "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==",
       "dev": true
     },
     "prettier-linter-helpers": {
@@ -46886,9 +46903,9 @@
       "integrity": "sha512-WCjJHl1KEWbnkQom1+SzftbtXMKQoezOCYs5rECqMN+jP+apI7ftoflyqigqzopSO3hMhTEb0mFClA8lkolgEg=="
     },
     "probe-image-size": {
-      "version": "7.2.1",
-      "resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-7.2.1.tgz",
-      "integrity": "sha512-d+6L3NvQBCNt4peRDoEfA7r9bPm6/qy18FnLKwg4NWBC5JrJm0pMLRg1kF4XNsPe1bUdt3WIMonPJzQWN2HXjQ==",
+      "version": "7.2.3",
+      "resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-7.2.3.tgz",
+      "integrity": "sha512-HubhG4Rb2UH8YtV4ba0Vp5bQ7L78RTONYu/ujmCu5nBI8wGv24s4E9xSKBi0N1MowRpxk76pFCpJtW0KPzOK0w==",
       "requires": {
         "lodash.merge": "^4.6.2",
         "needle": "^2.5.2",
@@ -47755,9 +47772,9 @@
       }
     },
     "regextras": {
-      "version": "0.7.1",
-      "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.7.1.tgz",
-      "integrity": "sha512-9YXf6xtW+qzQ+hcMQXx95MOvfqXFgsKDZodX3qZB0x2n5Z94ioetIITsBtvJbiOyxa/6s9AtyweBLCdPmPko/w==",
+      "version": "0.8.0",
+      "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.8.0.tgz",
+      "integrity": "sha512-k519uI04Z3SaY0fLX843MRXnDeG2+vHOFsyhiPZvNLe7r8rD2YNRjq4BQLZZ0oAr2NrtvZlICsXysGNFPGa3CQ==",
       "dev": true
     },
     "registry-auth-token": {
@@ -50319,9 +50336,9 @@
       }
     },
     "tsconfig-paths": {
-      "version": "3.11.0",
-      "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz",
-      "integrity": "sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA==",
+      "version": "3.14.0",
+      "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.0.tgz",
+      "integrity": "sha512-cg/1jAZoL57R39+wiw4u/SCC6Ic9Q5NqjBOb+9xISedOYurfog9ZNmKJSxAnb2m/5Bq4lE9lhUcau33Ml8DM0g==",
       "dev": true,
       "requires": {
         "@types/json5": "^0.0.29",
@@ -50759,9 +50776,9 @@
       "dev": true
     },
     "uswds": {
-      "version": "2.12.2",
-      "resolved": "https://registry.npmjs.org/uswds/-/uswds-2.12.2.tgz",
-      "integrity": "sha512-Y9YeILoe4xiH26JpyznSbIsC8osHY88QjTFM3K5r7GcSuryauu7CpPnQdBUCw5R7myc24N5X8S/nxnXvOEtudg==",
+      "version": "2.13.2",
+      "resolved": "https://registry.npmjs.org/uswds/-/uswds-2.13.2.tgz",
+      "integrity": "sha512-dhHH2SgFfZFQz7OckCig5oa/4AO0eYKWZM0pRLZUovbU5zwy1USsnjZkPhlVw9eKL6OG87mc1wuhj5Jbw28uvw==",
       "requires": {
         "classlist-polyfill": "^1.0.3",
         "domready": "^1.0.8",
@@ -51743,11 +51760,11 @@
       "integrity": "sha1-6NV3TRwHOKR7z6hynzcS4t7d6yU="
     },
     "zone.js": {
-      "version": "0.11.4",
-      "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.4.tgz",
-      "integrity": "sha512-DDh2Ab+A/B+9mJyajPjHFPWfYU1H+pdun4wnnk0OcQTNjem1XQSZ2CDW+rfZEUDjv5M19SBqAkjZi0x5wuB5Qw==",
+      "version": "0.11.5",
+      "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.5.tgz",
+      "integrity": "sha512-D1/7VxEuQ7xk6z/kAROe4SUbd9CzxY4zOwVGnGHerd/SgLIVU5f4esDzQUsOCeArn933BZfWMKydH7l7dPEp0g==",
       "requires": {
-        "tslib": "^2.0.0"
+        "tslib": "^2.3.0"
       }
     }
   }
diff --git a/package.json b/package.json
index 75006e045..c525be0e7 100644
--- a/package.json
+++ b/package.json
@@ -38,22 +38,19 @@
     "@ngrx/store": "^13.0.2",
     "angular-plotly.js": "^4.0.4",
     "core-js": "^2.6.12",
-    "d3-array": "^2.12.1",
-    "d3-format": "^1.4.3",
+    "d3-array": "^3.1.1",
     "d3-scale-chromatic": "^3.0.0",
     "file-saver": "^2.0.5",
-    "flatted": "^2.0.1",
-    "map.prototype.tojson": "^0.1.3",
     "mapbox-gl": "^1.13.2",
     "ngrx-forms": "^7.0.0",
     "ngx-mapbox-gl": "^7.1.2",
-    "plotly.js": "^2.6.0",
+    "plotly.js": "^2.11.1",
     "rxjs": "^6.6.7",
     "swagger-ui": "^3.52.3",
     "tslib": "^2.1.0",
-    "uswds": "^2.12.2",
+    "uswds": "^2.13.2",
     "yaml": "^1.10.2",
-    "zone.js": "~0.11.4"
+    "zone.js": "^0.11.5"
   },
   "devDependencies": {
     "@angular-devkit/architect": "^0.1302.6",
@@ -77,17 +74,17 @@
     "@types/jasmine": "^3.10.3",
     "@types/jasminewd2": "~2.0.3",
     "@types/jest": "^27.4.1",
-    "@types/mapbox-gl": "^1.13.2",
-    "@types/node": "^14.14.37",
+    "@types/mapbox-gl": "^1.13.3",
+    "@types/node": "^16.11.26",
     "@types/plotly.js": "^1.54.20",
     "@typescript-eslint/eslint-plugin": "^5.15.0",
     "@typescript-eslint/parser": "^5.15.0",
     "eslint": "^8.2.0",
-    "eslint-plugin-import": "2.25.2",
-    "eslint-plugin-jsdoc": "30.7.6",
-    "eslint-plugin-prefer-arrow": "1.2.2",
+    "eslint-plugin-import": "^2.25.4",
+    "eslint-plugin-jsdoc": "^38.0.4",
+    "eslint-plugin-prefer-arrow": "^1.2.3",
     "eslint-plugin-simple-import-sort": "^7.0.0",
-    "fs-extra": "^10.0.0",
+    "fs-extra": "^10.0.1",
     "gts": "^3.1.0",
     "husky": "^4.3.8",
     "jasmine-marbles": "^0.6.0",
@@ -95,7 +92,7 @@
     "jest-junit": "^11.0.1",
     "jest-preset-angular": "^8.4.0",
     "ng-packagr": "^13.2.1",
-    "prettier": "^2.3.0",
+    "prettier": "^2.5.1",
     "pretty-quick": "^2.0.1",
     "protractor": "~7.0.0",
     "ts-node": "^8.10.2",
diff --git a/projects/nshmp-apps/src/polyfills.ts b/projects/nshmp-apps/src/polyfills.ts
index 90859dfc2..7cd33ada0 100644
--- a/projects/nshmp-apps/src/polyfills.ts
+++ b/projects/nshmp-apps/src/polyfills.ts
@@ -57,6 +57,6 @@ import 'zone.js'; // Included with Angular CLI.
 (window as any).global = window;
 (window as any).process = {browser: true};
 
-require('map.prototype.tojson');
+// require('map.prototype.tojson');
 
 window['Buffer'] = window['Buffer'] || require('buffer').Buffer;
-- 
GitLab