Radish alpha
r
rad:z4V1sjrXqjvFdnCUbxPFqd5p4DtH5
Radicle web interface
Radicle
Git
Update dependencies
Merged did:key:z6MkkfM3...sVz5 opened 2 years ago
4 files changed +337 -323 6340501b d315380e
modified package-lock.json
@@ -15,49 +15,49 @@
        "baconjs": "^3.0.17",
        "bs58": "^5.0.0",
        "buffer": "^6.0.3",
-
        "dompurify": "^3.0.8",
+
        "dompurify": "^3.0.9",
        "hast-util-to-dom": "^4.0.0",
        "hast-util-to-html": "^9.0.0",
        "lodash": "^4.17.21",
        "lru-cache": "^10.2.0",
-
        "marked": "^11.1.1",
-
        "marked-katex-extension": "^5.0.0",
-
        "marked-linkify-it": "^3.1.8",
+
        "marked": "^12.0.0",
+
        "marked-katex-extension": "^5.0.1",
+
        "marked-linkify-it": "^3.1.9",
        "md5": "^2.3.0",
        "plausible-tracker": "^0.3.8",
        "sinon": "^17.0.1",
-
        "svelte": "^4.2.9",
+
        "svelte": "^4.2.12",
        "twemoji": "^14.0.2",
        "zod": "^3.22.4"
      },
      "devDependencies": {
-
        "@playwright/test": "^1.41.1",
+
        "@playwright/test": "^1.42.0",
        "@sinonjs/fake-timers": "^11.2.2",
-
        "@sveltejs/vite-plugin-svelte": "^3.0.1",
+
        "@sveltejs/vite-plugin-svelte": "^3.0.2",
        "@tsconfig/svelte": "^5.0.2",
        "@types/dompurify": "^3.0.5",
        "@types/katex": "^0.16.7",
        "@types/lodash": "^4.14.202",
        "@types/md5": "^2.3.5",
-
        "@types/node": "^20.11.6",
+
        "@types/node": "^20.11.24",
        "@types/sinon": "^17.0.3",
        "@types/sinonjs__fake-timers": "^8.1.5",
        "@types/wait-on": "^5.3.4",
-
        "@typescript-eslint/eslint-plugin": "^6.19.1",
+
        "@typescript-eslint/eslint-plugin": "^7.1.0",
        "chalk": "^5.3.0",
-
        "eslint": "^8.56.0",
+
        "eslint": "^8.57.0",
        "eslint-config-prettier": "^9.1.0",
        "eslint-plugin-no-only-tests": "^3.1.0",
        "eslint-plugin-svelte": "^2.35.1",
        "execa": "^8.0.1",
        "get-port": "^7.0.0",
-
        "happy-dom": "^13.3.1",
-
        "prettier": "^3.2.4",
-
        "prettier-plugin-svelte": "^3.1.2",
-
        "svelte-check": "^3.6.3",
+
        "happy-dom": "^13.6.2",
+
        "prettier": "^3.2.5",
+
        "prettier-plugin-svelte": "^3.2.2",
+
        "svelte-check": "^3.6.6",
        "typescript": "^5.3.3",
-
        "vite": "^5.0.12",
-
        "vitest": "^1.2.1",
+
        "vite": "^5.1.4",
+
        "vitest": "^1.3.1",
        "wait-on": "^7.2.0"
      },
      "engines": {
@@ -74,12 +74,12 @@
      }
    },
    "node_modules/@ampproject/remapping": {
-
      "version": "2.2.1",
-
      "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
-
      "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==",
+
      "version": "2.3.0",
+
      "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
+
      "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
      "dependencies": {
-
        "@jridgewell/gen-mapping": "^0.3.0",
-
        "@jridgewell/trace-mapping": "^0.3.9"
+
        "@jridgewell/gen-mapping": "^0.3.5",
+
        "@jridgewell/trace-mapping": "^0.3.24"
      },
      "engines": {
        "node": ">=6.0.0"
@@ -540,9 +540,9 @@
      }
    },
    "node_modules/@eslint/js": {
-
      "version": "8.56.0",
-
      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz",
-
      "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==",
+
      "version": "8.57.0",
+
      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
+
      "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
      "dev": true,
      "engines": {
        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -631,30 +631,30 @@
      }
    },
    "node_modules/@jridgewell/gen-mapping": {
-
      "version": "0.3.3",
-
      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
-
      "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
+
      "version": "0.3.5",
+
      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+
      "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
      "dependencies": {
-
        "@jridgewell/set-array": "^1.0.1",
+
        "@jridgewell/set-array": "^1.2.1",
        "@jridgewell/sourcemap-codec": "^1.4.10",
-
        "@jridgewell/trace-mapping": "^0.3.9"
+
        "@jridgewell/trace-mapping": "^0.3.24"
      },
      "engines": {
        "node": ">=6.0.0"
      }
    },
    "node_modules/@jridgewell/resolve-uri": {
-
      "version": "3.1.1",
-
      "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
-
      "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==",
+
      "version": "3.1.2",
+
      "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+
      "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
      "engines": {
        "node": ">=6.0.0"
      }
    },
    "node_modules/@jridgewell/set-array": {
-
      "version": "1.1.2",
-
      "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
-
      "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
+
      "version": "1.2.1",
+
      "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+
      "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
      "engines": {
        "node": ">=6.0.0"
      }
@@ -665,9 +665,9 @@
      "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
    },
    "node_modules/@jridgewell/trace-mapping": {
-
      "version": "0.3.22",
-
      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz",
-
      "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==",
+
      "version": "0.3.24",
+
      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.24.tgz",
+
      "integrity": "sha512-+VaWXDa6+l6MhflBvVXjIEAzb59nQ2JUK3bwRp2zRpPtU+8TFRy9Gg/5oIcNlkEL5PGlBFGfemUVvIgLnTzq7Q==",
      "dependencies": {
        "@jridgewell/resolve-uri": "^3.1.0",
        "@jridgewell/sourcemap-codec": "^1.4.14"
@@ -709,12 +709,12 @@
      }
    },
    "node_modules/@playwright/test": {
-
      "version": "1.41.1",
-
      "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.41.1.tgz",
-
      "integrity": "sha512-9g8EWTjiQ9yFBXc6HjCWe41msLpxEX0KhmfmPl9RPLJdfzL4F0lg2BdJ91O9azFdl11y1pmpwdjBiSxvqc+btw==",
+
      "version": "1.42.0",
+
      "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.42.0.tgz",
+
      "integrity": "sha512-2k1HzC28Fs+HiwbJOQDUwrWMttqSLUVdjCqitBOjdCD0svWOMQUVqrXX6iFD7POps6xXAojsX/dGBpKnjZctLA==",
      "dev": true,
      "dependencies": {
-
        "playwright": "1.41.1"
+
        "playwright": "1.42.0"
      },
      "bin": {
        "playwright": "cli.js"
@@ -738,9 +738,9 @@
      }
    },
    "node_modules/@rollup/rollup-android-arm-eabi": {
-
      "version": "4.9.6",
-
      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.6.tgz",
-
      "integrity": "sha512-MVNXSSYN6QXOulbHpLMKYi60ppyO13W9my1qogeiAqtjb2yR4LSmfU2+POvDkLzhjYLXz9Rf9+9a3zFHW1Lecg==",
+
      "version": "4.12.0",
+
      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.12.0.tgz",
+
      "integrity": "sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==",
      "cpu": [
        "arm"
      ],
@@ -751,9 +751,9 @@
      ]
    },
    "node_modules/@rollup/rollup-android-arm64": {
-
      "version": "4.9.6",
-
      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.6.tgz",
-
      "integrity": "sha512-T14aNLpqJ5wzKNf5jEDpv5zgyIqcpn1MlwCrUXLrwoADr2RkWA0vOWP4XxbO9aiO3dvMCQICZdKeDrFl7UMClw==",
+
      "version": "4.12.0",
+
      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.12.0.tgz",
+
      "integrity": "sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==",
      "cpu": [
        "arm64"
      ],
@@ -764,9 +764,9 @@
      ]
    },
    "node_modules/@rollup/rollup-darwin-arm64": {
-
      "version": "4.9.6",
-
      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.6.tgz",
-
      "integrity": "sha512-CqNNAyhRkTbo8VVZ5R85X73H3R5NX9ONnKbXuHisGWC0qRbTTxnF1U4V9NafzJbgGM0sHZpdO83pLPzq8uOZFw==",
+
      "version": "4.12.0",
+
      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.12.0.tgz",
+
      "integrity": "sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==",
      "cpu": [
        "arm64"
      ],
@@ -777,9 +777,9 @@
      ]
    },
    "node_modules/@rollup/rollup-darwin-x64": {
-
      "version": "4.9.6",
-
      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.6.tgz",
-
      "integrity": "sha512-zRDtdJuRvA1dc9Mp6BWYqAsU5oeLixdfUvkTHuiYOHwqYuQ4YgSmi6+/lPvSsqc/I0Omw3DdICx4Tfacdzmhog==",
+
      "version": "4.12.0",
+
      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.12.0.tgz",
+
      "integrity": "sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==",
      "cpu": [
        "x64"
      ],
@@ -790,9 +790,9 @@
      ]
    },
    "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
