diff --git a/package-lock.json b/package-lock.json
index f20d2978cdbb289c95878013f1e4528eea81edeb..1ac69e6e24559f10e139c5cd8dfed663ec489437 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -31,11 +31,11 @@
         "@types/fuzzaldrin-plus": "^0.6.2",
         "@types/html-minifier": "^4.0.2",
         "@types/lunr": "^2.3.4",
-        "@types/node": "^18.11.18",
+        "@types/node": "^18.11.19",
         "@types/resize-observer-browser": "^0.1.7",
         "@types/sass": "^1.43.1",
-        "@typescript-eslint/eslint-plugin": "^5.49.0",
-        "@typescript-eslint/parser": "^5.49.0",
+        "@typescript-eslint/eslint-plugin": "^5.50.0",
+        "@typescript-eslint/parser": "^5.50.0",
         "autoprefixer": "^10.4.13",
         "chokidar": "^3.5.3",
         "cssnano": "5.1.0",
@@ -43,7 +43,7 @@
         "eslint": "^8.33.0",
         "eslint-plugin-eslint-comments": "^3.2.0",
         "eslint-plugin-import": "^2.27.5",
-        "eslint-plugin-jsdoc": "^39.7.4",
+        "eslint-plugin-jsdoc": "^39.8.0",
         "eslint-plugin-no-null": "^1.0.2",
         "github-types": "^1.0.0",
         "gitlab": "^14.2.2",
@@ -51,7 +51,7 @@
         "html-minifier": "^4.0.0",
         "material-design-color": "^2.3.2",
         "material-shadows": "^3.0.1",
-        "npm-check-updates": "^16.6.3",
+        "npm-check-updates": "^16.6.4",
         "npm-run-all": "^4.1.5",
         "postcss": "^8.4.21",
         "postcss-dir-pseudo-class": "^7.0.1",
@@ -60,7 +60,7 @@
         "postcss-pseudo-is": "^0.3.0",
         "preact": "^10.11.3",
         "rimraf": "^4.1.2",
-        "sass": "^1.57.1",
+        "sass": "^1.58.0",
         "simple-icons": "^8.4.0",
         "stylelint": "^14.16.1",
         "stylelint-config-rational-order": "^0.1.2",
@@ -70,7 +70,7 @@
         "svgo": "3.0.0",
         "tiny-glob": "^0.2.9",
         "ts-node": "^10.9.1",
