diff --git a/package-lock.json b/package-lock.json
index 4aa6ff5..78e28d1 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -26,7 +26,7 @@
         "eslint-plugin-optimize-regex": "^1.2.1",
         "eslint-plugin-sonarjs": "^0.16.0",
         "jest": "^29.2.2",
-        "jest-environment-miniflare": "^2.10.0",
+        "jest-environment-miniflare": "^2.11.0",
         "prettier": "^2.7.1",
         "ts-jest": "^29.0.3",
         "ts-loader": "^9.4.1",
@@ -1375,28 +1375,234 @@
       }
     },
     "node_modules/@miniflare/shared-test-environment": {
-      "version": "2.10.0",
-      "resolved": "https://registry.npmjs.org/@miniflare/shared-test-environment/-/shared-test-environment-2.10.0.tgz",
-      "integrity": "sha512-xMTfvkSRSPL6a3/5VYM30AElI6dahp6gYzugzMOCvIBLbEXm4lPQSwba+0Cswj6weT1/rMuvhM9xfsSvpEK8qg==",
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/@miniflare/shared-test-environment/-/shared-test-environment-2.11.0.tgz",
+      "integrity": "sha512-BF4vdjoKzNXA0pPjoPv4DlmsW5/tbyRvLe8Ls4yQiOP+yjD4TQFtZTXXF7UKwiCgIniXk7g28UGFYGZ87kUDcQ==",
       "dev": true,
       "dependencies": {
-        "@miniflare/cache": "2.10.0",
-        "@miniflare/core": "2.10.0",
-        "@miniflare/d1": "2.10.0",
-        "@miniflare/durable-objects": "2.10.0",
-        "@miniflare/html-rewriter": "2.10.0",
-        "@miniflare/kv": "2.10.0",
-        "@miniflare/queues": "2.10.0",
-        "@miniflare/r2": "2.10.0",
-        "@miniflare/shared": "2.10.0",
-        "@miniflare/sites": "2.10.0",
-        "@miniflare/storage-memory": "2.10.0",
-        "@miniflare/web-sockets": "2.10.0"
+        "@miniflare/cache": "2.11.0",
+        "@miniflare/core": "2.11.0",
+        "@miniflare/d1": "2.11.0",
+        "@miniflare/durable-objects": "2.11.0",
+        "@miniflare/html-rewriter": "2.11.0",
+        "@miniflare/kv": "2.11.0",
+        "@miniflare/queues": "2.11.0",
+        "@miniflare/r2": "2.11.0",
+        "@miniflare/shared": "2.11.0",
+        "@miniflare/sites": "2.11.0",
+        "@miniflare/storage-memory": "2.11.0",
+        "@miniflare/web-sockets": "2.11.0"
       },
       "engines": {
         "node": ">=16.13"
       }
     },
