diff --git a/.dprint.jsonc b/.dprint.jsonc
index f1a2b60e47bf4..a5b46620d6465 100644
--- a/.dprint.jsonc
+++ b/.dprint.jsonc
@@ -59,8 +59,8 @@
     // Note: if adding new languages, make sure settings.template.json is updated too.
     // Also, if updating typescript, update the one in package.json.
     "plugins": [
-        "https://plugins.dprint.dev/typescript-0.90.5.wasm",
-        "https://plugins.dprint.dev/json-0.19.2.wasm",
+        "https://plugins.dprint.dev/typescript-0.91.0.wasm",
+        "https://plugins.dprint.dev/json-0.19.3.wasm",
         "https://plugins.dprint.dev/prettier-0.40.0.json@68c668863ec834d4be0f6f5ccaab415df75336a992aceb7eeeb14fdf096a9e9c"
     ]
 }
diff --git a/package-lock.json b/package-lock.json
index a49287f8ed3cd..75d6c9fad24d6 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -14,7 +14,7 @@
             },
             "devDependencies": {
                 "@dprint/formatter": "^0.3.0",
-                "@dprint/typescript": "0.90.5",
+                "@dprint/typescript": "0.91.0",
                 "@esfx/canceltoken": "^1.0.0",
                 "@octokit/rest": "^20.1.1",
                 "@types/chai": "^4.3.16",
@@ -25,22 +25,22 @@
                 "@types/node": "latest",
                 "@types/source-map-support": "^0.5.10",
                 "@types/which": "^3.0.3",
-                "@typescript-eslint/eslint-plugin": "^7.8.0",
-                "@typescript-eslint/parser": "^7.8.0",
-                "@typescript-eslint/utils": "^7.8.0",
+                "@typescript-eslint/eslint-plugin": "^7.11.0",
+                "@typescript-eslint/parser": "^7.11.0",
+                "@typescript-eslint/utils": "^7.11.0",
                 "azure-devops-node-api": "^13.0.0",
                 "c8": "^9.1.0",
                 "chai": "^4.4.1",
                 "chalk": "^4.1.2",
                 "chokidar": "^3.6.0",
                 "diff": "^5.2.0",
-                "dprint": "^0.45.1",
-                "esbuild": "^0.21.1",
+                "dprint": "^0.46.1",
+                "esbuild": "^0.21.4",
                 "eslint": "^8.57.0",
                 "eslint-formatter-autolinkable-stylish": "^1.3.0",
                 "eslint-plugin-local": "^4.2.2",
-                "fast-xml-parser": "^4.3.6",
-                "glob": "^10.3.12",
+                "fast-xml-parser": "^4.4.0",
+                "glob": "^10.4.1",
                 "hereby": "^1.8.9",
                 "jsonc-parser": "^3.2.1",
                 "minimist": "^1.2.8",
@@ -48,7 +48,7 @@
                 "mocha-fivemat-progress-reporter": "^0.1.0",
                 "ms": "^2.1.3",
                 "node-fetch": "^3.3.2",
-                "playwright": "^1.44.0",
+                "playwright": "^1.44.1",
                 "source-map-support": "^0.5.21",
                 "tslib": "^2.6.2",
                 "typescript": "^5.4.5",
@@ -65,9 +65,9 @@
             "dev": true
         },
         "node_modules/@dprint/darwin-arm64": {
-            "version": "0.45.1",
-            "resolved": "https://registry.npmjs.org/@dprint/darwin-arm64/-/darwin-arm64-0.45.1.tgz",
-            "integrity": "sha512-pH0/uKLJ5SJPoHhOwLWFMhCmL0BY3FzWQbull8OGMK/FRkIPgOl2adZSovtUZpUMGWyDOzIWH1fW9X2DuMhnEg==",
+            "version": "0.46.1",
+            "resolved": "https://registry.npmjs.org/@dprint/darwin-arm64/-/darwin-arm64-0.46.1.tgz",
+            "integrity": "sha512-dycE/uE++NGKYhKwSOrm1EculcD48GM12A1BF0f3Q2OW1ZNUqvlui/99lrohjPulJaIYX/QZQJ4hzTnaa6EDUA==",
             "cpu": [
                 "arm64"
             ],
@@ -78,9 +78,9 @@
             ]
         },
         "node_modules/@dprint/darwin-x64": {
-            "version": "0.45.1",
-            "resolved": "https://registry.npmjs.org/@dprint/darwin-x64/-/darwin-x64-0.45.1.tgz",
-            "integrity": "sha512-YUj421LmBLDlxpIER3pORKfQmpmXD50n5mClHjpZrnl17WTiHtQ+jHvDJdJoxH2eS66W0mQyxLoGo5SfFfiM7A==",
+            "version": "0.46.1",
+            "resolved": "https://registry.npmjs.org/@dprint/darwin-x64/-/darwin-x64-0.46.1.tgz",
+            "integrity": "sha512-q4Q8TQj51OU+SXhHCzP6jxUtwyCR6Vsmla7yyJVZKryA5l2WUqsSPimkq7Tt4K6ciDficTNxi5aaN/DMXBND2w==",
             "cpu": [
                 "x64"
             ],
@@ -97,9 +97,9 @@
             "dev": true
         },
         "node_modules/@dprint/linux-arm64-glibc": {
-            "version": "0.45.1",
-            "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-glibc/-/linux-arm64-glibc-0.45.1.tgz",
-            "integrity": "sha512-lJ7s/pOQWRJ0mstjZQnVyX2/3QRXZ9cpFHJDZ7e81Y8QSn/iqxTrnK0DPgxUrDG8hYKQmWQdQLU4sP5DKBz0Jg==",
+            "version": "0.46.1",
+            "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-glibc/-/linux-arm64-glibc-0.46.1.tgz",
+            "integrity": "sha512-kT6UHU8nN516nfk42IpxvQ9yRHg+lVcWyaGU6Pk/Wn0t/9UDqS2SWXfNNYFvq3A+IVsOAEY6ZvD40D1uXey0Pg==",
             "cpu": [
                 "arm64"
             ],
@@ -110,9 +110,9 @@
             ]
         },
         "node_modules/@dprint/linux-arm64-musl": {
-            "version": "0.45.1",
-            "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-musl/-/linux-arm64-musl-0.45.1.tgz",
-            "integrity": "sha512-un2awe1L1sAJLsCPSEUrE0/cgupdzbYFoyBOutyU1zHR9KQn47AtIDw+chvuinU4xleHDuEGyXGuJ6NE+Ky6vw==",
+            "version": "0.46.1",
+            "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-musl/-/linux-arm64-musl-0.46.1.tgz",
+            "integrity": "sha512-Qo71XzmL7GWEKPKKTFDf27WUO8mO+eXEvKY4gRiFuV2lOPw0VCfadc4iqlTCPj8Wp9qIKK7z/NgQXkVjPMbx5Q==",
             "cpu": [
                 "arm64"
             ],
@@ -123,9 +123,9 @@
             ]
         },
         "node_modules/@dprint/linux-x64-glibc": {
-            "version": "0.45.1",
-            "resolved": "https://registry.npmjs.org/@dprint/linux-x64-glibc/-/linux-x64-glibc-0.45.1.tgz",
-            "integrity": "sha512-5Civht90S/g8zlyYB7n4oH78p+sLbNqeFCFuImJRK7uRxZwCRya7lji6RwlB6DQ7qngVqovTHj9RLOYfZzfVlg==",
+            "version": "0.46.1",
+            "resolved": "https://registry.npmjs.org/@dprint/linux-x64-glibc/-/linux-x64-glibc-0.46.1.tgz",
+            "integrity": "sha512-ZDgJaCTY8Cb9F2FUlBgpN++stVamGKvy7MfdkKvvahAdkCQvba7kJg91aLGHNhDilDTo1IPgLcXLEP4xPhXMyA==",
             "cpu": [
                 "x64"
             ],
@@ -136,9 +136,9 @@
             ]
         },
         "node_modules/@dprint/linux-x64-musl": {
-            "version": "0.45.1",
-            "resolved": "https://registry.npmjs.org/@dprint/linux-x64-musl/-/linux-x64-musl-0.45.1.tgz",
-            "integrity": "sha512-p2/gjnHDd8GRCvtey5HZO4o/He6pSmY/zpcCuIXprFW9P0vNlEj3DFhz4FPpOKXM+csrsVWWs2E0T/xr5QZtVg==",
+            "version": "0.46.1",
+            "resolved": "https://registry.npmjs.org/@dprint/linux-x64-musl/-/linux-x64-musl-0.46.1.tgz",
+            "integrity": "sha512-6I+ubsGL89k9Vezo6AwWoLDHMoyGdBiHvVvfopF3GwDW1y4jRFXqSeVt3IGoeNa2PXZBEzhGzgiNl1YFFjao/A==",
             "cpu": [
                 "x64"
             ],
@@ -149,15 +149,15 @@
             ]
         },
         "node_modules/@dprint/typescript": {
-            "version": "0.90.5",
-            "resolved": "https://registry.npmjs.org/@dprint/typescript/-/typescript-0.90.5.tgz",
-            "integrity": "sha512-/1aP6saonFvJyQN3l2is6eTOec3GnLGyW+opid/eDm8pnlhwzYl8A9p36pI6WO5jLl/a9Ghod+LWpvSOuXFGUw==",
+            "version": "0.91.0",
+            "resolved": "https://registry.npmjs.org/@dprint/typescript/-/typescript-0.91.0.tgz",
+            "integrity": "sha512-NUKkNbuSnaEHONhiKhyn+V+wMzuLFXMZB7ACtyqKcdTJCXajmzkb6oSeaTAgTeNgRlua1zKgUOzKVAc/cp5Qwg==",
             "dev": true
         },
         "node_modules/@dprint/win32-x64": {
-            "version": "0.45.1",
-            "resolved": "https://registry.npmjs.org/@dprint/win32-x64/-/win32-x64-0.45.1.tgz",
-            "integrity": "sha512-2l78XM7KsW46P2Yv6uPB3fE+y92EsBlrCxi+RVQ0pbznPFdMdkLyGgaCuh683zdld14jHlaADpIQ7YchGAEMAg==",
+            "version": "0.46.1",
+            "resolved": "https://registry.npmjs.org/@dprint/win32-x64/-/win32-x64-0.46.1.tgz",
+            "integrity": "sha512-ugdhmL3Lo9n6Si/7eBtj1Rgo3Hbmf+9G0JxsWvuZBRA7Y+Xa9vtxbU4XqpUfG8rict5wR3b0i2X0iexVUgMYxA==",
             "cpu": [
                 "x64"
             ],
@@ -168,9 +168,9 @@
             ]
         },
         "node_modules/@esbuild/aix-ppc64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.3.tgz",
-            "integrity": "sha512-yTgnwQpFVYfvvo4SvRFB0SwrW8YjOxEoT7wfMT7Ol5v7v5LDNvSGo67aExmxOb87nQNeWPVvaGBNfQ7BXcrZ9w==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.4.tgz",
+            "integrity": "sha512-Zrm+B33R4LWPLjDEVnEqt2+SLTATlru1q/xYKVn8oVTbiRBGmK2VIMoIYGJDGyftnGaC788IuzGFAlb7IQ0Y8A==",
             "cpu": [
                 "ppc64"
             ],