-        "typescript": "^4.9.4"
+        "typescript": "^4.9.5"
       },
       "engines": {
         "node": ">= 16"
@@ -1393,9 +1393,9 @@
       "dev": true
     },
     "node_modules/@types/node": {
-      "version": "18.11.18",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz",
-      "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==",
+      "version": "18.11.19",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.19.tgz",
+      "integrity": "sha512-YUgMWAQBWLObABqrvx8qKO1enAvBUdjZOAWQ5grBAkp5LQv45jBvYKZ3oFS9iKRCQyFjqw6iuEa1vmFqtxYLZw==",
       "dev": true
     },
     "node_modules/@types/normalize-package-data": {
@@ -1483,15 +1483,16 @@
       }
     },
     "node_modules/@typescript-eslint/eslint-plugin": {
-      "version": "5.49.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.49.0.tgz",
-      "integrity": "sha512-IhxabIpcf++TBaBa1h7jtOWyon80SXPRLDq0dVz5SLFC/eW6tofkw/O7Ar3lkx5z5U6wzbKDrl2larprp5kk5Q==",
+      "version": "5.50.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.50.0.tgz",
+      "integrity": "sha512-vwksQWSFZiUhgq3Kv7o1Jcj0DUNylwnIlGvKvLLYsq8pAWha6/WCnXUeaSoNNha/K7QSf2+jvmkxggC1u3pIwQ==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/scope-manager": "5.49.0",
-        "@typescript-eslint/type-utils": "5.49.0",
-        "@typescript-eslint/utils": "5.49.0",
+        "@typescript-eslint/scope-manager": "5.50.0",
+        "@typescript-eslint/type-utils": "5.50.0",
+        "@typescript-eslint/utils": "5.50.0",
         "debug": "^4.3.4",
+        "grapheme-splitter": "^1.0.4",
         "ignore": "^5.2.0",
         "natural-compare-lite": "^1.4.0",
         "regexpp": "^3.2.0",
@@ -1516,14 +1517,14 @@
       }
     },
     "node_modules/@typescript-eslint/parser": {
-      "version": "5.49.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.49.0.tgz",
-      "integrity": "sha512-veDlZN9mUhGqU31Qiv2qEp+XrJj5fgZpJ8PW30sHU+j/8/e5ruAhLaVDAeznS7A7i4ucb/s8IozpDtt9NqCkZg==",
+      "version": "5.50.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.50.0.tgz",
+      "integrity": "sha512-KCcSyNaogUDftK2G9RXfQyOCt51uB5yqC6pkUYqhYh8Kgt+DwR5M0EwEAxGPy/+DH6hnmKeGsNhiZRQxjH71uQ==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/scope-manager": "5.49.0",
-        "@typescript-eslint/types": "5.49.0",
-        "@typescript-eslint/typescript-estree": "5.49.0",
+        "@typescript-eslint/scope-manager": "5.50.0",
+        "@typescript-eslint/types": "5.50.0",
+        "@typescript-eslint/typescript-estree": "5.50.0",
         "debug": "^4.3.4"
       },
       "engines": {
@@ -1543,13 +1544,13 @@
       }
     },
     "node_modules/@typescript-eslint/scope-manager": {
-      "version": "5.49.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.49.0.tgz",
-      "integrity": "sha512-clpROBOiMIzpbWNxCe1xDK14uPZh35u4QaZO1GddilEzoCLAEz4szb51rBpdgurs5k2YzPtJeTEN3qVbG+LRUQ==",
+      "version": "5.50.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.50.0.tgz",
+      "integrity": "sha512-rt03kaX+iZrhssaT974BCmoUikYtZI24Vp/kwTSy841XhiYShlqoshRFDvN1FKKvU2S3gK+kcBW1EA7kNUrogg==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/types": "5.49.0",
-        "@typescript-eslint/visitor-keys": "5.49.0"
+        "@typescript-eslint/types": "5.50.0",
+        "@typescript-eslint/visitor-keys": "5.50.0"
       },
       "engines": {
         "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -1560,13 +1561,13 @@
       }
     },
     "node_modules/@typescript-eslint/type-utils": {
-      "version": "5.49.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.49.0.tgz",
-      "integrity": "sha512-eUgLTYq0tR0FGU5g1YHm4rt5H/+V2IPVkP0cBmbhRyEmyGe4XvJ2YJ6sYTmONfjmdMqyMLad7SB8GvblbeESZA==",
+      "version": "5.50.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.50.0.tgz",
+      "integrity": "sha512-dcnXfZ6OGrNCO7E5UY/i0ktHb7Yx1fV6fnQGGrlnfDhilcs6n19eIRcvLBqx6OQkrPaFlDPk3OJ0WlzQfrV0bQ==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/typescript-estree": "5.49.0",
-        "@typescript-eslint/utils": "5.49.0",
+        "@typescript-eslint/typescript-estree": "5.50.0",
+        "@typescript-eslint/utils": "5.50.0",
         "debug": "^4.3.4",
         "tsutils": "^3.21.0"
       },
