diff --git a/glances/outputs/static/package-lock.json b/glances/outputs/static/package-lock.json
index 279e1e014a..6e0008866d 100644
--- a/glances/outputs/static/package-lock.json
+++ b/glances/outputs/static/package-lock.json
@@ -4,7 +4,6 @@
     "requires": true,
     "packages": {
         "": {
-            "name": "static",
             "dependencies": {
                 "bootstrap": "^3.4.1",
                 "favico.js": "^0.3.10",
@@ -43,9 +42,9 @@
             }
         },
         "node_modules/@babel/parser": {
-            "version": "7.21.8",
-            "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz",
-            "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==",
+            "version": "7.24.4",
+            "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz",
+            "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==",
             "bin": {
                 "parser": "bin/babel-parser.js"
             },
@@ -441,107 +440,159 @@
                 "@types/node": "*"
             }
         },
-        "node_modules/@vue/compiler-core": {
-            "version": "3.3.4",
-            "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz",
-            "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==",
+        "node_modules/@vue/compiler-dom": {
+            "version": "3.4.26",
+            "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.26.tgz",
+            "integrity": "sha512-4CWbR5vR9fMg23YqFOhr6t6WB1Fjt62d6xdFPyj8pxrYub7d+OgZaObMsoxaF9yBUHPMiPFK303v61PwAuGvZA==",
             "dependencies": {
-                "@babel/parser": "^7.21.3",
-                "@vue/shared": "3.3.4",
-                "estree-walker": "^2.0.2",
-                "source-map-js": "^1.0.2"
+                "@vue/compiler-core": "3.4.26",
+                "@vue/shared": "3.4.26"
             }
         },
-        "node_modules/@vue/compiler-dom": {
-            "version": "3.3.4",
-            "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz",
-            "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==",
+        "node_modules/@vue/compiler-dom/node_modules/@vue/compiler-core": {
+            "version": "3.4.26",
+            "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.26.tgz",
+            "integrity": "sha512-N9Vil6Hvw7NaiyFUFBPXrAyETIGlQ8KcFMkyk6hW1Cl6NvoqvP+Y8p1Eqvx+UdqsnrnI9+HMUEJegzia3mhXmQ==",
             "dependencies": {
-                "@vue/compiler-core": "3.3.4",
-                "@vue/shared": "3.3.4"
+                "@babel/parser": "^7.24.4",
+                "@vue/shared": "3.4.26",
+                "entities": "^4.5.0",
+                "estree-walker": "^2.0.2",
+                "source-map-js": "^1.2.0"
+            }
+        },
+        "node_modules/@vue/compiler-dom/node_modules/@vue/shared": {
+            "version": "3.4.26",
+            "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.26.tgz",
+            "integrity": "sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ=="
+        },
+        "node_modules/@vue/compiler-dom/node_modules/entities": {
+            "version": "4.5.0",
+            "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+            "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+            "engines": {
+                "node": ">=0.12"
+            },
+            "funding": {
+                "url": "https://github.com/fb55/entities?sponsor=1"
             }
         },
         "node_modules/@vue/compiler-sfc": {
-            "version": "3.3.4",
-            "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz",
-            "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==",
-            "dependencies": {
-                "@babel/parser": "^7.20.15",
-                "@vue/compiler-core": "3.3.4",
-                "@vue/compiler-dom": "3.3.4",
-                "@vue/compiler-ssr": "3.3.4",
-                "@vue/reactivity-transform": "3.3.4",
-                "@vue/shared": "3.3.4",
+            "version": "3.4.26",
+            "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.26.tgz",
+            "integrity": "sha512-It1dp+FAOCgluYSVYlDn5DtZBxk1NCiJJfu2mlQqa/b+k8GL6NG/3/zRbJnHdhV2VhxFghaDq5L4K+1dakW6cw==",
+            "dependencies": {
+                "@babel/parser": "^7.24.4",
+                "@vue/compiler-core": "3.4.26",
+                "@vue/compiler-dom": "3.4.26",
+                "@vue/compiler-ssr": "3.4.26",
+                "@vue/shared": "3.4.26",
                 "estree-walker": "^2.0.2",
-                "magic-string": "^0.30.0",
-                "postcss": "^8.1.10",
-                "source-map-js": "^1.0.2"
+                "magic-string": "^0.30.10",
+                "postcss": "^8.4.38",
+                "source-map-js": "^1.2.0"
             }
         },
-        "node_modules/@vue/compiler-ssr": {
-            "version": "3.3.4",
-            "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz",
-            "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==",
+        "node_modules/@vue/compiler-sfc/node_modules/@vue/compiler-core": {
+            "version": "3.4.26",
+            "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.26.tgz",
+            "integrity": "sha512-N9Vil6Hvw7NaiyFUFBPXrAyETIGlQ8KcFMkyk6hW1Cl6NvoqvP+Y8p1Eqvx+UdqsnrnI9+HMUEJegzia3mhXmQ==",
             "dependencies": {
-                "@vue/compiler-dom": "3.3.4",
-                "@vue/shared": "3.3.4"
+                "@babel/parser": "^7.24.4",
+                "@vue/shared": "3.4.26",
+                "entities": "^4.5.0",
+                "estree-walker": "^2.0.2",
+                "source-map-js": "^1.2.0"
             }
         },
-        "node_modules/@vue/reactivity": {
-            "version": "3.3.4",
-            "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz",
-            "integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==",
+        "node_modules/@vue/compiler-sfc/node_modules/@vue/shared": {
+            "version": "3.4.26",
+            "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.26.tgz",
+            "integrity": "sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ=="
+        },
+        "node_modules/@vue/compiler-sfc/node_modules/entities": {
+            "version": "4.5.0",
+            "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+            "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+            "engines": {
+                "node": ">=0.12"
+            },
+            "funding": {
+                "url": "https://github.com/fb55/entities?sponsor=1"
+            }
+        },
+        "node_modules/@vue/compiler-ssr": {
+            "version": "3.4.26",
+            "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.26.tgz",
+            "integrity": "sha512-FNwLfk7LlEPRY/g+nw2VqiDKcnDTVdCfBREekF8X74cPLiWHUX6oldktf/Vx28yh4STNy7t+/yuLoMBBF7YDiQ==",
             "dependencies": {
-                "@vue/shared": "3.3.4"
+                "@vue/compiler-dom": "3.4.26",
+                "@vue/shared": "3.4.26"
             }
         },
-        "node_modules/@vue/reactivity-transform": {
-            "version": "3.3.4",
-            "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz",
-            "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==",
+        "node_modules/@vue/compiler-ssr/node_modules/@vue/shared": {
+            "version": "3.4.26",
+            "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.26.tgz",
+            "integrity": "sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ=="
+        },
+        "node_modules/@vue/reactivity": {
+            "version": "3.4.26",
+            "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.26.tgz",
+            "integrity": "sha512-E/ynEAu/pw0yotJeLdvZEsp5Olmxt+9/WqzvKff0gE67tw73gmbx6tRkiagE/eH0UCubzSlGRebCbidB1CpqZQ==",
             "dependencies": {
-                "@babel/parser": "^7.20.15",
-                "@vue/compiler-core": "3.3.4",
-                "@vue/shared": "3.3.4",
-                "estree-walker": "^2.0.2",
-                "magic-string": "^0.30.0"
+                "@vue/shared": "3.4.26"
             }
         },
+        "node_modules/@vue/reactivity/node_modules/@vue/shared": {
+            "version": "3.4.26",
+            "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.26.tgz",
+            "integrity": "sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ=="
+        },
         "node_modules/@vue/runtime-core": {
-            "version": "3.3.4",
-            "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz",
-            "integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==",
+            "version": "3.4.26",
+            "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.26.tgz",
+            "integrity": "sha512-AFJDLpZvhT4ujUgZSIL9pdNcO23qVFh7zWCsNdGQBw8ecLNxOOnPcK9wTTIYCmBJnuPHpukOwo62a2PPivihqw==",
             "dependencies": {
-                "@vue/reactivity": "3.3.4",
-                "@vue/shared": "3.3.4"
+                "@vue/reactivity": "3.4.26",
+                "@vue/shared": "3.4.26"
             }
         },
+        "node_modules/@vue/runtime-core/node_modules/@vue/shared": {
+            "version": "3.4.26",
+            "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.26.tgz",
+            "integrity": "sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ=="
+        },
         "node_modules/@vue/runtime-dom": {
-            "version": "3.3.4",
-            "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz",
-            "integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==",
+            "version": "3.4.26",
+            "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.26.tgz",
+            "integrity": "sha512-UftYA2hUXR2UOZD/Fc3IndZuCOOJgFxJsWOxDkhfVcwLbsfh2CdXE2tG4jWxBZuDAs9J9PzRTUFt1PgydEtItw==",
             "dependencies": {
-                "@vue/runtime-core": "3.3.4",
-                "@vue/shared": "3.3.4",
-                "csstype": "^3.1.1"
+                "@vue/runtime-core": "3.4.26",
+                "@vue/shared": "3.4.26",
+                "csstype": "^3.1.3"
             }
         },
+        "node_modules/@vue/runtime-dom/node_modules/@vue/shared": {
+            "version": "3.4.26",
+            "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.26.tgz",
+            "integrity": "sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ=="
+        },
         "node_modules/@vue/server-renderer": {
-            "version": "3.3.4",
-            "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz",
-            "integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==",
+            "version": "3.4.26",
+            "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.26.tgz",
+            "integrity": "sha512-xoGAqSjYDPGAeRWxeoYwqJFD/gw7mpgzOvSxEmjWaFO2rE6qpbD1PC172YRpvKhrihkyHJkNDADFXTfCyVGhKw==",
             "dependencies": {
-                "@vue/compiler-ssr": "3.3.4",
-                "@vue/shared": "3.3.4"
+                "@vue/compiler-ssr": "3.4.26",
+                "@vue/shared": "3.4.26"
             },
             "peerDependencies": {
-                "vue": "3.3.4"
+                "vue": "3.4.26"
             }
         },
-        "node_modules/@vue/shared": {
-            "version": "3.3.4",
-            "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz",
-            "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ=="
+        "node_modules/@vue/server-renderer/node_modules/@vue/shared": {
+            "version": "3.4.26",
+            "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.26.tgz",
+            "integrity": "sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ=="
         },
         "node_modules/@webassemblyjs/ast": {
             "version": "1.11.6",
@@ -1555,9 +1606,9 @@
             }
         },
         "node_modules/csstype": {
-            "version": "3.1.2",
-            "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
-            "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
+            "version": "3.1.3",
+            "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
+            "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
         },
         "node_modules/debug": {
             "version": "4.3.4",
@@ -3384,14 +3435,11 @@
             }
         },
         "node_modules/magic-string": {
-            "version": "0.30.0",
-            "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz",
-            "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==",
+            "version": "0.30.10",
+            "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz",
+            "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==",
             "dependencies": {
-                "@jridgewell/sourcemap-codec": "^1.4.13"
-            },
-            "engines": {
-                "node": ">=12"
+                "@jridgewell/sourcemap-codec": "^1.4.15"
             }
         },
         "node_modules/make-dir": {
@@ -3562,9 +3610,9 @@
             }
         },
         "node_modules/nanoid": {
-            "version": "3.3.6",
-            "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
-            "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
+            "version": "3.3.7",
+            "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+            "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
             "funding": [
                 {
                     "type": "github",
@@ -4041,9 +4089,9 @@
             }
         },
         "node_modules/postcss": {
-            "version": "8.4.31",
-            "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
-            "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
+            "version": "8.4.38",
+            "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
+            "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
             "funding": [
                 {
                     "type": "opencollective",
@@ -4059,9 +4107,9 @@
                 }
             ],
             "dependencies": {
-                "nanoid": "^3.3.6",
+                "nanoid": "^3.3.7",
                 "picocolors": "^1.0.0",
-                "source-map-js": "^1.0.2"
+                "source-map-js": "^1.2.0"
             },
             "engines": {
                 "node": "^10 || ^12 || >=14"
@@ -5000,9 +5048,9 @@
             }
         },
         "node_modules/source-map-js": {
-            "version": "1.0.2",
-            "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
-            "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
+            "version": "1.2.0",
+            "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
+            "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
             "engines": {
                 "node": ">=0.10.0"
             }
@@ -5432,15 +5480,23 @@
             }
         },
         "node_modules/vue": {
-            "version": "3.3.4",
-            "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz",
-            "integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==",
+            "version": "3.4.26",
+            "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.26.tgz",
+            "integrity": "sha512-bUIq/p+VB+0xrJubaemrfhk1/FiW9iX+pDV+62I/XJ6EkspAO9/DXEjbDFoe8pIfOZBqfk45i9BMc41ptP/uRg==",
             "dependencies": {
-                "@vue/compiler-dom": "3.3.4",
-                "@vue/compiler-sfc": "3.3.4",
-                "@vue/runtime-dom": "3.3.4",
-                "@vue/server-renderer": "3.3.4",
-                "@vue/shared": "3.3.4"
+                "@vue/compiler-dom": "3.4.26",
+                "@vue/compiler-sfc": "3.4.26",
+                "@vue/runtime-dom": "3.4.26",
+                "@vue/server-renderer": "3.4.26",
+                "@vue/shared": "3.4.26"
+            },
+            "peerDependencies": {
+                "typescript": "*"
+            },
+            "peerDependenciesMeta": {
+                "typescript": {
+                    "optional": true
+                }
             }
         },
         "node_modules/vue-eslint-parser": {
@@ -5489,6 +5545,11 @@
                 }
             }
         },
+        "node_modules/vue/node_modules/@vue/shared": {
+            "version": "3.4.26",
+            "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.26.tgz",
+            "integrity": "sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ=="
+        },
         "node_modules/watchpack": {
             "version": "2.4.0",
             "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
@@ -5863,9 +5924,9 @@
             "dev": true
         },
         "@babel/parser": {
-            "version": "7.21.8",
-            "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz",
-            "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA=="
+            "version": "7.24.4",
+            "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz",
+            "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg=="
         },
         "@discoveryjs/json-ext": {
             "version": "0.5.7",
@@ -6208,105 +6269,159 @@
                 "@types/node": "*"
             }
         },
-        "@vue/compiler-core": {
-            "version": "3.3.4",
-            "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz",
-            "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==",
-            "requires": {
-                "@babel/parser": "^7.21.3",
-                "@vue/shared": "3.3.4",
-                "estree-walker": "^2.0.2",
-                "source-map-js": "^1.0.2"
-            }
-        },
         "@vue/compiler-dom": {
-            "version": "3.3.4",
-            "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz",
-            "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==",
+            "version": "3.4.26",
+            "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.26.tgz",
+            "integrity": "sha512-4CWbR5vR9fMg23YqFOhr6t6WB1Fjt62d6xdFPyj8pxrYub7d+OgZaObMsoxaF9yBUHPMiPFK303v61PwAuGvZA==",
             "requires": {
-                "@vue/compiler-core": "3.3.4",
-                "@vue/shared": "3.3.4"
+                "@vue/compiler-core": "3.4.26",
+                "@vue/shared": "3.4.26"
+            },
+            "dependencies": {
+                "@vue/compiler-core": {
+                    "version": "3.4.26",
+                    "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.26.tgz",
+                    "integrity": "sha512-N9Vil6Hvw7NaiyFUFBPXrAyETIGlQ8KcFMkyk6hW1Cl6NvoqvP+Y8p1Eqvx+UdqsnrnI9+HMUEJegzia3mhXmQ==",
+                    "requires": {
+                        "@babel/parser": "^7.24.4",
+                        "@vue/shared": "3.4.26",
+                        "entities": "^4.5.0",
+                        "estree-walker": "^2.0.2",
+                        "source-map-js": "^1.2.0"
+                    }
+                },
+                "@vue/shared": {
+                    "version": "3.4.26",
+                    "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.26.tgz",
+                    "integrity": "sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ=="
+                },
+                "entities": {
+                    "version": "4.5.0",
+                    "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+                    "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="
+                }
             }
         },
         "@vue/compiler-sfc": {
-            "version": "3.3.4",
-            "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz",
-            "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==",
-            "requires": {
-                "@babel/parser": "^7.20.15",
-                "@vue/compiler-core": "3.3.4",
-                "@vue/compiler-dom": "3.3.4",
-                "@vue/compiler-ssr": "3.3.4",
-                "@vue/reactivity-transform": "3.3.4",
-                "@vue/shared": "3.3.4",
+            "version": "3.4.26",
+            "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.26.tgz",
+            "integrity": "sha512-It1dp+FAOCgluYSVYlDn5DtZBxk1NCiJJfu2mlQqa/b+k8GL6NG/3/zRbJnHdhV2VhxFghaDq5L4K+1dakW6cw==",
+            "requires": {
+                "@babel/parser": "^7.24.4",
+                "@vue/compiler-core": "3.4.26",
+                "@vue/compiler-dom": "3.4.26",
+                "@vue/compiler-ssr": "3.4.26",
+                "@vue/shared": "3.4.26",
                 "estree-walker": "^2.0.2",
-                "magic-string": "^0.30.0",
-                "postcss": "^8.1.10",
-                "source-map-js": "^1.0.2"
+                "magic-string": "^0.30.10",
+                "postcss": "^8.4.38",
+                "source-map-js": "^1.2.0"
+            },
+            "dependencies": {
+                "@vue/compiler-core": {
+                    "version": "3.4.26",
+                    "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.26.tgz",
+                    "integrity": "sha512-N9Vil6Hvw7NaiyFUFBPXrAyETIGlQ8KcFMkyk6hW1Cl6NvoqvP+Y8p1Eqvx+UdqsnrnI9+HMUEJegzia3mhXmQ==",
+                    "requires": {
+                        "@babel/parser": "^7.24.4",
+                        "@vue/shared": "3.4.26",
+                        "entities": "^4.5.0",
+                        "estree-walker": "^2.0.2",
+                        "source-map-js": "^1.2.0"
+                    }
+                },
+                "@vue/shared": {
+                    "version": "3.4.26",
+                    "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.26.tgz",
+                    "integrity": "sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ=="
+                },
+                "entities": {
+                    "version": "4.5.0",
+                    "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+                    "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="
+                }
             }
         },
         "@vue/compiler-ssr": {
-            "version": "3.3.4",
-            "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz",
-            "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==",
+            "version": "3.4.26",
+            "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.26.tgz",
+            "integrity": "sha512-FNwLfk7LlEPRY/g+nw2VqiDKcnDTVdCfBREekF8X74cPLiWHUX6oldktf/Vx28yh4STNy7t+/yuLoMBBF7YDiQ==",
             "requires": {
-                "@vue/compiler-dom": "3.3.4",
-                "@vue/shared": "3.3.4"
+                "@vue/compiler-dom": "3.4.26",
+                "@vue/shared": "3.4.26"
+            },
+            "dependencies": {
+                "@vue/shared": {
+                    "version": "3.4.26",
+                    "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.26.tgz",
+                    "integrity": "sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ=="
+                }
             }
         },
         "@vue/reactivity": {
-            "version": "3.3.4",
-            "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz",
-            "integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==",
-            "requires": {
-                "@vue/shared": "3.3.4"
-            }
-        },
-        "@vue/reactivity-transform": {
-            "version": "3.3.4",
-            "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz",
-            "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==",
+            "version": "3.4.26",
+            "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.26.tgz",
+            "integrity": "sha512-E/ynEAu/pw0yotJeLdvZEsp5Olmxt+9/WqzvKff0gE67tw73gmbx6tRkiagE/eH0UCubzSlGRebCbidB1CpqZQ==",
             "requires": {
-                "@babel/parser": "^7.20.15",
-                "@vue/compiler-core": "3.3.4",
-                "@vue/shared": "3.3.4",
-                "estree-walker": "^2.0.2",
-                "magic-string": "^0.30.0"
+                "@vue/shared": "3.4.26"
+            },
+            "dependencies": {
+                "@vue/shared": {
+                    "version": "3.4.26",
+                    "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.26.tgz",
+                    "integrity": "sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ=="
+                }
             }
         },
         "@vue/runtime-core": {
-            "version": "3.3.4",
-            "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz",
-            "integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==",
+            "version": "3.4.26",
+            "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.26.tgz",
+            "integrity": "sha512-AFJDLpZvhT4ujUgZSIL9pdNcO23qVFh7zWCsNdGQBw8ecLNxOOnPcK9wTTIYCmBJnuPHpukOwo62a2PPivihqw==",
             "requires": {
-                "@vue/reactivity": "3.3.4",
-                "@vue/shared": "3.3.4"
+                "@vue/reactivity": "3.4.26",
+                "@vue/shared": "3.4.26"
+            },
+            "dependencies": {
+                "@vue/shared": {
+                    "version": "3.4.26",
+                    "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.26.tgz",
+                    "integrity": "sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ=="
+                }
             }
         },
         "@vue/runtime-dom": {
-            "version": "3.3.4",
-            "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz",
-            "integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==",
+            "version": "3.4.26",
+            "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.26.tgz",
+            "integrity": "sha512-UftYA2hUXR2UOZD/Fc3IndZuCOOJgFxJsWOxDkhfVcwLbsfh2CdXE2tG4jWxBZuDAs9J9PzRTUFt1PgydEtItw==",
             "requires": {
-                "@vue/runtime-core": "3.3.4",
-                "@vue/shared": "3.3.4",
-                "csstype": "^3.1.1"
+                "@vue/runtime-core": "3.4.26",
+                "@vue/shared": "3.4.26",
+                "csstype": "^3.1.3"
+            },
+            "dependencies": {
+                "@vue/shared": {
+                    "version": "3.4.26",
+                    "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.26.tgz",
+                    "integrity": "sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ=="
+                }
             }
         },
         "@vue/server-renderer": {
-            "version": "3.3.4",
-            "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz",
-            "integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==",
+            "version": "3.4.26",
+            "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.26.tgz",
+            "integrity": "sha512-xoGAqSjYDPGAeRWxeoYwqJFD/gw7mpgzOvSxEmjWaFO2rE6qpbD1PC172YRpvKhrihkyHJkNDADFXTfCyVGhKw==",
             "requires": {
-                "@vue/compiler-ssr": "3.3.4",
-                "@vue/shared": "3.3.4"
+                "@vue/compiler-ssr": "3.4.26",
+                "@vue/shared": "3.4.26"
+            },
+            "dependencies": {
+                "@vue/shared": {
+                    "version": "3.4.26",
+                    "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.26.tgz",
+                    "integrity": "sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ=="
+                }
             }
         },
-        "@vue/shared": {
-            "version": "3.3.4",
-            "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz",
-            "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ=="
-        },
         "@webassemblyjs/ast": {
             "version": "1.11.6",
             "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz",
@@ -7080,9 +7195,9 @@
             "dev": true
         },
         "csstype": {
-            "version": "3.1.2",
-            "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
-            "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
+            "version": "3.1.3",
+            "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
+            "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
         },
         "debug": {
             "version": "4.3.4",
@@ -8432,11 +8547,11 @@
             }
         },
         "magic-string": {
-            "version": "0.30.0",
-            "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz",
-            "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==",
+            "version": "0.30.10",
+            "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz",
+            "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==",
             "requires": {
-                "@jridgewell/sourcemap-codec": "^1.4.13"
+                "@jridgewell/sourcemap-codec": "^1.4.15"
             }
         },
         "make-dir": {
@@ -8567,9 +8682,9 @@
             }
         },
         "nanoid": {
-            "version": "3.3.6",
-            "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
-            "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA=="
+            "version": "3.3.7",
+            "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+            "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g=="
         },
         "natural-compare": {
             "version": "1.4.0",
@@ -8921,13 +9036,13 @@
             }
         },
         "postcss": {
-            "version": "8.4.31",
-            "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
-            "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
+            "version": "8.4.38",
+            "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
+            "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
             "requires": {
-                "nanoid": "^3.3.6",
+                "nanoid": "^3.3.7",
                 "picocolors": "^1.0.0",
-                "source-map-js": "^1.0.2"
+                "source-map-js": "^1.2.0"
             }
         },
         "postcss-modules-extract-imports": {
@@ -9608,9 +9723,9 @@
             "dev": true
         },
         "source-map-js": {
-            "version": "1.0.2",
-            "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
-            "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
+            "version": "1.2.0",
+            "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
+            "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg=="
         },
         "source-map-support": {
             "version": "0.5.21",
@@ -9897,15 +10012,22 @@
             "dev": true
         },
         "vue": {
-            "version": "3.3.4",
-            "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz",
-            "integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==",
-            "requires": {
-                "@vue/compiler-dom": "3.3.4",
-                "@vue/compiler-sfc": "3.3.4",
-                "@vue/runtime-dom": "3.3.4",
-                "@vue/server-renderer": "3.3.4",
-                "@vue/shared": "3.3.4"
+            "version": "3.4.26",
+            "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.26.tgz",
+            "integrity": "sha512-bUIq/p+VB+0xrJubaemrfhk1/FiW9iX+pDV+62I/XJ6EkspAO9/DXEjbDFoe8pIfOZBqfk45i9BMc41ptP/uRg==",
+            "requires": {
+                "@vue/compiler-dom": "3.4.26",
+                "@vue/compiler-sfc": "3.4.26",
+                "@vue/runtime-dom": "3.4.26",
+                "@vue/server-renderer": "3.4.26",
+                "@vue/shared": "3.4.26"
+            },
+            "dependencies": {
+                "@vue/shared": {
+                    "version": "3.4.26",
+                    "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.26.tgz",
+                    "integrity": "sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ=="
+                }
             }
         },
         "vue-eslint-parser": {