+    "node_modules/@miniflare/shared-test-environment/node_modules/@miniflare/cache": {
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/@miniflare/cache/-/cache-2.11.0.tgz",
+      "integrity": "sha512-L/kc9AzidPwFuk2fwHpAEePi0kNBk6FWUq3ln+9beRCDrPEpfVrDRFpNleF1NFZz5//oeVMuo8F0IVUQGzR7+Q==",
+      "dev": true,
+      "dependencies": {
+        "@miniflare/core": "2.11.0",
+        "@miniflare/shared": "2.11.0",
+        "http-cache-semantics": "^4.1.0",
+        "undici": "5.9.1"
+      },
+      "engines": {
+        "node": ">=16.13"
+      }
+    },
+    "node_modules/@miniflare/shared-test-environment/node_modules/@miniflare/core": {
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/@miniflare/core/-/core-2.11.0.tgz",
+      "integrity": "sha512-UFMFiCG0co36VpZkgFrSBnrxo71uf1x+cjlzzJi3khmMyDlnLu4RuIQsAqvKbYom6fi3G9Q8lTgM7JuOXFyjhw==",
+      "dev": true,
+      "dependencies": {
+        "@iarna/toml": "^2.2.5",
+        "@miniflare/queues": "2.11.0",
+        "@miniflare/shared": "2.11.0",
+        "@miniflare/watcher": "2.11.0",
+        "busboy": "^1.6.0",
+        "dotenv": "^10.0.0",
+        "kleur": "^4.1.4",
+        "set-cookie-parser": "^2.4.8",
+        "undici": "5.9.1",
+        "urlpattern-polyfill": "^4.0.3"
+      },
+      "engines": {
+        "node": ">=16.13"
+      }
+    },
+    "node_modules/@miniflare/shared-test-environment/node_modules/@miniflare/d1": {
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/@miniflare/d1/-/d1-2.11.0.tgz",
+      "integrity": "sha512-aDdBVQZ2C0Zs3+Y9ZbRctmuQxozPfpumwJ/6NG6fBadANvune/hW7ddEoxyteIEU9W3IgzVj8s4by4VvasX90A==",
+      "dev": true,
+      "dependencies": {
+        "@miniflare/core": "2.11.0",
+        "@miniflare/shared": "2.11.0"
+      },
+      "engines": {
+        "node": ">=16.7"
+      }
+    },
+    "node_modules/@miniflare/shared-test-environment/node_modules/@miniflare/durable-objects": {
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/@miniflare/durable-objects/-/durable-objects-2.11.0.tgz",
+      "integrity": "sha512-0cKJaMgraTEU1b4kqK8cjD2oTeOjA6QU3Y+lWiZT/k1PMHZULovrSFnjii7qZ8npf4VHSIN6XYPxhyxRyEM65Q==",
+      "dev": true,
+      "dependencies": {
+        "@miniflare/core": "2.11.0",
+        "@miniflare/shared": "2.11.0",
+        "@miniflare/storage-memory": "2.11.0",
+        "undici": "5.9.1"
+      },
+      "engines": {
+        "node": ">=16.13"
+      }
+    },
+    "node_modules/@miniflare/shared-test-environment/node_modules/@miniflare/html-rewriter": {
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/@miniflare/html-rewriter/-/html-rewriter-2.11.0.tgz",
+      "integrity": "sha512-olTqmuYTHnoTNtiA0vjQ/ixRfbwgPzDrAUbtXDCYW45VFbHfDVJrJGZX3Jg0HpSlxy86Zclle1SUxGbVDzxsBg==",
+      "dev": true,
+      "dependencies": {
+        "@miniflare/core": "2.11.0",
+        "@miniflare/shared": "2.11.0",
+        "html-rewriter-wasm": "^0.4.1",
+        "undici": "5.9.1"
+      },
+      "engines": {
+        "node": ">=16.13"
+      }
+    },
+    "node_modules/@miniflare/shared-test-environment/node_modules/@miniflare/kv": {
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/@miniflare/kv/-/kv-2.11.0.tgz",
+      "integrity": "sha512-3m9dL2HBBN170V1JvwjjucR5zl4G3mlcsV6C1E7A2wLl2Z2TWvIx/tSY9hrhkD96dFnejwJ9qmPMbXMMuynhjg==",
+      "dev": true,
+      "dependencies": {
+        "@miniflare/shared": "2.11.0"
+      },
+      "engines": {
+        "node": ">=16.13"
+      }
+    },
+    "node_modules/@miniflare/shared-test-environment/node_modules/@miniflare/queues": {
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/@miniflare/queues/-/queues-2.11.0.tgz",
+      "integrity": "sha512-fLHjdrNLKhn0LZM/aii/9GsAttFd+lWlGzK8HOg1R0vhfKBwEub4zntjMmOfFbDm1ntc21tdMK7n3ldUphwh5w==",
+      "dev": true,
+      "dependencies": {
+        "@miniflare/shared": "2.11.0"
+      },
+      "engines": {
+        "node": ">=16.7"
+      }
+    },
+    "node_modules/@miniflare/shared-test-environment/node_modules/@miniflare/r2": {
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/@miniflare/r2/-/r2-2.11.0.tgz",
+      "integrity": "sha512-MKuyJ/gGNsK3eWbGdygvozqcyaZhM3C6NGHvoaZwH503dwN569j5DpatTWiHGFeDeSu64VqcIsGehz05GDUaag==",
+      "dev": true,
+      "dependencies": {
+        "@miniflare/shared": "2.11.0",
+        "undici": "5.9.1"
+      },
+      "engines": {
+        "node": ">=16.13"
+      }
+    },
+    "node_modules/@miniflare/shared-test-environment/node_modules/@miniflare/shared": {
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/@miniflare/shared/-/shared-2.11.0.tgz",
+      "integrity": "sha512-fWMqq3ZkWAg+k7CnyzMV/rZHugwn+/JxvVzCxrtvxzwotTN547THlOxgZe8JAP23U9BiTxOfpTfnLvFEjAmegw==",
+      "dev": true,
+      "dependencies": {
+        "@types/better-sqlite3": "^7.6.0",
+        "kleur": "^4.1.4",
+        "npx-import": "^1.1.3",
+        "picomatch": "^2.3.1"
+      },
+      "engines": {
+        "node": ">=16.13"
+      }
+    },
+    "node_modules/@miniflare/shared-test-environment/node_modules/@miniflare/sites": {
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/@miniflare/sites/-/sites-2.11.0.tgz",
+      "integrity": "sha512-qbefKdWZUJgsdLf+kCw03sn3h/92LZgJAbkOpP6bCrfWkXlJ37EQXO4KWdhn4Ghc7A6GwU1s1I/mdB64B3AewQ==",
+      "dev": true,
+      "dependencies": {
+        "@miniflare/kv": "2.11.0",
+        "@miniflare/shared": "2.11.0",
+        "@miniflare/storage-file": "2.11.0"
+      },
+      "engines": {
+        "node": ">=16.13"
+      }
+    },
+    "node_modules/@miniflare/shared-test-environment/node_modules/@miniflare/storage-file": {
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/@miniflare/storage-file/-/storage-file-2.11.0.tgz",
+      "integrity": "sha512-beWF/lTX74x7AiaSB+xQxywPSNdhtEKvqDkRui8eOJ5kqN2o4UaleLKQGgqmCw3WyHRIsckV7If1qpbNiLtWMw==",
+      "dev": true,
+      "dependencies": {
+        "@miniflare/shared": "2.11.0",
+        "@miniflare/storage-memory": "2.11.0"
+      },
+      "engines": {
+        "node": ">=16.13"
+      }
+    },
+    "node_modules/@miniflare/shared-test-environment/node_modules/@miniflare/storage-memory": {
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/@miniflare/storage-memory/-/storage-memory-2.11.0.tgz",
+      "integrity": "sha512-s0AhPww7fq/Jz80NbPb+ffhcVRKnfPi7H1dHTRTre2Ud23EVJjAWl2gat42x8NOT/Fu3/o/7A72DWQQJqfO98A==",
+      "dev": true,
+      "dependencies": {
+        "@miniflare/shared": "2.11.0"
+      },
+      "engines": {
+        "node": ">=16.13"
+      }
+    },
+    "node_modules/@miniflare/shared-test-environment/node_modules/@miniflare/watcher": {
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/@miniflare/watcher/-/watcher-2.11.0.tgz",
+      "integrity": "sha512-RUfjz2iYcsQXLcGySemJl98CJ2iierbWsPGWZhIVZI+NNhROkEy77g/Q+lvP2ATwexG3/dUSfdJ3P8aH+sI4Ig==",
+      "dev": true,
+      "dependencies": {
+        "@miniflare/shared": "2.11.0"
+      },
+      "engines": {
+        "node": ">=16.13"
+      }
+    },
+    "node_modules/@miniflare/shared-test-environment/node_modules/@miniflare/web-sockets": {
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/@miniflare/web-sockets/-/web-sockets-2.11.0.tgz",
+      "integrity": "sha512-NC8RKrmxrO0hZmwpzn5g4hPGA2VblnFTIBobmWoxuK95eW49zfs7dtE/PyFs+blsGv3CjTIjHVSQ782K+C6HFA==",
+      "dev": true,
+      "dependencies": {
+        "@miniflare/core": "2.11.0",
+        "@miniflare/shared": "2.11.0",
+        "undici": "5.9.1",
+        "ws": "^8.2.2"
+      },
+      "engines": {
+        "node": ">=16.13"
+      }
+    },
+    "node_modules/@miniflare/shared-test-environment/node_modules/dotenv": {
+      "version": "10.0.0",
+      "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz",
+      "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/@miniflare/sites": {
       "version": "2.10.0",
       "resolved": "https://registry.npmjs.org/@miniflare/sites/-/sites-2.10.0.tgz",
@@ -4653,18 +4859,18 @@
       }
     },
     "node_modules/jest-environment-miniflare": {
-      "version": "2.10.0",
-      "resolved": "https://registry.npmjs.org/jest-environment-miniflare/-/jest-environment-miniflare-2.10.0.tgz",
-      "integrity": "sha512-dfmLo0fQ5IjbfSL3o6gM7PeAUl8qv/oNBXkTTJOvY5a80+zj1jdGrO+suizMSJPjHk2Oe2V3aGgYUBHIEHh+YA==",
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/jest-environment-miniflare/-/jest-environment-miniflare-2.11.0.tgz",
+      "integrity": "sha512-V/igrGzW39OIKJer8ftbUHBH6X1sl+1lsq86DWgYLhXlj0zkaMCbRf6tzTqrCL0Ecv0hjNb0sNOFyiNKCumpKA==",
       "dev": true,
       "dependencies": {
         "@jest/environment": ">=27",
         "@jest/fake-timers": ">=27",
         "@jest/types": ">=27",
-        "@miniflare/queues": "2.10.0",
-        "@miniflare/runner-vm": "2.10.0",
-        "@miniflare/shared": "2.10.0",
-        "@miniflare/shared-test-environment": "2.10.0",
+        "@miniflare/queues": "2.11.0",
+        "@miniflare/runner-vm": "2.11.0",
+        "@miniflare/shared": "2.11.0",
+        "@miniflare/shared-test-environment": "2.11.0",
         "jest-mock": ">=27",
         "jest-util": ">=27"
       },
@@ -4675,6 +4881,45 @@
         "jest": ">=27"
       }
     },
