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

448.diff (44649B)


      1 diff --git a/package-lock.json b/package-lock.json
      2 index 1dede94..c2efd7f 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.32.0"
     11        }
     12      },
     13      "node_modules/@adobe/css-tools": {
     14 @@ -1203,9 +1203,9 @@
     15        "dev": true
     16      },
     17      "node_modules/@types/chai": {
     18 -      "version": "4.3.4",
     19 -      "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz",
     20 -      "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==",
     21 +      "version": "4.3.5",
     22 +      "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.5.tgz",
     23 +      "integrity": "sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==",
     24        "dev": true
     25      },
     26      "node_modules/@types/chai-subset": {
     27 @@ -1572,6 +1572,88 @@
     28          "vite": "^4"
     29        }
     30      },
     31 +    "node_modules/@vitest/expect": {
     32 +      "version": "0.32.0",
     33 +      "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.32.0.tgz",
     34 +      "integrity": "sha512-VxVHhIxKw9Lux+O9bwLEEk2gzOUe93xuFHy9SzYWnnoYZFYg1NfBtnfnYWiJN7yooJ7KNElCK5YtA7DTZvtXtg==",
     35 +      "dev": true,
     36 +      "dependencies": {
     37 +        "@vitest/spy": "0.32.0",
     38 +        "@vitest/utils": "0.32.0",
     39 +        "chai": "^4.3.7"
     40 +      },
     41 +      "funding": {
     42 +        "url": "https://opencollective.com/vitest"
     43 +      }
     44 +    },
     45 +    "node_modules/@vitest/runner": {
     46 +      "version": "0.32.0",
     47 +      "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.32.0.tgz",
     48 +      "integrity": "sha512-QpCmRxftHkr72xt5A08xTEs9I4iWEXIOCHWhQQguWOKE4QH7DXSKZSOFibuwEIMAD7G0ERvtUyQn7iPWIqSwmw==",
     49 +      "dev": true,
     50 +      "dependencies": {
     51 +        "@vitest/utils": "0.32.0",
     52 +        "concordance": "^5.0.4",
     53 +        "p-limit": "^4.0.0",
     54 +        "pathe": "^1.1.0"
     55 +      },
     56 +      "funding": {
     57 +        "url": "https://opencollective.com/vitest"
     58 +      }
     59 +    },
     60 +    "node_modules/@vitest/runner/node_modules/p-limit": {
     61 +      "version": "4.0.0",
     62 +      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz",
     63 +      "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==",
     64 +      "dev": true,
     65 +      "dependencies": {
     66 +        "yocto-queue": "^1.0.0"
     67 +      },
     68 +      "engines": {
     69 +        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
     70 +      },
     71 +      "funding": {
     72 +        "url": "https://github.com/sponsors/sindresorhus"
     73 +      }
     74 +    },
     75 +    "node_modules/@vitest/runner/node_modules/yocto-queue": {
     76 +      "version": "1.0.0",
     77 +      "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz",
     78 +      "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==",
     79 +      "dev": true,
     80 +      "engines": {
     81 +        "node": ">=12.20"
     82 +      },
     83 +      "funding": {
     84 +        "url": "https://github.com/sponsors/sindresorhus"
     85 +      }
     86 +    },
     87 +    "node_modules/@vitest/snapshot": {
     88 +      "version": "0.32.0",
     89 +      "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-0.32.0.tgz",
     90 +      "integrity": "sha512-yCKorPWjEnzpUxQpGlxulujTcSPgkblwGzAUEL+z01FTUg/YuCDZ8dxr9sHA08oO2EwxzHXNLjQKWJ2zc2a19Q==",
     91 +      "dev": true,
     92 +      "dependencies": {
     93 +        "magic-string": "^0.30.0",
     94 +        "pathe": "^1.1.0",
     95 +        "pretty-format": "^27.5.1"
     96 +      },
     97 +      "funding": {
     98 +        "url": "https://opencollective.com/vitest"
     99 +      }
    100 +    },
    101 +    "node_modules/@vitest/spy": {
    102 +      "version": "0.32.0",
    103 +      "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.32.0.tgz",
    104 +      "integrity": "sha512-MruAPlM0uyiq3d53BkwTeShXY0rYEfhNGQzVO5GHBmmX3clsxcWp79mMnkOVcV244sNTeDcHbcPFWIjOI4tZvw==",
    105 +      "dev": true,
    106 +      "dependencies": {
    107 +        "tinyspy": "^2.1.0"
    108 +      },
    109 +      "funding": {
    110 +        "url": "https://opencollective.com/vitest"
    111 +      }
    112 +    },
    113      "node_modules/@vitest/ui": {
    114        "version": "0.27.3",
    115        "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-0.27.3.tgz",
    116 @@ -1583,6 +1665,20 @@
    117          "sirv": "^2.0.2"
    118        }
    119      },
    120 +    "node_modules/@vitest/utils": {
    121 +      "version": "0.32.0",
    122 +      "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.32.0.tgz",
    123 +      "integrity": "sha512-53yXunzx47MmbuvcOPpLaVljHaeSu1G2dHdmy7+9ngMnQIkBQcvwOcoclWFnxDMxFbnq8exAfh3aKSZaK71J5A==",
    124 +      "dev": true,
    125 +      "dependencies": {
    126 +        "concordance": "^5.0.4",
    127 +        "loupe": "^2.3.6",
    128 +        "pretty-format": "^27.5.1"
    129 +      },
    130 +      "funding": {
    131 +        "url": "https://opencollective.com/vitest"
    132 +      }
    133 +    },
    134      "node_modules/abab": {
    135        "version": "2.0.6",
    136        "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz",
    137 @@ -1590,9 +1686,9 @@
    138        "dev": true
    139      },
    140      "node_modules/acorn": {
    141 -      "version": "8.8.1",
    142 -      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
    143 -      "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
    144 +      "version": "8.8.2",
    145 +      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
    146 +      "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
    147        "dev": true,
    148        "bin": {
    149          "acorn": "bin/acorn"
    150 @@ -1921,6 +2017,12 @@
    151          "readable-stream": "^3.4.0"
    152        }
    153      },
    154 +    "node_modules/blueimp-md5": {
    155 +      "version": "2.19.0",
    156 +      "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.19.0.tgz",
    157 +      "integrity": "sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==",
    158 +      "dev": true
    159 +    },
    160      "node_modules/brace-expansion": {
    161        "version": "1.1.11",
    162        "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
    163 @@ -2002,12 +2104,6 @@
    164          "ieee754": "^1.2.1"
    165        }
    166      },
    167 -    "node_modules/buffer-from": {
    168 -      "version": "1.1.2",
    169 -      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
    170 -      "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
    171 -      "dev": true
    172 -    },
    173      "node_modules/builtin-modules": {
    174        "version": "3.3.0",
    175        "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz",
    176 @@ -2283,6 +2379,25 @@
    177        "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
    178        "dev": true
    179      },
    180 +    "node_modules/concordance": {
    181 +      "version": "5.0.4",
    182 +      "resolved": "https://registry.npmjs.org/concordance/-/concordance-5.0.4.tgz",
    183 +      "integrity": "sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==",
    184 +      "dev": true,
    185 +      "dependencies": {
    186 +        "date-time": "^3.1.0",
    187 +        "esutils": "^2.0.3",
    188 +        "fast-diff": "^1.2.0",
    189 +        "js-string-escape": "^1.0.1",
    190 +        "lodash": "^4.17.15",
    191 +        "md5-hex": "^3.0.1",
    192 +        "semver": "^7.3.2",
    193 +        "well-known-symbols": "^2.0.0"
    194 +      },
    195 +      "engines": {
    196 +        "node": ">=10.18.0 <11 || >=12.14.0 <13 || >=14"
    197 +      }
    198 +    },
    199      "node_modules/content-type": {
    200        "version": "1.0.4",
    201        "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
    202 @@ -2437,6 +2552,18 @@
    203          "node": ">=12"
    204        }
    205      },
    206 +    "node_modules/date-time": {
    207 +      "version": "3.1.0",
    208 +      "resolved": "https://registry.npmjs.org/date-time/-/date-time-3.1.0.tgz",
    209 +      "integrity": "sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==",
    210 +      "dev": true,
    211 +      "dependencies": {
    212 +        "time-zone": "^1.0.0"
    213 +      },
    214 +      "engines": {
    215 +        "node": ">=6"
    216 +      }
    217 +    },
    218      "node_modules/debug": {
    219        "version": "4.3.4",
    220        "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
    221 @@ -3155,6 +3282,12 @@
    222        "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
    223        "dev": true
    224      },
    225 +    "node_modules/fast-diff": {
    226 +      "version": "1.3.0",
    227 +      "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz",
    228 +      "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==",
    229 +      "dev": true
    230 +    },
    231      "node_modules/fast-glob": {
    232        "version": "3.2.12",
    233        "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
    234 @@ -4357,6 +4490,15 @@
    235          "url": "https://opencollective.com/js-sdsl"
    236        }
    237      },
    238 +    "node_modules/js-string-escape": {
    239 +      "version": "1.0.1",
    240 +      "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz",
    241 +      "integrity": "sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==",
    242 +      "dev": true,
    243 +      "engines": {
    244 +        "node": ">= 0.8"
    245 +      }
    246 +    },
    247      "node_modules/js-tokens": {
    248        "version": "4.0.0",
    249        "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
    250 @@ -4518,9 +4660,9 @@
    251        "dev": true
    252      },
    253      "node_modules/local-pkg": {
    254 -      "version": "0.4.2",
    255 -      "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.2.tgz",
    256 -      "integrity": "sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==",
    257 +      "version": "0.4.3",
    258 +      "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz",
    259 +      "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==",
    260        "dev": true,
    261        "engines": {
    262          "node": ">=14"
    263 @@ -4634,6 +4776,18 @@
    264          "lz-string": "bin/bin.js"
    265        }
    266      },
    267 +    "node_modules/magic-string": {
    268 +      "version": "0.30.0",
    269 +      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz",
    270 +      "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==",
    271 +      "dev": true,
    272 +      "dependencies": {
    273 +        "@jridgewell/sourcemap-codec": "^1.4.13"
    274 +      },
    275 +      "engines": {
    276 +        "node": ">=12"
    277 +      }
    278 +    },
    279      "node_modules/matrix-events-sdk": {
    280        "version": "0.0.1",
    281        "resolved": "https://registry.npmjs.org/matrix-events-sdk/-/matrix-events-sdk-0.0.1.tgz",
    282 @@ -4670,6 +4824,18 @@
    283          "events": "^3.2.0"
    284        }
    285      },
    286 +    "node_modules/md5-hex": {
    287 +      "version": "3.0.1",
    288 +      "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-3.0.1.tgz",
    289 +      "integrity": "sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==",
    290 +      "dev": true,
    291 +      "dependencies": {
    292 +        "blueimp-md5": "^2.10.0"
    293 +      },
    294 +      "engines": {
    295 +        "node": ">=8"
    296 +      }
    297 +    },
    298      "node_modules/merge2": {
    299        "version": "1.4.1",
    300        "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
    301 @@ -4752,23 +4918,17 @@
    302        }
    303      },
    304      "node_modules/mlly": {
    305 -      "version": "1.1.0",
    306 -      "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.1.0.tgz",
    307 -      "integrity": "sha512-cwzBrBfwGC1gYJyfcy8TcZU1f+dbH/T+TuOhtYP2wLv/Fb51/uV7HJQfBPtEupZ2ORLRU1EKFS/QfS3eo9+kBQ==",
    308 +      "version": "1.3.0",
    309 +      "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.3.0.tgz",
    310 +      "integrity": "sha512-HT5mcgIQKkOrZecOjOX3DJorTikWXwsBfpcr/MGBkhfWcjiqvnaL/9ppxvIUXfjT6xt4DVIAsN9fMUz1ev4bIw==",
    311        "dev": true,
    312        "dependencies": {
    313 -        "acorn": "^8.8.1",
    314 -        "pathe": "^1.0.0",
    315 -        "pkg-types": "^1.0.1",
    316 -        "ufo": "^1.0.1"
    317 +        "acorn": "^8.8.2",
    318 +        "pathe": "^1.1.0",
    319 +        "pkg-types": "^1.0.3",
    320 +        "ufo": "^1.1.2"
    321        }
    322      },
    323 -    "node_modules/mlly/node_modules/pathe": {
    324 -      "version": "1.1.0",
    325 -      "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.0.tgz",
    326 -      "integrity": "sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==",
    327 -      "dev": true
    328 -    },
    329      "node_modules/mrmime": {
    330        "version": "1.0.1",
    331        "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz",
    332 @@ -5184,9 +5344,9 @@
    333        }
    334      },
    335      "node_modules/pathe": {
    336 -      "version": "0.2.0",
    337 -      "resolved": "https://registry.npmjs.org/pathe/-/pathe-0.2.0.tgz",
    338 -      "integrity": "sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==",
    339 +      "version": "1.1.1",
    340 +      "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz",
    341 +      "integrity": "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==",
    342        "dev": true
    343      },
    344      "node_modules/pathval": {
    345 @@ -5225,22 +5385,16 @@
    346        }
    347      },
    348      "node_modules/pkg-types": {
    349 -      "version": "1.0.1",
    350 -      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.1.tgz",
    351 -      "integrity": "sha512-jHv9HB+Ho7dj6ItwppRDDl0iZRYBD0jsakHXtFgoLr+cHSF6xC+QL54sJmWxyGxOLYSHm0afhXhXcQDQqH9z8g==",
    352 +      "version": "1.0.3",
    353 +      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz",
    354 +      "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==",
    355        "dev": true,
    356        "dependencies": {
    357          "jsonc-parser": "^3.2.0",
    358 -        "mlly": "^1.0.0",
    359 -        "pathe": "^1.0.0"
    360 +        "mlly": "^1.2.0",
    361 +        "pathe": "^1.1.0"
    362        }
    363      },
    364 -    "node_modules/pkg-types/node_modules/pathe": {
    365 -      "version": "1.1.0",
    366 -      "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.0.tgz",
    367 -      "integrity": "sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==",
    368 -      "dev": true
    369 -    },
    370      "node_modules/pluralize": {
    371        "version": "8.0.0",
    372        "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz",
    373 @@ -6104,6 +6258,7 @@
    374        "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
    375        "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
    376        "dev": true,
    377 +      "optional": true,
    378        "engines": {
    379          "node": ">=0.10.0"
    380        }
    381 @@ -6117,16 +6272,6 @@
    382          "node": ">=0.10.0"
    383        }
    384      },
    385 -    "node_modules/source-map-support": {
    386 -      "version": "0.5.21",
    387 -      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
    388 -      "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
    389 -      "dev": true,
    390 -      "dependencies": {
    391 -        "buffer-from": "^1.0.0",
    392 -        "source-map": "^0.6.0"
    393 -      }
    394 -    },
    395      "node_modules/spdx-correct": {
    396        "version": "3.1.1",
    397        "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
    398 @@ -6187,9 +6332,9 @@
    399        "dev": true
    400      },
    401      "node_modules/std-env": {
    402 -      "version": "3.3.1",
    403 -      "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.1.tgz",
    404 -      "integrity": "sha512-3H20QlwQsSm2OvAxWIYhs+j01MzzqwMwGiiO1NQaJYZgJZFPuAbf95/DiKRBSTYIJ2FeGUc+B/6mPGcWP9dO3Q==",
    405 +      "version": "3.3.3",
    406 +      "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.3.tgz",
    407 +      "integrity": "sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==",
    408        "dev": true
    409      },
    410      "node_modules/string_decoder": {
    411 @@ -6278,12 +6423,12 @@
    412        }
    413      },
    414      "node_modules/strip-literal": {
    415 -      "version": "1.0.0",
    416 -      "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.0.0.tgz",
    417 -      "integrity": "sha512-5o4LsH1lzBzO9UFH63AJ2ad2/S2AVx6NtjOcaz+VTT2h1RiRvbipW72z8M/lxEhcPHDBQwpDrnTF7sXy/7OwCQ==",
    418 +      "version": "1.0.1",
    419 +      "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.0.1.tgz",
    420 +      "integrity": "sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==",
    421        "dev": true,
    422        "dependencies": {
    423 -        "acorn": "^8.8.1"
    424 +        "acorn": "^8.8.2"
    425        },
    426        "funding": {
    427          "url": "https://github.com/sponsors/antfu"
    428 @@ -6420,25 +6565,34 @@
    429        "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
    430        "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg=="
    431      },
    432 +    "node_modules/time-zone": {
    433 +      "version": "1.0.0",
    434 +      "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-1.0.0.tgz",
    435 +      "integrity": "sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==",
    436 +      "dev": true,
    437 +      "engines": {
    438 +        "node": ">=4"
    439 +      }
    440 +    },
    441      "node_modules/tinybench": {
    442 -      "version": "2.3.1",
    443 -      "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.3.1.tgz",
    444 -      "integrity": "sha512-hGYWYBMPr7p4g5IarQE7XhlyWveh1EKhy4wUBS1LrHXCKYgvz+4/jCqgmJqZxxldesn05vccrtME2RLLZNW7iA==",
    445 +      "version": "2.5.0",
    446 +      "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.5.0.tgz",
    447 +      "integrity": "sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==",
    448        "dev": true
    449      },
    450      "node_modules/tinypool": {
    451 -      "version": "0.3.0",
    452 -      "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.3.0.tgz",
    453 -      "integrity": "sha512-NX5KeqHOBZU6Bc0xj9Vr5Szbb1j8tUHIeD18s41aDJaPeC5QTdEhK0SpdpUrZlj2nv5cctNcSjaKNanXlfcVEQ==",
    454 +      "version": "0.5.0",
    455 +      "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.5.0.tgz",
    456 +      "integrity": "sha512-paHQtnrlS1QZYKF/GnLoOM/DN9fqaGOFbCbxzAhwniySnzl9Ebk8w73/dd34DAhe/obUbPAOldTyYXQZxnPBPQ==",
    457        "dev": true,
    458        "engines": {
    459          "node": ">=14.0.0"
    460        }
    461      },
    462      "node_modules/tinyspy": {
    463 -      "version": "1.0.2",
    464 -      "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-1.0.2.tgz",
    465 -      "integrity": "sha512-bSGlgwLBYf7PnUsQ6WOc6SJ3pGOcd+d8AA6EUnLDDM0kWEstC1JIlSZA3UNliDXhd9ABoS7hiRBDCu+XP/sf1Q==",
    466 +      "version": "2.1.1",
    467 +      "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.1.1.tgz",
    468 +      "integrity": "sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w==",
    469        "dev": true,
    470        "engines": {
    471          "node": ">=14.0.0"
    472 @@ -6577,9 +6731,9 @@
    473        }
    474      },
    475      "node_modules/ufo": {
    476 -      "version": "1.0.1",
    477 -      "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.0.1.tgz",
    478 -      "integrity": "sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==",
    479 +      "version": "1.1.2",
    480 +      "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.1.2.tgz",
    481 +      "integrity": "sha512-TrY6DsjTQQgyS3E3dBaOXf0TpPD8u9FVrVYmKVegJuFw51n/YB9XPt+U6ydzFG5ZIN7+DIjPbNmXoBj9esYhgQ==",
    482        "dev": true
    483      },
    484      "node_modules/unhomoglyph": {
    485 @@ -6714,28 +6868,26 @@
    486        }
    487      },
    488      "node_modules/vite-node": {
    489 -      "version": "0.27.3",
    490 -      "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.27.3.tgz",
    491 -      "integrity": "sha512-eyJYOO64o5HIp8poc4bJX+ZNBwMZeI3f6/JdiUmJgW02Mt7LnoCtDMRVmLaY9S05SIsjGe339ZK4uo2wQ+bF9g==",
    492 +      "version": "0.32.0",
    493 +      "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.32.0.tgz",
    494 +      "integrity": "sha512-220P/y8YacYAU+daOAqiGEFXx2A8AwjadDzQqos6wSukjvvTWNqleJSwoUn0ckyNdjHIKoxn93Nh1vWBqEKr3Q==",
    495        "dev": true,
    496        "dependencies": {
    497          "cac": "^6.7.14",
    498          "debug": "^4.3.4",
    499 -        "mlly": "^1.1.0",
    500 -        "pathe": "^0.2.0",
    501 +        "mlly": "^1.2.0",
    502 +        "pathe": "^1.1.0",
    503          "picocolors": "^1.0.0",
    504 -        "source-map": "^0.6.1",
    505 -        "source-map-support": "^0.5.21",
    506          "vite": "^3.0.0 || ^4.0.0"
    507        },
    508        "bin": {
    509          "vite-node": "vite-node.mjs"
    510        },
    511        "engines": {
    512 -        "node": ">=v14.16.0"
    513 +        "node": ">=v14.18.0"
    514        },
    515        "funding": {
    516 -        "url": "https://github.com/sponsors/antfu"
    517 +        "url": "https://opencollective.com/vitest"
    518        }
    519      },
    520      "node_modules/vite-plugin-ejs": {
    521 @@ -6748,46 +6900,55 @@
    522        }
    523      },
    524      "node_modules/vitest": {
    525 -      "version": "0.27.3",
    526 -      "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.27.3.tgz",
    527 -      "integrity": "sha512-Ld3UVgRVhJUtqvQ3dW89GxiApFAgBsWJZBCWzK+gA3w2yG68csXlGZZ4WDJURf+8ecNfgrScga6xY+8YSOpiMg==",
    528 +      "version": "0.32.0",
    529 +      "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.32.0.tgz",
    530 +      "integrity": "sha512-SW83o629gCqnV3BqBnTxhB10DAwzwEx3z+rqYZESehUB+eWsJxwcBQx7CKy0otuGMJTYh7qCVuUX23HkftGl/Q==",
    531        "dev": true,
    532        "dependencies": {
    533 -        "@types/chai": "^4.3.4",
    534 +        "@types/chai": "^4.3.5",
    535          "@types/chai-subset": "^1.3.3",
    536          "@types/node": "*",
    537 -        "acorn": "^8.8.1",
    538 +        "@vitest/expect": "0.32.0",
    539 +        "@vitest/runner": "0.32.0",
    540 +        "@vitest/snapshot": "0.32.0",
    541 +        "@vitest/spy": "0.32.0",
    542 +        "@vitest/utils": "0.32.0",
    543 +        "acorn": "^8.8.2",
    544          "acorn-walk": "^8.2.0",
    545          "cac": "^6.7.14",
    546          "chai": "^4.3.7",
    547 +        "concordance": "^5.0.4",
    548          "debug": "^4.3.4",
    549 -        "local-pkg": "^0.4.2",
    550 +        "local-pkg": "^0.4.3",
    551 +        "magic-string": "^0.30.0",
    552 +        "pathe": "^1.1.0",
    553          "picocolors": "^1.0.0",
    554 -        "source-map": "^0.6.1",
    555 -        "std-env": "^3.3.1",
    556 -        "strip-literal": "^1.0.0",
    557 -        "tinybench": "^2.3.1",
    558 -        "tinypool": "^0.3.0",
    559 -        "tinyspy": "^1.0.2",
    560 +        "std-env": "^3.3.2",
    561 +        "strip-literal": "^1.0.1",
    562 +        "tinybench": "^2.5.0",
    563 +        "tinypool": "^0.5.0",
    564          "vite": "^3.0.0 || ^4.0.0",
    565 -        "vite-node": "0.27.3",
    566 +        "vite-node": "0.32.0",
    567          "why-is-node-running": "^2.2.2"
    568        },
    569        "bin": {
    570          "vitest": "vitest.mjs"
    571        },
    572        "engines": {
    573 -        "node": ">=v14.16.0"
    574 +        "node": ">=v14.18.0"
    575        },
    576        "funding": {
    577 -        "url": "https://github.com/sponsors/antfu"
    578 +        "url": "https://opencollective.com/vitest"
    579        },
    580        "peerDependencies": {
    581          "@edge-runtime/vm": "*",
    582          "@vitest/browser": "*",
    583          "@vitest/ui": "*",
    584          "happy-dom": "*",
    585 -        "jsdom": "*"
    586 +        "jsdom": "*",
    587 +        "playwright": "*",
    588 +        "safaridriver": "*",
    589 +        "webdriverio": "*"
    590        },
    591        "peerDependenciesMeta": {
    592          "@edge-runtime/vm": {
    593 @@ -6804,6 +6965,15 @@
    594          },
    595          "jsdom": {
    596            "optional": true
    597 +        },
    598 +        "playwright": {
    599 +          "optional": true
    600 +        },
    601 +        "safaridriver": {
    602 +          "optional": true
    603 +        },
    604 +        "webdriverio": {
    605 +          "optional": true
    606          }
    607        }
    608      },
    609 @@ -6849,6 +7019,15 @@
    610        "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
    611        "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
    612      },
    613 +    "node_modules/well-known-symbols": {
    614 +      "version": "2.0.0",
    615 +      "resolved": "https://registry.npmjs.org/well-known-symbols/-/well-known-symbols-2.0.0.tgz",
    616 +      "integrity": "sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==",
    617 +      "dev": true,
    618 +      "engines": {
    619 +        "node": ">=6"
    620 +      }
    621 +    },
    622      "node_modules/whatwg-encoding": {
    623        "version": "2.0.0",
    624        "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz",
    625 @@ -7822,9 +8001,9 @@
    626        "dev": true
    627      },
    628      "@types/chai": {
    629 -      "version": "4.3.4",
    630 -      "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz",
    631 -      "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==",
    632 +      "version": "4.3.5",
    633 +      "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.5.tgz",
    634 +      "integrity": "sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==",
    635        "dev": true
    636      },
    637      "@types/chai-subset": {
    638 @@ -8092,6 +8271,66 @@
    639          "@swc/core": "^1.3.22"
    640        }
    641      },
    642 +    "@vitest/expect": {
    643 +      "version": "0.32.0",
    644 +      "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.32.0.tgz",
    645 +      "integrity": "sha512-VxVHhIxKw9Lux+O9bwLEEk2gzOUe93xuFHy9SzYWnnoYZFYg1NfBtnfnYWiJN7yooJ7KNElCK5YtA7DTZvtXtg==",
    646 +      "dev": true,
    647 +      "requires": {
    648 +        "@vitest/spy": "0.32.0",
    649 +        "@vitest/utils": "0.32.0",
    650 +        "chai": "^4.3.7"
    651 +      }
    652 +    },
    653 +    "@vitest/runner": {
    654 +      "version": "0.32.0",
    655 +      "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.32.0.tgz",
    656 +      "integrity": "sha512-QpCmRxftHkr72xt5A08xTEs9I4iWEXIOCHWhQQguWOKE4QH7DXSKZSOFibuwEIMAD7G0ERvtUyQn7iPWIqSwmw==",
    657 +      "dev": true,
    658 +      "requires": {
    659 +        "@vitest/utils": "0.32.0",
    660 +        "concordance": "^5.0.4",
    661 +        "p-limit": "^4.0.0",
    662 +        "pathe": "^1.1.0"
    663 +      },
    664 +      "dependencies": {
    665 +        "p-limit": {
    666 +          "version": "4.0.0",
    667 +          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz",
    668 +          "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==",
    669 +          "dev": true,
    670 +          "requires": {
    671 +            "yocto-queue": "^1.0.0"
    672 +          }
    673 +        },
    674 +        "yocto-queue": {
    675 +          "version": "1.0.0",
    676 +          "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz",
    677 +          "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==",
    678 +          "dev": true
    679 +        }
    680 +      }
    681 +    },
    682 +    "@vitest/snapshot": {
    683 +      "version": "0.32.0",
    684 +      "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-0.32.0.tgz",
    685 +      "integrity": "sha512-yCKorPWjEnzpUxQpGlxulujTcSPgkblwGzAUEL+z01FTUg/YuCDZ8dxr9sHA08oO2EwxzHXNLjQKWJ2zc2a19Q==",
    686 +      "dev": true,
    687 +      "requires": {
    688 +        "magic-string": "^0.30.0",
    689 +        "pathe": "^1.1.0",
    690 +        "pretty-format": "^27.5.1"
    691 +      }
    692 +    },
    693 +    "@vitest/spy": {
    694 +      "version": "0.32.0",
    695 +      "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.32.0.tgz",
    696 +      "integrity": "sha512-MruAPlM0uyiq3d53BkwTeShXY0rYEfhNGQzVO5GHBmmX3clsxcWp79mMnkOVcV244sNTeDcHbcPFWIjOI4tZvw==",
    697 +      "dev": true,
    698 +      "requires": {
    699 +        "tinyspy": "^2.1.0"
    700 +      }
    701 +    },
    702      "@vitest/ui": {
    703        "version": "0.27.3",
    704        "resolved": "https://registry.npmjs.org/@vitest/ui/-/ui-0.27.3.tgz",
    705 @@ -8103,6 +8342,17 @@
    706          "sirv": "^2.0.2"
    707        }
    708      },
    709 +    "@vitest/utils": {
    710 +      "version": "0.32.0",
    711 +      "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.32.0.tgz",
    712 +      "integrity": "sha512-53yXunzx47MmbuvcOPpLaVljHaeSu1G2dHdmy7+9ngMnQIkBQcvwOcoclWFnxDMxFbnq8exAfh3aKSZaK71J5A==",
    713 +      "dev": true,
    714 +      "requires": {
    715 +        "concordance": "^5.0.4",
    716 +        "loupe": "^2.3.6",
    717 +        "pretty-format": "^27.5.1"
    718 +      }
    719 +    },
    720      "abab": {
    721        "version": "2.0.6",
    722        "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz",
    723 @@ -8110,9 +8360,9 @@
    724        "dev": true
    725      },
    726      "acorn": {
    727 -      "version": "8.8.1",
    728 -      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
    729 -      "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
    730 +      "version": "8.8.2",
    731 +      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
    732 +      "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
    733        "dev": true
    734      },
    735      "acorn-globals": {
    736 @@ -8345,6 +8595,12 @@
    737          "readable-stream": "^3.4.0"
    738        }
    739      },
    740 +    "blueimp-md5": {
    741 +      "version": "2.19.0",
    742 +      "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.19.0.tgz",
    743 +      "integrity": "sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==",
    744 +      "dev": true
    745 +    },
    746      "brace-expansion": {
    747        "version": "1.1.11",
    748        "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
    749 @@ -8393,12 +8649,6 @@
    750          "ieee754": "^1.2.1"
    751        }
    752      },
    753 -    "buffer-from": {
    754 -      "version": "1.1.2",
    755 -      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
    756 -      "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
    757 -      "dev": true
    758 -    },
    759      "builtin-modules": {
    760        "version": "3.3.0",
    761        "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz",
    762 @@ -8582,6 +8832,22 @@
    763        "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
    764        "dev": true
    765      },
    766 +    "concordance": {
    767 +      "version": "5.0.4",
    768 +      "resolved": "https://registry.npmjs.org/concordance/-/concordance-5.0.4.tgz",
    769 +      "integrity": "sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==",
    770 +      "dev": true,
    771 +      "requires": {
    772 +        "date-time": "^3.1.0",
    773 +        "esutils": "^2.0.3",
    774 +        "fast-diff": "^1.2.0",
    775 +        "js-string-escape": "^1.0.1",
    776 +        "lodash": "^4.17.15",
    777 +        "md5-hex": "^3.0.1",
    778 +        "semver": "^7.3.2",
    779 +        "well-known-symbols": "^2.0.0"
    780 +      }
    781 +    },
    782      "content-type": {
    783        "version": "1.0.4",
    784        "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
    785 @@ -8705,6 +8971,15 @@
    786          }
    787        }
    788      },
    789 +    "date-time": {
    790 +      "version": "3.1.0",
    791 +      "resolved": "https://registry.npmjs.org/date-time/-/date-time-3.1.0.tgz",
    792 +      "integrity": "sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==",
    793 +      "dev": true,
    794 +      "requires": {
    795 +        "time-zone": "^1.0.0"
    796 +      }
    797 +    },
    798      "debug": {
    799        "version": "4.3.4",
    800        "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
    801 @@ -9245,6 +9520,12 @@
    802        "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
    803        "dev": true
    804      },
    805 +    "fast-diff": {
    806 +      "version": "1.3.0",
    807 +      "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz",
    808 +      "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==",
    809 +      "dev": true
    810 +    },
    811      "fast-glob": {
    812        "version": "3.2.12",
    813        "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
    814 @@ -10116,6 +10397,12 @@
    815        "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==",
    816        "dev": true
    817      },
    818 +    "js-string-escape": {
    819 +      "version": "1.0.1",
    820 +      "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz",
    821 +      "integrity": "sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==",
    822 +      "dev": true
    823 +    },
    824      "js-tokens": {
    825        "version": "4.0.0",
    826        "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
    827 @@ -10244,9 +10531,9 @@
    828        "dev": true
    829      },
    830      "local-pkg": {
    831 -      "version": "0.4.2",
    832 -      "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.2.tgz",
    833 -      "integrity": "sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==",
    834 +      "version": "0.4.3",
    835 +      "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz",
    836 +      "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==",
    837        "dev": true
    838      },
    839      "locate-path": {
    840 @@ -10322,6 +10609,15 @@
    841        "integrity": "sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ==",
    842        "dev": true
    843      },
    844 +    "magic-string": {
    845 +      "version": "0.30.0",
    846 +      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz",
    847 +      "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==",
    848 +      "dev": true,
    849 +      "requires": {
    850 +        "@jridgewell/sourcemap-codec": "^1.4.13"
    851 +      }
    852 +    },
    853      "matrix-events-sdk": {
    854        "version": "0.0.1",
    855        "resolved": "https://registry.npmjs.org/matrix-events-sdk/-/matrix-events-sdk-0.0.1.tgz",
    856 @@ -10355,6 +10651,15 @@
    857          "events": "^3.2.0"
    858        }
    859      },
    860 +    "md5-hex": {
    861 +      "version": "3.0.1",
    862 +      "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-3.0.1.tgz",
    863 +      "integrity": "sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==",
    864 +      "dev": true,
    865 +      "requires": {
    866 +        "blueimp-md5": "^2.10.0"
    867 +      }
    868 +    },
    869      "merge2": {
    870        "version": "1.4.1",
    871        "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
    872 @@ -10413,23 +10718,15 @@
    873        "dev": true
    874      },
    875      "mlly": {
    876 -      "version": "1.1.0",
    877 -      "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.1.0.tgz",
    878 -      "integrity": "sha512-cwzBrBfwGC1gYJyfcy8TcZU1f+dbH/T+TuOhtYP2wLv/Fb51/uV7HJQfBPtEupZ2ORLRU1EKFS/QfS3eo9+kBQ==",
    879 +      "version": "1.3.0",
    880 +      "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.3.0.tgz",
    881 +      "integrity": "sha512-HT5mcgIQKkOrZecOjOX3DJorTikWXwsBfpcr/MGBkhfWcjiqvnaL/9ppxvIUXfjT6xt4DVIAsN9fMUz1ev4bIw==",
    882        "dev": true,
    883        "requires": {
    884 -        "acorn": "^8.8.1",
    885 -        "pathe": "^1.0.0",
    886 -        "pkg-types": "^1.0.1",
    887 -        "ufo": "^1.0.1"
    888 -      },
    889 -      "dependencies": {
    890 -        "pathe": {
    891 -          "version": "1.1.0",
    892 -          "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.0.tgz",
    893 -          "integrity": "sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==",
    894 -          "dev": true
    895 -        }
    896 +        "acorn": "^8.8.2",
    897 +        "pathe": "^1.1.0",
    898 +        "pkg-types": "^1.0.3",
    899 +        "ufo": "^1.1.2"
    900        }
    901      },
    902      "mrmime": {
    903 @@ -10723,9 +11020,9 @@
    904        "dev": true
    905      },
    906      "pathe": {
    907 -      "version": "0.2.0",
    908 -      "resolved": "https://registry.npmjs.org/pathe/-/pathe-0.2.0.tgz",
    909 -      "integrity": "sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==",
    910 +      "version": "1.1.1",
    911 +      "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz",
    912 +      "integrity": "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==",
    913        "dev": true
    914      },
    915      "pathval": {
    916 @@ -10752,22 +11049,14 @@
    917        "dev": true
    918      },
    919      "pkg-types": {
    920 -      "version": "1.0.1",
    921 -      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.1.tgz",
    922 -      "integrity": "sha512-jHv9HB+Ho7dj6ItwppRDDl0iZRYBD0jsakHXtFgoLr+cHSF6xC+QL54sJmWxyGxOLYSHm0afhXhXcQDQqH9z8g==",
    923 +      "version": "1.0.3",
    924 +      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz",
    925 +      "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==",
    926        "dev": true,
    927        "requires": {
    928          "jsonc-parser": "^3.2.0",
    929 -        "mlly": "^1.0.0",
    930 -        "pathe": "^1.0.0"
    931 -      },
    932 -      "dependencies": {
    933 -        "pathe": {
    934 -          "version": "1.1.0",
    935 -          "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.0.tgz",
    936 -          "integrity": "sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==",
    937 -          "dev": true
    938 -        }
    939 +        "mlly": "^1.2.0",
    940 +        "pathe": "^1.1.0"
    941        }
    942      },
    943      "pluralize": {
    944 @@ -11346,7 +11635,8 @@
    945        "version": "0.6.1",
    946        "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
    947        "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
    948 -      "dev": true
    949 +      "dev": true,
    950 +      "optional": true
    951      },
    952      "source-map-js": {
    953        "version": "1.0.2",
    954 @@ -11354,16 +11644,6 @@
    955        "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
    956        "dev": true
    957      },
    958 -    "source-map-support": {
    959 -      "version": "0.5.21",
    960 -      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
    961 -      "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
    962 -      "dev": true,
    963 -      "requires": {
    964 -        "buffer-from": "^1.0.0",
    965 -        "source-map": "^0.6.0"
    966 -      }
    967 -    },
    968      "spdx-correct": {
    969        "version": "3.1.1",
    970        "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
    971 @@ -11420,9 +11700,9 @@
    972        "dev": true
    973      },
    974      "std-env": {
    975 -      "version": "3.3.1",
    976 -      "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.1.tgz",
    977 -      "integrity": "sha512-3H20QlwQsSm2OvAxWIYhs+j01MzzqwMwGiiO1NQaJYZgJZFPuAbf95/DiKRBSTYIJ2FeGUc+B/6mPGcWP9dO3Q==",
    978 +      "version": "3.3.3",
    979 +      "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.3.tgz",
    980 +      "integrity": "sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==",
    981        "dev": true
    982      },
    983      "string_decoder": {
    984 @@ -11483,12 +11763,12 @@
    985        "dev": true
    986      },
    987      "strip-literal": {
    988 -      "version": "1.0.0",
    989 -      "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.0.0.tgz",
    990 -      "integrity": "sha512-5o4LsH1lzBzO9UFH63AJ2ad2/S2AVx6NtjOcaz+VTT2h1RiRvbipW72z8M/lxEhcPHDBQwpDrnTF7sXy/7OwCQ==",
    991 +      "version": "1.0.1",
    992 +      "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.0.1.tgz",
    993 +      "integrity": "sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==",
    994        "dev": true,
    995        "requires": {
    996 -        "acorn": "^8.8.1"
    997 +        "acorn": "^8.8.2"
    998        }
    999      },
   1000      "styled-components": {
   1001 @@ -11586,22 +11866,28 @@
   1002        "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
   1003        "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg=="
   1004      },
   1005 +    "time-zone": {
   1006 +      "version": "1.0.0",
   1007 +      "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-1.0.0.tgz",
   1008 +      "integrity": "sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==",
   1009 +      "dev": true
   1010 +    },
   1011      "tinybench": {
   1012 -      "version": "2.3.1",
   1013 -      "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.3.1.tgz",
   1014 -      "integrity": "sha512-hGYWYBMPr7p4g5IarQE7XhlyWveh1EKhy4wUBS1LrHXCKYgvz+4/jCqgmJqZxxldesn05vccrtME2RLLZNW7iA==",
   1015 +      "version": "2.5.0",
   1016 +      "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.5.0.tgz",
   1017 +      "integrity": "sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==",
   1018        "dev": true
   1019      },
   1020      "tinypool": {
   1021 -      "version": "0.3.0",
   1022 -      "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.3.0.tgz",
   1023 -      "integrity": "sha512-NX5KeqHOBZU6Bc0xj9Vr5Szbb1j8tUHIeD18s41aDJaPeC5QTdEhK0SpdpUrZlj2nv5cctNcSjaKNanXlfcVEQ==",
   1024 +      "version": "0.5.0",
   1025 +      "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.5.0.tgz",
   1026 +      "integrity": "sha512-paHQtnrlS1QZYKF/GnLoOM/DN9fqaGOFbCbxzAhwniySnzl9Ebk8w73/dd34DAhe/obUbPAOldTyYXQZxnPBPQ==",
   1027        "dev": true
   1028      },
   1029      "tinyspy": {
   1030 -      "version": "1.0.2",
   1031 -      "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-1.0.2.tgz",
   1032 -      "integrity": "sha512-bSGlgwLBYf7PnUsQ6WOc6SJ3pGOcd+d8AA6EUnLDDM0kWEstC1JIlSZA3UNliDXhd9ABoS7hiRBDCu+XP/sf1Q==",
   1033 +      "version": "2.1.1",
   1034 +      "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.1.1.tgz",
   1035 +      "integrity": "sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w==",
   1036        "dev": true
   1037      },
   1038      "tmp": {
   1039 @@ -11699,9 +11985,9 @@
   1040        "dev": true
   1041      },
   1042      "ufo": {
   1043 -      "version": "1.0.1",
   1044 -      "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.0.1.tgz",
   1045 -      "integrity": "sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==",
   1046 +      "version": "1.1.2",
   1047 +      "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.1.2.tgz",
   1048 +      "integrity": "sha512-TrY6DsjTQQgyS3E3dBaOXf0TpPD8u9FVrVYmKVegJuFw51n/YB9XPt+U6ydzFG5ZIN7+DIjPbNmXoBj9esYhgQ==",
   1049        "dev": true
   1050      },
   1051      "unhomoglyph": {
   1052 @@ -11778,18 +12064,16 @@
   1053        }
   1054      },
   1055      "vite-node": {
   1056 -      "version": "0.27.3",
   1057 -      "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.27.3.tgz",
   1058 -      "integrity": "sha512-eyJYOO64o5HIp8poc4bJX+ZNBwMZeI3f6/JdiUmJgW02Mt7LnoCtDMRVmLaY9S05SIsjGe339ZK4uo2wQ+bF9g==",
   1059 +      "version": "0.32.0",
   1060 +      "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.32.0.tgz",
   1061 +      "integrity": "sha512-220P/y8YacYAU+daOAqiGEFXx2A8AwjadDzQqos6wSukjvvTWNqleJSwoUn0ckyNdjHIKoxn93Nh1vWBqEKr3Q==",
   1062        "dev": true,
   1063        "requires": {
   1064          "cac": "^6.7.14",
   1065          "debug": "^4.3.4",
   1066 -        "mlly": "^1.1.0",
   1067 -        "pathe": "^0.2.0",
   1068 +        "mlly": "^1.2.0",
   1069 +        "pathe": "^1.1.0",
   1070          "picocolors": "^1.0.0",
   1071 -        "source-map": "^0.6.1",
   1072 -        "source-map-support": "^0.5.21",
   1073          "vite": "^3.0.0 || ^4.0.0"
   1074        }
   1075      },
   1076 @@ -11803,29 +12087,35 @@
   1077        }
   1078      },
   1079      "vitest": {
   1080 -      "version": "0.27.3",
   1081 -      "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.27.3.tgz",
   1082 -      "integrity": "sha512-Ld3UVgRVhJUtqvQ3dW89GxiApFAgBsWJZBCWzK+gA3w2yG68csXlGZZ4WDJURf+8ecNfgrScga6xY+8YSOpiMg==",
   1083 +      "version": "0.32.0",
   1084 +      "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.32.0.tgz",
   1085 +      "integrity": "sha512-SW83o629gCqnV3BqBnTxhB10DAwzwEx3z+rqYZESehUB+eWsJxwcBQx7CKy0otuGMJTYh7qCVuUX23HkftGl/Q==",
   1086        "dev": true,
   1087        "requires": {
   1088 -        "@types/chai": "^4.3.4",
   1089 +        "@types/chai": "^4.3.5",
   1090          "@types/chai-subset": "^1.3.3",
   1091          "@types/node": "*",
   1092 -        "acorn": "^8.8.1",
   1093 +        "@vitest/expect": "0.32.0",
   1094 +        "@vitest/runner": "0.32.0",
   1095 +        "@vitest/snapshot": "0.32.0",
   1096 +        "@vitest/spy": "0.32.0",
   1097 +        "@vitest/utils": "0.32.0",
   1098 +        "acorn": "^8.8.2",
   1099          "acorn-walk": "^8.2.0",
   1100          "cac": "^6.7.14",
   1101          "chai": "^4.3.7",
   1102 +        "concordance": "^5.0.4",
   1103          "debug": "^4.3.4",
   1104 -        "local-pkg": "^0.4.2",
   1105 +        "local-pkg": "^0.4.3",
   1106 +        "magic-string": "^0.30.0",
   1107 +        "pathe": "^1.1.0",
   1108          "picocolors": "^1.0.0",
   1109 -        "source-map": "^0.6.1",
   1110 -        "std-env": "^3.3.1",
   1111 -        "strip-literal": "^1.0.0",
   1112 -        "tinybench": "^2.3.1",
   1113 -        "tinypool": "^0.3.0",
   1114 -        "tinyspy": "^1.0.2",
   1115 +        "std-env": "^3.3.2",
   1116 +        "strip-literal": "^1.0.1",
   1117 +        "tinybench": "^2.5.0",
   1118 +        "tinypool": "^0.5.0",
   1119          "vite": "^3.0.0 || ^4.0.0",
   1120 -        "vite-node": "0.27.3",
   1121 +        "vite-node": "0.32.0",
   1122          "why-is-node-running": "^2.2.2"
   1123        },
   1124        "dependencies": {
   1125 @@ -11864,6 +12154,12 @@
   1126        "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
   1127        "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
   1128      },
   1129 +    "well-known-symbols": {
   1130 +      "version": "2.0.0",
   1131 +      "resolved": "https://registry.npmjs.org/well-known-symbols/-/well-known-symbols-2.0.0.tgz",
   1132 +      "integrity": "sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==",
   1133 +      "dev": true
   1134 +    },
   1135      "whatwg-encoding": {
   1136        "version": "2.0.0",
   1137        "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz",
   1138 diff --git a/package.json b/package.json
   1139 index 85022c5..e3e2507 100644
   1140 --- a/package.json
   1141 +++ b/package.json
   1142 @@ -50,6 +50,6 @@
   1143      "typescript": "^4.9.4",
   1144      "vite": "^4.0.5",
   1145      "vite-plugin-ejs": "^1.6.4",
   1146 -    "vitest": "^0.27.3"
   1147 +    "vitest": "^0.32.0"
   1148    }
   1149  }
   1150 \ No newline at end of file