@@ -184,9 +184,9 @@
             }
         },
         "node_modules/@esbuild/android-arm": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.3.tgz",
-            "integrity": "sha512-bviJOLMgurLJtF1/mAoJLxDZDL6oU5/ztMHnJQRejbJrSc9FFu0QoUoFhvi6qSKJEw9y5oGyvr9fuDtzJ30rNQ==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.4.tgz",
+            "integrity": "sha512-E7H/yTd8kGQfY4z9t3nRPk/hrhaCajfA3YSQSBrst8B+3uTcgsi8N+ZWYCaeIDsiVs6m65JPCaQN/DxBRclF3A==",
             "cpu": [
                 "arm"
             ],
@@ -200,9 +200,9 @@
             }
         },
         "node_modules/@esbuild/android-arm64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.3.tgz",
-            "integrity": "sha512-c+ty9necz3zB1Y+d/N+mC6KVVkGUUOcm4ZmT5i/Fk5arOaY3i6CA3P5wo/7+XzV8cb4GrI/Zjp8NuOQ9Lfsosw==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.4.tgz",
+            "integrity": "sha512-fYFnz+ObClJ3dNiITySBUx+oNalYUT18/AryMxfovLkYWbutXsct3Wz2ZWAcGGppp+RVVX5FiXeLYGi97umisA==",
             "cpu": [
                 "arm64"
             ],
@@ -216,9 +216,9 @@
             }
         },
         "node_modules/@esbuild/android-x64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.3.tgz",
-            "integrity": "sha512-JReHfYCRK3FVX4Ra+y5EBH1b9e16TV2OxrPAvzMsGeES0X2Ndm9ImQRI4Ket757vhc5XBOuGperw63upesclRw==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.4.tgz",
+            "integrity": "sha512-mDqmlge3hFbEPbCWxp4fM6hqq7aZfLEHZAKGP9viq9wMUBVQx202aDIfc3l+d2cKhUJM741VrCXEzRFhPDKH3Q==",
             "cpu": [
                 "x64"
             ],
@@ -232,9 +232,9 @@
             }
         },
         "node_modules/@esbuild/darwin-arm64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.3.tgz",
-            "integrity": "sha512-U3fuQ0xNiAkXOmQ6w5dKpEvXQRSpHOnbw7gEfHCRXPeTKW9sBzVck6C5Yneb8LfJm0l6le4NQfkNPnWMSlTFUQ==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.4.tgz",
+            "integrity": "sha512-72eaIrDZDSiWqpmCzVaBD58c8ea8cw/U0fq/PPOTqE3c53D0xVMRt2ooIABZ6/wj99Y+h4ksT/+I+srCDLU9TA==",
             "cpu": [
                 "arm64"
             ],
@@ -248,9 +248,9 @@
             }
         },
         "node_modules/@esbuild/darwin-x64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.3.tgz",
-            "integrity": "sha512-3m1CEB7F07s19wmaMNI2KANLcnaqryJxO1fXHUV5j1rWn+wMxdUYoPyO2TnAbfRZdi7ADRwJClmOwgT13qlP3Q==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.4.tgz",
+            "integrity": "sha512-uBsuwRMehGmw1JC7Vecu/upOjTsMhgahmDkWhGLWxIgUn2x/Y4tIwUZngsmVb6XyPSTXJYS4YiASKPcm9Zitag==",
             "cpu": [
                 "x64"
             ],
@@ -264,9 +264,9 @@
             }
         },
         "node_modules/@esbuild/freebsd-arm64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.3.tgz",
-            "integrity": "sha512-fsNAAl5pU6wmKHq91cHWQT0Fz0vtyE1JauMzKotrwqIKAswwP5cpHUCxZNSTuA/JlqtScq20/5KZ+TxQdovU/g==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.4.tgz",
+            "integrity": "sha512-8JfuSC6YMSAEIZIWNL3GtdUT5NhUA/CMUCpZdDRolUXNAXEE/Vbpe6qlGLpfThtY5NwXq8Hi4nJy4YfPh+TwAg==",
             "cpu": [
                 "arm64"
             ],
@@ -280,9 +280,9 @@
             }
         },
         "node_modules/@esbuild/freebsd-x64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.3.tgz",
-            "integrity": "sha512-tci+UJ4zP5EGF4rp8XlZIdq1q1a/1h9XuronfxTMCNBslpCtmk97Q/5qqy1Mu4zIc0yswN/yP/BLX+NTUC1bXA==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.4.tgz",
+            "integrity": "sha512-8d9y9eQhxv4ef7JmXny7591P/PYsDFc4+STaxC1GBv0tMyCdyWfXu2jBuqRsyhY8uL2HU8uPyscgE2KxCY9imQ==",
             "cpu": [
                 "x64"
             ],
@@ -296,9 +296,9 @@
             }
         },
         "node_modules/@esbuild/linux-arm": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.3.tgz",
-            "integrity": "sha512-f6kz2QpSuyHHg01cDawj0vkyMwuIvN62UAguQfnNVzbge2uWLhA7TCXOn83DT0ZvyJmBI943MItgTovUob36SQ==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.4.tgz",
+            "integrity": "sha512-2rqFFefpYmpMs+FWjkzSgXg5vViocqpq5a1PSRgT0AvSgxoXmGF17qfGAzKedg6wAwyM7UltrKVo9kxaJLMF/g==",
             "cpu": [
                 "arm"
             ],
@@ -312,9 +312,9 @@
             }
         },
         "node_modules/@esbuild/linux-arm64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.3.tgz",
-            "integrity": "sha512-vvG6R5g5ieB4eCJBQevyDMb31LMHthLpXTc2IGkFnPWS/GzIFDnaYFp558O+XybTmYrVjxnryru7QRleJvmZ6Q==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.4.tgz",
+            "integrity": "sha512-/GLD2orjNU50v9PcxNpYZi+y8dJ7e7/LhQukN3S4jNDXCKkyyiyAz9zDw3siZ7Eh1tRcnCHAo/WcqKMzmi4eMQ==",
             "cpu": [
                 "arm64"
             ],
@@ -328,9 +328,9 @@
             }
         },
         "node_modules/@esbuild/linux-ia32": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.3.tgz",
-            "integrity": "sha512-HjCWhH7K96Na+66TacDLJmOI9R8iDWDDiqe17C7znGvvE4sW1ECt9ly0AJ3dJH62jHyVqW9xpxZEU1jKdt+29A==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.4.tgz",
+            "integrity": "sha512-pNftBl7m/tFG3t2m/tSjuYeWIffzwAZT9m08+9DPLizxVOsUl8DdFzn9HvJrTQwe3wvJnwTdl92AonY36w/25g==",
             "cpu": [
                 "ia32"
             ],
@@ -344,9 +344,9 @@
             }
         },
         "node_modules/@esbuild/linux-loong64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.3.tgz",
-            "integrity": "sha512-BGpimEccmHBZRcAhdlRIxMp7x9PyJxUtj7apL2IuoG9VxvU/l/v1z015nFs7Si7tXUwEsvjc1rOJdZCn4QTU+Q==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.4.tgz",
+            "integrity": "sha512-cSD2gzCK5LuVX+hszzXQzlWya6c7hilO71L9h4KHwqI4qeqZ57bAtkgcC2YioXjsbfAv4lPn3qe3b00Zt+jIfQ==",
             "cpu": [
                 "loong64"
             ],
@@ -360,9 +360,9 @@
             }
         },
         "node_modules/@esbuild/linux-mips64el": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.3.tgz",
-            "integrity": "sha512-5rMOWkp7FQGtAH3QJddP4w3s47iT20hwftqdm7b+loe95o8JU8ro3qZbhgMRy0VuFU0DizymF1pBKkn3YHWtsw==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.4.tgz",
+            "integrity": "sha512-qtzAd3BJh7UdbiXCrg6npWLYU0YpufsV9XlufKhMhYMJGJCdfX/G6+PNd0+v877X1JG5VmjBLUiFB0o8EUSicA==",
             "cpu": [
                 "mips64el"
             ],
@@ -376,9 +376,9 @@
             }
         },
         "node_modules/@esbuild/linux-ppc64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.3.tgz",
-            "integrity": "sha512-h0zj1ldel89V5sjPLo5H1SyMzp4VrgN1tPkN29TmjvO1/r0MuMRwJxL8QY05SmfsZRs6TF0c/IDH3u7XYYmbAg==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.4.tgz",
+            "integrity": "sha512-yB8AYzOTaL0D5+2a4xEy7OVvbcypvDR05MsB/VVPVA7nL4hc5w5Dyd/ddnayStDgJE59fAgNEOdLhBxjfx5+dg==",
             "cpu": [
                 "ppc64"
             ],
@@ -392,9 +392,9 @@
             }
         },
         "node_modules/@esbuild/linux-riscv64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.3.tgz",
-            "integrity": "sha512-dkAKcTsTJ+CRX6bnO17qDJbLoW37npd5gSNtSzjYQr0svghLJYGYB0NF1SNcU1vDcjXLYS5pO4qOW4YbFama4A==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.4.tgz",
+            "integrity": "sha512-Y5AgOuVzPjQdgU59ramLoqSSiXddu7F3F+LI5hYy/d1UHN7K5oLzYBDZe23QmQJ9PIVUXwOdKJ/jZahPdxzm9w==",
             "cpu": [
                 "riscv64"
             ],
@@ -408,9 +408,9 @@
             }
         },
         "node_modules/@esbuild/linux-s390x": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.3.tgz",
-            "integrity": "sha512-vnD1YUkovEdnZWEuMmy2X2JmzsHQqPpZElXx6dxENcIwTu+Cu5ERax6+Ke1QsE814Zf3c6rxCfwQdCTQ7tPuXA==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.4.tgz",
+            "integrity": "sha512-Iqc/l/FFwtt8FoTK9riYv9zQNms7B8u+vAI/rxKuN10HgQIXaPzKZc479lZ0x6+vKVQbu55GdpYpeNWzjOhgbA==",
             "cpu": [
                 "s390x"
             ],
@@ -424,9 +424,9 @@
             }
         },
         "node_modules/@esbuild/linux-x64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.3.tgz",
-            "integrity": "sha512-IOXOIm9WaK7plL2gMhsWJd+l2bfrhfilv0uPTptoRoSb2p09RghhQQp9YY6ZJhk/kqmeRt6siRdMSLLwzuT0KQ==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.4.tgz",
+            "integrity": "sha512-Td9jv782UMAFsuLZINfUpoF5mZIbAj+jv1YVtE58rFtfvoKRiKSkRGQfHTgKamLVT/fO7203bHa3wU122V/Bdg==",
             "cpu": [
                 "x64"
             ],
@@ -440,9 +440,9 @@
             }
         },
         "node_modules/@esbuild/netbsd-x64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.3.tgz",
-            "integrity": "sha512-uTgCwsvQ5+vCQnqM//EfDSuomo2LhdWhFPS8VL8xKf+PKTCrcT/2kPPoWMTs22aB63MLdGMJiE3f1PHvCDmUOw==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.4.tgz",
+            "integrity": "sha512-Awn38oSXxsPMQxaV0Ipb7W/gxZtk5Tx3+W+rAPdZkyEhQ6968r9NvtkjhnhbEgWXYbgV+JEONJ6PcdBS+nlcpA==",
             "cpu": [
                 "x64"
             ],