+    "node_modules/jest-environment-miniflare/node_modules/@miniflare/queues": {
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/@miniflare/queues/-/queues-2.11.0.tgz",
+      "integrity": "sha512-fLHjdrNLKhn0LZM/aii/9GsAttFd+lWlGzK8HOg1R0vhfKBwEub4zntjMmOfFbDm1ntc21tdMK7n3ldUphwh5w==",
+      "dev": true,
+      "dependencies": {
+        "@miniflare/shared": "2.11.0"
+      },
+      "engines": {
+        "node": ">=16.7"
+      }
+    },
+    "node_modules/jest-environment-miniflare/node_modules/@miniflare/runner-vm": {
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/@miniflare/runner-vm/-/runner-vm-2.11.0.tgz",
+      "integrity": "sha512-bkVSuvCf5+VylqN8lTiLxIYqYcKFbl+BywZGwGQndPC/3wh42J00mM0jw4hRbvXgwuBhlUyCVpEXtYlftFFT/g==",
+      "dev": true,
+      "dependencies": {
+        "@miniflare/shared": "2.11.0"
+      },
+      "engines": {
+        "node": ">=16.13"
+      }
+    },
+    "node_modules/jest-environment-miniflare/node_modules/@miniflare/shared": {
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/@miniflare/shared/-/shared-2.11.0.tgz",
+      "integrity": "sha512-fWMqq3ZkWAg+k7CnyzMV/rZHugwn+/JxvVzCxrtvxzwotTN547THlOxgZe8JAP23U9BiTxOfpTfnLvFEjAmegw==",
+      "dev": true,
+      "dependencies": {
+        "@types/better-sqlite3": "^7.6.0",
+        "kleur": "^4.1.4",
+        "npx-import": "^1.1.3",
+        "picomatch": "^2.3.1"
+      },
+      "engines": {
+        "node": ">=16.13"
+      }
+    },
     "node_modules/jest-environment-node": {
       "version": "29.2.2",
       "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.2.2.tgz",
@@ -8425,23 +8670,186 @@
       }
     },
     "@miniflare/shared-test-environment": {
-      "version": "2.10.0",
-      "resolved": "https://registry.npmjs.org/@miniflare/shared-test-environment/-/shared-test-environment-2.10.0.tgz",
-      "integrity": "sha512-xMTfvkSRSPL6a3/5VYM30AElI6dahp6gYzugzMOCvIBLbEXm4lPQSwba+0Cswj6weT1/rMuvhM9xfsSvpEK8qg==",
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/@miniflare/shared-test-environment/-/shared-test-environment-2.11.0.tgz",
+      "integrity": "sha512-BF4vdjoKzNXA0pPjoPv4DlmsW5/tbyRvLe8Ls4yQiOP+yjD4TQFtZTXXF7UKwiCgIniXk7g28UGFYGZ87kUDcQ==",
       "dev": true,
       "requires": {
-        "@miniflare/cache": "2.10.0",
-        "@miniflare/core": "2.10.0",
-        "@miniflare/d1": "2.10.0",
-        "@miniflare/durable-objects": "2.10.0",
-        "@miniflare/html-rewriter": "2.10.0",
-        "@miniflare/kv": "2.10.0",
-        "@miniflare/queues": "2.10.0",
-        "@miniflare/r2": "2.10.0",
-        "@miniflare/shared": "2.10.0",
-        "@miniflare/sites": "2.10.0",
-        "@miniflare/storage-memory": "2.10.0",
-        "@miniflare/web-sockets": "2.10.0"
+        "@miniflare/cache": "2.11.0",
+        "@miniflare/core": "2.11.0",
+        "@miniflare/d1": "2.11.0",
+        "@miniflare/durable-objects": "2.11.0",
+        "@miniflare/html-rewriter": "2.11.0",
+        "@miniflare/kv": "2.11.0",
+        "@miniflare/queues": "2.11.0",
+        "@miniflare/r2": "2.11.0",
+        "@miniflare/shared": "2.11.0",
+        "@miniflare/sites": "2.11.0",
+        "@miniflare/storage-memory": "2.11.0",
+        "@miniflare/web-sockets": "2.11.0"
+      },
+      "dependencies": {
+        "@miniflare/cache": {
+          "version": "2.11.0",
+          "resolved": "https://registry.npmjs.org/@miniflare/cache/-/cache-2.11.0.tgz",
+          "integrity": "sha512-L/kc9AzidPwFuk2fwHpAEePi0kNBk6FWUq3ln+9beRCDrPEpfVrDRFpNleF1NFZz5//oeVMuo8F0IVUQGzR7+Q==",
+          "dev": true,
+          "requires": {
+            "@miniflare/core": "2.11.0",
+            "@miniflare/shared": "2.11.0",
+            "http-cache-semantics": "^4.1.0",
+            "undici": "5.9.1"
+          }
+        },
+        "@miniflare/core": {
+          "version": "2.11.0",
+          "resolved": "https://registry.npmjs.org/@miniflare/core/-/core-2.11.0.tgz",
+          "integrity": "sha512-UFMFiCG0co36VpZkgFrSBnrxo71uf1x+cjlzzJi3khmMyDlnLu4RuIQsAqvKbYom6fi3G9Q8lTgM7JuOXFyjhw==",
+          "dev": true,
+          "requires": {
+            "@iarna/toml": "^2.2.5",
+            "@miniflare/queues": "2.11.0",
+            "@miniflare/shared": "2.11.0",
+            "@miniflare/watcher": "2.11.0",
+            "busboy": "^1.6.0",
+            "dotenv": "^10.0.0",
+            "kleur": "^4.1.4",
+            "set-cookie-parser": "^2.4.8",
+            "undici": "5.9.1",
+            "urlpattern-polyfill": "^4.0.3"
+          }
+        },
+        "@miniflare/d1": {
+          "version": "2.11.0",
+          "resolved": "https://registry.npmjs.org/@miniflare/d1/-/d1-2.11.0.tgz",
+          "integrity": "sha512-aDdBVQZ2C0Zs3+Y9ZbRctmuQxozPfpumwJ/6NG6fBadANvune/hW7ddEoxyteIEU9W3IgzVj8s4by4VvasX90A==",
+          "dev": true,
+          "requires": {
+            "@miniflare/core": "2.11.0",
+            "@miniflare/shared": "2.11.0"
+          }
+        },
+        "@miniflare/durable-objects": {
+          "version": "2.11.0",
+          "resolved": "https://registry.npmjs.org/@miniflare/durable-objects/-/durable-objects-2.11.0.tgz",
+          "integrity": "sha512-0cKJaMgraTEU1b4kqK8cjD2oTeOjA6QU3Y+lWiZT/k1PMHZULovrSFnjii7qZ8npf4VHSIN6XYPxhyxRyEM65Q==",
+          "dev": true,
+          "requires": {
+            "@miniflare/core": "2.11.0",
+            "@miniflare/shared": "2.11.0",
+            "@miniflare/storage-memory": "2.11.0",
+            "undici": "5.9.1"
+          }
+        },
+        "@miniflare/html-rewriter": {
+          "version": "2.11.0",
+          "resolved": "https://registry.npmjs.org/@miniflare/html-rewriter/-/html-rewriter-2.11.0.tgz",
+          "integrity": "sha512-olTqmuYTHnoTNtiA0vjQ/ixRfbwgPzDrAUbtXDCYW45VFbHfDVJrJGZX3Jg0HpSlxy86Zclle1SUxGbVDzxsBg==",
+          "dev": true,
+          "requires": {
+            "@miniflare/core": "2.11.0",
+            "@miniflare/shared": "2.11.0",
+            "html-rewriter-wasm": "^0.4.1",
+            "undici": "5.9.1"
+          }
+        },
+        "@miniflare/kv": {
+          "version": "2.11.0",
+          "resolved": "https://registry.npmjs.org/@miniflare/kv/-/kv-2.11.0.tgz",
+          "integrity": "sha512-3m9dL2HBBN170V1JvwjjucR5zl4G3mlcsV6C1E7A2wLl2Z2TWvIx/tSY9hrhkD96dFnejwJ9qmPMbXMMuynhjg==",
+          "dev": true,
+          "requires": {
+            "@miniflare/shared": "2.11.0"
+          }
+        },
+        "@miniflare/queues": {
+          "version": "2.11.0",
+          "resolved": "https://registry.npmjs.org/@miniflare/queues/-/queues-2.11.0.tgz",
+          "integrity": "sha512-fLHjdrNLKhn0LZM/aii/9GsAttFd+lWlGzK8HOg1R0vhfKBwEub4zntjMmOfFbDm1ntc21tdMK7n3ldUphwh5w==",
+          "dev": true,
+          "requires": {
+            "@miniflare/shared": "2.11.0"
+          }
+        },
+        "@miniflare/r2": {
+          "version": "2.11.0",
+          "resolved": "https://registry.npmjs.org/@miniflare/r2/-/r2-2.11.0.tgz",
+          "integrity": "sha512-MKuyJ/gGNsK3eWbGdygvozqcyaZhM3C6NGHvoaZwH503dwN569j5DpatTWiHGFeDeSu64VqcIsGehz05GDUaag==",
+          "dev": true,
+          "requires": {
+            "@miniflare/shared": "2.11.0",
+            "undici": "5.9.1"
+          }
+        },
+        "@miniflare/shared": {
+          "version": "2.11.0",
+          "resolved": "https://registry.npmjs.org/@miniflare/shared/-/shared-2.11.0.tgz",
+          "integrity": "sha512-fWMqq3ZkWAg+k7CnyzMV/rZHugwn+/JxvVzCxrtvxzwotTN547THlOxgZe8JAP23U9BiTxOfpTfnLvFEjAmegw==",
+          "dev": true,
+          "requires": {
+            "@types/better-sqlite3": "^7.6.0",
+            "kleur": "^4.1.4",
+            "npx-import": "^1.1.3",
+            "picomatch": "^2.3.1"
+          }
+        },
+        "@miniflare/sites": {
+          "version": "2.11.0",
+          "resolved": "https://registry.npmjs.org/@miniflare/sites/-/sites-2.11.0.tgz",
+          "integrity": "sha512-qbefKdWZUJgsdLf+kCw03sn3h/92LZgJAbkOpP6bCrfWkXlJ37EQXO4KWdhn4Ghc7A6GwU1s1I/mdB64B3AewQ==",
+          "dev": true,
+          "requires": {
+            "@miniflare/kv": "2.11.0",
+            "@miniflare/shared": "2.11.0",
+            "@miniflare/storage-file": "2.11.0"
+          }
+        },
+        "@miniflare/storage-file": {
+          "version": "2.11.0",
+          "resolved": "https://registry.npmjs.org/@miniflare/storage-file/-/storage-file-2.11.0.tgz",
+          "integrity": "sha512-beWF/lTX74x7AiaSB+xQxywPSNdhtEKvqDkRui8eOJ5kqN2o4UaleLKQGgqmCw3WyHRIsckV7If1qpbNiLtWMw==",
+          "dev": true,
+          "requires": {
+            "@miniflare/shared": "2.11.0",
+            "@miniflare/storage-memory": "2.11.0"
+          }
+        },
+        "@miniflare/storage-memory": {
+          "version": "2.11.0",
+          "resolved": "https://registry.npmjs.org/@miniflare/storage-memory/-/storage-memory-2.11.0.tgz",
+          "integrity": "sha512-s0AhPww7fq/Jz80NbPb+ffhcVRKnfPi7H1dHTRTre2Ud23EVJjAWl2gat42x8NOT/Fu3/o/7A72DWQQJqfO98A==",
+          "dev": true,
+          "requires": {
+            "@miniflare/shared": "2.11.0"
+          }
+        },
+        "@miniflare/watcher": {
+          "version": "2.11.0",
+          "resolved": "https://registry.npmjs.org/@miniflare/watcher/-/watcher-2.11.0.tgz",
+          "integrity": "sha512-RUfjz2iYcsQXLcGySemJl98CJ2iierbWsPGWZhIVZI+NNhROkEy77g/Q+lvP2ATwexG3/dUSfdJ3P8aH+sI4Ig==",
+          "dev": true,
+          "requires": {
+            "@miniflare/shared": "2.11.0"
+          }
+        },
+        "@miniflare/web-sockets": {
+          "version": "2.11.0",
+          "resolved": "https://registry.npmjs.org/@miniflare/web-sockets/-/web-sockets-2.11.0.tgz",
+          "integrity": "sha512-NC8RKrmxrO0hZmwpzn5g4hPGA2VblnFTIBobmWoxuK95eW49zfs7dtE/PyFs+blsGv3CjTIjHVSQ782K+C6HFA==",
+          "dev": true,
+          "requires": {
+            "@miniflare/core": "2.11.0",
+            "@miniflare/shared": "2.11.0",
+            "undici": "5.9.1",
+            "ws": "^8.2.2"
+          }
+        },
+        "dotenv": {
+          "version": "10.0.0",
+          "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz",
+          "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==",
+          "dev": true
+        }
       }
     },
     "@miniflare/sites": {
@@ -10824,20 +11232,52 @@
       }
     },
     "jest-environment-miniflare": {
-      "version": "2.10.0",
-      "resolved": "https://registry.npmjs.org/jest-environment-miniflare/-/jest-environment-miniflare-2.10.0.tgz",
-      "integrity": "sha512-dfmLo0fQ5IjbfSL3o6gM7PeAUl8qv/oNBXkTTJOvY5a80+zj1jdGrO+suizMSJPjHk2Oe2V3aGgYUBHIEHh+YA==",
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/jest-environment-miniflare/-/jest-environment-miniflare-2.11.0.tgz",
+      "integrity": "sha512-V/igrGzW39OIKJer8ftbUHBH6X1sl+1lsq86DWgYLhXlj0zkaMCbRf6tzTqrCL0Ecv0hjNb0sNOFyiNKCumpKA==",
       "dev": true,
       "requires": {
         "@jest/environment": ">=27",
         "@jest/fake-timers": ">=27",
         "@jest/types": ">=27",
-        "@miniflare/queues": "2.10.0",
-        "@miniflare/runner-vm": "2.10.0",
-        "@miniflare/shared": "2.10.0",
-        "@miniflare/shared-test-environment": "2.10.0",
+        "@miniflare/queues": "2.11.0",
+        "@miniflare/runner-vm": "2.11.0",
+        "@miniflare/shared": "2.11.0",
+        "@miniflare/shared-test-environment": "2.11.0",
         "jest-mock": ">=27",
         "jest-util": ">=27"
+      },
+      "dependencies": {
+        "@miniflare/queues": {
+          "version": "2.11.0",
+          "resolved": "https://registry.npmjs.org/@miniflare/queues/-/queues-2.11.0.tgz",
+          "integrity": "sha512-fLHjdrNLKhn0LZM/aii/9GsAttFd+lWlGzK8HOg1R0vhfKBwEub4zntjMmOfFbDm1ntc21tdMK7n3ldUphwh5w==",
+          "dev": true,
+          "requires": {
+            "@miniflare/shared": "2.11.0"
+          }
+        },
+        "@miniflare/runner-vm": {
+          "version": "2.11.0",
+          "resolved": "https://registry.npmjs.org/@miniflare/runner-vm/-/runner-vm-2.11.0.tgz",
+          "integrity": "sha512-bkVSuvCf5+VylqN8lTiLxIYqYcKFbl+BywZGwGQndPC/3wh42J00mM0jw4hRbvXgwuBhlUyCVpEXtYlftFFT/g==",
+          "dev": true,
+          "requires": {
+            "@miniflare/shared": "2.11.0"
+          }
+        },
+        "@miniflare/shared": {
+          "version": "2.11.0",
+          "resolved": "https://registry.npmjs.org/@miniflare/shared/-/shared-2.11.0.tgz",
+          "integrity": "sha512-fWMqq3ZkWAg+k7CnyzMV/rZHugwn+/JxvVzCxrtvxzwotTN547THlOxgZe8JAP23U9BiTxOfpTfnLvFEjAmegw==",
+          "dev": true,
+          "requires": {
+            "@types/better-sqlite3": "^7.6.0",
+            "kleur": "^4.1.4",
+            "npx-import": "^1.1.3",
+            "picomatch": "^2.3.1"
+          }
+        }
       }
     },
     "jest-environment-node": {
diff --git a/package.json b/package.json
index 47b4a80..e94d991 100644
--- a/package.json
+++ b/package.json
@@ -28,7 +28,7 @@
     "eslint-plugin-optimize-regex": "^1.2.1",
     "eslint-plugin-sonarjs": "^0.16.0",
     "jest": "^29.2.2",
-    "jest-environment-miniflare": "^2.10.0",
+    "jest-environment-miniflare": "^2.11.0",
     "prettier": "^2.7.1",
     "ts-jest": "^29.0.3",
     "ts-loader": "^9.4.1",