@@ -1587,9 +1588,9 @@
       }
     },
     "node_modules/@typescript-eslint/types": {
-      "version": "5.49.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.49.0.tgz",
-      "integrity": "sha512-7If46kusG+sSnEpu0yOz2xFv5nRz158nzEXnJFCGVEHWnuzolXKwrH5Bsf9zsNlOQkyZuk0BZKKoJQI+1JPBBg==",
+      "version": "5.50.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.50.0.tgz",
+      "integrity": "sha512-atruOuJpir4OtyNdKahiHZobPKFvZnBnfDiyEaBf6d9vy9visE7gDjlmhl+y29uxZ2ZDgvXijcungGFjGGex7w==",
       "dev": true,
       "engines": {
         "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -1600,13 +1601,13 @@
       }
     },
     "node_modules/@typescript-eslint/typescript-estree": {
-      "version": "5.49.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.49.0.tgz",
-      "integrity": "sha512-PBdx+V7deZT/3GjNYPVQv1Nc0U46dAHbIuOG8AZ3on3vuEKiPDwFE/lG1snN2eUB9IhF7EyF7K1hmTcLztNIsA==",
+      "version": "5.50.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.50.0.tgz",
+      "integrity": "sha512-Gq4zapso+OtIZlv8YNAStFtT6d05zyVCK7Fx3h5inlLBx2hWuc/0465C2mg/EQDDU2LKe52+/jN4f0g9bd+kow==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/types": "5.49.0",
-        "@typescript-eslint/visitor-keys": "5.49.0",
+        "@typescript-eslint/types": "5.50.0",
+        "@typescript-eslint/visitor-keys": "5.50.0",
         "debug": "^4.3.4",
         "globby": "^11.1.0",
         "is-glob": "^4.0.3",
@@ -1627,16 +1628,16 @@
       }
     },
     "node_modules/@typescript-eslint/utils": {
-      "version": "5.49.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.49.0.tgz",
-      "integrity": "sha512-cPJue/4Si25FViIb74sHCLtM4nTSBXtLx1d3/QT6mirQ/c65bV8arBEebBJJizfq8W2YyMoPI/WWPFWitmNqnQ==",
+      "version": "5.50.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.50.0.tgz",
+      "integrity": "sha512-v/AnUFImmh8G4PH0NDkf6wA8hujNNcrwtecqW4vtQ1UOSNBaZl49zP1SHoZ/06e+UiwzHpgb5zP5+hwlYYWYAw==",
       "dev": true,
       "dependencies": {
         "@types/json-schema": "^7.0.9",
         "@types/semver": "^7.3.12",
-        "@typescript-eslint/scope-manager": "5.49.0",
-        "@typescript-eslint/types": "5.49.0",
-        "@typescript-eslint/typescript-estree": "5.49.0",
+        "@typescript-eslint/scope-manager": "5.50.0",
+        "@typescript-eslint/types": "5.50.0",
+        "@typescript-eslint/typescript-estree": "5.50.0",
         "eslint-scope": "^5.1.1",
         "eslint-utils": "^3.0.0",
         "semver": "^7.3.7"
@@ -1653,12 +1654,12 @@
       }
     },
     "node_modules/@typescript-eslint/visitor-keys": {
-      "version": "5.49.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.49.0.tgz",
-      "integrity": "sha512-v9jBMjpNWyn8B6k/Mjt6VbUS4J1GvUlR4x3Y+ibnP1z7y7V4n0WRz+50DY6+Myj0UaXVSuUlHohO+eZ8IJEnkg==",
+      "version": "5.50.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.50.0.tgz",
+      "integrity": "sha512-cdMeD9HGu6EXIeGOh2yVW6oGf9wq8asBgZx7nsR/D36gTfQ0odE5kcRYe5M81vjEFAcPeugXrHg78Imu55F6gg==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/types": "5.49.0",
+        "@typescript-eslint/types": "5.50.0",
         "eslint-visitor-keys": "^3.3.0"
       },
       "engines": {
@@ -4075,9 +4076,9 @@
       }
     },
     "node_modules/eslint-plugin-jsdoc": {
-      "version": "39.7.4",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.7.4.tgz",
-      "integrity": "sha512-2eJcWGKRyNQFa37UIpGcAdOp3wtES8vV3mlnFmEmJCuBNyFhK6cMhbZgMkLoLjKnipoxsN9GbfZZ+8nPY8ETZQ==",
+      "version": "39.8.0",
+      "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.8.0.tgz",
+      "integrity": "sha512-ZwGmk0jJoJD/NILeDRBKrpq/PCgddUdATjeU5JGTqTzKsOWfeaHOnaAwZjuOh7T8EB4hSoZ/9pR4+Qns2ldQVg==",
       "dev": true,
       "dependencies": {
         "@es-joy/jsdoccomment": "~0.36.1",
@@ -7884,9 +7885,9 @@
       }
     },
     "node_modules/npm-check-updates": {
-      "version": "16.6.3",
-      "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-16.6.3.tgz",
-      "integrity": "sha512-EKhsCbBcVrPlYKzaYQtRhGv9fxpexwROcvl5HebCUNpiCSlOWrzaJvrMlwi9i9GCyJCnH+YAeBPYdqnArA390A==",
+      "version": "16.6.4",
+      "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-16.6.4.tgz",
+      "integrity": "sha512-YZ99u6l7GFG5y1/XapEqlMwUWVEJfwXbOsf6SU5X1YuKEHpWbC+98cL/F7TALKjVAMwOrx43WopeBspatxh/Kw==",
       "dev": true,
       "dependencies": {
         "chalk": "^5.2.0",
@@ -10829,9 +10830,9 @@
       "optional": true
     },
     "node_modules/sass": {
-      "version": "1.57.1",
-      "resolved": "https://registry.npmjs.org/sass/-/sass-1.57.1.tgz",
-      "integrity": "sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw==",
+      "version": "1.58.0",
+      "resolved": "https://registry.npmjs.org/sass/-/sass-1.58.0.tgz",
+      "integrity": "sha512-PiMJcP33DdKtZ/1jSjjqVIKihoDc6yWmYr9K/4r3fVVIEDAluD0q7XZiRKrNJcPK3qkLRF/79DND1H5q1LBjgg==",
       "dev": true,
       "dependencies": {
         "chokidar": ">=3.0.0 <4.0.0",
@@ -13099,9 +13100,9 @@
       }
     },
     "node_modules/typescript": {
-      "version": "4.9.4",
-      "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz",
-      "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==",
+      "version": "4.9.5",
+      "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
+      "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
       "dev": true,
       "bin": {
         "tsc": "bin/tsc",
@@ -14826,9 +14827,9 @@
       "dev": true
     },
     "@types/node": {
-      "version": "18.11.18",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz",
-      "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==",
+      "version": "18.11.19",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.19.tgz",
+      "integrity": "sha512-YUgMWAQBWLObABqrvx8qKO1enAvBUdjZOAWQ5grBAkp5LQv45jBvYKZ3oFS9iKRCQyFjqw6iuEa1vmFqtxYLZw==",
       "dev": true
     },
     "@types/normalize-package-data": {
@@ -14915,15 +14916,16 @@
       }
     },
     "@typescript-eslint/eslint-plugin": {
-      "version": "5.49.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.49.0.tgz",
-      "integrity": "sha512-IhxabIpcf++TBaBa1h7jtOWyon80SXPRLDq0dVz5SLFC/eW6tofkw/O7Ar3lkx5z5U6wzbKDrl2larprp5kk5Q==",
+      "version": "5.50.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.50.0.tgz",
+      "integrity": "sha512-vwksQWSFZiUhgq3Kv7o1Jcj0DUNylwnIlGvKvLLYsq8pAWha6/WCnXUeaSoNNha/K7QSf2+jvmkxggC1u3pIwQ==",
       "dev": true,
       "requires": {
-        "@typescript-eslint/scope-manager": "5.49.0",
-        "@typescript-eslint/type-utils": "5.49.0",
-        "@typescript-eslint/utils": "5.49.0",
+        "@typescript-eslint/scope-manager": "5.50.0",
+        "@typescript-eslint/type-utils": "5.50.0",
+        "@typescript-eslint/utils": "5.50.0",
         "debug": "^4.3.4",
+        "grapheme-splitter": "^1.0.4",
         "ignore": "^5.2.0",
         "natural-compare-lite": "^1.4.0",
         "regexpp": "^3.2.0",
@@ -14932,53 +14934,53 @@
       }
     },
     "@typescript-eslint/parser": {
-      "version": "5.49.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.49.0.tgz",
-      "integrity": "sha512-veDlZN9mUhGqU31Qiv2qEp+XrJj5fgZpJ8PW30sHU+j/8/e5ruAhLaVDAeznS7A7i4ucb/s8IozpDtt9NqCkZg==",
+      "version": "5.50.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.50.0.tgz",
+      "integrity": "sha512-KCcSyNaogUDftK2G9RXfQyOCt51uB5yqC6pkUYqhYh8Kgt+DwR5M0EwEAxGPy/+DH6hnmKeGsNhiZRQxjH71uQ==",
       "dev": true,
       "requires": {
-        "@typescript-eslint/scope-manager": "5.49.0",
-        "@typescript-eslint/types": "5.49.0",
-        "@typescript-eslint/typescript-estree": "5.49.0",
+        "@typescript-eslint/scope-manager": "5.50.0",
+        "@typescript-eslint/types": "5.50.0",
+        "@typescript-eslint/typescript-estree": "5.50.0",
         "debug": "^4.3.4"
       }
     },
     "@typescript-eslint/scope-manager": {
-      "version": "5.49.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.49.0.tgz",
-      "integrity": "sha512-clpROBOiMIzpbWNxCe1xDK14uPZh35u4QaZO1GddilEzoCLAEz4szb51rBpdgurs5k2YzPtJeTEN3qVbG+LRUQ==",
+      "version": "5.50.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.50.0.tgz",
+      "integrity": "sha512-rt03kaX+iZrhssaT974BCmoUikYtZI24Vp/kwTSy841XhiYShlqoshRFDvN1FKKvU2S3gK+kcBW1EA7kNUrogg==",
       "dev": true,
       "requires": {
-        "@typescript-eslint/types": "5.49.0",
-        "@typescript-eslint/visitor-keys": "5.49.0"
+        "@typescript-eslint/types": "5.50.0",
+        "@typescript-eslint/visitor-keys": "5.50.0"
       }
     },
     "@typescript-eslint/type-utils": {
-      "version": "5.49.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.49.0.tgz",
-      "integrity": "sha512-eUgLTYq0tR0FGU5g1YHm4rt5H/+V2IPVkP0cBmbhRyEmyGe4XvJ2YJ6sYTmONfjmdMqyMLad7SB8GvblbeESZA==",
+      "version": "5.50.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.50.0.tgz",
+      "integrity": "sha512-dcnXfZ6OGrNCO7E5UY/i0ktHb7Yx1fV6fnQGGrlnfDhilcs6n19eIRcvLBqx6OQkrPaFlDPk3OJ0WlzQfrV0bQ==",
       "dev": true,
       "requires": {
-        "@typescript-eslint/typescript-estree": "5.49.0",
-        "@typescript-eslint/utils": "5.49.0",
+        "@typescript-eslint/typescript-estree": "5.50.0",
+        "@typescript-eslint/utils": "5.50.0",
         "debug": "^4.3.4",
         "tsutils": "^3.21.0"
       }
     },
     "@typescript-eslint/types": {
-      "version": "5.49.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.49.0.tgz",
-      "integrity": "sha512-7If46kusG+sSnEpu0yOz2xFv5nRz158nzEXnJFCGVEHWnuzolXKwrH5Bsf9zsNlOQkyZuk0BZKKoJQI+1JPBBg==",
+      "version": "5.50.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.50.0.tgz",
+      "integrity": "sha512-atruOuJpir4OtyNdKahiHZobPKFvZnBnfDiyEaBf6d9vy9visE7gDjlmhl+y29uxZ2ZDgvXijcungGFjGGex7w==",
       "dev": true
     },
     "@typescript-eslint/typescript-estree": {
-      "version": "5.49.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.49.0.tgz",
-      "integrity": "sha512-PBdx+V7deZT/3GjNYPVQv1Nc0U46dAHbIuOG8AZ3on3vuEKiPDwFE/lG1snN2eUB9IhF7EyF7K1hmTcLztNIsA==",
+      "version": "5.50.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.50.0.tgz",
+      "integrity": "sha512-Gq4zapso+OtIZlv8YNAStFtT6d05zyVCK7Fx3h5inlLBx2hWuc/0465C2mg/EQDDU2LKe52+/jN4f0g9bd+kow==",
       "dev": true,
       "requires": {
-        "@typescript-eslint/types": "5.49.0",
-        "@typescript-eslint/visitor-keys": "5.49.0",
+        "@typescript-eslint/types": "5.50.0",
+        "@typescript-eslint/visitor-keys": "5.50.0",
         "debug": "^4.3.4",
         "globby": "^11.1.0",
         "is-glob": "^4.0.3",
@@ -14987,28 +14989,28 @@
       }
     },
     "@typescript-eslint/utils": {
-      "version": "5.49.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.49.0.tgz",
-      "integrity": "sha512-cPJue/4Si25FViIb74sHCLtM4nTSBXtLx1d3/QT6mirQ/c65bV8arBEebBJJizfq8W2YyMoPI/WWPFWitmNqnQ==",
+      "version": "5.50.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.50.0.tgz",
+      "integrity": "sha512-v/AnUFImmh8G4PH0NDkf6wA8hujNNcrwtecqW4vtQ1UOSNBaZl49zP1SHoZ/06e+UiwzHpgb5zP5+hwlYYWYAw==",
       "dev": true,
       "requires": {
         "@types/json-schema": "^7.0.9",
         "@types/semver": "^7.3.12",
-        "@typescript-eslint/scope-manager": "5.49.0",
-        "@typescript-eslint/types": "5.49.0",
-        "@typescript-eslint/typescript-estree": "5.49.0",
+        "@typescript-eslint/scope-manager": "5.50.0",
+        "@typescript-eslint/types": "5.50.0",
+        "@typescript-eslint/typescript-estree": "5.50.0",
         "eslint-scope": "^5.1.1",
         "eslint-utils": "^3.0.0",
         "semver": "^7.3.7"
       }
     },
     "@typescript-eslint/visitor-keys": {
-      "version": "5.49.0",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.49.0.tgz",
-      "integrity": "sha512-v9jBMjpNWyn8B6k/Mjt6VbUS4J1GvUlR4x3Y+ibnP1z7y7V4n0WRz+50DY6+Myj0UaXVSuUlHohO+eZ8IJEnkg==",
+      "version": "5.50.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.50.0.tgz",
+      "integrity": "sha512-cdMeD9HGu6EXIeGOh2yVW6oGf9wq8asBgZx7nsR/D36gTfQ0odE5kcRYe5M81vjEFAcPeugXrHg78Imu55F6gg==",
       "dev": true,
       "requires": {
-        "@typescript-eslint/types": "5.49.0",
+        "@typescript-eslint/types": "5.50.0",
         "eslint-visitor-keys": "^3.3.0"
       }
     },
@@ -16946,9 +16948,9 @@
       }
     },
     "eslint-plugin-jsdoc": {
-      "version": "39.7.4",
-      "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.7.4.tgz",
-      "integrity": "sha512-2eJcWGKRyNQFa37UIpGcAdOp3wtES8vV3mlnFmEmJCuBNyFhK6cMhbZgMkLoLjKnipoxsN9GbfZZ+8nPY8ETZQ==",
+      "version": "39.8.0",
+      "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-39.8.0.tgz",
+      "integrity": "sha512-ZwGmk0jJoJD/NILeDRBKrpq/PCgddUdATjeU5JGTqTzKsOWfeaHOnaAwZjuOh7T8EB4hSoZ/9pR4+Qns2ldQVg==",
       "dev": true,
       "requires": {
         "@es-joy/jsdoccomment": "~0.36.1",
@@ -19670,9 +19672,9 @@
       }
     },
     "npm-check-updates": {
-      "version": "16.6.3",
-      "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-16.6.3.tgz",
-      "integrity": "sha512-EKhsCbBcVrPlYKzaYQtRhGv9fxpexwROcvl5HebCUNpiCSlOWrzaJvrMlwi9i9GCyJCnH+YAeBPYdqnArA390A==",
+      "version": "16.6.4",
+      "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-16.6.4.tgz",
+      "integrity": "sha512-YZ99u6l7GFG5y1/XapEqlMwUWVEJfwXbOsf6SU5X1YuKEHpWbC+98cL/F7TALKjVAMwOrx43WopeBspatxh/Kw==",
       "dev": true,
       "requires": {
         "chalk": "^5.2.0",
@@ -21825,9 +21827,9 @@
       "optional": true
     },
     "sass": {
-      "version": "1.57.1",
-      "resolved": "https://registry.npmjs.org/sass/-/sass-1.57.1.tgz",
-      "integrity": "sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw==",
+      "version": "1.58.0",
+      "resolved": "https://registry.npmjs.org/sass/-/sass-1.58.0.tgz",
+      "integrity": "sha512-PiMJcP33DdKtZ/1jSjjqVIKihoDc6yWmYr9K/4r3fVVIEDAluD0q7XZiRKrNJcPK3qkLRF/79DND1H5q1LBjgg==",
       "dev": true,
       "requires": {
         "chokidar": ">=3.0.0 <4.0.0",
@@ -23578,9 +23580,9 @@
       }
     },
     "typescript": {
-      "version": "4.9.4",
-      "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz",
-      "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==",
+      "version": "4.9.5",
+      "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
+      "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
       "dev": true
     },
     "uglify-js": {
diff --git a/package.json b/package.json
index dcc60b070bcab613358a449c3c0e5bd6c3374538..cbb3f98d91749e635c25492cd17e47aee5572582 100644
--- a/package.json
+++ b/package.json
@@ -61,11 +61,11 @@
     "@types/fuzzaldrin-plus": "^0.6.2",
     "@types/html-minifier": "^4.0.2",
     "@types/lunr": "^2.3.4",
-    "@types/node": "^18.11.18",
+    "@types/node": "^18.11.19",
     "@types/resize-observer-browser": "^0.1.7",
     "@types/sass": "^1.43.1",
-    "@typescript-eslint/eslint-plugin": "^5.49.0",
-    "@typescript-eslint/parser": "^5.49.0",
+    "@typescript-eslint/eslint-plugin": "^5.50.0",
+    "@typescript-eslint/parser": "^5.50.0",
     "autoprefixer": "^10.4.13",
     "chokidar": "^3.5.3",
     "cssnano": "5.1.0",
@@ -73,7 +73,7 @@
     "eslint": "^8.33.0",
     "eslint-plugin-eslint-comments": "^3.2.0",
     "eslint-plugin-import": "^2.27.5",
-    "eslint-plugin-jsdoc": "^39.7.4",
+    "eslint-plugin-jsdoc": "^39.8.0",
     "eslint-plugin-no-null": "^1.0.2",
     "github-types": "^1.0.0",
     "gitlab": "^14.2.2",
@@ -81,7 +81,7 @@
     "html-minifier": "^4.0.0",
     "material-design-color": "^2.3.2",
     "material-shadows": "^3.0.1",
-    "npm-check-updates": "^16.6.3",
+    "npm-check-updates": "^16.6.4",
     "npm-run-all": "^4.1.5",
     "postcss": "^8.4.21",
     "postcss-dir-pseudo-class": "^7.0.1",
@@ -90,7 +90,7 @@
     "postcss-pseudo-is": "^0.3.0",
     "preact": "^10.11.3",
     "rimraf": "^4.1.2",
-    "sass": "^1.57.1",
+    "sass": "^1.58.0",
     "simple-icons": "^8.4.0",
     "stylelint": "^14.16.1",
     "stylelint-config-rational-order": "^0.1.2",
@@ -100,7 +100,7 @@
     "svgo": "3.0.0",
     "tiny-glob": "^0.2.9",
     "ts-node": "^10.9.1",
-    "typescript": "^4.9.4"
+    "typescript": "^4.9.5"
   },
   "engines": {
     "node": ">= 16"