@@ -456,9 +456,9 @@
             }
         },
         "node_modules/@esbuild/openbsd-x64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.3.tgz",
-            "integrity": "sha512-vNAkR17Ub2MgEud2Wag/OE4HTSI6zlb291UYzHez/psiKarp0J8PKGDnAhMBcHFoOHMXHfExzmjMojJNbAStrQ==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.4.tgz",
+            "integrity": "sha512-IsUmQeCY0aU374R82fxIPu6vkOybWIMc3hVGZ3ChRwL9hA1TwY+tS0lgFWV5+F1+1ssuvvXt3HFqe8roCip8Hg==",
             "cpu": [
                 "x64"
             ],
@@ -472,9 +472,9 @@
             }
         },
         "node_modules/@esbuild/sunos-x64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.3.tgz",
-            "integrity": "sha512-W8H9jlGiSBomkgmouaRoTXo49j4w4Kfbl6I1bIdO/vT0+0u4f20ko3ELzV3hPI6XV6JNBVX+8BC+ajHkvffIJA==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.4.tgz",
+            "integrity": "sha512-hsKhgZ4teLUaDA6FG/QIu2q0rI6I36tZVfM4DBZv3BG0mkMIdEnMbhc4xwLvLJSS22uWmaVkFkqWgIS0gPIm+A==",
             "cpu": [
                 "x64"
             ],
@@ -488,9 +488,9 @@
             }
         },
         "node_modules/@esbuild/win32-arm64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.3.tgz",
-            "integrity": "sha512-EjEomwyLSCg8Ag3LDILIqYCZAq/y3diJ04PnqGRgq8/4O3VNlXyMd54j/saShaN4h5o5mivOjAzmU6C3X4v0xw==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.4.tgz",
+            "integrity": "sha512-UUfMgMoXPoA/bvGUNfUBFLCh0gt9dxZYIx9W4rfJr7+hKe5jxxHmfOK8YSH4qsHLLN4Ck8JZ+v7Q5fIm1huErg==",
             "cpu": [
                 "arm64"
             ],
@@ -504,9 +504,9 @@
             }
         },
         "node_modules/@esbuild/win32-ia32": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.3.tgz",
-            "integrity": "sha512-WGiE/GgbsEwR33++5rzjiYsKyHywE8QSZPF7Rfx9EBfK3Qn3xyR6IjyCr5Uk38Kg8fG4/2phN7sXp4NPWd3fcw==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.4.tgz",
+            "integrity": "sha512-yIxbspZb5kGCAHWm8dexALQ9en1IYDfErzjSEq1KzXFniHv019VT3mNtTK7t8qdy4TwT6QYHI9sEZabONHg+aw==",
             "cpu": [
                 "ia32"
             ],
@@ -520,9 +520,9 @@
             }
         },
         "node_modules/@esbuild/win32-x64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.3.tgz",
-            "integrity": "sha512-xRxC0jaJWDLYvcUvjQmHCJSfMrgmUuvsoXgDeU/wTorQ1ngDdUBuFtgY3W1Pc5sprGAvZBtWdJX7RPg/iZZUqA==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.4.tgz",
+            "integrity": "sha512-sywLRD3UK/qRJt0oBwdpYLBibk7KiRfbswmWRDabuncQYSlf8aLEEUor/oP6KRz8KEG+HoiVLBhPRD5JWjS8Sg==",
             "cpu": [
                 "x64"
             ],
@@ -1021,9 +1021,9 @@
             "dev": true
         },
         "node_modules/@types/node": {
-            "version": "20.12.12",
-            "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.12.tgz",
-            "integrity": "sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==",
+            "version": "20.12.13",
+            "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.13.tgz",
+            "integrity": "sha512-gBGeanV41c1L171rR7wjbMiEpEI/l5XFQdLLfhr/REwpgDy/4U8y89+i8kRiLzDyZdOkXh+cRaTetUnCYutoXA==",
             "dev": true,
             "dependencies": {
                 "undici-types": "~5.26.4"
@@ -1045,16 +1045,16 @@
             "dev": true
         },
         "node_modules/@typescript-eslint/eslint-plugin": {
-            "version": "7.9.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.9.0.tgz",
-            "integrity": "sha512-6e+X0X3sFe/G/54aC3jt0txuMTURqLyekmEHViqyA2VnxhLMpvA6nqmcjIy+Cr9tLDHPssA74BP5Mx9HQIxBEA==",
+            "version": "7.11.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.11.0.tgz",
+            "integrity": "sha512-P+qEahbgeHW4JQ/87FuItjBj8O3MYv5gELDzr8QaQ7fsll1gSMTYb6j87MYyxwf3DtD7uGFB9ShwgmCJB5KmaQ==",
             "dev": true,
             "dependencies": {
                 "@eslint-community/regexpp": "^4.10.0",
-                "@typescript-eslint/scope-manager": "7.9.0",
-                "@typescript-eslint/type-utils": "7.9.0",
-                "@typescript-eslint/utils": "7.9.0",
-                "@typescript-eslint/visitor-keys": "7.9.0",
+                "@typescript-eslint/scope-manager": "7.11.0",
+                "@typescript-eslint/type-utils": "7.11.0",
+                "@typescript-eslint/utils": "7.11.0",
+                "@typescript-eslint/visitor-keys": "7.11.0",
                 "graphemer": "^1.4.0",
                 "ignore": "^5.3.1",
                 "natural-compare": "^1.4.0",
@@ -1078,15 +1078,15 @@
             }
         },
         "node_modules/@typescript-eslint/parser": {
-            "version": "7.9.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.9.0.tgz",
-            "integrity": "sha512-qHMJfkL5qvgQB2aLvhUSXxbK7OLnDkwPzFalg458pxQgfxKDfT1ZDbHQM/I6mDIf/svlMkj21kzKuQ2ixJlatQ==",
+            "version": "7.11.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.11.0.tgz",
+            "integrity": "sha512-yimw99teuaXVWsBcPO1Ais02kwJ1jmNA1KxE7ng0aT7ndr1pT1wqj0OJnsYVGKKlc4QJai86l/025L6z8CljOg==",
             "dev": true,
             "dependencies": {
-                "@typescript-eslint/scope-manager": "7.9.0",
-                "@typescript-eslint/types": "7.9.0",
-                "@typescript-eslint/typescript-estree": "7.9.0",
-                "@typescript-eslint/visitor-keys": "7.9.0",
+                "@typescript-eslint/scope-manager": "7.11.0",
+                "@typescript-eslint/types": "7.11.0",
+                "@typescript-eslint/typescript-estree": "7.11.0",
+                "@typescript-eslint/visitor-keys": "7.11.0",
                 "debug": "^4.3.4"
             },
             "engines": {
@@ -1106,13 +1106,13 @@
             }
         },
         "node_modules/@typescript-eslint/scope-manager": {
-            "version": "7.9.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.9.0.tgz",
-            "integrity": "sha512-ZwPK4DeCDxr3GJltRz5iZejPFAAr4Wk3+2WIBaj1L5PYK5RgxExu/Y68FFVclN0y6GGwH8q+KgKRCvaTmFBbgQ==",
+            "version": "7.11.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.11.0.tgz",
+            "integrity": "sha512-27tGdVEiutD4POirLZX4YzT180vevUURJl4wJGmm6TrQoiYwuxTIY98PBp6L2oN+JQxzE0URvYlzJaBHIekXAw==",
             "dev": true,
             "dependencies": {
-                "@typescript-eslint/types": "7.9.0",
-                "@typescript-eslint/visitor-keys": "7.9.0"
+                "@typescript-eslint/types": "7.11.0",
+                "@typescript-eslint/visitor-keys": "7.11.0"
             },
             "engines": {
                 "node": "^18.18.0 || >=20.0.0"
@@ -1123,13 +1123,13 @@
             }
         },
         "node_modules/@typescript-eslint/type-utils": {
-            "version": "7.9.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.9.0.tgz",
-            "integrity": "sha512-6Qy8dfut0PFrFRAZsGzuLoM4hre4gjzWJB6sUvdunCYZsYemTkzZNwF1rnGea326PHPT3zn5Lmg32M/xfJfByA==",
+            "version": "7.11.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.11.0.tgz",
+            "integrity": "sha512-WmppUEgYy+y1NTseNMJ6mCFxt03/7jTOy08bcg7bxJJdsM4nuhnchyBbE8vryveaJUf62noH7LodPSo5Z0WUCg==",
             "dev": true,
             "dependencies": {
-                "@typescript-eslint/typescript-estree": "7.9.0",
-                "@typescript-eslint/utils": "7.9.0",
+                "@typescript-eslint/typescript-estree": "7.11.0",
+                "@typescript-eslint/utils": "7.11.0",
                 "debug": "^4.3.4",
                 "ts-api-utils": "^1.3.0"
             },
@@ -1150,9 +1150,9 @@
             }
         },
         "node_modules/@typescript-eslint/types": {
-            "version": "7.9.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.9.0.tgz",
-            "integrity": "sha512-oZQD9HEWQanl9UfsbGVcZ2cGaR0YT5476xfWE0oE5kQa2sNK2frxOlkeacLOTh9po4AlUT5rtkGyYM5kew0z5w==",
+            "version": "7.11.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.11.0.tgz",
+            "integrity": "sha512-MPEsDRZTyCiXkD4vd3zywDCifi7tatc4K37KqTprCvaXptP7Xlpdw0NR2hRJTetG5TxbWDB79Ys4kLmHliEo/w==",
             "dev": true,
             "engines": {
                 "node": "^18.18.0 || >=20.0.0"
@@ -1163,13 +1163,13 @@
             }
         },
         "node_modules/@typescript-eslint/typescript-estree": {
-            "version": "7.9.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.9.0.tgz",
-            "integrity": "sha512-zBCMCkrb2YjpKV3LA0ZJubtKCDxLttxfdGmwZvTqqWevUPN0FZvSI26FalGFFUZU/9YQK/A4xcQF9o/VVaCKAg==",
+            "version": "7.11.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.11.0.tgz",
+            "integrity": "sha512-cxkhZ2C/iyi3/6U9EPc5y+a6csqHItndvN/CzbNXTNrsC3/ASoYQZEt9uMaEp+xFNjasqQyszp5TumAVKKvJeQ==",
             "dev": true,
             "dependencies": {
-                "@typescript-eslint/types": "7.9.0",
-                "@typescript-eslint/visitor-keys": "7.9.0",
+                "@typescript-eslint/types": "7.11.0",
+                "@typescript-eslint/visitor-keys": "7.11.0",
                 "debug": "^4.3.4",
                 "globby": "^11.1.0",
                 "is-glob": "^4.0.3",
@@ -1191,15 +1191,15 @@
             }
         },
         "node_modules/@typescript-eslint/utils": {
-            "version": "7.9.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.9.0.tgz",
-            "integrity": "sha512-5KVRQCzZajmT4Ep+NEgjXCvjuypVvYHUW7RHlXzNPuak2oWpVoD1jf5xCP0dPAuNIchjC7uQyvbdaSTFaLqSdA==",
+            "version": "7.11.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.11.0.tgz",
+            "integrity": "sha512-xlAWwPleNRHwF37AhrZurOxA1wyXowW4PqVXZVUNCLjB48CqdPJoJWkrpH2nij9Q3Lb7rtWindtoXwxjxlKKCA==",
             "dev": true,
             "dependencies": {
                 "@eslint-community/eslint-utils": "^4.4.0",
-                "@typescript-eslint/scope-manager": "7.9.0",
-                "@typescript-eslint/types": "7.9.0",
-                "@typescript-eslint/typescript-estree": "7.9.0"
+                "@typescript-eslint/scope-manager": "7.11.0",
+                "@typescript-eslint/types": "7.11.0",
+                "@typescript-eslint/typescript-estree": "7.11.0"
             },
             "engines": {
                 "node": "^18.18.0 || >=20.0.0"
@@ -1213,12 +1213,12 @@
             }
         },
         "node_modules/@typescript-eslint/visitor-keys": {
-            "version": "7.9.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.9.0.tgz",
-            "integrity": "sha512-iESPx2TNLDNGQLyjKhUvIKprlP49XNEK+MvIf9nIO7ZZaZdbnfWKHnXAgufpxqfA0YryH8XToi4+CjBgVnFTSQ==",
+            "version": "7.11.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.11.0.tgz",
+            "integrity": "sha512-7syYk4MzjxTEk0g/w3iqtgxnFQspDJfn6QKD36xMuuhTzjcxY7F8EmBLnALjVyaOF1/bVocu3bS/2/F7rXrveQ==",
             "dev": true,
             "dependencies": {
-                "@typescript-eslint/types": "7.9.0",
+                "@typescript-eslint/types": "7.11.0",
                 "eslint-visitor-keys": "^3.4.3"
             },
             "engines": {
@@ -1395,12 +1395,12 @@
             }
         },
         "node_modules/braces": {
-            "version": "3.0.2",
-            "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-            "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+            "version": "3.0.3",
+            "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+            "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
             "dev": true,
             "dependencies": {
-                "fill-range": "^7.0.1"
+                "fill-range": "^7.1.1"
             },
             "engines": {
                 "node": ">=8"
@@ -1877,22 +1877,22 @@
             }
         },
         "node_modules/dprint": {
-            "version": "0.45.1",
-            "resolved": "https://registry.npmjs.org/dprint/-/dprint-0.45.1.tgz",
-            "integrity": "sha512-OYefcDgxd6jSdig/Cfkw1vdvyiOIRruCPnqGBbXpc95buDt9kvwL+Lic1OHc+SaQSsQub0BUZMd5+TNgy8Sh3A==",
+            "version": "0.46.1",
+            "resolved": "https://registry.npmjs.org/dprint/-/dprint-0.46.1.tgz",
+            "integrity": "sha512-OdILoUitGxbykCYcTijUOtY7bD4kNoSSzm4kHd5sYNh6f64P8Zfcr+e/Dh4oEn89wHIl10TTrrUs7ny5MELKkQ==",
             "dev": true,
             "hasInstallScript": true,
             "bin": {
                 "dprint": "bin.js"
             },
             "optionalDependencies": {
-                "@dprint/darwin-arm64": "0.45.1",
-                "@dprint/darwin-x64": "0.45.1",
-                "@dprint/linux-arm64-glibc": "0.45.1",
-                "@dprint/linux-arm64-musl": "0.45.1",
-                "@dprint/linux-x64-glibc": "0.45.1",
-                "@dprint/linux-x64-musl": "0.45.1",
-                "@dprint/win32-x64": "0.45.1"
+                "@dprint/darwin-arm64": "0.46.1",
+                "@dprint/darwin-x64": "0.46.1",
+                "@dprint/linux-arm64-glibc": "0.46.1",
+                "@dprint/linux-arm64-musl": "0.46.1",
+                "@dprint/linux-x64-glibc": "0.46.1",
+                "@dprint/linux-x64-musl": "0.46.1",
+                "@dprint/win32-x64": "0.46.1"
             }
         },
         "node_modules/eastasianwidth": {
@@ -1929,9 +1929,9 @@
             }
         },
         "node_modules/esbuild": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.3.tgz",
