matrix-art.meta

Issues/PRs archive for MTRNord/matrix-art
git clone git://archive.git.mtrnord.blog/MTRNord/matrix-art.meta.git
Log | Files | Refs

555.diff (43147B)


      1 diff --git a/package-lock.json b/package-lock.json
      2 index 1dede94..fe26a45 100644
      3 --- a/package-lock.json
      4 +++ b/package-lock.json
      5 @@ -45,7 +45,7 @@
      6          "typescript": "^4.9.4",
      7          "vite": "^4.0.5",
      8          "vite-plugin-ejs": "^1.6.4",
      9 -        "vitest": "^0.27.3"
     10 +        "vitest": "^0.34.1"
     11        }
     12      },
     13      "node_modules/@adobe/css-tools": {
     14 @@ -781,12 +781,12 @@
     15        }
     16      },
     17      "node_modules/@jest/schemas": {
     18 -      "version": "29.0.0",
     19 -      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz",
     20 -      "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==",
     21 +      "version": "29.6.0",
     22 +      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz",
     23 +      "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==",
     24        "dev": true,
     25        "dependencies": {
     26 -        "@sinclair/typebox": "^0.24.1"
     27 +        "@sinclair/typebox": "^0.27.8"
     28        },
     29        "engines": {
     30          "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
     31 @@ -908,9 +908,9 @@
     32        }
     33      },
     34      "node_modules/@sinclair/typebox": {
     35 -      "version": "0.24.51",
     36 -      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz",
     37 -      "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==",
     38 +      "version": "0.27.8",
     39 +      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
     40 +      "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
     41        "dev": true
     42      },
     43      "node_modules/@swc/core": {
     44 @@ -1203,9 +1203,9 @@
     45        "dev": true
     46      },
     47      "node_modules/@types/chai": {
     48 -      "version": "4.3.4",
     49 -      "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz",
     50 -      "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==",
     51 +      "version": "4.3.5",
     52 +      "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.5.tgz",
     53 +      "integrity": "sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==",
     54        "dev": true
     55      },
     56      "node_modules/@types/chai-subset": {
     57 @@ -1572,6 +1572,113 @@
     58          "vite": "^4"
     59        }
     60      },
     61 +    "node_modules/@vitest/expect": {
     62 +      "version": "0.34.1",
     63 +      "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.34.1.tgz",
     64 +      "integrity": "sha512-q2CD8+XIsQ+tHwypnoCk8Mnv5e6afLFvinVGCq3/BOT4kQdVQmY6rRfyKkwcg635lbliLPqbunXZr+L1ssUWiQ==",
     65 +      "dev": true,
     66 +      "dependencies": {
     67 +        "@vitest/spy": "0.34.1",
     68 +        "@vitest/utils": "0.34.1",
     69 +        "chai": "^4.3.7"
     70 +      },
     71 +      "funding": {
     72 +        "url": "https://opencollective.com/vitest"
     73 +      }
     74 +    },
     75 +    "node_modules/@vitest/runner": {
     76 +      "version": "0.34.1",
     77 +      "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.34.1.tgz",
     78 +      "integrity": "sha512-YfQMpYzDsYB7yqgmlxZ06NI4LurHWfrH7Wy3Pvf/z/vwUSgq1zLAb1lWcItCzQG+NVox+VvzlKQrYEXb47645g==",
     79 +      "dev": true,
     80 +      "dependencies": {
     81 +        "@vitest/utils": "0.34.1",
     82 +        "p-limit": "^4.0.0",
     83 +        "pathe": "^1.1.1"
     84 +      },
     85 +      "funding": {
     86 +        "url": "https://opencollective.com/vitest"
     87 +      }
     88 +    },
     89 +    "node_modules/@vitest/runner/node_modules/p-limit": {
     90 +      "version": "4.0.0",
     91 +      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz",
     92 +      "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==",
     93 +      "dev": true,
     94 +      "dependencies": {
     95 +        "yocto-queue": "^1.0.0"
     96 +      },
     97 +      "engines": {
     98 +        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
     99 +      },
    100 +      "funding": {
    101 +        "url": "https://github.com/sponsors/sindresorhus"
    102 +      }
    103 +    },
    104 +    "node_modules/@vitest/runner/node_modules/yocto-queue": {
    105 +      "version": "1.0.0",
    106 +      "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz",
    107 +      "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==",
    108 +      "dev": true,
    109 +      "engines": {
    110 +        "node": ">=12.20"
    111 +      },
    112 +      "funding": {
    113 +        "url": "https://github.com/sponsors/sindresorhus"
    114 +      }
    115 +    },
    116 +    "node_modules/@vitest/snapshot": {
    117 +      "version": "0.34.1",
    118 +      "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-0.34.1.tgz",
    119 +      "integrity": "sha512-0O9LfLU0114OqdF8lENlrLsnn024Tb1CsS9UwG0YMWY2oGTQfPtkW+B/7ieyv0X9R2Oijhi3caB1xgGgEgclSQ==",
    120 +      "dev": true,
    121 +      "dependencies": {
    122 +        "magic-string": "^0.30.1",
    123 +        "pathe": "^1.1.1",
    124 +        "pretty-format": "^29.5.0"
    125 +      },
    126 +      "funding": {
    127 +        "url": "https://opencollective.com/vitest"
    128 +      }
    129 +    },
    130 +    "node_modules/@vitest/snapshot/node_modules/ansi-styles": {
    131 +      "version": "5.2.0",
    132 +      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
    133 +      "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
    134 +      "dev": true,
    135 +      "engines": {
    136 +        "node": ">=10"
    137 +      },
    138 +      "funding": {
    139 +        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
    140 +      }
    141 +    },
    142 +    "node_modules/@vitest/snapshot/node_modules/pretty-format": {
    143 +      "version": "29.6.2",
    144 +      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz",
    145 +      "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==",
    146 +      "dev": true,
    147 +      "dependencies": {
    148 +        "@jest/schemas": "^29.6.0",
    149 +        "ansi-styles": "^5.0.0",
    150 +        "react-is": "^18.0.0"
    151 +      },
    152 +      "engines": {
    153 +        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
    154 +      }
    155 +    },
    156 +    "node_modules/@vitest/spy": {
    157 +      "version": "0.34.1",
    158 +      "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.34.1.tgz",
    159 +      "integrity": "sha512-UT4WcI3EAPUNO8n6y9QoEqynGGEPmmRxC+cLzneFFXpmacivjHZsNbiKD88KUScv5DCHVDgdBsLD7O7s1enFcQ==",
    160 +      "dev": true,
    161 +      "dependencies": {
    162 +        "tinyspy": "^2.1.1"
    163 +      },
    164 +      "funding": {
    165 +        "url": "https://opencollective.com/vitest"
    166 +      }
    167 +    },
    168      "node_modules/@vitest/ui": {
    169        "version": "0.27.3",
    170        "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-0.27.3.tgz",
    171 @@ -1583,6 +1690,46 @@
    172          "sirv": "^2.0.2"
    173        }
    174      },
    175 +    "node_modules/@vitest/utils": {
    176 +      "version": "0.34.1",
    177 +      "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.34.1.tgz",
    178 +      "integrity": "sha512-/ql9dsFi4iuEbiNcjNHQWXBum7aL8pyhxvfnD9gNtbjR9fUKAjxhj4AA3yfLXg6gJpMGGecvtF8Au2G9y3q47Q==",
    179 +      "dev": true,
    180 +      "dependencies": {
    181 +        "diff-sequences": "^29.4.3",
    182 +        "loupe": "^2.3.6",
    183 +        "pretty-format": "^29.5.0"
    184 +      },
    185 +      "funding": {
    186 +        "url": "https://opencollective.com/vitest"
    187 +      }
    188 +    },
    189 +    "node_modules/@vitest/utils/node_modules/ansi-styles": {
    190 +      "version": "5.2.0",
    191 +      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
    192 +      "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
    193 +      "dev": true,
    194 +      "engines": {
    195 +        "node": ">=10"
    196 +      },
    197 +      "funding": {
    198 +        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
    199 +      }
    200 +    },
    201 +    "node_modules/@vitest/utils/node_modules/pretty-format": {
    202 +      "version": "29.6.2",
    203 +      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz",
    204 +      "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==",
    205 +      "dev": true,
    206 +      "dependencies": {
    207 +        "@jest/schemas": "^29.6.0",
    208 +        "ansi-styles": "^5.0.0",
    209 +        "react-is": "^18.0.0"
    210 +      },
    211 +      "engines": {
    212 +        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
    213 +      }
    214 +    },
    215      "node_modules/abab": {
    216        "version": "2.0.6",
    217        "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz",
    218 @@ -1590,9 +1737,9 @@
    219        "dev": true
    220      },
    221      "node_modules/acorn": {
    222 -      "version": "8.8.1",
    223 -      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
    224 -      "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
    225 +      "version": "8.10.0",
    226 +      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz",
    227 +      "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==",
    228        "dev": true,
    229        "bin": {
    230          "acorn": "bin/acorn"
    231 @@ -2002,12 +2149,6 @@
    232          "ieee754": "^1.2.1"
    233        }
    234      },
    235 -    "node_modules/buffer-from": {
    236 -      "version": "1.1.2",
    237 -      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
    238 -      "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
    239 -      "dev": true
    240 -    },
    241      "node_modules/builtin-modules": {
    242        "version": "3.3.0",
    243        "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz",
    244 @@ -2572,9 +2713,9 @@
    245        "dev": true
    246      },
    247      "node_modules/diff-sequences": {
    248 -      "version": "29.3.1",
    249 -      "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.3.1.tgz",
    250 -      "integrity": "sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==",
    251 +      "version": "29.4.3",
    252 +      "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz",
    253 +      "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==",
    254        "dev": true,
    255        "engines": {
    256          "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
    257 @@ -4518,9 +4659,9 @@
    258        "dev": true
    259      },
    260      "node_modules/local-pkg": {
    261 -      "version": "0.4.2",
    262 -      "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.2.tgz",
    263 -      "integrity": "sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==",
    264 +      "version": "0.4.3",
    265 +      "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz",
    266 +      "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==",
    267        "dev": true,
    268        "engines": {
    269          "node": ">=14"
    270 @@ -4634,6 +4775,24 @@
    271          "lz-string": "bin/bin.js"
    272        }
    273      },
    274 +    "node_modules/magic-string": {
    275 +      "version": "0.30.2",
    276 +      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.2.tgz",
    277 +      "integrity": "sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==",
    278 +      "dev": true,
    279 +      "dependencies": {
    280 +        "@jridgewell/sourcemap-codec": "^1.4.15"
    281 +      },
    282 +      "engines": {
    283 +        "node": ">=12"
    284 +      }
    285 +    },
    286 +    "node_modules/magic-string/node_modules/@jridgewell/sourcemap-codec": {
    287 +      "version": "1.4.15",
    288 +      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
    289 +      "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
    290 +      "dev": true
    291 +    },
    292      "node_modules/matrix-events-sdk": {
    293        "version": "0.0.1",
    294        "resolved": "https://registry.npmjs.org/matrix-events-sdk/-/matrix-events-sdk-0.0.1.tgz",
    295 @@ -4752,23 +4911,17 @@
    296        }
    297      },
    298      "node_modules/mlly": {
    299 -      "version": "1.1.0",
    300 -      "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.1.0.tgz",
    301 -      "integrity": "sha512-cwzBrBfwGC1gYJyfcy8TcZU1f+dbH/T+TuOhtYP2wLv/Fb51/uV7HJQfBPtEupZ2ORLRU1EKFS/QfS3eo9+kBQ==",
    302 +      "version": "1.4.0",
    303 +      "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.4.0.tgz",
    304 +      "integrity": "sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==",
    305        "dev": true,
    306        "dependencies": {
    307 -        "acorn": "^8.8.1",
    308 -        "pathe": "^1.0.0",
    309 -        "pkg-types": "^1.0.1",
    310 -        "ufo": "^1.0.1"
    311 +        "acorn": "^8.9.0",
    312 +        "pathe": "^1.1.1",
    313 +        "pkg-types": "^1.0.3",
    314 +        "ufo": "^1.1.2"
    315        }
    316      },
    317 -    "node_modules/mlly/node_modules/pathe": {
    318 -      "version": "1.1.0",
    319 -      "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.0.tgz",
    320 -      "integrity": "sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==",
    321 -      "dev": true
    322 -    },
    323      "node_modules/mrmime": {
    324        "version": "1.0.1",
    325        "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz",
    326 @@ -5184,9 +5337,9 @@
    327        }
    328      },
    329      "node_modules/pathe": {
    330 -      "version": "0.2.0",
    331 -      "resolved": "https://registry.npmjs.org/pathe/-/pathe-0.2.0.tgz",
    332 -      "integrity": "sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==",
    333 +      "version": "1.1.1",
    334 +      "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz",
    335 +      "integrity": "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==",
    336        "dev": true
    337      },
    338      "node_modules/pathval": {
    339 @@ -5225,22 +5378,16 @@
    340        }
    341      },
    342      "node_modules/pkg-types": {
    343 -      "version": "1.0.1",
    344 -      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.1.tgz",
    345 -      "integrity": "sha512-jHv9HB+Ho7dj6ItwppRDDl0iZRYBD0jsakHXtFgoLr+cHSF6xC+QL54sJmWxyGxOLYSHm0afhXhXcQDQqH9z8g==",
    346 +      "version": "1.0.3",
    347 +      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz",
    348 +      "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==",
    349        "dev": true,
    350        "dependencies": {
    351          "jsonc-parser": "^3.2.0",
    352 -        "mlly": "^1.0.0",
    353 -        "pathe": "^1.0.0"
    354 +        "mlly": "^1.2.0",
    355 +        "pathe": "^1.1.0"
    356        }
    357      },
    358 -    "node_modules/pkg-types/node_modules/pathe": {
    359 -      "version": "1.1.0",
    360 -      "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.0.tgz",
    361 -      "integrity": "sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==",
    362 -      "dev": true
    363 -    },
    364      "node_modules/pluralize": {
    365        "version": "8.0.0",
    366        "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz",
    367 @@ -6104,6 +6251,7 @@
    368        "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
    369        "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
    370        "dev": true,
    371 +      "optional": true,
    372        "engines": {
    373          "node": ">=0.10.0"
    374        }
    375 @@ -6117,16 +6265,6 @@
    376          "node": ">=0.10.0"
    377        }
    378      },
    379 -    "node_modules/source-map-support": {
    380 -      "version": "0.5.21",
    381 -      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
    382 -      "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
    383 -      "dev": true,
    384 -      "dependencies": {
    385 -        "buffer-from": "^1.0.0",
    386 -        "source-map": "^0.6.0"
    387 -      }
    388 -    },
    389      "node_modules/spdx-correct": {
    390        "version": "3.1.1",
    391        "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
    392 @@ -6187,9 +6325,9 @@
    393        "dev": true
    394      },
    395      "node_modules/std-env": {
    396 -      "version": "3.3.1",
    397 -      "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.1.tgz",
    398 -      "integrity": "sha512-3H20QlwQsSm2OvAxWIYhs+j01MzzqwMwGiiO1NQaJYZgJZFPuAbf95/DiKRBSTYIJ2FeGUc+B/6mPGcWP9dO3Q==",
    399 +      "version": "3.3.3",
    400 +      "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.3.tgz",
    401 +      "integrity": "sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==",
    402        "dev": true
    403      },
    404      "node_modules/string_decoder": {
    405 @@ -6278,12 +6416,12 @@
    406        }
    407      },
    408      "node_modules/strip-literal": {
    409 -      "version": "1.0.0",
    410 -      "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.0.0.tgz",
    411 -      "integrity": "sha512-5o4LsH1lzBzO9UFH63AJ2ad2/S2AVx6NtjOcaz+VTT2h1RiRvbipW72z8M/lxEhcPHDBQwpDrnTF7sXy/7OwCQ==",
    412 +      "version": "1.0.1",
    413 +      "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.0.1.tgz",
    414 +      "integrity": "sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==",
    415        "dev": true,
    416        "dependencies": {
    417 -        "acorn": "^8.8.1"
    418 +        "acorn": "^8.8.2"
    419        },
    420        "funding": {
    421          "url": "https://github.com/sponsors/antfu"
    422 @@ -6421,24 +6559,24 @@
    423        "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg=="
    424      },
    425      "node_modules/tinybench": {
    426 -      "version": "2.3.1",
    427 -      "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.3.1.tgz",
    428 -      "integrity": "sha512-hGYWYBMPr7p4g5IarQE7XhlyWveh1EKhy4wUBS1LrHXCKYgvz+4/jCqgmJqZxxldesn05vccrtME2RLLZNW7iA==",
    429 +      "version": "2.5.0",
    430 +      "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.5.0.tgz",
    431 +      "integrity": "sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==",
    432        "dev": true
    433      },
    434      "node_modules/tinypool": {
    435 -      "version": "0.3.0",
    436 -      "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.3.0.tgz",
    437 -      "integrity": "sha512-NX5KeqHOBZU6Bc0xj9Vr5Szbb1j8tUHIeD18s41aDJaPeC5QTdEhK0SpdpUrZlj2nv5cctNcSjaKNanXlfcVEQ==",
    438 +      "version": "0.7.0",
    439 +      "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.7.0.tgz",
    440 +      "integrity": "sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==",
    441        "dev": true,
    442        "engines": {
    443          "node": ">=14.0.0"
    444        }
    445      },
    446      "node_modules/tinyspy": {
    447 -      "version": "1.0.2",
    448 -      "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-1.0.2.tgz",
    449 -      "integrity": "sha512-bSGlgwLBYf7PnUsQ6WOc6SJ3pGOcd+d8AA6EUnLDDM0kWEstC1JIlSZA3UNliDXhd9ABoS7hiRBDCu+XP/sf1Q==",
    450 +      "version": "2.1.1",
    451 +      "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.1.1.tgz",
    452 +      "integrity": "sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w==",
    453        "dev": true,
    454        "engines": {
    455          "node": ">=14.0.0"
    456 @@ -6577,9 +6715,9 @@
    457        }
    458      },
    459      "node_modules/ufo": {
    460 -      "version": "1.0.1",
    461 -      "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.0.1.tgz",
    462 -      "integrity": "sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==",
    463 +      "version": "1.2.0",
    464 +      "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.2.0.tgz",
    465 +      "integrity": "sha512-RsPyTbqORDNDxqAdQPQBpgqhWle1VcTSou/FraClYlHf6TZnQcGslpLcAphNR+sQW4q5lLWLbOsRlh9j24baQg==",
    466        "dev": true
    467      },
    468      "node_modules/unhomoglyph": {
    469 @@ -6714,28 +6852,26 @@
    470        }
    471      },
    472      "node_modules/vite-node": {
    473 -      "version": "0.27.3",
    474 -      "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.27.3.tgz",
    475 -      "integrity": "sha512-eyJYOO64o5HIp8poc4bJX+ZNBwMZeI3f6/JdiUmJgW02Mt7LnoCtDMRVmLaY9S05SIsjGe339ZK4uo2wQ+bF9g==",
    476 +      "version": "0.34.1",
    477 +      "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.34.1.tgz",
    478 +      "integrity": "sha512-odAZAL9xFMuAg8aWd7nSPT+hU8u2r9gU3LRm9QKjxBEF2rRdWpMuqkrkjvyVQEdNFiBctqr2Gg4uJYizm5Le6w==",
    479        "dev": true,
    480        "dependencies": {
    481          "cac": "^6.7.14",
    482          "debug": "^4.3.4",
    483 -        "mlly": "^1.1.0",
    484 -        "pathe": "^0.2.0",
    485 +        "mlly": "^1.4.0",
    486 +        "pathe": "^1.1.1",
    487          "picocolors": "^1.0.0",
    488 -        "source-map": "^0.6.1",
    489 -        "source-map-support": "^0.5.21",
    490          "vite": "^3.0.0 || ^4.0.0"
    491        },
    492        "bin": {
    493          "vite-node": "vite-node.mjs"
    494        },
    495        "engines": {
    496 -        "node": ">=v14.16.0"
    497 +        "node": ">=v14.18.0"
    498        },
    499        "funding": {
    500 -        "url": "https://github.com/sponsors/antfu"
    501 +        "url": "https://opencollective.com/vitest"
    502        }
    503      },
    504      "node_modules/vite-plugin-ejs": {
    505 @@ -6748,46 +6884,54 @@
    506        }
    507      },
    508      "node_modules/vitest": {
    509 -      "version": "0.27.3",
    510 -      "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.27.3.tgz",
    511 -      "integrity": "sha512-Ld3UVgRVhJUtqvQ3dW89GxiApFAgBsWJZBCWzK+gA3w2yG68csXlGZZ4WDJURf+8ecNfgrScga6xY+8YSOpiMg==",
    512 +      "version": "0.34.1",
    513 +      "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.34.1.tgz",
    514 +      "integrity": "sha512-G1PzuBEq9A75XSU88yO5G4vPT20UovbC/2osB2KEuV/FisSIIsw7m5y2xMdB7RsAGHAfg2lPmp2qKr3KWliVlQ==",
    515        "dev": true,
    516        "dependencies": {
    517 -        "@types/chai": "^4.3.4",
    518 +        "@types/chai": "^4.3.5",
    519          "@types/chai-subset": "^1.3.3",
    520          "@types/node": "*",
    521 -        "acorn": "^8.8.1",
    522 +        "@vitest/expect": "0.34.1",
    523 +        "@vitest/runner": "0.34.1",
    524 +        "@vitest/snapshot": "0.34.1",
    525 +        "@vitest/spy": "0.34.1",
    526 +        "@vitest/utils": "0.34.1",
    527 +        "acorn": "^8.9.0",
    528          "acorn-walk": "^8.2.0",
    529          "cac": "^6.7.14",
    530          "chai": "^4.3.7",
    531          "debug": "^4.3.4",
    532 -        "local-pkg": "^0.4.2",
    533 +        "local-pkg": "^0.4.3",
    534 +        "magic-string": "^0.30.1",
    535 +        "pathe": "^1.1.1",
    536          "picocolors": "^1.0.0",
    537 -        "source-map": "^0.6.1",
    538 -        "std-env": "^3.3.1",
    539 -        "strip-literal": "^1.0.0",
    540 -        "tinybench": "^2.3.1",
    541 -        "tinypool": "^0.3.0",
    542 -        "tinyspy": "^1.0.2",
    543 +        "std-env": "^3.3.3",
    544 +        "strip-literal": "^1.0.1",
    545 +        "tinybench": "^2.5.0",
    546 +        "tinypool": "^0.7.0",
    547          "vite": "^3.0.0 || ^4.0.0",
    548 -        "vite-node": "0.27.3",
    549 +        "vite-node": "0.34.1",
    550          "why-is-node-running": "^2.2.2"
    551        },
    552        "bin": {
    553          "vitest": "vitest.mjs"
    554        },
    555        "engines": {
    556 -        "node": ">=v14.16.0"
    557 +        "node": ">=v14.18.0"
    558        },
    559        "funding": {
    560 -        "url": "https://github.com/sponsors/antfu"
    561 +        "url": "https://opencollective.com/vitest"
    562        },
    563        "peerDependencies": {
    564          "@edge-runtime/vm": "*",
    565          "@vitest/browser": "*",
    566          "@vitest/ui": "*",
    567          "happy-dom": "*",
    568 -        "jsdom": "*"
    569 +        "jsdom": "*",
    570 +        "playwright": "*",
    571 +        "safaridriver": "*",
    572 +        "webdriverio": "*"
    573        },
    574        "peerDependenciesMeta": {
    575          "@edge-runtime/vm": {
    576 @@ -6804,6 +6948,15 @@
    577          },
    578          "jsdom": {
    579            "optional": true
    580 +        },
    581 +        "playwright": {
    582 +          "optional": true
    583 +        },
    584 +        "safaridriver": {
    585 +          "optional": true
    586 +        },
    587 +        "webdriverio": {
    588 +          "optional": true
    589          }
    590        }
    591      },
    592 @@ -7555,12 +7708,12 @@
    593        }
    594      },
    595      "@jest/schemas": {
    596 -      "version": "29.0.0",
    597 -      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.0.0.tgz",
    598 -      "integrity": "sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA==",
    599 +      "version": "29.6.0",
    600 +      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz",
    601 +      "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==",
    602        "dev": true,
    603        "requires": {
    604 -        "@sinclair/typebox": "^0.24.1"
    605 +        "@sinclair/typebox": "^0.27.8"
    606        }
    607      },
    608      "@jest/types": {
    609 @@ -7653,9 +7806,9 @@
    610        "integrity": "sha512-nwQoYb3m4DDpHTeOwpJEuDt8lWVcujhYYSFGLluC+9es2PyLjm+jjq3IeRBQbwBtPLJE/lkuHuGHr8uQLgmJRA=="
    611      },
    612      "@sinclair/typebox": {
    613 -      "version": "0.24.51",
    614 -      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz",
    615 -      "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==",
    616 +      "version": "0.27.8",
    617 +      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
    618 +      "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
    619        "dev": true
    620      },
    621      "@swc/core": {
    622 @@ -7822,9 +7975,9 @@
    623        "dev": true
    624      },
    625      "@types/chai": {
    626 -      "version": "4.3.4",
    627 -      "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz",
    628 -      "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==",
    629 +      "version": "4.3.5",
    630 +      "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.5.tgz",
    631 +      "integrity": "sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==",
    632        "dev": true
    633      },
    634      "@types/chai-subset": {
    635 @@ -8092,6 +8245,84 @@
    636          "@swc/core": "^1.3.22"
    637        }
    638      },
    639 +    "@vitest/expect": {
    640 +      "version": "0.34.1",
    641 +      "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.34.1.tgz",
    642 +      "integrity": "sha512-q2CD8+XIsQ+tHwypnoCk8Mnv5e6afLFvinVGCq3/BOT4kQdVQmY6rRfyKkwcg635lbliLPqbunXZr+L1ssUWiQ==",
    643 +      "dev": true,
    644 +      "requires": {
    645 +        "@vitest/spy": "0.34.1",
    646 +        "@vitest/utils": "0.34.1",
    647 +        "chai": "^4.3.7"
    648 +      }
    649 +    },
    650 +    "@vitest/runner": {
    651 +      "version": "0.34.1",
    652 +      "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.34.1.tgz",
    653 +      "integrity": "sha512-YfQMpYzDsYB7yqgmlxZ06NI4LurHWfrH7Wy3Pvf/z/vwUSgq1zLAb1lWcItCzQG+NVox+VvzlKQrYEXb47645g==",
    654 +      "dev": true,
    655 +      "requires": {
    656 +        "@vitest/utils": "0.34.1",
    657 +        "p-limit": "^4.0.0",
    658 +        "pathe": "^1.1.1"
    659 +      },
    660 +      "dependencies": {
    661 +        "p-limit": {
    662 +          "version": "4.0.0",
    663 +          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz",
    664 +          "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==",
    665 +          "dev": true,
    666 +          "requires": {
    667 +            "yocto-queue": "^1.0.0"
    668 +          }
    669 +        },
    670 +        "yocto-queue": {
    671 +          "version": "1.0.0",
    672 +          "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz",
    673 +          "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==",
    674 +          "dev": true
    675 +        }
    676 +      }
    677 +    },
    678 +    "@vitest/snapshot": {
    679 +      "version": "0.34.1",
    680 +      "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-0.34.1.tgz",
    681 +      "integrity": "sha512-0O9LfLU0114OqdF8lENlrLsnn024Tb1CsS9UwG0YMWY2oGTQfPtkW+B/7ieyv0X9R2Oijhi3caB1xgGgEgclSQ==",
    682 +      "dev": true,
    683 +      "requires": {
    684 +        "magic-string": "^0.30.1",
    685 +        "pathe": "^1.1.1",
    686 +        "pretty-format": "^29.5.0"
    687 +      },
    688 +      "dependencies": {
    689 +        "ansi-styles": {
    690 +          "version": "5.2.0",
    691 +          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
    692 +          "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
    693 +          "dev": true
    694 +        },
    695 +        "pretty-format": {
    696 +          "version": "29.6.2",
    697 +          "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz",
    698 +          "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==",
    699 +          "dev": true,
    700 +          "requires": {
    701 +            "@jest/schemas": "^29.6.0",
    702 +            "ansi-styles": "^5.0.0",
    703 +            "react-is": "^18.0.0"
    704 +          }
    705 +        }
    706 +      }
    707 +    },
    708 +    "@vitest/spy": {
    709 +      "version": "0.34.1",
    710 +      "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.34.1.tgz",
    711 +      "integrity": "sha512-UT4WcI3EAPUNO8n6y9QoEqynGGEPmmRxC+cLzneFFXpmacivjHZsNbiKD88KUScv5DCHVDgdBsLD7O7s1enFcQ==",
    712 +      "dev": true,
    713 +      "requires": {
    714 +        "tinyspy": "^2.1.1"
    715 +      }
    716 +    },
    717      "@vitest/ui": {
    718        "version": "0.27.3",
    719        "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-0.27.3.tgz",
    720 @@ -8103,6 +8334,36 @@
    721          "sirv": "^2.0.2"
    722        }
    723      },
    724 +    "@vitest/utils": {
    725 +      "version": "0.34.1",
    726 +      "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.34.1.tgz",
    727 +      "integrity": "sha512-/ql9dsFi4iuEbiNcjNHQWXBum7aL8pyhxvfnD9gNtbjR9fUKAjxhj4AA3yfLXg6gJpMGGecvtF8Au2G9y3q47Q==",
    728 +      "dev": true,
    729 +      "requires": {
    730 +        "diff-sequences": "^29.4.3",
    731 +        "loupe": "^2.3.6",
    732 +        "pretty-format": "^29.5.0"
    733 +      },
    734 +      "dependencies": {
    735 +        "ansi-styles": {
    736 +          "version": "5.2.0",
    737 +          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
    738 +          "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
    739 +          "dev": true
    740 +        },
    741 +        "pretty-format": {
    742 +          "version": "29.6.2",
    743 +          "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz",
    744 +          "integrity": "sha512-1q0oC8eRveTg5nnBEWMXAU2qpv65Gnuf2eCQzSjxpWFkPaPARwqZZDGuNE0zPAZfTCHzIk3A8dIjwlQKKLphyg==",
    745 +          "dev": true,
    746 +          "requires": {
    747 +            "@jest/schemas": "^29.6.0",
    748 +            "ansi-styles": "^5.0.0",
    749 +            "react-is": "^18.0.0"
    750 +          }
    751 +        }
    752 +      }
    753 +    },
    754      "abab": {
    755        "version": "2.0.6",
    756        "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz",
    757 @@ -8110,9 +8371,9 @@
    758        "dev": true
    759      },
    760      "acorn": {
    761 -      "version": "8.8.1",
    762 -      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
    763 -      "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
    764 +      "version": "8.10.0",
    765 +      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz",
    766 +      "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==",
    767        "dev": true
    768      },
    769      "acorn-globals": {
    770 @@ -8393,12 +8654,6 @@
    771          "ieee754": "^1.2.1"
    772        }
    773      },
    774 -    "buffer-from": {
    775 -      "version": "1.1.2",
    776 -      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
    777 -      "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
    778 -      "dev": true
    779 -    },
    780      "builtin-modules": {
    781        "version": "3.3.0",
    782        "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz",
    783 @@ -8805,9 +9060,9 @@
    784        "dev": true
    785      },
    786      "diff-sequences": {
    787 -      "version": "29.3.1",
    788 -      "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.3.1.tgz",
    789 -      "integrity": "sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ==",
    790 +      "version": "29.4.3",
    791 +      "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.4.3.tgz",
    792 +      "integrity": "sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==",
    793        "dev": true
    794      },
    795      "dir-glob": {
    796 @@ -10244,9 +10499,9 @@
    797        "dev": true
    798      },
    799      "local-pkg": {
    800 -      "version": "0.4.2",
    801 -      "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.2.tgz",
    802 -      "integrity": "sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==",
    803 +      "version": "0.4.3",
    804 +      "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz",
    805 +      "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==",
    806        "dev": true
    807      },
    808      "locate-path": {
    809 @@ -10322,6 +10577,23 @@
    810        "integrity": "sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==",
    811        "dev": true
    812      },
    813 +    "magic-string": {
    814 +      "version": "0.30.2",
    815 +      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.2.tgz",
    816 +      "integrity": "sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==",
    817 +      "dev": true,
    818 +      "requires": {
    819 +        "@jridgewell/sourcemap-codec": "^1.4.15"
    820 +      },
    821 +      "dependencies": {
    822 +        "@jridgewell/sourcemap-codec": {
    823 +          "version": "1.4.15",
    824 +          "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
    825 +          "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
    826 +          "dev": true
    827 +        }
    828 +      }
    829 +    },
    830      "matrix-events-sdk": {
    831        "version": "0.0.1",
    832        "resolved": "https://registry.npmjs.org/matrix-events-sdk/-/matrix-events-sdk-0.0.1.tgz",
    833 @@ -10413,23 +10685,15 @@
    834        "dev": true
    835      },
    836      "mlly": {
    837 -      "version": "1.1.0",
    838 -      "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.1.0.tgz",
    839 -      "integrity": "sha512-cwzBrBfwGC1gYJyfcy8TcZU1f+dbH/T+TuOhtYP2wLv/Fb51/uV7HJQfBPtEupZ2ORLRU1EKFS/QfS3eo9+kBQ==",
    840 +      "version": "1.4.0",
    841 +      "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.4.0.tgz",
    842 +      "integrity": "sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==",
    843        "dev": true,
    844        "requires": {
    845 -        "acorn": "^8.8.1",
    846 -        "pathe": "^1.0.0",
    847 -        "pkg-types": "^1.0.1",
    848 -        "ufo": "^1.0.1"
    849 -      },
    850 -      "dependencies": {
    851 -        "pathe": {
    852 -          "version": "1.1.0",
    853 -          "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.0.tgz",
    854 -          "integrity": "sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==",
    855 -          "dev": true
    856 -        }
    857 +        "acorn": "^8.9.0",
    858 +        "pathe": "^1.1.1",
    859 +        "pkg-types": "^1.0.3",
    860 +        "ufo": "^1.1.2"
    861        }
    862      },
    863      "mrmime": {
    864 @@ -10723,9 +10987,9 @@
    865        "dev": true
    866      },
    867      "pathe": {
    868 -      "version": "0.2.0",
    869 -      "resolved": "https://registry.npmjs.org/pathe/-/pathe-0.2.0.tgz",
    870 -      "integrity": "sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==",
    871 +      "version": "1.1.1",
    872 +      "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz",
    873 +      "integrity": "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==",
    874        "dev": true
    875      },
    876      "pathval": {
    877 @@ -10752,22 +11016,14 @@
    878        "dev": true
    879      },
    880      "pkg-types": {
    881 -      "version": "1.0.1",
    882 -      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.1.tgz",
    883 -      "integrity": "sha512-jHv9HB+Ho7dj6ItwppRDDl0iZRYBD0jsakHXtFgoLr+cHSF6xC+QL54sJmWxyGxOLYSHm0afhXhXcQDQqH9z8g==",
    884 +      "version": "1.0.3",
    885 +      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz",
    886 +      "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==",
    887        "dev": true,
    888        "requires": {
    889          "jsonc-parser": "^3.2.0",
    890 -        "mlly": "^1.0.0",
    891 -        "pathe": "^1.0.0"
    892 -      },
    893 -      "dependencies": {
    894 -        "pathe": {
    895 -          "version": "1.1.0",
    896 -          "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.0.tgz",
    897 -          "integrity": "sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==",
    898 -          "dev": true
    899 -        }
    900 +        "mlly": "^1.2.0",
    901 +        "pathe": "^1.1.0"
    902        }
    903      },
    904      "pluralize": {
    905 @@ -11346,7 +11602,8 @@
    906        "version": "0.6.1",
    907        "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
    908        "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
    909 -      "dev": true
    910 +      "dev": true,
    911 +      "optional": true
    912      },
    913      "source-map-js": {
    914        "version": "1.0.2",
    915 @@ -11354,16 +11611,6 @@
    916        "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
    917        "dev": true
    918      },
    919 -    "source-map-support": {
    920 -      "version": "0.5.21",
    921 -      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
    922 -      "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
    923 -      "dev": true,
    924 -      "requires": {
    925 -        "buffer-from": "^1.0.0",
    926 -        "source-map": "^0.6.0"
    927 -      }
    928 -    },
    929      "spdx-correct": {
    930        "version": "3.1.1",
    931        "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
    932 @@ -11420,9 +11667,9 @@
    933        "dev": true
    934      },
    935      "std-env": {
    936 -      "version": "3.3.1",
    937 -      "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.1.tgz",
    938 -      "integrity": "sha512-3H20QlwQsSm2OvAxWIYhs+j01MzzqwMwGiiO1NQaJYZgJZFPuAbf95/DiKRBSTYIJ2FeGUc+B/6mPGcWP9dO3Q==",
    939 +      "version": "3.3.3",
    940 +      "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.3.tgz",
    941 +      "integrity": "sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==",
    942        "dev": true
    943      },
    944      "string_decoder": {
    945 @@ -11483,12 +11730,12 @@
    946        "dev": true
    947      },
    948      "strip-literal": {
    949 -      "version": "1.0.0",
    950 -      "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.0.0.tgz",
    951 -      "integrity": "sha512-5o4LsH1lzBzO9UFH63AJ2ad2/S2AVx6NtjOcaz+VTT2h1RiRvbipW72z8M/lxEhcPHDBQwpDrnTF7sXy/7OwCQ==",
    952 +      "version": "1.0.1",
    953 +      "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.0.1.tgz",
    954 +      "integrity": "sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==",
    955        "dev": true,
    956        "requires": {
    957 -        "acorn": "^8.8.1"
    958 +        "acorn": "^8.8.2"
    959        }
    960      },
    961      "styled-components": {
    962 @@ -11587,21 +11834,21 @@
    963        "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg=="
    964      },
    965      "tinybench": {
    966 -      "version": "2.3.1",
    967 -      "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.3.1.tgz",
    968 -      "integrity": "sha512-hGYWYBMPr7p4g5IarQE7XhlyWveh1EKhy4wUBS1LrHXCKYgvz+4/jCqgmJqZxxldesn05vccrtME2RLLZNW7iA==",
    969 +      "version": "2.5.0",
    970 +      "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.5.0.tgz",
    971 +      "integrity": "sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==",
    972        "dev": true
    973      },
    974      "tinypool": {
    975 -      "version": "0.3.0",
    976 -      "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.3.0.tgz",
    977 -      "integrity": "sha512-NX5KeqHOBZU6Bc0xj9Vr5Szbb1j8tUHIeD18s41aDJaPeC5QTdEhK0SpdpUrZlj2nv5cctNcSjaKNanXlfcVEQ==",
    978 +      "version": "0.7.0",
    979 +      "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.7.0.tgz",
    980 +      "integrity": "sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==",
    981        "dev": true
    982      },
    983      "tinyspy": {
    984 -      "version": "1.0.2",
    985 -      "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-1.0.2.tgz",
    986 -      "integrity": "sha512-bSGlgwLBYf7PnUsQ6WOc6SJ3pGOcd+d8AA6EUnLDDM0kWEstC1JIlSZA3UNliDXhd9ABoS7hiRBDCu+XP/sf1Q==",
    987 +      "version": "2.1.1",
    988 +      "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.1.1.tgz",
    989 +      "integrity": "sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w==",
    990        "dev": true
    991      },
    992      "tmp": {
    993 @@ -11699,9 +11946,9 @@
    994        "dev": true
    995      },
    996      "ufo": {
    997 -      "version": "1.0.1",
    998 -      "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.0.1.tgz",
    999 -      "integrity": "sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==",
   1000 +      "version": "1.2.0",
   1001 +      "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.2.0.tgz",
   1002 +      "integrity": "sha512-RsPyTbqORDNDxqAdQPQBpgqhWle1VcTSou/FraClYlHf6TZnQcGslpLcAphNR+sQW4q5lLWLbOsRlh9j24baQg==",
   1003        "dev": true
   1004      },
   1005      "unhomoglyph": {
   1006 @@ -11778,18 +12025,16 @@
   1007        }
   1008      },
   1009      "vite-node": {
   1010 -      "version": "0.27.3",
   1011 -      "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.27.3.tgz",
   1012 -      "integrity": "sha512-eyJYOO64o5HIp8poc4bJX+ZNBwMZeI3f6/JdiUmJgW02Mt7LnoCtDMRVmLaY9S05SIsjGe339ZK4uo2wQ+bF9g==",
   1013 +      "version": "0.34.1",
   1014 +      "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.34.1.tgz",
   1015 +      "integrity": "sha512-odAZAL9xFMuAg8aWd7nSPT+hU8u2r9gU3LRm9QKjxBEF2rRdWpMuqkrkjvyVQEdNFiBctqr2Gg4uJYizm5Le6w==",
   1016        "dev": true,
   1017        "requires": {
   1018          "cac": "^6.7.14",
   1019          "debug": "^4.3.4",
   1020 -        "mlly": "^1.1.0",
   1021 -        "pathe": "^0.2.0",
   1022 +        "mlly": "^1.4.0",
   1023 +        "pathe": "^1.1.1",
   1024          "picocolors": "^1.0.0",
   1025 -        "source-map": "^0.6.1",
   1026 -        "source-map-support": "^0.5.21",
   1027          "vite": "^3.0.0 || ^4.0.0"
   1028        }
   1029      },
   1030 @@ -11803,29 +12048,34 @@
   1031        }
   1032      },
   1033      "vitest": {
   1034 -      "version": "0.27.3",
   1035 -      "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.27.3.tgz",
   1036 -      "integrity": "sha512-Ld3UVgRVhJUtqvQ3dW89GxiApFAgBsWJZBCWzK+gA3w2yG68csXlGZZ4WDJURf+8ecNfgrScga6xY+8YSOpiMg==",
   1037 +      "version": "0.34.1",
   1038 +      "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.34.1.tgz",
   1039 +      "integrity": "sha512-G1PzuBEq9A75XSU88yO5G4vPT20UovbC/2osB2KEuV/FisSIIsw7m5y2xMdB7RsAGHAfg2lPmp2qKr3KWliVlQ==",
   1040        "dev": true,
   1041        "requires": {
   1042 -        "@types/chai": "^4.3.4",
   1043 +        "@types/chai": "^4.3.5",
   1044          "@types/chai-subset": "^1.3.3",
   1045          "@types/node": "*",
   1046 -        "acorn": "^8.8.1",
   1047 +        "@vitest/expect": "0.34.1",
   1048 +        "@vitest/runner": "0.34.1",
   1049 +        "@vitest/snapshot": "0.34.1",
   1050 +        "@vitest/spy": "0.34.1",
   1051 +        "@vitest/utils": "0.34.1",
   1052 +        "acorn": "^8.9.0",
   1053          "acorn-walk": "^8.2.0",
   1054          "cac": "^6.7.14",
   1055          "chai": "^4.3.7",
   1056          "debug": "^4.3.4",
   1057 -        "local-pkg": "^0.4.2",
   1058 +        "local-pkg": "^0.4.3",
   1059 +        "magic-string": "^0.30.1",
   1060 +        "pathe": "^1.1.1",
   1061          "picocolors": "^1.0.0",
   1062 -        "source-map": "^0.6.1",
   1063 -        "std-env": "^3.3.1",
   1064 -        "strip-literal": "^1.0.0",
   1065 -        "tinybench": "^2.3.1",
   1066 -        "tinypool": "^0.3.0",
   1067 -        "tinyspy": "^1.0.2",
   1068 +        "std-env": "^3.3.3",
   1069 +        "strip-literal": "^1.0.1",
   1070 +        "tinybench": "^2.5.0",
   1071 +        "tinypool": "^0.7.0",
   1072          "vite": "^3.0.0 || ^4.0.0",
   1073 -        "vite-node": "0.27.3",
   1074 +        "vite-node": "0.34.1",
   1075          "why-is-node-running": "^2.2.2"
   1076        },
   1077        "dependencies": {
   1078 diff --git a/package.json b/package.json
   1079 index 85022c5..83d0ddf 100644
   1080 --- a/package.json
   1081 +++ b/package.json
   1082 @@ -50,6 +50,6 @@
   1083      "typescript": "^4.9.4",
   1084      "vite": "^4.0.5",
   1085      "vite-plugin-ejs": "^1.6.4",
   1086 -    "vitest": "^0.27.3"
   1087 +    "vitest": "^0.34.1"
   1088    }
   1089  }
   1090 \ No newline at end of file