-
      "version": "4.9.6",
-
      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.6.tgz",
-
      "integrity": "sha512-oNk8YXDDnNyG4qlNb6is1ojTOGL/tRhbbKeE/YuccItzerEZT68Z9gHrY3ROh7axDc974+zYAPxK5SH0j/G+QQ==",
+
      "version": "4.12.0",
+
      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.12.0.tgz",
+
      "integrity": "sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==",
      "cpu": [
        "arm"
      ],
@@ -803,9 +803,9 @@
      ]
    },
    "node_modules/@rollup/rollup-linux-arm64-gnu": {
-
      "version": "4.9.6",
-
      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.6.tgz",
-
      "integrity": "sha512-Z3O60yxPtuCYobrtzjo0wlmvDdx2qZfeAWTyfOjEDqd08kthDKexLpV97KfAeUXPosENKd8uyJMRDfFMxcYkDQ==",
+
      "version": "4.12.0",
+
      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.12.0.tgz",
+
      "integrity": "sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==",
      "cpu": [
        "arm64"
      ],
@@ -816,9 +816,9 @@
      ]
    },
    "node_modules/@rollup/rollup-linux-arm64-musl": {
-
      "version": "4.9.6",
-
      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.6.tgz",
-
      "integrity": "sha512-gpiG0qQJNdYEVad+1iAsGAbgAnZ8j07FapmnIAQgODKcOTjLEWM9sRb+MbQyVsYCnA0Im6M6QIq6ax7liws6eQ==",
+
      "version": "4.12.0",
+
      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.12.0.tgz",
+
      "integrity": "sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==",
      "cpu": [
        "arm64"
      ],
@@ -829,9 +829,9 @@
      ]
    },
    "node_modules/@rollup/rollup-linux-riscv64-gnu": {
-
      "version": "4.9.6",
-
      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.6.tgz",
-
      "integrity": "sha512-+uCOcvVmFUYvVDr27aiyun9WgZk0tXe7ThuzoUTAukZJOwS5MrGbmSlNOhx1j80GdpqbOty05XqSl5w4dQvcOA==",
+
      "version": "4.12.0",
+
      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.12.0.tgz",
+
      "integrity": "sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==",
      "cpu": [
        "riscv64"
      ],
@@ -842,9 +842,9 @@
      ]
    },
    "node_modules/@rollup/rollup-linux-x64-gnu": {
-
      "version": "4.9.6",
-
      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.6.tgz",
-
      "integrity": "sha512-HUNqM32dGzfBKuaDUBqFB7tP6VMN74eLZ33Q9Y1TBqRDn+qDonkAUyKWwF9BR9unV7QUzffLnz9GrnKvMqC/fw==",
+
      "version": "4.12.0",
+
      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.0.tgz",
+
      "integrity": "sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==",
      "cpu": [
        "x64"
      ],
@@ -855,9 +855,9 @@
      ]
    },
    "node_modules/@rollup/rollup-linux-x64-musl": {
-
      "version": "4.9.6",
-
      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.6.tgz",
-
      "integrity": "sha512-ch7M+9Tr5R4FK40FHQk8VnML0Szi2KRujUgHXd/HjuH9ifH72GUmw6lStZBo3c3GB82vHa0ZoUfjfcM7JiiMrQ==",
+
      "version": "4.12.0",
+
      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.12.0.tgz",
+
      "integrity": "sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==",
      "cpu": [
        "x64"
      ],
@@ -868,9 +868,9 @@
      ]
    },
    "node_modules/@rollup/rollup-win32-arm64-msvc": {
-
      "version": "4.9.6",
-
      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.6.tgz",
-
      "integrity": "sha512-VD6qnR99dhmTQ1mJhIzXsRcTBvTjbfbGGwKAHcu+52cVl15AC/kplkhxzW/uT0Xl62Y/meBKDZvoJSJN+vTeGA==",
+
      "version": "4.12.0",
+
      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.12.0.tgz",
+
      "integrity": "sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==",
      "cpu": [
        "arm64"
      ],
@@ -881,9 +881,9 @@
      ]
    },
    "node_modules/@rollup/rollup-win32-ia32-msvc": {
-
      "version": "4.9.6",
-
      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.6.tgz",
-
      "integrity": "sha512-J9AFDq/xiRI58eR2NIDfyVmTYGyIZmRcvcAoJ48oDld/NTR8wyiPUu2X/v1navJ+N/FGg68LEbX3Ejd6l8B7MQ==",
+
      "version": "4.12.0",
+
      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.12.0.tgz",
+
      "integrity": "sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==",
      "cpu": [
        "ia32"
      ],
@@ -894,9 +894,9 @@
      ]
    },
    "node_modules/@rollup/rollup-win32-x64-msvc": {
-
      "version": "4.9.6",
-
      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.6.tgz",
-
      "integrity": "sha512-jqzNLhNDvIZOrt69Ce4UjGRpXJBzhUBzawMwnaDAwyHriki3XollsewxWzOzz+4yOFDkuJHtTsZFwMxhYJWmLQ==",
+
      "version": "4.12.0",
+
      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.12.0.tgz",
+
      "integrity": "sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==",
      "cpu": [
        "x64"
      ],
@@ -907,9 +907,9 @@
      ]
    },
    "node_modules/@sideway/address": {
-
      "version": "4.1.4",
-
      "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz",
-
      "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==",
+
      "version": "4.1.5",
+
      "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz",
+
      "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==",
      "dev": true,
      "dependencies": {
        "@hapi/hoek": "^9.0.0"
@@ -973,12 +973,12 @@
      "integrity": "sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ=="
    },
    "node_modules/@sveltejs/vite-plugin-svelte": {
-
      "version": "3.0.1",
-
      "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-3.0.1.tgz",
-
      "integrity": "sha512-CGURX6Ps+TkOovK6xV+Y2rn8JKa8ZPUHPZ/NKgCxAmgBrXReavzFl8aOSCj3kQ1xqT7yGJj53hjcV/gqwDAaWA==",
+
      "version": "3.0.2",
+
      "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-3.0.2.tgz",
+
      "integrity": "sha512-MpmF/cju2HqUls50WyTHQBZUV3ovV/Uk8k66AN2gwHogNAG8wnW8xtZDhzNBsFJJuvmq1qnzA5kE7YfMJNFv2Q==",
      "dev": true,
      "dependencies": {
-
        "@sveltejs/vite-plugin-svelte-inspector": "^2.0.0-next.0 || ^2.0.0",
+
        "@sveltejs/vite-plugin-svelte-inspector": "^2.0.0",
        "debug": "^4.3.4",
        "deepmerge": "^4.3.1",
        "kleur": "^4.1.5",
@@ -1032,9 +1032,9 @@
      "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw=="
    },
    "node_modules/@types/hast": {
-
      "version": "3.0.3",
-
      "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.3.tgz",
-
      "integrity": "sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==",
+
      "version": "3.0.4",
+
      "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
+
      "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
      "dependencies": {
        "@types/unist": "*"
      }
@@ -1076,9 +1076,9 @@
      }
    },
    "node_modules/@types/node": {
-
      "version": "20.11.6",
-
      "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.6.tgz",
-
      "integrity": "sha512-+EOokTnksGVgip2PbYbr3xnR7kZigh4LbybAfBAw5BpnQ+FqBYUsvCEjYd70IXKlbohQ64mzEYmMtlWUY8q//Q==",
+
      "version": "20.11.24",
+
      "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.24.tgz",
+
      "integrity": "sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==",
      "dev": true,
      "dependencies": {
        "undici-types": "~5.26.4"
@@ -1091,9 +1091,9 @@
      "dev": true
    },
    "node_modules/@types/semver": {
-
      "version": "7.5.6",
-
      "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz",
-
      "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==",
+
      "version": "7.5.8",
+
      "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
+
      "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
      "dev": true
    },
    "node_modules/@types/sinon": {
@@ -1132,16 +1132,16 @@
      }
    },
    "node_modules/@typescript-eslint/eslint-plugin": {
-
      "version": "6.19.1",
-
      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.19.1.tgz",
-
      "integrity": "sha512-roQScUGFruWod9CEyoV5KlCYrubC/fvG8/1zXuT0WTcxX87GnMMmnksMwSg99lo1xiKrBzw2icsJPMAw1OtKxg==",
+
      "version": "7.1.0",
+
      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.1.0.tgz",
+
      "integrity": "sha512-j6vT/kCulhG5wBmGtstKeiVr1rdXE4nk+DT1k6trYkwlrvW9eOF5ZbgKnd/YR6PcM4uTEXa0h6Fcvf6X7Dxl0w==",
      "dev": true,
      "dependencies": {
        "@eslint-community/regexpp": "^4.5.1",
-
        "@typescript-eslint/scope-manager": "6.19.1",
-
        "@typescript-eslint/type-utils": "6.19.1",
-
        "@typescript-eslint/utils": "6.19.1",
-
        "@typescript-eslint/visitor-keys": "6.19.1",
+
        "@typescript-eslint/scope-manager": "7.1.0",
+
        "@typescript-eslint/type-utils": "7.1.0",
+
        "@typescript-eslint/utils": "7.1.0",
+
        "@typescript-eslint/visitor-keys": "7.1.0",
        "debug": "^4.3.4",
        "graphemer": "^1.4.0",
        "ignore": "^5.2.4",
@@ -1157,8 +1157,8 @@
        "url": "https://opencollective.com/typescript-eslint"
      },
      "peerDependencies": {
-
        "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha",
-
        "eslint": "^7.0.0 || ^8.0.0"
+
        "@typescript-eslint/parser": "^7.0.0",
+
        "eslint": "^8.56.0"
      },
      "peerDependenciesMeta": {
        "typescript": {
@@ -1167,16 +1167,16 @@
      }
    },
    "node_modules/@typescript-eslint/parser": {
-
      "version": "6.19.1",
-
      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.19.1.tgz",
-
      "integrity": "sha512-WEfX22ziAh6pRE9jnbkkLGp/4RhTpffr2ZK5bJ18M8mIfA8A+k97U9ZyaXCEJRlmMHh7R9MJZWXp/r73DzINVQ==",
+
      "version": "7.1.0",
+
      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.1.0.tgz",
+
      "integrity": "sha512-V1EknKUubZ1gWFjiOZhDSNToOjs63/9O0puCgGS8aDOgpZY326fzFu15QAUjwaXzRZjf/qdsdBrckYdv9YxB8w==",
      "dev": true,
      "peer": true,
      "dependencies": {
-
        "@typescript-eslint/scope-manager": "6.19.1",
-
        "@typescript-eslint/types": "6.19.1",
-
        "@typescript-eslint/typescript-estree": "6.19.1",
-
        "@typescript-eslint/visitor-keys": "6.19.1",
+
        "@typescript-eslint/scope-manager": "7.1.0",
+
        "@typescript-eslint/types": "7.1.0",
+
        "@typescript-eslint/typescript-estree": "7.1.0",
+
        "@typescript-eslint/visitor-keys": "7.1.0",
        "debug": "^4.3.4"
      },
      "engines": {
@@ -1187,7 +1187,7 @@
        "url": "https://opencollective.com/typescript-eslint"
      },
      "peerDependencies": {
-
        "eslint": "^7.0.0 || ^8.0.0"
+
        "eslint": "^8.56.0"
      },
      "peerDependenciesMeta": {
        "typescript": {
@@ -1196,13 +1196,13 @@
      }
    },
    "node_modules/@typescript-eslint/scope-manager": {
-
      "version": "6.19.1",
-
      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.19.1.tgz",
-
      "integrity": "sha512-4CdXYjKf6/6aKNMSly/BP4iCSOpvMmqtDzRtqFyyAae3z5kkqEjKndR5vDHL8rSuMIIWP8u4Mw4VxLyxZW6D5w==",
+
      "version": "7.1.0",
+
      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.1.0.tgz",
+
      "integrity": "sha512-6TmN4OJiohHfoOdGZ3huuLhpiUgOGTpgXNUPJgeZOZR3DnIpdSgtt83RS35OYNNXxM4TScVlpVKC9jyQSETR1A==",
      "dev": true,
      "dependencies": {
-
        "@typescript-eslint/types": "6.19.1",
-
        "@typescript-eslint/visitor-keys": "6.19.1"
+
        "@typescript-eslint/types": "7.1.0",
+
        "@typescript-eslint/visitor-keys": "7.1.0"
      },
      "engines": {
        "node": "^16.0.0 || >=18.0.0"
@@ -1213,13 +1213,13 @@
      }
    },
    "node_modules/@typescript-eslint/type-utils": {
-
      "version": "6.19.1",
-
      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.19.1.tgz",
-
      "integrity": "sha512-0vdyld3ecfxJuddDjACUvlAeYNrHP/pDeQk2pWBR2ESeEzQhg52DF53AbI9QCBkYE23lgkhLCZNkHn2hEXXYIg==",
+
      "version": "7.1.0",
+
      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.1.0.tgz",
+
      "integrity": "sha512-UZIhv8G+5b5skkcuhgvxYWHjk7FW7/JP5lPASMEUoliAPwIH/rxoUSQPia2cuOj9AmDZmwUl1usKm85t5VUMew==",
      "dev": true,
      "dependencies": {
-
        "@typescript-eslint/typescript-estree": "6.19.1",
-
        "@typescript-eslint/utils": "6.19.1",
+
        "@typescript-eslint/typescript-estree": "7.1.0",
+
        "@typescript-eslint/utils": "7.1.0",
        "debug": "^4.3.4",
        "ts-api-utils": "^1.0.1"
      },
@@ -1231,7 +1231,7 @@
        "url": "https://opencollective.com/typescript-eslint"
      },
      "peerDependencies": {
-
        "eslint": "^7.0.0 || ^8.0.0"
+
        "eslint": "^8.56.0"
      },
      "peerDependenciesMeta": {
        "typescript": {
@@ -1240,9 +1240,9 @@
      }
    },
    "node_modules/@typescript-eslint/types": {
-
      "version": "6.19.1",
-
      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.19.1.tgz",
-
      "integrity": "sha512-6+bk6FEtBhvfYvpHsDgAL3uo4BfvnTnoge5LrrCj2eJN8g3IJdLTD4B/jK3Q6vo4Ql/Hoip9I8aB6fF+6RfDqg==",
+
      "version": "7.1.0",
+
      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.1.0.tgz",
+
      "integrity": "sha512-qTWjWieJ1tRJkxgZYXx6WUYtWlBc48YRxgY2JN1aGeVpkhmnopq+SUC8UEVGNXIvWH7XyuTjwALfG6bFEgCkQA==",
      "dev": true,
      "engines": {
        "node": "^16.0.0 || >=18.0.0"
@@ -1253,13 +1253,13 @@
      }
    },
    "node_modules/@typescript-eslint/typescript-estree": {
-
      "version": "6.19.1",
-
      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.19.1.tgz",
-
      "integrity": "sha512-aFdAxuhzBFRWhy+H20nYu19+Km+gFfwNO4TEqyszkMcgBDYQjmPJ61erHxuT2ESJXhlhrO7I5EFIlZ+qGR8oVA==",
+
      "version": "7.1.0",
+
      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.1.0.tgz",
+
      "integrity": "sha512-k7MyrbD6E463CBbSpcOnwa8oXRdHzH1WiVzOipK3L5KSML92ZKgUBrTlehdi7PEIMT8k0bQixHUGXggPAlKnOQ==",
      "dev": true,
      "dependencies": {
-
        "@typescript-eslint/types": "6.19.1",
-
        "@typescript-eslint/visitor-keys": "6.19.1",
+
        "@typescript-eslint/types": "7.1.0",
+
        "@typescript-eslint/visitor-keys": "7.1.0",
        "debug": "^4.3.4",
        "globby": "^11.1.0",
        "is-glob": "^4.0.3",
@@ -1281,17 +1281,17 @@
      }
    },
    "node_modules/@typescript-eslint/utils": {
-
      "version": "6.19.1",
-
      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.19.1.tgz",
-
      "integrity": "sha512-JvjfEZuP5WoMqwh9SPAPDSHSg9FBHHGhjPugSRxu5jMfjvBpq5/sGTD+9M9aQ5sh6iJ8AY/Kk/oUYVEMAPwi7w==",
+
      "version": "7.1.0",
+
      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.1.0.tgz",
+
      "integrity": "sha512-WUFba6PZC5OCGEmbweGpnNJytJiLG7ZvDBJJoUcX4qZYf1mGZ97mO2Mps6O2efxJcJdRNpqweCistDbZMwIVHw==",
      "dev": true,
      "dependencies": {
        "@eslint-community/eslint-utils": "^4.4.0",
        "@types/json-schema": "^7.0.12",
        "@types/semver": "^7.5.0",
-
        "@typescript-eslint/scope-manager": "6.19.1",
-
        "@typescript-eslint/types": "6.19.1",
-
        "@typescript-eslint/typescript-estree": "6.19.1",
+
        "@typescript-eslint/scope-manager": "7.1.0",
+
        "@typescript-eslint/types": "7.1.0",
+
        "@typescript-eslint/typescript-estree": "7.1.0",
        "semver": "^7.5.4"
      },
      "engines": {
@@ -1302,16 +1302,16 @@
        "url": "https://opencollective.com/typescript-eslint"
      },
      "peerDependencies": {
-
        "eslint": "^7.0.0 || ^8.0.0"
+
        "eslint": "^8.56.0"
      }
    },
    "node_modules/@typescript-eslint/visitor-keys": {
-
      "version": "6.19.1",
-
      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.19.1.tgz",
-
      "integrity": "sha512-gkdtIO+xSO/SmI0W68DBg4u1KElmIUo3vXzgHyGPs6cxgB0sa3TlptRAAE0hUY1hM6FcDKEv7aIwiTGm76cXfQ==",
+
      "version": "7.1.0",
+
      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.1.0.tgz",
+
      "integrity": "sha512-FhUqNWluiGNzlvnDZiXad4mZRhtghdoKW6e98GoEOYSu5cND+E39rG5KwJMUzeENwm1ztYBRqof8wMLP+wNPIA==",
      "dev": true,
      "dependencies": {
-
        "@typescript-eslint/types": "6.19.1",
+
        "@typescript-eslint/types": "7.1.0",
        "eslint-visitor-keys": "^3.4.1"
      },
      "engines": {
@@ -1328,13 +1328,13 @@
      "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ=="
    },
    "node_modules/@vitest/expect": {
-
      "version": "1.2.1",
-
      "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.2.1.tgz",
-
      "integrity": "sha512-/bqGXcHfyKgFWYwIgFr1QYDaR9e64pRKxgBNWNXPefPFRhgm+K3+a/dS0cUGEreWngets3dlr8w8SBRw2fCfFQ==",
+
      "version": "1.3.1",
+
      "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.3.1.tgz",
+
      "integrity": "sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==",
      "dev": true,
      "dependencies": {
-
        "@vitest/spy": "1.2.1",
-
        "@vitest/utils": "1.2.1",
+
        "@vitest/spy": "1.3.1",
+
        "@vitest/utils": "1.3.1",
        "chai": "^4.3.10"
      },
      "funding": {
@@ -1342,12 +1342,12 @@
      }
    },
    "node_modules/@vitest/runner": {
-
      "version": "1.2.1",
-
      "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.2.1.tgz",
-
      "integrity": "sha512-zc2dP5LQpzNzbpaBt7OeYAvmIsRS1KpZQw4G3WM/yqSV1cQKNKwLGmnm79GyZZjMhQGlRcSFMImLjZaUQvNVZQ==",
+
      "version": "1.3.1",
+
      "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.3.1.tgz",
+
      "integrity": "sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==",
      "dev": true,
      "dependencies": {
-
        "@vitest/utils": "1.2.1",
+
        "@vitest/utils": "1.3.1",
        "p-limit": "^5.0.0",
        "pathe": "^1.1.1"
      },
@@ -1383,9 +1383,9 @@
      }
    },
    "node_modules/@vitest/snapshot": {
-
      "version": "1.2.1",
-
      "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.2.1.tgz",
-
      "integrity": "sha512-Tmp/IcYEemKaqAYCS08sh0vORLJkMr0NRV76Gl8sHGxXT5151cITJCET20063wk0Yr/1koQ6dnmP6eEqezmd/Q==",
+
      "version": "1.3.1",
+
      "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.3.1.tgz",
+
      "integrity": "sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==",
      "dev": true,
      "dependencies": {
        "magic-string": "^0.30.5",
@@ -1397,9 +1397,9 @@
      }
    },
    "node_modules/@vitest/spy": {
-
      "version": "1.2.1",
-
      "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.2.1.tgz",
-
      "integrity": "sha512-vG3a/b7INKH7L49Lbp0IWrG6sw9j4waWAucwnksPB1r1FTJgV7nkBByd9ufzu6VWya/QTvQW4V9FShZbZIB2UQ==",
+
      "version": "1.3.1",
+
      "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.3.1.tgz",
+
      "integrity": "sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==",
      "dev": true,
      "dependencies": {
        "tinyspy": "^2.2.0"
@@ -1409,9 +1409,9 @@
      }
    },
    "node_modules/@vitest/utils": {
-
      "version": "1.2.1",
-
      "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.2.1.tgz",
-
      "integrity": "sha512-bsH6WVZYe/J2v3+81M5LDU8kW76xWObKIURpPrOXm2pjBniBu2MERI/XP60GpS4PHU3jyK50LUutOwrx4CyHUg==",
+
      "version": "1.3.1",
+
      "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.3.1.tgz",
+
      "integrity": "sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==",
      "dev": true,
      "dependencies": {
        "diff-sequences": "^29.6.3",
@@ -1563,9 +1563,9 @@
      "dev": true
    },
    "node_modules/axios": {
-
      "version": "1.6.6",
-
      "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.6.tgz",
-
      "integrity": "sha512-XZLZDFfXKM9U/Y/B4nNynfCRUqNyVZ4sBC/n9GDRCkq9vd2mIvKjKKsbIh1WPmHmNbg6ND7cTBY3Y2+u1G3/2Q==",
+
      "version": "1.6.7",
+
      "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz",
+
      "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==",
      "dev": true,
      "dependencies": {
        "follow-redirects": "^1.15.4",
@@ -1782,16 +1782,10 @@
      }
    },
    "node_modules/chokidar": {
-
      "version": "3.5.3",
-
      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
-
      "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+
      "version": "3.6.0",
+
      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+
      "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
      "dev": true,
-
      "funding": [
-
        {
-
          "type": "individual",
-
          "url": "https://paulmillr.com/funding/"
-
        }
-
      ],
      "dependencies": {
        "anymatch": "~3.1.2",
        "braces": "~3.0.2",
@@ -1804,6 +1798,9 @@
      "engines": {
        "node": ">= 8.10.0"
      },
+
      "funding": {
+
        "url": "https://paulmillr.com/funding/"
+
      },
      "optionalDependencies": {
        "fsevents": "~2.3.2"
      }
@@ -2015,9 +2012,9 @@
      }
    },
    "node_modules/diff": {
-
      "version": "5.1.0",
-
      "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz",
-
      "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==",
+
      "version": "5.2.0",
+
      "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
+
      "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==",
      "engines": {
        "node": ">=0.3.1"
      }
@@ -2056,9 +2053,9 @@
      }
    },
    "node_modules/dompurify": {
-
      "version": "3.0.8",
-
      "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.8.tgz",
-
      "integrity": "sha512-b7uwreMYL2eZhrSCRC4ahLTeZcPZxSmYfmcQGXGkXiZSNW1X85v+SDM5KsWcpivIiUBH47Ji7NtyUdpLeF5JZQ=="
+
      "version": "3.0.9",
+
      "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.9.tgz",
+
      "integrity": "sha512-uyb4NDIvQ3hRn6NiC+SIFaP4mJ/MdXlvtunaqK9Bn6dD3RuB/1S/gasEjDHD8eiaqdSael2vBv+hOs7Y+jhYOQ=="
    },
    "node_modules/entities": {
      "version": "4.5.0",
@@ -2128,16 +2125,16 @@
      }
    },
    "node_modules/eslint": {
-
      "version": "8.56.0",
-
      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz",
-
      "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==",
+
      "version": "8.57.0",
+
      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz",
+
      "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==",
      "dev": true,
      "dependencies": {
        "@eslint-community/eslint-utils": "^4.2.0",
        "@eslint-community/regexpp": "^4.6.1",
        "@eslint/eslintrc": "^2.1.4",
-
        "@eslint/js": "8.56.0",
-
        "@humanwhocodes/config-array": "^0.11.13",
+
        "@eslint/js": "8.57.0",
+
        "@humanwhocodes/config-array": "^0.11.14",
        "@humanwhocodes/module-importer": "^1.0.1",
        "@nodelib/fs.walk": "^1.2.8",
        "@ungap/structured-clone": "^1.2.0",
@@ -2479,9 +2476,9 @@
      "dev": true
    },
    "node_modules/fastq": {
-
      "version": "1.16.0",
-
      "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz",
-
      "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==",
+
      "version": "1.17.1",
+
      "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
+
      "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
      "dev": true,
      "dependencies": {
        "reusify": "^1.0.4"
@@ -2542,9 +2539,9 @@
      }
    },
    "node_modules/flatted": {
-
      "version": "3.2.9",
-
      "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz",
-
      "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==",
+
      "version": "3.3.1",
+
      "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
+
      "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
      "dev": true
    },
    "node_modules/follow-redirects": {
@@ -2756,9 +2753,9 @@
      "dev": true
    },
    "node_modules/happy-dom": {
-
      "version": "13.3.1",
-
      "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-13.3.1.tgz",
-
      "integrity": "sha512-KIlztn+nRWstprUyI3Wzy1UJrg72uOaoo4SaBLNrV6xrn2Rq86eQruKOL7ZyDhkfou3nEZX6rgRYtvsqwMInvQ==",
+
      "version": "13.6.2",
+
      "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-13.6.2.tgz",
+
      "integrity": "sha512-Ku+wDqcF/KwFA0dI+xIMZd9Jn020RXjuSil/Vz7gu2yhDC3FsDYZ55qqV9k+SGC4opwb4acisXqVSRxUJMlPbQ==",
      "dev": true,
      "dependencies": {
        "entities": "^4.5.0",
@@ -2953,9 +2950,9 @@
      ]
    },
    "node_modules/ignore": {
-
      "version": "5.3.0",
-
      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz",
-
      "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==",
+
      "version": "5.3.1",
+
      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
+
      "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
      "dev": true,
      "engines": {
        "node": ">= 4"
@@ -3102,18 +3099,24 @@
      "dev": true
    },
    "node_modules/joi": {
-
      "version": "17.12.0",
-
      "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.0.tgz",
-
      "integrity": "sha512-HSLsmSmXz+PV9PYoi3p7cgIbj06WnEBNT28n+bbBNcPZXZFqCzzvGqpTBPujx/Z0nh1+KNQPDrNgdmQ8dq0qYw==",
+
      "version": "17.12.2",
+
      "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.2.tgz",
+
      "integrity": "sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw==",
      "dev": true,
      "dependencies": {
        "@hapi/hoek": "^9.3.0",
        "@hapi/topo": "^5.1.0",
-
        "@sideway/address": "^4.1.4",
+
        "@sideway/address": "^4.1.5",
        "@sideway/formula": "^3.0.1",
        "@sideway/pinpoint": "^2.0.0"
      }
    },
+
    "node_modules/js-tokens": {
+
      "version": "8.0.3",
+
      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-8.0.3.tgz",
+
      "integrity": "sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==",
+
      "dev": true
+
    },
    "node_modules/js-yaml": {
      "version": "4.1.0",
      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
@@ -3313,9 +3316,9 @@
      }
    },
    "node_modules/magic-string": {
-
      "version": "0.30.5",
-
      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz",
-
      "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==",
+
      "version": "0.30.7",
+
      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.7.tgz",
+
      "integrity": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==",
      "dependencies": {
        "@jridgewell/sourcemap-codec": "^1.4.15"
      },
@@ -3324,9 +3327,9 @@
      }
    },
    "node_modules/marked": {
-
      "version": "11.1.1",
-
      "resolved": "https://registry.npmjs.org/marked/-/marked-11.1.1.tgz",
-
      "integrity": "sha512-EgxRjgK9axsQuUa/oKMx5DEY8oXpKJfk61rT5iY3aRlgU6QJtUcxU5OAymdhCvWvhYcd9FKmO5eQoX8m9VGJXg==",
+
      "version": "12.0.0",
+
      "resolved": "https://registry.npmjs.org/marked/-/marked-12.0.0.tgz",
+
      "integrity": "sha512-Vkwtq9rLqXryZnWaQc86+FHLC6tr/fycMfYAhiOIXkrNmeGAyhSxjqu0Rs1i0bBqw5u0S7+lV9fdH2ZSVaoa0w==",
      "bin": {
        "marked": "bin/marked.js"
      },
@@ -3335,27 +3338,27 @@
      }
    },
    "node_modules/marked-katex-extension": {
-
      "version": "5.0.0",
-
      "resolved": "https://registry.npmjs.org/marked-katex-extension/-/marked-katex-extension-5.0.0.tgz",
-
      "integrity": "sha512-koGhYnmKaF5Zobz+63tmoO+v7C0z9RWtdJonh8aLAFNp03uXIleV4OswV/OHrSiquKxBCmhAwBTCVgYRHHpwnQ==",
+
      "version": "5.0.1",
+
      "resolved": "https://registry.npmjs.org/marked-katex-extension/-/marked-katex-extension-5.0.1.tgz",
+
      "integrity": "sha512-4HYoazLdDpzaEcjKSo334lM4tS38lySWXXwctiN2Bo4Pw3sfuhF0CSiUf92GCGSZiVeTB3diulCGGFdhlKz1zQ==",
      "dependencies": {
        "@types/katex": "^0.16.7"
      },
      "peerDependencies": {
        "katex": ">=0.16 <0.17",
-
        "marked": ">=4 <12"
+
        "marked": ">=4 <13"
      }
    },
    "node_modules/marked-linkify-it": {
-
      "version": "3.1.8",
-
      "resolved": "https://registry.npmjs.org/marked-linkify-it/-/marked-linkify-it-3.1.8.tgz",
-
      "integrity": "sha512-hbqxk1cZPQzYoT8zaQ5rL+04YM60PPFW1ibF5m0DgxcxSykWA20SmK9aEqeLABRC1uP+Xf6u7pm9ya9Yb6YViQ==",
+
      "version": "3.1.9",
+
      "resolved": "https://registry.npmjs.org/marked-linkify-it/-/marked-linkify-it-3.1.9.tgz",
+
      "integrity": "sha512-cYAC25uDtTYm+4nsMjXUqGnZdZlvmmoyx4aCKRgj0yDmKEzV7J2i/MW4z7qKVFJN2BI7FEKmy5k7ru1DDkpqFA==",
      "dependencies": {
        "@types/linkify-it": "^3.0.5",
        "linkify-it": "^5.0.0"
      },
      "peerDependencies": {
-
        "marked": ">=4 <12"
+
        "marked": ">=4 <13"
      }
    },
    "node_modules/md5": {
@@ -3409,9 +3412,9 @@
      }
    },
    "node_modules/micromark-util-character": {
-
      "version": "2.0.1",
-
      "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.0.1.tgz",
-
      "integrity": "sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==",
+
      "version": "2.1.0",
+
      "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz",
+
      "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==",
      "funding": [
        {
          "type": "GitHub Sponsors",
@@ -3584,9 +3587,9 @@
      }
    },
    "node_modules/mlly": {
-
      "version": "1.5.0",
-
      "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.5.0.tgz",
-
      "integrity": "sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==",
+
      "version": "1.6.1",
+
      "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.6.1.tgz",
+
      "integrity": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==",
      "dev": true,
      "dependencies": {
        "acorn": "^8.11.3",
@@ -3635,9 +3638,9 @@
      "dev": true
    },
    "node_modules/nise": {
-
      "version": "5.1.7",
-
      "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.7.tgz",
-
      "integrity": "sha512-wWtNUhkT7k58uvWTB/Gy26eA/EJKtPZFVAhEilN5UYVmmGRYOURbejRUyKm0Uu9XVEW7K5nBOZfR8VMB4QR2RQ==",
+
      "version": "5.1.9",
+
      "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.9.tgz",
+
      "integrity": "sha512-qOnoujW4SV6e40dYxJOb3uvuoPHtmLzIk4TFo+j0jPJoC+5Z9xja5qH5JZobEPsa8+YYphMrOSwnrshEhG2qww==",
      "dependencies": {
        "@sinonjs/commons": "^3.0.0",
        "@sinonjs/fake-timers": "^11.2.2",
@@ -3656,9 +3659,9 @@
      }
    },
    "node_modules/npm-run-path": {
-
      "version": "5.2.0",
-
      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz",
-
      "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==",
+
      "version": "5.3.0",
+
      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz",
+
      "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==",
      "dev": true,
      "dependencies": {
        "path-key": "^4.0.0"
@@ -3880,12 +3883,12 @@
      }
    },
    "node_modules/playwright": {
-
      "version": "1.41.1",
-
      "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.41.1.tgz",
-
      "integrity": "sha512-gdZAWG97oUnbBdRL3GuBvX3nDDmUOuqzV/D24dytqlKt+eI5KbwusluZRGljx1YoJKZ2NRPaeWiFTeGZO7SosQ==",
+
      "version": "1.42.0",
+
      "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.42.0.tgz",
+
      "integrity": "sha512-Ko7YRUgj5xBHbntrgt4EIw/nE//XBHOKVKnBjO1KuZkmkhlbgyggTe5s9hjqQ1LpN+Xg+kHsQyt5Pa0Bw5XpvQ==",
      "dev": true,
      "dependencies": {
-
        "playwright-core": "1.41.1"
+
        "playwright-core": "1.42.0"
      },
      "bin": {
        "playwright": "cli.js"
@@ -3898,9 +3901,9 @@
      }
    },
    "node_modules/playwright-core": {
-
      "version": "1.41.1",
-
      "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.41.1.tgz",
-
      "integrity": "sha512-/KPO5DzXSMlxSX77wy+HihKGOunh3hqndhqeo/nMxfigiKzogn8kfL0ZBDu0L1RKgan5XHCPmn6zXd2NUJgjhg==",
+
      "version": "1.42.0",
+
      "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.42.0.tgz",
+
      "integrity": "sha512-0HD9y8qEVlcbsAjdpBaFjmaTHf+1FeIddy8VJLeiqwhcNqGCBe4Wp2e8knpqiYbzxtxarxiXyNDw2cG8sCaNMQ==",
      "dev": true,
      "bin": {
        "playwright-core": "cli.js"
@@ -3910,9 +3913,9 @@
      }
    },
    "node_modules/postcss": {
-
      "version": "8.4.33",
-
      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz",
-
      "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==",
+
      "version": "8.4.35",
+
      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz",
+
      "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==",
      "dev": true,
      "funding": [
        {
@@ -4031,9 +4034,9 @@
      }
    },
    "node_modules/prettier": {
-
      "version": "3.2.4",
-
      "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.4.tgz",
-
      "integrity": "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==",
+
      "version": "3.2.5",
+
      "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz",
+
      "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==",
      "dev": true,
      "bin": {
        "prettier": "bin/prettier.cjs"
@@ -4046,9 +4049,9 @@
      }
    },
    "node_modules/prettier-plugin-svelte": {
-
      "version": "3.1.2",
-
      "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-3.1.2.tgz",
-
      "integrity": "sha512-7xfMZtwgAWHMT0iZc8jN4o65zgbAQ3+O32V6W7pXrqNvKnHnkoyQCGCbKeUyXKZLbYE0YhFRnamfxfkEGxm8qA==",
+
      "version": "3.2.2",
+
      "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-3.2.2.tgz",
+
      "integrity": "sha512-ZzzE/wMuf48/1+Lf2Ffko0uDa6pyCfgHV6+uAhtg2U0AAXGrhCSW88vEJNAkAxW5qyrFY1y1zZ4J8TgHrjW++Q==",
      "dev": true,
      "peerDependencies": {
        "prettier": "^3.0.0",
@@ -4166,9 +4169,9 @@
      }
    },
    "node_modules/rollup": {
-
      "version": "4.9.6",
-
      "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.6.tgz",
-
      "integrity": "sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg==",
+
      "version": "4.12.0",
+
      "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.12.0.tgz",
+
      "integrity": "sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==",
      "dev": true,
      "dependencies": {
        "@types/estree": "1.0.5"
@@ -4181,19 +4184,19 @@
        "npm": ">=8.0.0"
      },
      "optionalDependencies": {
-
        "@rollup/rollup-android-arm-eabi": "4.9.6",
-
        "@rollup/rollup-android-arm64": "4.9.6",
-
        "@rollup/rollup-darwin-arm64": "4.9.6",
-
        "@rollup/rollup-darwin-x64": "4.9.6",
-
        "@rollup/rollup-linux-arm-gnueabihf": "4.9.6",
-
        "@rollup/rollup-linux-arm64-gnu": "4.9.6",
-
        "@rollup/rollup-linux-arm64-musl": "4.9.6",
-
        "@rollup/rollup-linux-riscv64-gnu": "4.9.6",
-
        "@rollup/rollup-linux-x64-gnu": "4.9.6",
-
        "@rollup/rollup-linux-x64-musl": "4.9.6",
-
        "@rollup/rollup-win32-arm64-msvc": "4.9.6",
-
        "@rollup/rollup-win32-ia32-msvc": "4.9.6",
-
        "@rollup/rollup-win32-x64-msvc": "4.9.6",
+
        "@rollup/rollup-android-arm-eabi": "4.12.0",
+
        "@rollup/rollup-android-arm64": "4.12.0",
+
        "@rollup/rollup-darwin-arm64": "4.12.0",
+
        "@rollup/rollup-darwin-x64": "4.12.0",
+
        "@rollup/rollup-linux-arm-gnueabihf": "4.12.0",
+
        "@rollup/rollup-linux-arm64-gnu": "4.12.0",
+
        "@rollup/rollup-linux-arm64-musl": "4.12.0",
+
        "@rollup/rollup-linux-riscv64-gnu": "4.12.0",
+
        "@rollup/rollup-linux-x64-gnu": "4.12.0",
+
        "@rollup/rollup-linux-x64-musl": "4.12.0",
+
        "@rollup/rollup-win32-arm64-msvc": "4.12.0",
+
        "@rollup/rollup-win32-ia32-msvc": "4.12.0",
+
        "@rollup/rollup-win32-x64-msvc": "4.12.0",
        "fsevents": "~2.3.2"
      }
    },
@@ -4278,9 +4281,9 @@
      }
    },
    "node_modules/semver": {
-
      "version": "7.5.4",
-
      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
-
      "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+
      "version": "7.6.0",
+
      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+
      "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
      "dev": true,
      "dependencies": {
        "lru-cache": "^6.0.0"
@@ -4483,12 +4486,12 @@
      }
    },
    "node_modules/strip-literal": {
-
      "version": "1.3.0",
-
      "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz",
-
      "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==",
+
      "version": "2.0.0",
+
      "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.0.0.tgz",
+
      "integrity": "sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==",
      "dev": true,
      "dependencies": {
-
        "acorn": "^8.10.0"
+
        "js-tokens": "^8.0.2"
      },
      "funding": {
        "url": "https://github.com/sponsors/antfu"
@@ -4506,9 +4509,9 @@
      }
    },
    "node_modules/svelte": {
-
      "version": "4.2.9",
-
      "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.9.tgz",
-
      "integrity": "sha512-hsoB/WZGEPFXeRRLPhPrbRz67PhP6sqYgvwcAs+gWdSQSvNDw+/lTeUJSWe5h2xC97Fz/8QxAOqItwBzNJPU8w==",
+
      "version": "4.2.12",
+
      "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.12.tgz",
+
      "integrity": "sha512-d8+wsh5TfPwqVzbm4/HCXC783/KPHV60NvwitJnyTA5lWn1elhXMNWhXGCJ7PwPa8qFUnyJNIyuIRt2mT0WMug==",
      "dependencies": {
        "@ampproject/remapping": "^2.2.1",
        "@jridgewell/sourcemap-codec": "^1.4.15",
@@ -4530,9 +4533,9 @@
      }
    },
    "node_modules/svelte-check": {
-
      "version": "3.6.3",
-
      "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-3.6.3.tgz",
-
      "integrity": "sha512-Q2nGnoysxUnB9KjnjpQLZwdjK62DHyW6nuH/gm2qteFnDk0lCehe/6z8TsIvYeKjC6luKaWxiNGyOcWiLLPSwA==",
+
      "version": "3.6.6",
+
      "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-3.6.6.tgz",
+
      "integrity": "sha512-b9q9rOHOMYF3U8XllK7LmXTq1LeWQ98waGfEJzrFutViadkNl1tgdEtxIQ8yuPx+VQ4l7YrknYol+0lfZocaZw==",
      "dev": true,
      "dependencies": {
        "@jridgewell/trace-mapping": "^0.3.17",
@@ -4541,7 +4544,7 @@
        "import-fresh": "^3.2.1",
        "picocolors": "^1.0.0",
        "sade": "^1.7.4",
-
        "svelte-preprocess": "^5.1.0",
+
        "svelte-preprocess": "^5.1.3",
        "typescript": "^5.0.3"
      },
      "bin": {
@@ -4675,9 +4678,9 @@
      }
    },
    "node_modules/tinyspy": {
-
      "version": "2.2.0",
-
      "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.0.tgz",
-
      "integrity": "sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==",
+
      "version": "2.2.1",
+
      "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz",
+
      "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==",
      "dev": true,
      "engines": {
        "node": ">=14.0.0"
@@ -4705,12 +4708,12 @@
      }
    },
    "node_modules/ts-api-utils": {
-
      "version": "1.0.3",
-
      "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz",
-
      "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==",
+
      "version": "1.2.1",
+
      "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.2.1.tgz",
+
      "integrity": "sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==",
      "dev": true,
      "engines": {
-
        "node": ">=16.13.0"
+
        "node": ">=16"
      },
      "peerDependencies": {
        "typescript": ">=4.2.0"
@@ -4788,9 +4791,9 @@
      "integrity": "sha512-DffL94LsNOccVn4hyfRe5rdKa273swqeA5DJpMOeFmEn1wCDc7nAbbB0gXlgBCL7TNzeTv6G7XVWzan7iJtfig=="
    },
    "node_modules/ufo": {
-
      "version": "1.3.2",
-
      "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.2.tgz",
-
      "integrity": "sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==",
+
      "version": "1.4.0",
+
      "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.4.0.tgz",
+
      "integrity": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==",
      "dev": true
    },
    "node_modules/undici-types": {
@@ -4926,13 +4929,13 @@
      }
    },
    "node_modules/vite": {
-
      "version": "5.0.12",
-
      "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.12.tgz",
-
      "integrity": "sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==",
+
      "version": "5.1.4",
+
      "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.4.tgz",
+
      "integrity": "sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==",
      "dev": true,
      "dependencies": {
        "esbuild": "^0.19.3",
-
        "postcss": "^8.4.32",
+
        "postcss": "^8.4.35",
        "rollup": "^4.2.0"
      },
      "bin": {
@@ -4981,9 +4984,9 @@
      }
    },
    "node_modules/vite-node": {
-
      "version": "1.2.1",
-
      "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.2.1.tgz",
-
      "integrity": "sha512-fNzHmQUSOY+y30naohBvSW7pPn/xn3Ib/uqm+5wAJQJiqQsU0NBR78XdRJb04l4bOFKjpTWld0XAfkKlrDbySg==",
+
      "version": "1.3.1",
+
      "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.3.1.tgz",
+
      "integrity": "sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==",
      "dev": true,
      "dependencies": {
        "cac": "^6.7.14",
@@ -5031,18 +5034,17 @@
      }
    },
    "node_modules/vitest": {
-
      "version": "1.2.1",
-
      "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.2.1.tgz",
-
      "integrity": "sha512-TRph8N8rnSDa5M2wKWJCMnztCZS9cDcgVTQ6tsTFTG/odHJ4l5yNVqvbeDJYJRZ6is3uxaEpFs8LL6QM+YFSdA==",
+
      "version": "1.3.1",
+
      "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.3.1.tgz",
+
      "integrity": "sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==",
      "dev": true,
      "dependencies": {
-
        "@vitest/expect": "1.2.1",
-
        "@vitest/runner": "1.2.1",
-
        "@vitest/snapshot": "1.2.1",
-
        "@vitest/spy": "1.2.1",
-
        "@vitest/utils": "1.2.1",
+
        "@vitest/expect": "1.3.1",
+
        "@vitest/runner": "1.3.1",
+
        "@vitest/snapshot": "1.3.1",
+
        "@vitest/spy": "1.3.1",
+
        "@vitest/utils": "1.3.1",
        "acorn-walk": "^8.3.2",
-
        "cac": "^6.7.14",
        "chai": "^4.3.10",
        "debug": "^4.3.4",
        "execa": "^8.0.1",
@@ -5051,11 +5053,11 @@
        "pathe": "^1.1.1",
        "picocolors": "^1.0.0",
        "std-env": "^3.5.0",
-
        "strip-literal": "^1.3.0",
+
        "strip-literal": "^2.0.0",
        "tinybench": "^2.5.1",
-
        "tinypool": "^0.8.1",
+
        "tinypool": "^0.8.2",
        "vite": "^5.0.0",
-
        "vite-node": "1.2.1",
+
        "vite-node": "1.3.1",
        "why-is-node-running": "^2.2.2"
      },
      "bin": {
@@ -5070,8 +5072,8 @@
      "peerDependencies": {
        "@edge-runtime/vm": "*",
        "@types/node": "^18.0.0 || >=20.0.0",
-
        "@vitest/browser": "^1.0.0",
-
        "@vitest/ui": "^1.0.0",
+
        "@vitest/browser": "1.3.1",
+
        "@vitest/ui": "1.3.1",
        "happy-dom": "*",
        "jsdom": "*"
      },
modified package.json
@@ -16,33 +16,33 @@
    "node": ">=18.17.1"
  },
  "devDependencies": {
-
    "@playwright/test": "^1.41.1",
+
    "@playwright/test": "^1.42.0",
    "@sinonjs/fake-timers": "^11.2.2",
-
    "@sveltejs/vite-plugin-svelte": "^3.0.1",
+
    "@sveltejs/vite-plugin-svelte": "^3.0.2",
    "@tsconfig/svelte": "^5.0.2",
    "@types/dompurify": "^3.0.5",
    "@types/katex": "^0.16.7",
    "@types/lodash": "^4.14.202",
    "@types/md5": "^2.3.5",
-
    "@types/node": "^20.11.6",
+
    "@types/node": "^20.11.24",
    "@types/sinon": "^17.0.3",
    "@types/sinonjs__fake-timers": "^8.1.5",
    "@types/wait-on": "^5.3.4",
-
    "@typescript-eslint/eslint-plugin": "^6.19.1",
+
    "@typescript-eslint/eslint-plugin": "^7.1.0",
    "chalk": "^5.3.0",
-
    "eslint": "^8.56.0",
+
    "eslint": "^8.57.0",
    "eslint-config-prettier": "^9.1.0",
    "eslint-plugin-no-only-tests": "^3.1.0",
    "eslint-plugin-svelte": "^2.35.1",
    "execa": "^8.0.1",
    "get-port": "^7.0.0",
-
    "happy-dom": "^13.3.1",
-
    "prettier": "^3.2.4",
-
    "prettier-plugin-svelte": "^3.1.2",
-
    "svelte-check": "^3.6.3",
+
    "happy-dom": "^13.6.2",
+
    "prettier": "^3.2.5",
+
    "prettier-plugin-svelte": "^3.2.2",
+
    "svelte-check": "^3.6.6",
    "typescript": "^5.3.3",
-
    "vite": "^5.0.12",
-
    "vitest": "^1.2.1",
+
    "vite": "^5.1.4",
+
    "vitest": "^1.3.1",
    "wait-on": "^7.2.0"
  },
  "dependencies": {
@@ -53,18 +53,18 @@
    "baconjs": "^3.0.17",
    "bs58": "^5.0.0",
    "buffer": "^6.0.3",
-
    "dompurify": "^3.0.8",
+
    "dompurify": "^3.0.9",
    "hast-util-to-dom": "^4.0.0",
    "hast-util-to-html": "^9.0.0",
    "lodash": "^4.17.21",
    "lru-cache": "^10.2.0",
-
    "marked": "^11.1.1",
-
    "marked-katex-extension": "^5.0.0",
-
    "marked-linkify-it": "^3.1.8",
+
    "marked": "^12.0.0",
+
    "marked-katex-extension": "^5.0.1",
+
    "marked-linkify-it": "^3.1.9",
    "md5": "^2.3.0",
    "plausible-tracker": "^0.3.8",
    "sinon": "^17.0.1",
-
    "svelte": "^4.2.9",
+
    "svelte": "^4.2.12",
    "twemoji": "^14.0.2",
    "zod": "^3.22.4"
  }
modified tests/visual/desktop/markdown.spec.ts
@@ -60,6 +60,18 @@ test.describe("markdown rendering basics", async () => {
    await expect(page).toHaveScreenshot();
  });

+
  test("code clipboard icon on hover", async ({ page }) => {
+
    await goToSection("#code", page);
+
    const codeBlock = page
+
      .locator("div.pre-wrapper")
+
      .filter({ hasText: "Inline `code` has `back-ticks" });
+
    await expect(
+
      codeBlock.locator("radicle-clipboard > .clipboard"),
+
    ).toBeHidden();
+
    await codeBlock.hover();
+
    await expect(page).toHaveScreenshot();
+
  });
+

  test("tables", async ({ page }) => {
    await goToSection("#tables", page);
    await expect(page.getByText("Tables aren't part of the")).toBeVisible();
modified tsconfig.json
@@ -23,7 +23,7 @@
      "@httpd-client": ["./httpd-client/index.ts"],
      "@httpd-client/*": ["./httpd-client/*"],
      "@public/*": ["./public/*"],
-
      "@tests/*": ["./tests/*"],
-
    },
-
  },
+
      "@tests/*": ["./tests/*"]
+
    }
+
  }
}