-            "integrity": "sha512-Kgq0/ZsAPzKrbOjCQcjoSmPoWhlcVnGAUo7jvaLHoxW1Drto0KGkR1xBNg2Cp43b9ImvxmPEJZ9xkfcnqPsfBw==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.4.tgz",
+            "integrity": "sha512-sFMcNNrj+Q0ZDolrp5pDhH0nRPN9hLIM3fRPwgbLYJeSHHgnXSnbV3xYgSVuOeLWH9c73VwmEverVzupIv5xuA==",
             "dev": true,
             "hasInstallScript": true,
             "bin": {
@@ -1941,29 +1941,29 @@
                 "node": ">=12"
             },
             "optionalDependencies": {
-                "@esbuild/aix-ppc64": "0.21.3",
-                "@esbuild/android-arm": "0.21.3",
-                "@esbuild/android-arm64": "0.21.3",
-                "@esbuild/android-x64": "0.21.3",
-                "@esbuild/darwin-arm64": "0.21.3",
-                "@esbuild/darwin-x64": "0.21.3",
-                "@esbuild/freebsd-arm64": "0.21.3",
-                "@esbuild/freebsd-x64": "0.21.3",
-                "@esbuild/linux-arm": "0.21.3",
-                "@esbuild/linux-arm64": "0.21.3",
-                "@esbuild/linux-ia32": "0.21.3",
-                "@esbuild/linux-loong64": "0.21.3",
-                "@esbuild/linux-mips64el": "0.21.3",
-                "@esbuild/linux-ppc64": "0.21.3",
-                "@esbuild/linux-riscv64": "0.21.3",
-                "@esbuild/linux-s390x": "0.21.3",
-                "@esbuild/linux-x64": "0.21.3",
-                "@esbuild/netbsd-x64": "0.21.3",
-                "@esbuild/openbsd-x64": "0.21.3",
-                "@esbuild/sunos-x64": "0.21.3",
-                "@esbuild/win32-arm64": "0.21.3",
-                "@esbuild/win32-ia32": "0.21.3",
-                "@esbuild/win32-x64": "0.21.3"
+                "@esbuild/aix-ppc64": "0.21.4",
+                "@esbuild/android-arm": "0.21.4",
+                "@esbuild/android-arm64": "0.21.4",
+                "@esbuild/android-x64": "0.21.4",
+                "@esbuild/darwin-arm64": "0.21.4",
+                "@esbuild/darwin-x64": "0.21.4",
+                "@esbuild/freebsd-arm64": "0.21.4",
+                "@esbuild/freebsd-x64": "0.21.4",
+                "@esbuild/linux-arm": "0.21.4",
+                "@esbuild/linux-arm64": "0.21.4",
+                "@esbuild/linux-ia32": "0.21.4",
+                "@esbuild/linux-loong64": "0.21.4",
+                "@esbuild/linux-mips64el": "0.21.4",
+                "@esbuild/linux-ppc64": "0.21.4",
+                "@esbuild/linux-riscv64": "0.21.4",
+                "@esbuild/linux-s390x": "0.21.4",
+                "@esbuild/linux-x64": "0.21.4",
+                "@esbuild/netbsd-x64": "0.21.4",
+                "@esbuild/openbsd-x64": "0.21.4",
+                "@esbuild/sunos-x64": "0.21.4",
+                "@esbuild/win32-arm64": "0.21.4",
+                "@esbuild/win32-ia32": "0.21.4",
+                "@esbuild/win32-x64": "0.21.4"
             }
         },
         "node_modules/escalade": {
@@ -2230,9 +2230,9 @@
             "dev": true
         },
         "node_modules/fast-xml-parser": {
-            "version": "4.3.6",
-            "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.6.tgz",
-            "integrity": "sha512-M2SovcRxD4+vC493Uc2GZVcZaj66CCJhWurC4viynVSTvrpErCShNcDz1lAho6n9REQKvL/ll4A4/fw6Y9z8nw==",
+            "version": "4.4.0",
+            "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.0.tgz",
+            "integrity": "sha512-kLY3jFlwIYwBNDojclKsNAC12sfD6NwW74QB2CoNGPvtVxjliYehVunB3HYyNi+n4Tt1dAcgwYvmKF/Z18flqg==",
             "dev": true,
             "funding": [
                 {
@@ -2305,9 +2305,9 @@
             }
         },
         "node_modules/fill-range": {
-            "version": "7.0.1",
-            "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-            "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+            "version": "7.1.1",
+            "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+            "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
             "dev": true,
             "dependencies": {
                 "to-regex-range": "^5.0.1"
@@ -2456,16 +2456,16 @@
             }
         },
         "node_modules/glob": {
-            "version": "10.3.15",
-            "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.15.tgz",
-            "integrity": "sha512-0c6RlJt1TICLyvJYIApxb8GsXoai0KUP7AxKKAtsYXdgJR1mGEUa7DgwShbdk1nly0PYoZj01xd4hzbq3fsjpw==",
+            "version": "10.4.1",
+            "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz",
+            "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==",
             "dev": true,
             "dependencies": {
                 "foreground-child": "^3.1.0",
-                "jackspeak": "^2.3.6",
-                "minimatch": "^9.0.1",
-                "minipass": "^7.0.4",
-                "path-scurry": "^1.11.0"
+                "jackspeak": "^3.1.2",
+                "minimatch": "^9.0.4",
+                "minipass": "^7.1.2",
+                "path-scurry": "^1.11.1"
             },
             "bin": {
                 "glob": "dist/esm/bin.mjs"
@@ -2682,6 +2682,7 @@
             "version": "1.0.6",
             "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
             "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+            "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
             "dev": true,
             "dependencies": {
                 "once": "^1.3.0",
@@ -2827,9 +2828,9 @@
             }
         },
         "node_modules/jackspeak": {
-            "version": "2.3.6",
-            "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz",
-            "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==",
+            "version": "3.1.2",
+            "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.1.2.tgz",
+            "integrity": "sha512-kWmLKn2tRtfYMF/BakihVVRzBKOxz4gJMiL2Rj91WnAB5TPZumSH99R/Yf1qE1u4uRimvCSJfm6hnxohXeEXjQ==",
             "dev": true,
             "dependencies": {
                 "@isaacs/cliui": "^8.0.2"
@@ -2988,12 +2989,12 @@
             }
         },
         "node_modules/micromatch": {
-            "version": "4.0.5",
-            "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
-            "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+            "version": "4.0.7",
+            "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
+            "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
             "dev": true,
             "dependencies": {
-                "braces": "^3.0.2",
+                "braces": "^3.0.3",
                 "picomatch": "^2.3.1"
             },
             "engines": {
@@ -3025,9 +3026,9 @@
             }
         },
         "node_modules/minipass": {
-            "version": "7.1.1",
-            "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.1.tgz",
-            "integrity": "sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==",
+            "version": "7.1.2",
+            "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+            "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
             "dev": true,
             "engines": {
                 "node": ">=16 || 14 >=14.17"
@@ -3131,6 +3132,7 @@
             "version": "8.1.0",
             "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
             "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
+            "deprecated": "Glob versions prior to v9 are no longer supported",
             "dev": true,
             "dependencies": {
                 "fs.realpath": "^1.0.0",
@@ -3458,12 +3460,12 @@
             }
         },
         "node_modules/playwright": {
-            "version": "1.44.0",
-            "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.44.0.tgz",
-            "integrity": "sha512-F9b3GUCLQ3Nffrfb6dunPOkE5Mh68tR7zN32L4jCk4FjQamgesGay7/dAAe1WaMEGV04DkdJfcJzjoCKygUaRQ==",
+            "version": "1.44.1",
+            "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.44.1.tgz",
+            "integrity": "sha512-qr/0UJ5CFAtloI3avF95Y0L1xQo6r3LQArLIg/z/PoGJ6xa+EwzrwO5lpNr/09STxdHuUoP2mvuELJS+hLdtgg==",
             "dev": true,
             "dependencies": {
-                "playwright-core": "1.44.0"
+                "playwright-core": "1.44.1"
             },
             "bin": {
                 "playwright": "cli.js"
@@ -3476,9 +3478,9 @@
             }
         },
         "node_modules/playwright-core": {
-            "version": "1.44.0",
-            "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.44.0.tgz",
-            "integrity": "sha512-ZTbkNpFfYcGWohvTTl+xewITm7EOuqIqex0c7dNZ+aXsbrLj0qI8XlGKfPpipjm0Wny/4Lt4CJsWJk1stVS5qQ==",
+            "version": "1.44.1",
+            "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.44.1.tgz",
+            "integrity": "sha512-wh0JWtYTrhv1+OSsLPgFzGzt67Y7BE/ZS3jEqgGBlp2ppp1ZDj8c+9IARNW4dwf1poq5MgHreEM2KV/GuR4cFA==",
             "dev": true,
             "bin": {
                 "playwright-core": "cli.js"
@@ -3646,6 +3648,7 @@
             "version": "3.0.2",
             "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
             "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+            "deprecated": "Rimraf versions prior to v4 are no longer supported",
             "dev": true,
             "dependencies": {
                 "glob": "^7.1.3"
@@ -3671,6 +3674,7 @@
             "version": "7.2.3",
             "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
             "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+            "deprecated": "Glob versions prior to v9 are no longer supported",
             "dev": true,
             "dependencies": {
                 "fs.realpath": "^1.0.0",
@@ -4022,6 +4026,7 @@
             "version": "7.2.3",
             "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
             "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+            "deprecated": "Glob versions prior to v9 are no longer supported",
             "dev": true,
             "dependencies": {
                 "fs.realpath": "^1.0.0",
@@ -4446,16 +4451,16 @@
             "dev": true
         },
         "@dprint/darwin-arm64": {
-            "version": "0.45.1",
-            "resolved": "https://registry.npmjs.org/@dprint/darwin-arm64/-/darwin-arm64-0.45.1.tgz",
-            "integrity": "sha512-pH0/uKLJ5SJPoHhOwLWFMhCmL0BY3FzWQbull8OGMK/FRkIPgOl2adZSovtUZpUMGWyDOzIWH1fW9X2DuMhnEg==",
+            "version": "0.46.1",
+            "resolved": "https://registry.npmjs.org/@dprint/darwin-arm64/-/darwin-arm64-0.46.1.tgz",
+            "integrity": "sha512-dycE/uE++NGKYhKwSOrm1EculcD48GM12A1BF0f3Q2OW1ZNUqvlui/99lrohjPulJaIYX/QZQJ4hzTnaa6EDUA==",
             "dev": true,
             "optional": true
         },
         "@dprint/darwin-x64": {
-            "version": "0.45.1",
-            "resolved": "https://registry.npmjs.org/@dprint/darwin-x64/-/darwin-x64-0.45.1.tgz",
-            "integrity": "sha512-YUj421LmBLDlxpIER3pORKfQmpmXD50n5mClHjpZrnl17WTiHtQ+jHvDJdJoxH2eS66W0mQyxLoGo5SfFfiM7A==",
+            "version": "0.46.1",
+            "resolved": "https://registry.npmjs.org/@dprint/darwin-x64/-/darwin-x64-0.46.1.tgz",
+            "integrity": "sha512-q4Q8TQj51OU+SXhHCzP6jxUtwyCR6Vsmla7yyJVZKryA5l2WUqsSPimkq7Tt4K6ciDficTNxi5aaN/DMXBND2w==",
             "dev": true,
             "optional": true
         },
@@ -4466,204 +4471,204 @@
             "dev": true
         },
         "@dprint/linux-arm64-glibc": {
-            "version": "0.45.1",
-            "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-glibc/-/linux-arm64-glibc-0.45.1.tgz",
-            "integrity": "sha512-lJ7s/pOQWRJ0mstjZQnVyX2/3QRXZ9cpFHJDZ7e81Y8QSn/iqxTrnK0DPgxUrDG8hYKQmWQdQLU4sP5DKBz0Jg==",
+            "version": "0.46.1",
+            "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-glibc/-/linux-arm64-glibc-0.46.1.tgz",
+            "integrity": "sha512-kT6UHU8nN516nfk42IpxvQ9yRHg+lVcWyaGU6Pk/Wn0t/9UDqS2SWXfNNYFvq3A+IVsOAEY6ZvD40D1uXey0Pg==",
             "dev": true,
             "optional": true
         },
         "@dprint/linux-arm64-musl": {
-            "version": "0.45.1",
-            "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-musl/-/linux-arm64-musl-0.45.1.tgz",
-            "integrity": "sha512-un2awe1L1sAJLsCPSEUrE0/cgupdzbYFoyBOutyU1zHR9KQn47AtIDw+chvuinU4xleHDuEGyXGuJ6NE+Ky6vw==",
+            "version": "0.46.1",
+            "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-musl/-/linux-arm64-musl-0.46.1.tgz",
+            "integrity": "sha512-Qo71XzmL7GWEKPKKTFDf27WUO8mO+eXEvKY4gRiFuV2lOPw0VCfadc4iqlTCPj8Wp9qIKK7z/NgQXkVjPMbx5Q==",
             "dev": true,
             "optional": true
         },
         "@dprint/linux-x64-glibc": {
-            "version": "0.45.1",
-            "resolved": "https://registry.npmjs.org/@dprint/linux-x64-glibc/-/linux-x64-glibc-0.45.1.tgz",
-            "integrity": "sha512-5Civht90S/g8zlyYB7n4oH78p+sLbNqeFCFuImJRK7uRxZwCRya7lji6RwlB6DQ7qngVqovTHj9RLOYfZzfVlg==",
+            "version": "0.46.1",
+            "resolved": "https://registry.npmjs.org/@dprint/linux-x64-glibc/-/linux-x64-glibc-0.46.1.tgz",
+            "integrity": "sha512-ZDgJaCTY8Cb9F2FUlBgpN++stVamGKvy7MfdkKvvahAdkCQvba7kJg91aLGHNhDilDTo1IPgLcXLEP4xPhXMyA==",
             "dev": true,
             "optional": true
         },
         "@dprint/linux-x64-musl": {
-            "version": "0.45.1",
-            "resolved": "https://registry.npmjs.org/@dprint/linux-x64-musl/-/linux-x64-musl-0.45.1.tgz",
-            "integrity": "sha512-p2/gjnHDd8GRCvtey5HZO4o/He6pSmY/zpcCuIXprFW9P0vNlEj3DFhz4FPpOKXM+csrsVWWs2E0T/xr5QZtVg==",
+            "version": "0.46.1",
+            "resolved": "https://registry.npmjs.org/@dprint/linux-x64-musl/-/linux-x64-musl-0.46.1.tgz",
+            "integrity": "sha512-6I+ubsGL89k9Vezo6AwWoLDHMoyGdBiHvVvfopF3GwDW1y4jRFXqSeVt3IGoeNa2PXZBEzhGzgiNl1YFFjao/A==",
             "dev": true,
             "optional": true
         },
         "@dprint/typescript": {
-            "version": "0.90.5",
-            "resolved": "https://registry.npmjs.org/@dprint/typescript/-/typescript-0.90.5.tgz",
-            "integrity": "sha512-/1aP6saonFvJyQN3l2is6eTOec3GnLGyW+opid/eDm8pnlhwzYl8A9p36pI6WO5jLl/a9Ghod+LWpvSOuXFGUw==",
+            "version": "0.91.0",
+            "resolved": "https://registry.npmjs.org/@dprint/typescript/-/typescript-0.91.0.tgz",
+            "integrity": "sha512-NUKkNbuSnaEHONhiKhyn+V+wMzuLFXMZB7ACtyqKcdTJCXajmzkb6oSeaTAgTeNgRlua1zKgUOzKVAc/cp5Qwg==",
             "dev": true
         },
         "@dprint/win32-x64": {
-            "version": "0.45.1",
-            "resolved": "https://registry.npmjs.org/@dprint/win32-x64/-/win32-x64-0.45.1.tgz",
-            "integrity": "sha512-2l78XM7KsW46P2Yv6uPB3fE+y92EsBlrCxi+RVQ0pbznPFdMdkLyGgaCuh683zdld14jHlaADpIQ7YchGAEMAg==",
+            "version": "0.46.1",
+            "resolved": "https://registry.npmjs.org/@dprint/win32-x64/-/win32-x64-0.46.1.tgz",
+            "integrity": "sha512-ugdhmL3Lo9n6Si/7eBtj1Rgo3Hbmf+9G0JxsWvuZBRA7Y+Xa9vtxbU4XqpUfG8rict5wR3b0i2X0iexVUgMYxA==",
             "dev": true,
             "optional": true
         },
         "@esbuild/aix-ppc64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.3.tgz",
-            "integrity": "sha512-yTgnwQpFVYfvvo4SvRFB0SwrW8YjOxEoT7wfMT7Ol5v7v5LDNvSGo67aExmxOb87nQNeWPVvaGBNfQ7BXcrZ9w==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.4.tgz",
+            "integrity": "sha512-Zrm+B33R4LWPLjDEVnEqt2+SLTATlru1q/xYKVn8oVTbiRBGmK2VIMoIYGJDGyftnGaC788IuzGFAlb7IQ0Y8A==",
             "dev": true,
             "optional": true
         },
         "@esbuild/android-arm": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.3.tgz",
-            "integrity": "sha512-bviJOLMgurLJtF1/mAoJLxDZDL6oU5/ztMHnJQRejbJrSc9FFu0QoUoFhvi6qSKJEw9y5oGyvr9fuDtzJ30rNQ==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.4.tgz",
+            "integrity": "sha512-E7H/yTd8kGQfY4z9t3nRPk/hrhaCajfA3YSQSBrst8B+3uTcgsi8N+ZWYCaeIDsiVs6m65JPCaQN/DxBRclF3A==",
             "dev": true,
             "optional": true
         },
         "@esbuild/android-arm64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.3.tgz",
-            "integrity": "sha512-c+ty9necz3zB1Y+d/N+mC6KVVkGUUOcm4ZmT5i/Fk5arOaY3i6CA3P5wo/7+XzV8cb4GrI/Zjp8NuOQ9Lfsosw==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.4.tgz",
+            "integrity": "sha512-fYFnz+ObClJ3dNiITySBUx+oNalYUT18/AryMxfovLkYWbutXsct3Wz2ZWAcGGppp+RVVX5FiXeLYGi97umisA==",
             "dev": true,
             "optional": true
         },
         "@esbuild/android-x64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.3.tgz",
-            "integrity": "sha512-JReHfYCRK3FVX4Ra+y5EBH1b9e16TV2OxrPAvzMsGeES0X2Ndm9ImQRI4Ket757vhc5XBOuGperw63upesclRw==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.4.tgz",
+            "integrity": "sha512-mDqmlge3hFbEPbCWxp4fM6hqq7aZfLEHZAKGP9viq9wMUBVQx202aDIfc3l+d2cKhUJM741VrCXEzRFhPDKH3Q==",
             "dev": true,
             "optional": true
         },
         "@esbuild/darwin-arm64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.3.tgz",
-            "integrity": "sha512-U3fuQ0xNiAkXOmQ6w5dKpEvXQRSpHOnbw7gEfHCRXPeTKW9sBzVck6C5Yneb8LfJm0l6le4NQfkNPnWMSlTFUQ==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.4.tgz",
+            "integrity": "sha512-72eaIrDZDSiWqpmCzVaBD58c8ea8cw/U0fq/PPOTqE3c53D0xVMRt2ooIABZ6/wj99Y+h4ksT/+I+srCDLU9TA==",
             "dev": true,
             "optional": true
         },
         "@esbuild/darwin-x64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.3.tgz",
-            "integrity": "sha512-3m1CEB7F07s19wmaMNI2KANLcnaqryJxO1fXHUV5j1rWn+wMxdUYoPyO2TnAbfRZdi7ADRwJClmOwgT13qlP3Q==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.4.tgz",
+            "integrity": "sha512-uBsuwRMehGmw1JC7Vecu/upOjTsMhgahmDkWhGLWxIgUn2x/Y4tIwUZngsmVb6XyPSTXJYS4YiASKPcm9Zitag==",
             "dev": true,
             "optional": true
         },
         "@esbuild/freebsd-arm64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.3.tgz",
-            "integrity": "sha512-fsNAAl5pU6wmKHq91cHWQT0Fz0vtyE1JauMzKotrwqIKAswwP5cpHUCxZNSTuA/JlqtScq20/5KZ+TxQdovU/g==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.4.tgz",
+            "integrity": "sha512-8JfuSC6YMSAEIZIWNL3GtdUT5NhUA/CMUCpZdDRolUXNAXEE/Vbpe6qlGLpfThtY5NwXq8Hi4nJy4YfPh+TwAg==",
             "dev": true,
             "optional": true
         },
         "@esbuild/freebsd-x64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.3.tgz",
-            "integrity": "sha512-tci+UJ4zP5EGF4rp8XlZIdq1q1a/1h9XuronfxTMCNBslpCtmk97Q/5qqy1Mu4zIc0yswN/yP/BLX+NTUC1bXA==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.4.tgz",
+            "integrity": "sha512-8d9y9eQhxv4ef7JmXny7591P/PYsDFc4+STaxC1GBv0tMyCdyWfXu2jBuqRsyhY8uL2HU8uPyscgE2KxCY9imQ==",
             "dev": true,
             "optional": true
         },
         "@esbuild/linux-arm": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.3.tgz",
-            "integrity": "sha512-f6kz2QpSuyHHg01cDawj0vkyMwuIvN62UAguQfnNVzbge2uWLhA7TCXOn83DT0ZvyJmBI943MItgTovUob36SQ==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.4.tgz",
+            "integrity": "sha512-2rqFFefpYmpMs+FWjkzSgXg5vViocqpq5a1PSRgT0AvSgxoXmGF17qfGAzKedg6wAwyM7UltrKVo9kxaJLMF/g==",
             "dev": true,
             "optional": true
         },
         "@esbuild/linux-arm64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.3.tgz",
-            "integrity": "sha512-vvG6R5g5ieB4eCJBQevyDMb31LMHthLpXTc2IGkFnPWS/GzIFDnaYFp558O+XybTmYrVjxnryru7QRleJvmZ6Q==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.4.tgz",
+            "integrity": "sha512-/GLD2orjNU50v9PcxNpYZi+y8dJ7e7/LhQukN3S4jNDXCKkyyiyAz9zDw3siZ7Eh1tRcnCHAo/WcqKMzmi4eMQ==",
             "dev": true,
             "optional": true
         },
         "@esbuild/linux-ia32": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.3.tgz",
-            "integrity": "sha512-HjCWhH7K96Na+66TacDLJmOI9R8iDWDDiqe17C7znGvvE4sW1ECt9ly0AJ3dJH62jHyVqW9xpxZEU1jKdt+29A==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.4.tgz",
+            "integrity": "sha512-pNftBl7m/tFG3t2m/tSjuYeWIffzwAZT9m08+9DPLizxVOsUl8DdFzn9HvJrTQwe3wvJnwTdl92AonY36w/25g==",
             "dev": true,
             "optional": true
         },
         "@esbuild/linux-loong64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.3.tgz",
-            "integrity": "sha512-BGpimEccmHBZRcAhdlRIxMp7x9PyJxUtj7apL2IuoG9VxvU/l/v1z015nFs7Si7tXUwEsvjc1rOJdZCn4QTU+Q==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.4.tgz",
+            "integrity": "sha512-cSD2gzCK5LuVX+hszzXQzlWya6c7hilO71L9h4KHwqI4qeqZ57bAtkgcC2YioXjsbfAv4lPn3qe3b00Zt+jIfQ==",
             "dev": true,
             "optional": true
         },
         "@esbuild/linux-mips64el": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.3.tgz",
-            "integrity": "sha512-5rMOWkp7FQGtAH3QJddP4w3s47iT20hwftqdm7b+loe95o8JU8ro3qZbhgMRy0VuFU0DizymF1pBKkn3YHWtsw==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.4.tgz",
+            "integrity": "sha512-qtzAd3BJh7UdbiXCrg6npWLYU0YpufsV9XlufKhMhYMJGJCdfX/G6+PNd0+v877X1JG5VmjBLUiFB0o8EUSicA==",
             "dev": true,
             "optional": true
         },
         "@esbuild/linux-ppc64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.3.tgz",
-            "integrity": "sha512-h0zj1ldel89V5sjPLo5H1SyMzp4VrgN1tPkN29TmjvO1/r0MuMRwJxL8QY05SmfsZRs6TF0c/IDH3u7XYYmbAg==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.4.tgz",
+            "integrity": "sha512-yB8AYzOTaL0D5+2a4xEy7OVvbcypvDR05MsB/VVPVA7nL4hc5w5Dyd/ddnayStDgJE59fAgNEOdLhBxjfx5+dg==",
             "dev": true,
             "optional": true
         },
         "@esbuild/linux-riscv64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.3.tgz",
-            "integrity": "sha512-dkAKcTsTJ+CRX6bnO17qDJbLoW37npd5gSNtSzjYQr0svghLJYGYB0NF1SNcU1vDcjXLYS5pO4qOW4YbFama4A==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.4.tgz",
+            "integrity": "sha512-Y5AgOuVzPjQdgU59ramLoqSSiXddu7F3F+LI5hYy/d1UHN7K5oLzYBDZe23QmQJ9PIVUXwOdKJ/jZahPdxzm9w==",
             "dev": true,
             "optional": true
         },
         "@esbuild/linux-s390x": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.3.tgz",
-            "integrity": "sha512-vnD1YUkovEdnZWEuMmy2X2JmzsHQqPpZElXx6dxENcIwTu+Cu5ERax6+Ke1QsE814Zf3c6rxCfwQdCTQ7tPuXA==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.4.tgz",
+            "integrity": "sha512-Iqc/l/FFwtt8FoTK9riYv9zQNms7B8u+vAI/rxKuN10HgQIXaPzKZc479lZ0x6+vKVQbu55GdpYpeNWzjOhgbA==",
             "dev": true,
             "optional": true
         },
         "@esbuild/linux-x64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.3.tgz",
-            "integrity": "sha512-IOXOIm9WaK7plL2gMhsWJd+l2bfrhfilv0uPTptoRoSb2p09RghhQQp9YY6ZJhk/kqmeRt6siRdMSLLwzuT0KQ==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.4.tgz",
+            "integrity": "sha512-Td9jv782UMAFsuLZINfUpoF5mZIbAj+jv1YVtE58rFtfvoKRiKSkRGQfHTgKamLVT/fO7203bHa3wU122V/Bdg==",
             "dev": true,
             "optional": true
         },
         "@esbuild/netbsd-x64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.3.tgz",
-            "integrity": "sha512-uTgCwsvQ5+vCQnqM//EfDSuomo2LhdWhFPS8VL8xKf+PKTCrcT/2kPPoWMTs22aB63MLdGMJiE3f1PHvCDmUOw==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.4.tgz",
+            "integrity": "sha512-Awn38oSXxsPMQxaV0Ipb7W/gxZtk5Tx3+W+rAPdZkyEhQ6968r9NvtkjhnhbEgWXYbgV+JEONJ6PcdBS+nlcpA==",
             "dev": true,
             "optional": true
         },
         "@esbuild/openbsd-x64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.3.tgz",
-            "integrity": "sha512-vNAkR17Ub2MgEud2Wag/OE4HTSI6zlb291UYzHez/psiKarp0J8PKGDnAhMBcHFoOHMXHfExzmjMojJNbAStrQ==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.4.tgz",
+            "integrity": "sha512-IsUmQeCY0aU374R82fxIPu6vkOybWIMc3hVGZ3ChRwL9hA1TwY+tS0lgFWV5+F1+1ssuvvXt3HFqe8roCip8Hg==",
             "dev": true,
             "optional": true
         },
         "@esbuild/sunos-x64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.3.tgz",
-            "integrity": "sha512-W8H9jlGiSBomkgmouaRoTXo49j4w4Kfbl6I1bIdO/vT0+0u4f20ko3ELzV3hPI6XV6JNBVX+8BC+ajHkvffIJA==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.4.tgz",
+            "integrity": "sha512-hsKhgZ4teLUaDA6FG/QIu2q0rI6I36tZVfM4DBZv3BG0mkMIdEnMbhc4xwLvLJSS22uWmaVkFkqWgIS0gPIm+A==",
             "dev": true,
             "optional": true
         },
         "@esbuild/win32-arm64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.3.tgz",
-            "integrity": "sha512-EjEomwyLSCg8Ag3LDILIqYCZAq/y3diJ04PnqGRgq8/4O3VNlXyMd54j/saShaN4h5o5mivOjAzmU6C3X4v0xw==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.4.tgz",
+            "integrity": "sha512-UUfMgMoXPoA/bvGUNfUBFLCh0gt9dxZYIx9W4rfJr7+hKe5jxxHmfOK8YSH4qsHLLN4Ck8JZ+v7Q5fIm1huErg==",
             "dev": true,
             "optional": true
         },
         "@esbuild/win32-ia32": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.3.tgz",
-            "integrity": "sha512-WGiE/GgbsEwR33++5rzjiYsKyHywE8QSZPF7Rfx9EBfK3Qn3xyR6IjyCr5Uk38Kg8fG4/2phN7sXp4NPWd3fcw==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.4.tgz",
+            "integrity": "sha512-yIxbspZb5kGCAHWm8dexALQ9en1IYDfErzjSEq1KzXFniHv019VT3mNtTK7t8qdy4TwT6QYHI9sEZabONHg+aw==",
             "dev": true,
             "optional": true
         },
         "@esbuild/win32-x64": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.3.tgz",
-            "integrity": "sha512-xRxC0jaJWDLYvcUvjQmHCJSfMrgmUuvsoXgDeU/wTorQ1ngDdUBuFtgY3W1Pc5sprGAvZBtWdJX7RPg/iZZUqA==",
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.4.tgz",
+            "integrity": "sha512-sywLRD3UK/qRJt0oBwdpYLBibk7KiRfbswmWRDabuncQYSlf8aLEEUor/oP6KRz8KEG+HoiVLBhPRD5JWjS8Sg==",
             "dev": true,
             "optional": true
         },
@@ -5051,9 +5056,9 @@
             "dev": true
         },
         "@types/node": {
-            "version": "20.12.12",
-            "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.12.tgz",
-            "integrity": "sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==",
+            "version": "20.12.13",
+            "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.13.tgz",
+            "integrity": "sha512-gBGeanV41c1L171rR7wjbMiEpEI/l5XFQdLLfhr/REwpgDy/4U8y89+i8kRiLzDyZdOkXh+cRaTetUnCYutoXA==",
             "dev": true,
             "requires": {
                 "undici-types": "~5.26.4"
@@ -5075,16 +5080,16 @@
             "dev": true
         },
         "@typescript-eslint/eslint-plugin": {
-            "version": "7.9.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.9.0.tgz",
-            "integrity": "sha512-6e+X0X3sFe/G/54aC3jt0txuMTURqLyekmEHViqyA2VnxhLMpvA6nqmcjIy+Cr9tLDHPssA74BP5Mx9HQIxBEA==",
+            "version": "7.11.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.11.0.tgz",
+            "integrity": "sha512-P+qEahbgeHW4JQ/87FuItjBj8O3MYv5gELDzr8QaQ7fsll1gSMTYb6j87MYyxwf3DtD7uGFB9ShwgmCJB5KmaQ==",
             "dev": true,
             "requires": {
                 "@eslint-community/regexpp": "^4.10.0",
-                "@typescript-eslint/scope-manager": "7.9.0",
-                "@typescript-eslint/type-utils": "7.9.0",
-                "@typescript-eslint/utils": "7.9.0",
-                "@typescript-eslint/visitor-keys": "7.9.0",
+                "@typescript-eslint/scope-manager": "7.11.0",
+                "@typescript-eslint/type-utils": "7.11.0",
+                "@typescript-eslint/utils": "7.11.0",
+                "@typescript-eslint/visitor-keys": "7.11.0",
                 "graphemer": "^1.4.0",
                 "ignore": "^5.3.1",
                 "natural-compare": "^1.4.0",
@@ -5092,54 +5097,54 @@
             }
         },
         "@typescript-eslint/parser": {
-            "version": "7.9.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.9.0.tgz",
-            "integrity": "sha512-qHMJfkL5qvgQB2aLvhUSXxbK7OLnDkwPzFalg458pxQgfxKDfT1ZDbHQM/I6mDIf/svlMkj21kzKuQ2ixJlatQ==",
+            "version": "7.11.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.11.0.tgz",
+            "integrity": "sha512-yimw99teuaXVWsBcPO1Ais02kwJ1jmNA1KxE7ng0aT7ndr1pT1wqj0OJnsYVGKKlc4QJai86l/025L6z8CljOg==",
             "dev": true,
             "requires": {
-                "@typescript-eslint/scope-manager": "7.9.0",
-                "@typescript-eslint/types": "7.9.0",
-                "@typescript-eslint/typescript-estree": "7.9.0",
-                "@typescript-eslint/visitor-keys": "7.9.0",
+                "@typescript-eslint/scope-manager": "7.11.0",
+                "@typescript-eslint/types": "7.11.0",
+                "@typescript-eslint/typescript-estree": "7.11.0",
+                "@typescript-eslint/visitor-keys": "7.11.0",
                 "debug": "^4.3.4"
             }
         },
         "@typescript-eslint/scope-manager": {
-            "version": "7.9.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.9.0.tgz",
-            "integrity": "sha512-ZwPK4DeCDxr3GJltRz5iZejPFAAr4Wk3+2WIBaj1L5PYK5RgxExu/Y68FFVclN0y6GGwH8q+KgKRCvaTmFBbgQ==",
+            "version": "7.11.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.11.0.tgz",
+            "integrity": "sha512-27tGdVEiutD4POirLZX4YzT180vevUURJl4wJGmm6TrQoiYwuxTIY98PBp6L2oN+JQxzE0URvYlzJaBHIekXAw==",
             "dev": true,
             "requires": {
-                "@typescript-eslint/types": "7.9.0",
-                "@typescript-eslint/visitor-keys": "7.9.0"
+                "@typescript-eslint/types": "7.11.0",
+                "@typescript-eslint/visitor-keys": "7.11.0"
             }
         },
         "@typescript-eslint/type-utils": {
-            "version": "7.9.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.9.0.tgz",
-            "integrity": "sha512-6Qy8dfut0PFrFRAZsGzuLoM4hre4gjzWJB6sUvdunCYZsYemTkzZNwF1rnGea326PHPT3zn5Lmg32M/xfJfByA==",
+            "version": "7.11.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.11.0.tgz",
+            "integrity": "sha512-WmppUEgYy+y1NTseNMJ6mCFxt03/7jTOy08bcg7bxJJdsM4nuhnchyBbE8vryveaJUf62noH7LodPSo5Z0WUCg==",
             "dev": true,
             "requires": {
-                "@typescript-eslint/typescript-estree": "7.9.0",
-                "@typescript-eslint/utils": "7.9.0",
+                "@typescript-eslint/typescript-estree": "7.11.0",
+                "@typescript-eslint/utils": "7.11.0",
                 "debug": "^4.3.4",
                 "ts-api-utils": "^1.3.0"
             }
         },
         "@typescript-eslint/types": {
-            "version": "7.9.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.9.0.tgz",
-            "integrity": "sha512-oZQD9HEWQanl9UfsbGVcZ2cGaR0YT5476xfWE0oE5kQa2sNK2frxOlkeacLOTh9po4AlUT5rtkGyYM5kew0z5w==",
+            "version": "7.11.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.11.0.tgz",
+            "integrity": "sha512-MPEsDRZTyCiXkD4vd3zywDCifi7tatc4K37KqTprCvaXptP7Xlpdw0NR2hRJTetG5TxbWDB79Ys4kLmHliEo/w==",
             "dev": true
         },
         "@typescript-eslint/typescript-estree": {
-            "version": "7.9.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.9.0.tgz",
-            "integrity": "sha512-zBCMCkrb2YjpKV3LA0ZJubtKCDxLttxfdGmwZvTqqWevUPN0FZvSI26FalGFFUZU/9YQK/A4xcQF9o/VVaCKAg==",
+            "version": "7.11.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.11.0.tgz",
+            "integrity": "sha512-cxkhZ2C/iyi3/6U9EPc5y+a6csqHItndvN/CzbNXTNrsC3/ASoYQZEt9uMaEp+xFNjasqQyszp5TumAVKKvJeQ==",
             "dev": true,
             "requires": {
-                "@typescript-eslint/types": "7.9.0",
-                "@typescript-eslint/visitor-keys": "7.9.0",
+                "@typescript-eslint/types": "7.11.0",
+                "@typescript-eslint/visitor-keys": "7.11.0",
                 "debug": "^4.3.4",
                 "globby": "^11.1.0",
                 "is-glob": "^4.0.3",
@@ -5149,24 +5154,24 @@
             }
         },
         "@typescript-eslint/utils": {
-            "version": "7.9.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.9.0.tgz",
-            "integrity": "sha512-5KVRQCzZajmT4Ep+NEgjXCvjuypVvYHUW7RHlXzNPuak2oWpVoD1jf5xCP0dPAuNIchjC7uQyvbdaSTFaLqSdA==",
+            "version": "7.11.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.11.0.tgz",
+            "integrity": "sha512-xlAWwPleNRHwF37AhrZurOxA1wyXowW4PqVXZVUNCLjB48CqdPJoJWkrpH2nij9Q3Lb7rtWindtoXwxjxlKKCA==",
             "dev": true,
             "requires": {
                 "@eslint-community/eslint-utils": "^4.4.0",
-                "@typescript-eslint/scope-manager": "7.9.0",
-                "@typescript-eslint/types": "7.9.0",
-                "@typescript-eslint/typescript-estree": "7.9.0"
+                "@typescript-eslint/scope-manager": "7.11.0",
+                "@typescript-eslint/types": "7.11.0",
+                "@typescript-eslint/typescript-estree": "7.11.0"
             }
         },
         "@typescript-eslint/visitor-keys": {
-            "version": "7.9.0",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.9.0.tgz",
-            "integrity": "sha512-iESPx2TNLDNGQLyjKhUvIKprlP49XNEK+MvIf9nIO7ZZaZdbnfWKHnXAgufpxqfA0YryH8XToi4+CjBgVnFTSQ==",
+            "version": "7.11.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.11.0.tgz",
+            "integrity": "sha512-7syYk4MzjxTEk0g/w3iqtgxnFQspDJfn6QKD36xMuuhTzjcxY7F8EmBLnALjVyaOF1/bVocu3bS/2/F7rXrveQ==",
             "dev": true,
             "requires": {
-                "@typescript-eslint/types": "7.9.0",
+                "@typescript-eslint/types": "7.11.0",
                 "eslint-visitor-keys": "^3.4.3"
             }
         },
@@ -5294,12 +5299,12 @@
             }
         },
         "braces": {
-            "version": "3.0.2",
-            "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-            "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+            "version": "3.0.3",
+            "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+            "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
             "dev": true,
             "requires": {
-                "fill-range": "^7.0.1"
+                "fill-range": "^7.1.1"
             }
         },
         "browser-stdout": {
@@ -5660,18 +5665,18 @@
             }
         },
         "dprint": {
-            "version": "0.45.1",
-            "resolved": "https://registry.npmjs.org/dprint/-/dprint-0.45.1.tgz",
-            "integrity": "sha512-OYefcDgxd6jSdig/Cfkw1vdvyiOIRruCPnqGBbXpc95buDt9kvwL+Lic1OHc+SaQSsQub0BUZMd5+TNgy8Sh3A==",
+            "version": "0.46.1",
+            "resolved": "https://registry.npmjs.org/dprint/-/dprint-0.46.1.tgz",
+            "integrity": "sha512-OdILoUitGxbykCYcTijUOtY7bD4kNoSSzm4kHd5sYNh6f64P8Zfcr+e/Dh4oEn89wHIl10TTrrUs7ny5MELKkQ==",
             "dev": true,
             "requires": {
-                "@dprint/darwin-arm64": "0.45.1",
-                "@dprint/darwin-x64": "0.45.1",
-                "@dprint/linux-arm64-glibc": "0.45.1",
-                "@dprint/linux-arm64-musl": "0.45.1",
-                "@dprint/linux-x64-glibc": "0.45.1",
-                "@dprint/linux-x64-musl": "0.45.1",
-                "@dprint/win32-x64": "0.45.1"
+                "@dprint/darwin-arm64": "0.46.1",
+                "@dprint/darwin-x64": "0.46.1",
+                "@dprint/linux-arm64-glibc": "0.46.1",
+                "@dprint/linux-arm64-musl": "0.46.1",
+                "@dprint/linux-x64-glibc": "0.46.1",
+                "@dprint/linux-x64-musl": "0.46.1",
+                "@dprint/win32-x64": "0.46.1"
             }
         },
         "eastasianwidth": {
@@ -5702,34 +5707,34 @@
             "dev": true
         },
         "esbuild": {
-            "version": "0.21.3",
-            "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.3.tgz",
-            "integrity": "sha512-Kgq0/ZsAPzKrbOjCQcjoSmPoWhlcVnGAUo7jvaLHoxW1Drto0KGkR1xBNg2Cp43b9ImvxmPEJZ9xkfcnqPsfBw==",
-            "dev": true,
-            "requires": {
-                "@esbuild/aix-ppc64": "0.21.3",
-                "@esbuild/android-arm": "0.21.3",
-                "@esbuild/android-arm64": "0.21.3",
-                "@esbuild/android-x64": "0.21.3",
-                "@esbuild/darwin-arm64": "0.21.3",
-                "@esbuild/darwin-x64": "0.21.3",
-                "@esbuild/freebsd-arm64": "0.21.3",
-                "@esbuild/freebsd-x64": "0.21.3",
-                "@esbuild/linux-arm": "0.21.3",
-                "@esbuild/linux-arm64": "0.21.3",
-                "@esbuild/linux-ia32": "0.21.3",
-                "@esbuild/linux-loong64": "0.21.3",
-                "@esbuild/linux-mips64el": "0.21.3",
-                "@esbuild/linux-ppc64": "0.21.3",
-                "@esbuild/linux-riscv64": "0.21.3",
-                "@esbuild/linux-s390x": "0.21.3",
-                "@esbuild/linux-x64": "0.21.3",
-                "@esbuild/netbsd-x64": "0.21.3",
-                "@esbuild/openbsd-x64": "0.21.3",
-                "@esbuild/sunos-x64": "0.21.3",
-                "@esbuild/win32-arm64": "0.21.3",
-                "@esbuild/win32-ia32": "0.21.3",
-                "@esbuild/win32-x64": "0.21.3"
+            "version": "0.21.4",
+            "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.4.tgz",
+            "integrity": "sha512-sFMcNNrj+Q0ZDolrp5pDhH0nRPN9hLIM3fRPwgbLYJeSHHgnXSnbV3xYgSVuOeLWH9c73VwmEverVzupIv5xuA==",
+            "dev": true,
+            "requires": {
+                "@esbuild/aix-ppc64": "0.21.4",
+                "@esbuild/android-arm": "0.21.4",
+                "@esbuild/android-arm64": "0.21.4",
+                "@esbuild/android-x64": "0.21.4",
+                "@esbuild/darwin-arm64": "0.21.4",
+                "@esbuild/darwin-x64": "0.21.4",
+                "@esbuild/freebsd-arm64": "0.21.4",
+                "@esbuild/freebsd-x64": "0.21.4",
+                "@esbuild/linux-arm": "0.21.4",
+                "@esbuild/linux-arm64": "0.21.4",
+                "@esbuild/linux-ia32": "0.21.4",
+                "@esbuild/linux-loong64": "0.21.4",
+                "@esbuild/linux-mips64el": "0.21.4",
+                "@esbuild/linux-ppc64": "0.21.4",
+                "@esbuild/linux-riscv64": "0.21.4",
+                "@esbuild/linux-s390x": "0.21.4",
+                "@esbuild/linux-x64": "0.21.4",
+                "@esbuild/netbsd-x64": "0.21.4",
+                "@esbuild/openbsd-x64": "0.21.4",
+                "@esbuild/sunos-x64": "0.21.4",
+                "@esbuild/win32-arm64": "0.21.4",
+                "@esbuild/win32-ia32": "0.21.4",
+                "@esbuild/win32-x64": "0.21.4"
             }
         },
         "escalade": {
@@ -5929,9 +5934,9 @@
             "dev": true
         },
         "fast-xml-parser": {
-            "version": "4.3.6",
-            "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.6.tgz",
-            "integrity": "sha512-M2SovcRxD4+vC493Uc2GZVcZaj66CCJhWurC4viynVSTvrpErCShNcDz1lAho6n9REQKvL/ll4A4/fw6Y9z8nw==",
+            "version": "4.4.0",
+            "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.0.tgz",
+            "integrity": "sha512-kLY3jFlwIYwBNDojclKsNAC12sfD6NwW74QB2CoNGPvtVxjliYehVunB3HYyNi+n4Tt1dAcgwYvmKF/Z18flqg==",
             "dev": true,
             "requires": {
                 "strnum": "^1.0.5"
@@ -5972,9 +5977,9 @@
             }
         },
         "fill-range": {
-            "version": "7.0.1",
-            "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-            "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+            "version": "7.1.1",
+            "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+            "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
             "dev": true,
             "requires": {
                 "to-regex-range": "^5.0.1"
@@ -6077,16 +6082,16 @@
             }
         },
         "glob": {
-            "version": "10.3.15",
-            "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.15.tgz",
-            "integrity": "sha512-0c6RlJt1TICLyvJYIApxb8GsXoai0KUP7AxKKAtsYXdgJR1mGEUa7DgwShbdk1nly0PYoZj01xd4hzbq3fsjpw==",
+            "version": "10.4.1",
+            "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.1.tgz",
+            "integrity": "sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==",
             "dev": true,
             "requires": {
                 "foreground-child": "^3.1.0",
-                "jackspeak": "^2.3.6",
-                "minimatch": "^9.0.1",
-                "minipass": "^7.0.4",
-                "path-scurry": "^1.11.0"
+                "jackspeak": "^3.1.2",
+                "minimatch": "^9.0.4",
+                "minipass": "^7.1.2",
+                "path-scurry": "^1.11.1"
             }
         },
         "glob-parent": {
@@ -6336,9 +6341,9 @@
             }
         },
         "jackspeak": {
-            "version": "2.3.6",
-            "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz",
-            "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==",
+            "version": "3.1.2",
+            "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.1.2.tgz",
+            "integrity": "sha512-kWmLKn2tRtfYMF/BakihVVRzBKOxz4gJMiL2Rj91WnAB5TPZumSH99R/Yf1qE1u4uRimvCSJfm6hnxohXeEXjQ==",
             "dev": true,
             "requires": {
                 "@isaacs/cliui": "^8.0.2",
@@ -6459,12 +6464,12 @@
             "dev": true
         },
         "micromatch": {
-            "version": "4.0.5",
-            "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
-            "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+            "version": "4.0.7",
+            "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
+            "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
             "dev": true,
             "requires": {
-                "braces": "^3.0.2",
+                "braces": "^3.0.3",
                 "picomatch": "^2.3.1"
             }
         },
@@ -6484,9 +6489,9 @@
             "dev": true
         },
         "minipass": {
-            "version": "7.1.1",
-            "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.1.tgz",
-            "integrity": "sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==",
+            "version": "7.1.2",
+            "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+            "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
             "dev": true
         },
         "mocha": {
@@ -6788,13 +6793,13 @@
             "dev": true
         },
         "playwright": {
-            "version": "1.44.0",
-            "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.44.0.tgz",
-            "integrity": "sha512-F9b3GUCLQ3Nffrfb6dunPOkE5Mh68tR7zN32L4jCk4FjQamgesGay7/dAAe1WaMEGV04DkdJfcJzjoCKygUaRQ==",
+            "version": "1.44.1",
+            "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.44.1.tgz",
+            "integrity": "sha512-qr/0UJ5CFAtloI3avF95Y0L1xQo6r3LQArLIg/z/PoGJ6xa+EwzrwO5lpNr/09STxdHuUoP2mvuELJS+hLdtgg==",
             "dev": true,
             "requires": {
                 "fsevents": "2.3.2",
-                "playwright-core": "1.44.0"
+                "playwright-core": "1.44.1"
             },
             "dependencies": {
                 "fsevents": {
@@ -6807,9 +6812,9 @@
             }
         },
         "playwright-core": {
-            "version": "1.44.0",
-            "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.44.0.tgz",
-            "integrity": "sha512-ZTbkNpFfYcGWohvTTl+xewITm7EOuqIqex0c7dNZ+aXsbrLj0qI8XlGKfPpipjm0Wny/4Lt4CJsWJk1stVS5qQ==",
+            "version": "1.44.1",
+            "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.44.1.tgz",
+            "integrity": "sha512-wh0JWtYTrhv1+OSsLPgFzGzt67Y7BE/ZS3jEqgGBlp2ppp1ZDj8c+9IARNW4dwf1poq5MgHreEM2KV/GuR4cFA==",
             "dev": true
         },
         "plur": {
diff --git a/package.json b/package.json
index b8a62afdcb987..0db39bd81b327 100644
--- a/package.json
+++ b/package.json
@@ -40,7 +40,7 @@
     ],
     "devDependencies": {
         "@dprint/formatter": "^0.3.0",
-        "@dprint/typescript": "0.90.5",
+        "@dprint/typescript": "0.91.0",
         "@esfx/canceltoken": "^1.0.0",
         "@octokit/rest": "^20.1.1",
         "@types/chai": "^4.3.16",
@@ -51,22 +51,22 @@
         "@types/node": "latest",
         "@types/source-map-support": "^0.5.10",
         "@types/which": "^3.0.3",
-        "@typescript-eslint/eslint-plugin": "^7.8.0",
-        "@typescript-eslint/parser": "^7.8.0",
-        "@typescript-eslint/utils": "^7.8.0",
+        "@typescript-eslint/eslint-plugin": "^7.11.0",
+        "@typescript-eslint/parser": "^7.11.0",
+        "@typescript-eslint/utils": "^7.11.0",
         "azure-devops-node-api": "^13.0.0",
         "c8": "^9.1.0",
         "chai": "^4.4.1",
         "chalk": "^4.1.2",
         "chokidar": "^3.6.0",
         "diff": "^5.2.0",
-        "dprint": "^0.45.1",
-        "esbuild": "^0.21.1",
+        "dprint": "^0.46.1",
+        "esbuild": "^0.21.4",
         "eslint": "^8.57.0",
         "eslint-formatter-autolinkable-stylish": "^1.3.0",
         "eslint-plugin-local": "^4.2.2",
-        "fast-xml-parser": "^4.3.6",
-        "glob": "^10.3.12",
+        "fast-xml-parser": "^4.4.0",
+        "glob": "^10.4.1",
         "hereby": "^1.8.9",
         "jsonc-parser": "^3.2.1",
         "minimist": "^1.2.8",
@@ -74,7 +74,7 @@
         "mocha-fivemat-progress-reporter": "^0.1.0",
         "ms": "^2.1.3",
         "node-fetch": "^3.3.2",
-        "playwright": "^1.44.0",
+        "playwright": "^1.44.1",
         "source-map-support": "^0.5.21",
         "tslib": "^2.6.2",
         "typescript": "^5.4.5",