about summary refs log tree commit diff
path: root/nixpkgs/pkgs/misc
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/misc')
-rw-r--r--nixpkgs/pkgs/misc/ananicy-rules-cachyos/default.nix6
-rw-r--r--nixpkgs/pkgs/misc/base16-shell-preview/default.nix29
-rw-r--r--nixpkgs/pkgs/misc/cups/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/cnijfilter2/default.nix2
-rw-r--r--nixpkgs/pkgs/misc/cups/drivers/hl2260d/default.nix89
-rw-r--r--nixpkgs/pkgs/misc/dxvk/darwin-dxvk-compat.patch48
-rw-r--r--nixpkgs/pkgs/misc/dxvk/darwin-thread-primitives.patch186
-rw-r--r--nixpkgs/pkgs/misc/dxvk/default.nix52
-rw-r--r--nixpkgs/pkgs/misc/dxvk/dxvk.nix114
-rw-r--r--nixpkgs/pkgs/misc/dxvk/setup_dxvk.sh266
-rw-r--r--nixpkgs/pkgs/misc/fastly/default.nix6
-rw-r--r--nixpkgs/pkgs/misc/flashfocus/default.nix15
-rw-r--r--nixpkgs/pkgs/misc/ghostscript/default.nix4
-rw-r--r--nixpkgs/pkgs/misc/ghostscript/test-corpus-render.nix6
-rw-r--r--nixpkgs/pkgs/misc/lilypond/unstable.nix4
-rw-r--r--nixpkgs/pkgs/misc/mnemonicode/default.nix2
-rw-r--r--nixpkgs/pkgs/misc/scimark/default.nix36
-rw-r--r--nixpkgs/pkgs/misc/scrcpy/default.nix2
-rw-r--r--nixpkgs/pkgs/misc/screensavers/pipes-rs/default.nix6
-rw-r--r--nixpkgs/pkgs/misc/screensavers/xscreensaver/default.nix108
-rw-r--r--nixpkgs/pkgs/misc/sound-of-sorting/default.nix38
-rw-r--r--nixpkgs/pkgs/misc/urbit/default.nix10
-rw-r--r--nixpkgs/pkgs/misc/vencord/default.nix12
-rw-r--r--nixpkgs/pkgs/misc/vencord/package-lock.json1735
24 files changed, 700 insertions, 2080 deletions
diff --git a/nixpkgs/pkgs/misc/ananicy-rules-cachyos/default.nix b/nixpkgs/pkgs/misc/ananicy-rules-cachyos/default.nix
index 575f582d2c9f..096528fa3538 100644
--- a/nixpkgs/pkgs/misc/ananicy-rules-cachyos/default.nix
+++ b/nixpkgs/pkgs/misc/ananicy-rules-cachyos/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ananicy";
-  version = "unstable-2023-06-28";
+  version = "unstable-2023-10-11";
 
   src = fetchFromGitHub {
     owner = "CachyOS";
     repo = "ananicy-rules";
-    rev = "b2b4342d769bc3c6abc4ce77bd53d6ca06d659e5";
-    sha256 = "sha256-TGX7GlfSeKu68mVM71/kdJH31gzMmhzCAqA390aEq8U=";
+    rev = "3dafc3eb667b6ed7024359de78bf961c7248954d";
+    sha256 = "sha256-bMwM/2R6jdgrQ6C0JnHyMp9L4OWI6KVGcninrr7wLQ8=";
   };
 
   dontConfigure = true;
diff --git a/nixpkgs/pkgs/misc/base16-shell-preview/default.nix b/nixpkgs/pkgs/misc/base16-shell-preview/default.nix
deleted file mode 100644
index bd1c8508023d..000000000000
--- a/nixpkgs/pkgs/misc/base16-shell-preview/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib
-, python3Packages
-, fetchPypi
-}:
-
-let
-  pname = "base16-shell-preview";
-  version = "1.0.0";
-in
-python3Packages.buildPythonApplication {
-  inherit pname version;
-
-  src = fetchPypi {
-    inherit version;
-    pname = "${lib.replaceStrings ["-"] ["_"] pname}";
-    hash = "sha256-retnbxjdjo+NeA1B0+jpM9kToAX/Rh0ze0yNF9AfDiU=";
-  };
-
-  # If enabled, it will attempt to run '__init__.py, failing by trying to write
-  # at "/homeless-shelter" as HOME
-  doCheck = false;
-
-  meta = {
-    homepage = "https://github.com/nvllsvm/base16-shell-preview";
-    description = "Browse and preview Base16 Shell themes in your terminal";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ AndersonTorres ];
-  };
-}
diff --git a/nixpkgs/pkgs/misc/cups/default.nix b/nixpkgs/pkgs/misc/cups/default.nix
index 99d56af97c3d..ba414d7aec5b 100644
--- a/nixpkgs/pkgs/misc/cups/default.nix
+++ b/nixpkgs/pkgs/misc/cups/default.nix
@@ -23,11 +23,11 @@
 
 stdenv.mkDerivation rec {
   pname = "cups";
-  version = "2.4.6";
+  version = "2.4.7";
 
   src = fetchurl {
     url = "https://github.com/OpenPrinting/cups/releases/download/v${version}/cups-${version}-source.tar.gz";
-    sha256 = "sha256-WOlwzxlV4cyH0IR8MlJtnCzO4zXl8OOIKygxOLoOcmI=";
+    sha256 = "sha256-3VQijdkDUmQozn43lhr67SMK0xB4gUHadc66oINiz2w=";
   };
 
   outputs = [ "out" "lib" "dev" "man" ];
diff --git a/nixpkgs/pkgs/misc/cups/drivers/cnijfilter2/default.nix b/nixpkgs/pkgs/misc/cups/drivers/cnijfilter2/default.nix
index 8390d5e0ba84..8520ba7aff2e 100644
--- a/nixpkgs/pkgs/misc/cups/drivers/cnijfilter2/default.nix
+++ b/nixpkgs/pkgs/misc/cups/drivers/cnijfilter2/default.nix
@@ -145,6 +145,6 @@ stdenv.mkDerivation {
     homepage = "https://hk.canon/en/support/0101048401/1";
     license = licenses.unfree;
     platforms = [ "i686-linux" "x86_64-linux" ];
-    maintainers = with maintainers; [ cstrahan ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/nixpkgs/pkgs/misc/cups/drivers/hl2260d/default.nix b/nixpkgs/pkgs/misc/cups/drivers/hl2260d/default.nix
new file mode 100644
index 000000000000..9883bd99a314
--- /dev/null
+++ b/nixpkgs/pkgs/misc/cups/drivers/hl2260d/default.nix
@@ -0,0 +1,89 @@
+{ lib, stdenv, fetchurl, cups, dpkg, gnused, makeWrapper, ghostscript, coreutils, perl, gnugrep, which
+, debugLvl ? "0"
+}:
+
+let
+  version = "3.2.0-1";
+  lprdeb = fetchurl {
+    url = "https://download.brother.com/welcome/dlf102692/hl2260dlpr-${version}.i386.deb";
+    hash = "sha256-R+cM2SKc/MP6keo3PUrKXPC6a2dEQQdBunrpNtAHlH0=";
+  };
+
+  cupsdeb = fetchurl {
+    url = "https://download.brother.com/welcome/dlf102693/hl2260dcupswrapper-${version}.i386.deb";
+    hash = "sha256-k6+ulZVoFTpEY6WJ9TO9Rzp2c4dwPqL3NY5/XYJpvOc=";
+  };
+in
+stdenv.mkDerivation {
+  pname = "cups-brother-hl2260d";
+  inherit version;
+
+  nativeBuildInputs = [ makeWrapper dpkg ];
+  buildInputs = [ cups ghostscript perl ];
+
+  dontPatchELF = true;
+  dontBuild = true;
+
+  unpackPhase = ''
+    mkdir -p $out
+    dpkg-deb -x ${cupsdeb} $out
+    dpkg-deb -x ${lprdeb} $out
+  '';
+
+  patchPhase = ''
+    # Patch lpr
+    INFDIR=$out/opt/brother/Printers/HL2260D/inf
+    LPDDIR=$out/opt/brother/Printers/HL2260D/lpd
+
+    substituteInPlace $LPDDIR/filter_HL2260D \
+      --replace "BR_PRT_PATH =~" "BR_PRT_PATH = \"$out/opt/brother/Printers/HL2260D\"; #" \
+      --replace "PRINTER =~" "PRINTER = \"HL2260D\"; #"
+
+    patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+      $INFDIR/braddprinter
+    patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+      $LPDDIR/brprintconflsr3
+    patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+      $LPDDIR/rawtobr3
+
+    # Patch cupswrapper
+    WRAPPER=$out/opt/brother/Printers/HL2260D/cupswrapper/brother_lpdwrapper_HL2260D
+    PAPER_CFG=$out/opt/brother/Printers/HL2260D/cupswrapper/paperconfigml1
+
+    substituteInPlace $WRAPPER \
+      --replace "basedir =~" "basedir = \"$out/opt/brother/Printers/HL2260D\"; #" \
+      --replace "PRINTER =~" "PRINTER = \"HL2260D\"; #" \
+      --replace "\$DEBUG=0;" "\$DEBUG=${debugLvl};"
+    substituteInPlace $WRAPPER \
+      --replace "\`cp " "\`cp -p " \
+      --replace "\$TEMPRC\`" "\$TEMPRC; chmod a+rw \$TEMPRC\`" \
+      --replace "\`mv " "\`cp -p "
+    # This config script make this assumption that the *.ppd are found in a global location `/etc/cups/ppd`.
+    substituteInPlace $PAPER_CFG \
+      --replace "/etc/cups/ppd" "$out/share/cups/model"
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share/cups/model
+    ln -s $out/opt/brother/Printers/HL2260D/cupswrapper/brother-HL2260D-cups-en.ppd $out/share/cups/model
+
+    mkdir -p $out/lib/cups/filter/
+    makeWrapper \
+      $out/opt/brother/Printers/HL2260D/cupswrapper/brother_lpdwrapper_HL2260D \
+      $out/lib/cups/filter/brother_lpdwrapper_HL2260D \
+      --prefix PATH : ${lib.makeBinPath [coreutils gnugrep gnused]}
+
+    wrapProgram $out/opt/brother/Printers/HL2260D/lpd/filter_HL2260D \
+      --prefix PATH ":" ${ lib.makeBinPath [ ghostscript which ] }
+    '';
+
+  meta = with lib; {
+    homepage = "http://www.brother.com/";
+    description = "Brother HL-2260D printer driver";
+    sourceProvenance = with sourceTypes; [ binaryNativeCode ];
+    license = licenses.unfree;
+    platforms = [ "x86_64-linux" "i686-linux" ];
+    downloadPage = "https://support.brother.com/g/b/downloadtop.aspx?c=cn_ot&lang=en&prod=hl2260d_cn";
+    maintainers = with maintainers; [ u2x1 ];
+  };
+}
diff --git a/nixpkgs/pkgs/misc/dxvk/darwin-dxvk-compat.patch b/nixpkgs/pkgs/misc/dxvk/darwin-dxvk-compat.patch
deleted file mode 100644
index 99833a020cda..000000000000
--- a/nixpkgs/pkgs/misc/dxvk/darwin-dxvk-compat.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-diff --git a/src/d3d11/d3d11_device.cpp b/src/d3d11/d3d11_device.cpp
-index 09f3559a..215787f9 100644
---- a/src/d3d11/d3d11_device.cpp
-+++ b/src/d3d11/d3d11_device.cpp
-@@ -801,8 +801,12 @@ namespace dxvk {
-     InitReturnPtr(ppGeometryShader);
-     D3D11CommonShader module;
-
--    if (!m_dxvkDevice->features().extTransformFeedback.transformFeedback)
--      return DXGI_ERROR_INVALID_CALL;
-+    if (!m_dxvkDevice->features().extTransformFeedback.transformFeedback) {
-+        Logger::err(
-+                 "D3D11: CreateGeometryShaderWithStreamOutput:"
-+                 "\n  Transform feedback not supported by device");
-+        return S_OK;
-+    }
-
-     // Zero-init some counterss so that we can increment
-     // them while walking over the stream output entries
-@@ -1920,7 +1924,7 @@ namespace dxvk {
-     DxvkDeviceFeatures supported = adapter->features();
-     DxvkDeviceFeatures enabled   = {};
-
--    enabled.core.features.geometryShader                          = VK_TRUE;
-+    enabled.core.features.geometryShader                          = supported.core.features.geometryShader;
-     enabled.core.features.robustBufferAccess                      = VK_TRUE;
-     enabled.core.features.shaderStorageImageWriteWithoutFormat    = VK_TRUE;
-     enabled.core.features.depthBounds                             = supported.core.features.depthBounds;
-@@ -1951,7 +1955,7 @@ namespace dxvk {
-       enabled.core.features.sampleRateShading                     = VK_TRUE;
-       enabled.core.features.samplerAnisotropy                     = supported.core.features.samplerAnisotropy;
-       enabled.core.features.shaderClipDistance                    = VK_TRUE;
--      enabled.core.features.shaderCullDistance                    = VK_TRUE;
-+      enabled.core.features.shaderCullDistance                    = supported.core.features.shaderCullDistance;
-       enabled.core.features.textureCompressionBC                  = VK_TRUE;
-       enabled.extDepthClipEnable.depthClipEnable                  = supported.extDepthClipEnable.depthClipEnable;
-       enabled.extHostQueryReset.hostQueryReset                    = VK_TRUE;
-@@ -1971,8 +1975,8 @@ namespace dxvk {
-       enabled.core.features.logicOp                               = supported.core.features.logicOp;
-       enabled.core.features.shaderImageGatherExtended             = VK_TRUE;
-       enabled.core.features.variableMultisampleRate               = supported.core.features.variableMultisampleRate;
--      enabled.extTransformFeedback.transformFeedback              = VK_TRUE;
--      enabled.extTransformFeedback.geometryStreams                = VK_TRUE;
-+      enabled.extTransformFeedback.transformFeedback              = supported.extTransformFeedback.transformFeedback;
-+      enabled.extTransformFeedback.geometryStreams                = supported.extTransformFeedback.geometryStreams;
-     }
-
-     if (featureLevel >= D3D_FEATURE_LEVEL_10_1) {
diff --git a/nixpkgs/pkgs/misc/dxvk/darwin-thread-primitives.patch b/nixpkgs/pkgs/misc/dxvk/darwin-thread-primitives.patch
deleted file mode 100644
index c008099407c5..000000000000
--- a/nixpkgs/pkgs/misc/dxvk/darwin-thread-primitives.patch
+++ /dev/null
@@ -1,186 +0,0 @@
-diff --git a/src/util/thread.h b/src/util/thread.h
-index 28aeca8a..db5c9913 100644
---- a/src/util/thread.h
-+++ b/src/util/thread.h
-@@ -149,178 +149,8 @@ namespace dxvk {
-     }
-   }
- 
--
--  /**
--   * \brief SRW-based mutex implementation
--   *
--   * Drop-in replacement for \c std::mutex that uses Win32
--   * SRW locks, which are implemented with \c futex in wine.
--   */
--  class mutex {
--
--  public:
--
--    using native_handle_type = PSRWLOCK;
--
--    mutex() { }
--
--    mutex(const mutex&) = delete;
--    mutex& operator = (const mutex&) = delete;
--
--    void lock() {
--      AcquireSRWLockExclusive(&m_lock);
--    }
--
--    void unlock() {
--      ReleaseSRWLockExclusive(&m_lock);
--    }
--
--    bool try_lock() {
--      return TryAcquireSRWLockExclusive(&m_lock);
--    }
--
--    native_handle_type native_handle() {
--      return &m_lock;
--    }
--
--  private:
--
--    SRWLOCK m_lock = SRWLOCK_INIT;
--
--  };
--
--
--  /**
--   * \brief Recursive mutex implementation
--   *
--   * Drop-in replacement for \c std::recursive_mutex that
--   * uses Win32 critical sections.
--   */
--  class recursive_mutex {
--
--  public:
--
--    using native_handle_type = PCRITICAL_SECTION;
--
--    recursive_mutex() {
--      InitializeCriticalSection(&m_lock);
--    }
--
--    ~recursive_mutex() {
--      DeleteCriticalSection(&m_lock);
--    }
--
--    recursive_mutex(const recursive_mutex&) = delete;
--    recursive_mutex& operator = (const recursive_mutex&) = delete;
--
--    void lock() {
--      EnterCriticalSection(&m_lock);
--    }
--
--    void unlock() {
--      LeaveCriticalSection(&m_lock);
--    }
--
--    bool try_lock() {
--      return TryEnterCriticalSection(&m_lock);
--    }
--
--    native_handle_type native_handle() {
--      return &m_lock;
--    }
--
--  private:
--
--    CRITICAL_SECTION m_lock;
--
--  };
--
--
--  /**
--   * \brief SRW-based condition variable implementation
--   *
--   * Drop-in replacement for \c std::condition_variable that
--   * uses Win32 condition variables on SRW locks.
--   */
--  class condition_variable {
--
--  public:
--
--    using native_handle_type = PCONDITION_VARIABLE;
--
--    condition_variable() {
--      InitializeConditionVariable(&m_cond);
--    }
--
--    condition_variable(condition_variable&) = delete;
--
--    condition_variable& operator = (condition_variable&) = delete;
--
--    void notify_one() {
--      WakeConditionVariable(&m_cond);
--    }
--
--    void notify_all() {
--      WakeAllConditionVariable(&m_cond);
--    }
--
--    void wait(std::unique_lock<dxvk::mutex>& lock) {
--      auto srw = lock.mutex()->native_handle();
--      SleepConditionVariableSRW(&m_cond, srw, INFINITE, 0);
--    }
--
--    template<typename Predicate>
--    void wait(std::unique_lock<dxvk::mutex>& lock, Predicate pred) {
--      while (!pred())
--        wait(lock);
--    }
--
--    template<typename Clock, typename Duration>
--    std::cv_status wait_until(std::unique_lock<dxvk::mutex>& lock, const std::chrono::time_point<Clock, Duration>& time) {
--      auto now = Clock::now();
--
--      return (now < time)
--        ? wait_for(lock, now - time)
--        : std::cv_status::timeout;
--    }
--
--    template<typename Clock, typename Duration, typename Predicate>
--    bool wait_until(std::unique_lock<dxvk::mutex>& lock, const std::chrono::time_point<Clock, Duration>& time, Predicate pred) {
--      if (pred())
--        return true;
--
--      auto now = Clock::now();
--      return now < time && wait_for(lock, now - time, pred);
--    }
--
--    template<typename Rep, typename Period>
--    std::cv_status wait_for(std::unique_lock<dxvk::mutex>& lock, const std::chrono::duration<Rep, Period>& timeout) {
--      auto ms = std::chrono::duration_cast<std::chrono::milliseconds>(timeout);
--      auto srw = lock.mutex()->native_handle();
--
--      return SleepConditionVariableSRW(&m_cond, srw, ms.count(), 0)
--        ? std::cv_status::no_timeout
--        : std::cv_status::timeout;
--    }
--
--    template<typename Rep, typename Period, typename Predicate>
--    bool wait_for(std::unique_lock<dxvk::mutex>& lock, const std::chrono::duration<Rep, Period>& timeout, Predicate pred) {
--      bool result = pred();
--
--      if (!result && wait_for(lock, timeout) == std::cv_status::no_timeout)
--        result = pred();
--
--      return result;
--    }
--
--    native_handle_type native_handle() {
--      return &m_cond;
--    }
--
--  private:
--
--    CONDITION_VARIABLE m_cond;
--
--  };
-+  using mutex = std::mutex;
-+  using recursive_mutex = std::recursive_mutex;
-+  using condition_variable = std::condition_variable;
- 
- }
diff --git a/nixpkgs/pkgs/misc/dxvk/default.nix b/nixpkgs/pkgs/misc/dxvk/default.nix
deleted file mode 100644
index 88b7e5b104fb..000000000000
--- a/nixpkgs/pkgs/misc/dxvk/default.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ lib
-, stdenvNoCC
-, fetchFromGitHub
-, pkgsCross
-, stdenv
-, bash
-}:
-
-stdenvNoCC.mkDerivation (finalAttrs:
-  let
-    dxvk32 = if stdenv.isDarwin
-      then pkgsCross.mingw32.dxvk_1.override { enableMoltenVKCompat = true; }
-      else pkgsCross.mingw32.dxvk_2;
-    dxvk64 = if stdenv.isDarwin
-      then pkgsCross.mingwW64.dxvk_1.override { enableMoltenVKCompat = true; }
-      else pkgsCross.mingwW64.dxvk_2;
-  in
-  {
-    pname = "dxvk";
-    inherit (dxvk64) version;
-
-    outputs = [ "out" "bin" "lib" ];
-
-    dontUnpack = true;
-    dontConfigure = true;
-    dontBuild = true;
-
-    installPhase = ''
-      mkdir -p $out/bin $bin $lib
-      substitute ${./setup_dxvk.sh} $out/bin/setup_dxvk.sh \
-        --subst-var-by bash ${bash} \
-        --subst-var-by dxvk32 ${dxvk32} \
-        --subst-var-by dxvk64 ${dxvk64} \
-        --subst-var-by mcfgthreads32 "${pkgsCross.mingw32.windows.mcfgthreads_pre_gcc_13}" \
-        --subst-var-by mcfgthreads64 "${pkgsCross.mingwW64.windows.mcfgthreads_pre_gcc_13}"
-      chmod a+x $out/bin/setup_dxvk.sh
-      declare -A dxvks=( [x32]=${dxvk32} [x64]=${dxvk64} )
-      for arch in "''${!dxvks[@]}"; do
-        ln -s "''${dxvks[$arch]}/bin" $bin/$arch
-        ln -s "''${dxvks[$arch]}/lib" $lib/$arch
-      done
-    '';
-
-    meta = {
-      description = "Setup script for DXVK";
-      homepage = "https://github.com/doitsujin/dxvk";
-      changelog = "https://github.com/doitsujin/dxvk/releases";
-      maintainers = [ lib.maintainers.reckenrode ];
-      license = lib.licenses.zlib;
-      platforms = [ "x86_64-darwin" "i686-linux" "x86_64-linux" ];
-    };
-  })
diff --git a/nixpkgs/pkgs/misc/dxvk/dxvk.nix b/nixpkgs/pkgs/misc/dxvk/dxvk.nix
deleted file mode 100644
index b7bc4f2fc127..000000000000
--- a/nixpkgs/pkgs/misc/dxvk/dxvk.nix
+++ /dev/null
@@ -1,114 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, glslang
-, meson
-, ninja
-, windows
-, dxvkVersion ? "default"
-, spirv-headers
-, vulkan-headers
-, SDL2
-, glfw
-, pkgsBuildHost
-, gitUpdater
-, sdl2Support ? true
-, glfwSupport ? false
-, enableMoltenVKCompat ? false
-}:
-
-# SDL2 and GLFW support are mutually exclusive.
-assert !sdl2Support || !glfwSupport;
-
-let
-  # DXVK 2.0+ no longer vendors certain dependencies. This derivation also needs to build on Darwin,
-  # which does not currently support DXVK 2.0, so adapt conditionally for this situation.
-  isDxvk2 = lib.versionAtLeast (srcs.${dxvkVersion}.version) "2.0";
-
-  # DXVK has effectively the same build script regardless of platform.
-  srcs = {
-    "1.10" = rec {
-      version = "1.10.3";
-      src = fetchFromGitHub {
-        owner = "doitsujin";
-        repo = "dxvk";
-        rev = "v${version}";
-        hash = "sha256-T93ZylxzJGprrP+j6axZwl2d3hJowMCUOKNjIyNzkmE=";
-      };
-      # These patches are required when using DXVK with Wine on Darwin.
-      patches = lib.optionals enableMoltenVKCompat [
-        # Patch DXVK to work with MoltenVK even though it doesn’t support some required features.
-        # Some games work poorly (particularly Unreal Engine 4 games), but others work pretty well.
-        ./darwin-dxvk-compat.patch
-        # Use synchronization primitives from the C++ standard library to avoid deadlocks on Darwin.
-        # See: https://www.reddit.com/r/macgaming/comments/t8liua/comment/hzsuce9/
-        ./darwin-thread-primitives.patch
-      ];
-    };
-    "default" = rec {
-      version = "2.2";
-      src = fetchFromGitHub {
-        owner = "doitsujin";
-        repo = "dxvk";
-        rev = "v${version}";
-        hash = "sha256-GKRd66DvcA+7p3/wDqAUi02ZLRSVZ/fvJM0PQDEKVMA=";
-        fetchSubmodules = true; # Needed for the DirectX headers and libdisplay-info
-      };
-      patches = [ ];
-    };
-  };
-
-  isWindows = stdenv.targetPlatform.uname.system == "Windows";
-  isCross = stdenv.hostPlatform != stdenv.targetPlatform;
-in
-stdenv.mkDerivation (finalAttrs:  {
-  pname = "dxvk";
-  inherit (srcs.${dxvkVersion}) version src patches;
-
-  nativeBuildInputs = [ glslang meson ninja ];
-  buildInputs = lib.optionals isWindows [ windows.pthreads ]
-    ++ lib.optionals isDxvk2 (
-      [ spirv-headers vulkan-headers ]
-      ++ lib.optional (!isWindows && sdl2Support) SDL2
-      ++ lib.optional (!isWindows && glfwSupport) glfw
-    );
-
-  postPatch = lib.optionalString isDxvk2 ''
-    substituteInPlace "subprojects/libdisplay-info/tool/gen-search-table.py" \
-      --replace "/usr/bin/env python3" "${lib.getBin pkgsBuildHost.python3}/bin/python3"
-  '';
-
-  # Build with the Vulkan SDK in nixpkgs.
-  preConfigure = ''
-    rm -rf include/spirv/include include/vulkan/include
-    mkdir -p include/spirv/include include/vulkan/include
-  '';
-
-  mesonFlags =
-    let
-      arch = if stdenv.is32bit then "32" else "64";
-    in
-    [
-      "--buildtype" "release"
-      "--prefix" "${placeholder "out"}"
-    ]
-    ++ lib.optionals isCross [ "--cross-file" "build-win${arch}.txt" ]
-    ++ lib.optional glfwSupport "-Ddxvk_native_wsi=glfw";
-
-  doCheck = isDxvk2 && !isCross;
-
-  passthru = lib.optionalAttrs (lib.versionAtLeast finalAttrs.version "2.0") {
-    updateScript = gitUpdater {
-      rev-prefix = "v";
-    };
-  };
-
-  meta = {
-    description = "A Vulkan-based translation layer for Direct3D 9/10/11";
-    homepage = "https://github.com/doitsujin/dxvk";
-    changelog = "https://github.com/doitsujin/dxvk/releases";
-    maintainers = [ lib.maintainers.reckenrode ];
-    license = lib.licenses.zlib;
-    platforms = lib.platforms.windows ++ lib.optionals isDxvk2 lib.platforms.linux;
-  };
-})
diff --git a/nixpkgs/pkgs/misc/dxvk/setup_dxvk.sh b/nixpkgs/pkgs/misc/dxvk/setup_dxvk.sh
deleted file mode 100644
index 4926acd3ba89..000000000000
--- a/nixpkgs/pkgs/misc/dxvk/setup_dxvk.sh
+++ /dev/null
@@ -1,266 +0,0 @@
-#!@bash@/bin/bash -e
-
-set -eu -o pipefail
-
-# shellcheck disable=SC2034
-{
-    dxvk32_dir=@dxvk32@/bin
-    dxvk64_dir=@dxvk64@/bin
-
-    mcfgthreads32_dir=@mcfgthreads32@/bin
-    mcfgthreads64_dir=@mcfgthreads64@/bin
-}
-
-## Defaults
-
-declare -A dlls=(
-    [d3d9]="dxvk/d3d9.dll"
-    [d3d10]="dxvk/d3d10.dll dxvk/d3d10_1.dll dxvk/d3d10core.dll"
-    [d3d11]="dxvk/d3d11.dll"
-    [dxgi]="dxvk/dxgi.dll"
-    [mcfgthreads]="mcfgthreads/mcfgthread-12.dll"
-)
-
-declare -A targets=([d3d9]=1 [d3d11]=1 [dxgi]=1 [mcfgthreads]=1)
-
-## Command-line Parsing
-
-usage() {
-    echo "DXVK @version@"
-    echo "Set up Wine prefix with DXVK DLLs"
-    echo
-    echo "USAGE"
-    echo "    $0 [install|uninstall] [OPTIONS]"
-    echo
-    echo "COMMANDS"
-    echo "    install                  Copy the DXVK DLLs into the prefix"
-    echo "    uninstall                Restore the backed up Wine DLLs in the prefix"
-    echo
-    echo "OPTIONS"
-    echo "    --with(out)-dxgi         Copy DXVK DXGI DLL into prefix (default: with DXGI)"
-    echo "    --with(out)-d3d10        Copy D3D10 DLLs into prefix (default: without D3D10)"
-    echo "    -s, --symlink            Symlink instead of copy"
-    echo "    -f, --force              Create a Wine prefix even if it does not exist"
-    echo "    -p, --prefix <PREFIX>    Wine prefix to manage (default: \$WINEPREFIX)"
-    exit 1
-}
-
-case "${1:-}" in
-    uninstall|install)
-        action=$1
-        shift
-        ;;
-    -h|--help)
-        usage
-        ;;
-    *)
-        if [ -n "${1:-}" ]; then
-            echo "Unrecognized command: $1"
-        fi
-        usage
-        ;;
-esac
-
-
-do_symlink=false
-do_makeprefix=false
-
-while [ -n "${1:-}" ]; do
-    case "$1" in
-        --with-dxgi)
-            targets[dxgi]=1
-            ;;
-        --without-dxgi)
-            unset "targets[dxgi]"
-            ;;
-        --with-d3d10)
-            targets[d3d10]=1
-            ;;
-        --without-d3d10)
-            unset "targets[d3d10]"
-            ;;
-        -s|--symlink)
-            do_symlink=true
-            ;;
-        --no-symlink)
-            do_symlink=false
-            ;;
-        -f|--force)
-            do_makeprefix=true
-            ;;
-        --no-force)
-            do_makeprefix=false
-            ;;
-        -p|--prefix)
-            shift
-            if [ -n "${1:-}" ]; then
-                WINEPREFIX=$1
-            else
-                echo "Required PREFIX missing"
-                usage
-            fi
-            ;;
-        -h|--help)
-            usage
-            ;;
-        *)
-            echo "Unrecognized option: $1"
-            usage
-            ;;
-    esac
-    shift
-done
-
-## Get information on the Wine environment
-
-export WINEPREFIX=${WINEPREFIX:-"$HOME/.wine"}
-
-# check wine prefix before invoking wine, so that we
-# don't accidentally create one if the user screws up
-if ! $do_makeprefix && [ -n "$WINEPREFIX" ] && ! [ -f "$WINEPREFIX/system.reg" ]; then
-    echo "$WINEPREFIX: Not a valid wine prefix." >&2
-    exit 1
-fi
-
-export WINEDEBUG=-all
-# disable mscoree and mshtml to avoid downloading
-# wine gecko and mono
-export WINEDLLOVERRIDES="mscoree,mshtml="
-
-wine="wine"
-wine64="wine64"
-wineboot="wineboot"
-
-# $PATH is the way for user to control where wine is located (including custom Wine versions).
-# Pure 64-bit Wine (non Wow64) requries skipping 32-bit steps.
-# In such case, wine64 and winebooot will be present, but wine binary will be missing,
-# however it can be present in other PATHs, so it shouldn't be used, to avoid versions mixing.
-wine_path=$(dirname "$(command -v $wineboot)")
-wow64=true
-if ! [ -f "$wine_path/$wine" ]; then
-   wine=$wine64
-   wow64=false
-fi
-
-# resolve 32-bit and 64-bit system32 path
-winever=$($wine --version | grep wine)
-if [ -z "$winever" ]; then
-    echo "$wine: Not a wine executable. Check your $wine." >&2
-    exit 1
-fi
-
-# ensure wine placeholder dlls are recreated
-# if they are missing
-$wineboot -u
-
-win64_sys_path=$($wine64 winepath -u 'C:\windows\system32' 2> /dev/null)
-win64_sys_path="${win64_sys_path/$'\r'/}"
-if $wow64; then
-  win32_sys_path=$($wine winepath -u 'C:\windows\system32' 2> /dev/null)
-  win32_sys_path="${win32_sys_path/$'\r'/}"
-fi
-
-if [ -z "${win32_sys_path:-}" ] && [ -z "${win64_sys_path:-}" ]; then
-  echo 'Failed to resolve C:\windows\system32.' >&2
-  exit 1
-fi
-
-## Utility functions
-
-install_file() {
-    $do_symlink && file_cmd="ln -sv" || file_cmd="install -m 755 -v"
-
-    srcfile=$1
-    dstfile=$2
-
-    if [ -f "${srcfile}.so" ]; then
-        srcfile="${srcfile}.so"
-    fi
-
-    if ! [ -f "${srcfile}" ]; then
-        echo "${srcfile}: File not found. Skipping." >&2
-        return 1
-    fi
-
-    if [ -n "$1" ]; then
-        if [ -f "${dstfile}" ] || [ -h "${dstfile}" ]; then
-            if ! [ -f "${dstfile}.old" ]; then
-                mv -v "${dstfile}" "${dstfile}.old"
-            else
-                rm -v "${dstfile}"
-            fi
-        fi
-        $file_cmd "${srcfile}" "${dstfile}"
-    else
-        echo "${dstfile}: File not found in wine prefix" >&2
-        return 1
-    fi
-}
-
-uninstall_file() {
-    srcfile=$1
-    dstfile=$2
-
-    if [ -f "${srcfile}.so" ]; then
-        srcfile="${srcfile}.so"
-    fi
-
-    if ! [ -f "${srcfile}" ]; then
-        echo "${srcfile}: File not found. Skipping." >&2
-        return 1
-    fi
-
-    if ! [ -f "${dstfile}" ] && ! [ -h "${dstfile}" ]; then
-        echo "${dstfile}: File not found. Skipping." >&2
-        return 1
-    fi
-
-    if [ -f "${dstfile}.old" ]; then
-        rm -v "${dstfile}"
-        mv -v "${dstfile}.old" "${dstfile}"
-        return 0
-    else
-        return 1
-    fi
-}
-
-install_override() {
-    dll=$(basename "$1")
-    if ! $wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v "$dll" /d native /f >/dev/null 2>&1; then
-        echo -e "Failed to add override for $dll"
-        exit 1
-    fi
-}
-
-uninstall_override() {
-    dll=$(basename "$1")
-    if ! $wine reg delete 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v "$dll" /f > /dev/null 2>&1; then
-        echo "Failed to remove override for $dll"
-    fi
-}
-
-## Perform the requested command
-
-declare -A paths
-
-for target in "${!targets[@]}"; do
-    [ "${targets[$target]}" -eq 1 ] || continue
-    for dll in ${dlls[$target]}; do
-        dllname=$(basename "$dll")
-        basedir=$(dirname "$dll")
-
-        if [ -n "${win32_sys_path:-}" ]; then
-            basedir32=${basedir}32_dir
-            paths["${!basedir32}/$dllname"]="$win32_sys_path/$dllname"
-        fi
-        if [ -n "${win64_sys_path:-}" ]; then
-            basedir64=${basedir}64_dir
-            paths["${!basedir64}/$dllname"]="$win64_sys_path/$dllname"
-        fi
-    done
-done
-
-for srcpath in "${!paths[@]}"; do
-    "${action}_file" "$srcpath" "${paths["$srcpath"]}"
-    "${action}_override" "$(basename "$srcpath" .dll)"
-done
diff --git a/nixpkgs/pkgs/misc/fastly/default.nix b/nixpkgs/pkgs/misc/fastly/default.nix
index 498394cda0ce..9202d899faae 100644
--- a/nixpkgs/pkgs/misc/fastly/default.nix
+++ b/nixpkgs/pkgs/misc/fastly/default.nix
@@ -10,13 +10,13 @@
 
 buildGoModule rec {
   pname = "fastly";
-  version = "10.4.0";
+  version = "10.5.0";
 
   src = fetchFromGitHub {
     owner = "fastly";
     repo = "cli";
     rev = "refs/tags/v${version}";
-    hash = "sha256-NEbQ4GoZXnFes6jvqKDg4T8eDAHHEYytJ7W7qeZSCmE=";
+    hash = "sha256-aLO48gExo8rIFp20Yf4LwN+0wROnn6dzQDqzveYPg2E=";
     # The git commit is part of the `fastly version` original output;
     # leave that output the same in nixpkgs. Use the `.git` directory
     # to retrieve the commit SHA, and remove the directory afterwards,
@@ -33,7 +33,7 @@ buildGoModule rec {
     "cmd/fastly"
   ];
 
-  vendorHash = "sha256-mpN4YCiuL2jrZ4r/YOUhQSOBlGGHndQyrB9GT5mTAyI=";
+  vendorHash = "sha256-H1cD4FZr1612/O1GjHZrKrUQi5H/EkDA3Tkqio95UdY=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/nixpkgs/pkgs/misc/flashfocus/default.nix b/nixpkgs/pkgs/misc/flashfocus/default.nix
index d300711deb2a..753f82f6bd44 100644
--- a/nixpkgs/pkgs/misc/flashfocus/default.nix
+++ b/nixpkgs/pkgs/misc/flashfocus/default.nix
@@ -1,12 +1,14 @@
-{ lib, python3, fetchPypi, netcat-openbsd, nix-update-script }:
+{ lib, python3Packages, fetchPypi, netcat-openbsd, nix-update-script }:
 
-python3.pkgs.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "flashfocus";
-  version = "2.3.1";
+  version = "2.4.1";
+
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-XT3CKJWn1uKnPPsJC+MWlEAd8sWdVTEXz5b3n0UUedY=";
+    sha256 = "sha256-O6jRQ6e96b8CuumTD6TGELaz26No7WFZgGSnNSlqzuE=";
   };
 
   postPatch = ''
@@ -14,8 +16,9 @@ python3.pkgs.buildPythonApplication rec {
       --replace "nc" "${lib.getExe netcat-openbsd}"
   '';
 
-  nativeBuildInputs = with python3.pkgs; [
+  nativeBuildInputs = with python3Packages; [
     pythonRelaxDepsHook
+    setuptools
   ];
 
   pythonRelaxDeps = [
@@ -23,7 +26,7 @@ python3.pkgs.buildPythonApplication rec {
     "xcffib"
   ];
 
-  propagatedBuildInputs = with python3.pkgs; [
+  propagatedBuildInputs = with python3Packages; [
     i3ipc
     xcffib
     click
diff --git a/nixpkgs/pkgs/misc/ghostscript/default.nix b/nixpkgs/pkgs/misc/ghostscript/default.nix
index e66b44bad0cb..013a35806267 100644
--- a/nixpkgs/pkgs/misc/ghostscript/default.nix
+++ b/nixpkgs/pkgs/misc/ghostscript/default.nix
@@ -61,11 +61,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "ghostscript${lib.optionalString x11Support "-with-X"}";
-  version = "10.01.2";
+  version = "10.02.0";
 
   src = fetchurl {
     url = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${lib.replaceStrings ["."] [""] version}/ghostscript-${version}.tar.xz";
-    hash = "sha512-7iDw4S9VOj0EV45xoNRd7+vHERfOTcLBQEOYW/5zSK1/iy/pj8m09bk17LMuUNw0C+Z9bvWBkFQuxtD52h3jgA==";
+    hash = "sha512-xJNEFRBj6RWt1VoKhCwqZF2DYqXLymY70HY49L02maCMreN6nv6QWtWkHgFDU+XhsSaLeSXkMSitMNWwMTlrcQ==";
   };
 
   patches = [
diff --git a/nixpkgs/pkgs/misc/ghostscript/test-corpus-render.nix b/nixpkgs/pkgs/misc/ghostscript/test-corpus-render.nix
index 26cad916e209..089661293c25 100644
--- a/nixpkgs/pkgs/misc/ghostscript/test-corpus-render.nix
+++ b/nixpkgs/pkgs/misc/ghostscript/test-corpus-render.nix
@@ -5,12 +5,12 @@
 
 stdenv.mkDerivation {
   pname = "ghostscript-test-corpus-render";
-  version = "unstable-2022-12-01";
+  version = "unstable-2023-05-19";
 
   src = fetchgit {
     url = "git://git.ghostscript.com/tests.git";
-    rev = "e81c3a1d7c679aab8230e9152165d8cffb687242";
-    hash = "sha256-h+UHpCHASYOhf4xG6gkVJK9TEG85kE3jNx5cD1I3LQg=";
+    rev = "f7d5087d3d6c236707842dcd428818c6cb8fb041";
+    hash = "sha256-xHOEo1ZJG1GCcEKqaXLDpfRRQxpbSy0bzicKju9hG40=";
   };
 
   dontConfigure = true;
diff --git a/nixpkgs/pkgs/misc/lilypond/unstable.nix b/nixpkgs/pkgs/misc/lilypond/unstable.nix
index 11e91ddb377c..57cecfc6b898 100644
--- a/nixpkgs/pkgs/misc/lilypond/unstable.nix
+++ b/nixpkgs/pkgs/misc/lilypond/unstable.nix
@@ -1,10 +1,10 @@
 { lib, fetchurl, lilypond }:
 
 lilypond.overrideAttrs (oldAttrs: rec {
-  version = "2.25.7";
+  version = "2.25.9";
   src = fetchurl {
     url = "https://lilypond.org/download/sources/v${lib.versions.majorMinor version}/lilypond-${version}.tar.gz";
-    sha256 = "sha256-b7prbe4lnUfiLGcmWbrjXTTXqJTX4PsAMBbSvZgHLwI=";
+    hash = "sha256-ncsmHeCcnAtfrzDOcyHgfmsHGrUJ70zqFQLl+97tgpM=";
   };
 
   passthru.updateScript = {
diff --git a/nixpkgs/pkgs/misc/mnemonicode/default.nix b/nixpkgs/pkgs/misc/mnemonicode/default.nix
index 352dd038fb5a..4ecacaf418a1 100644
--- a/nixpkgs/pkgs/misc/mnemonicode/default.nix
+++ b/nixpkgs/pkgs/misc/mnemonicode/default.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation {
     '';
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = [ maintainers.cstrahan ];
+    maintainers = [ ];
   };
 }
diff --git a/nixpkgs/pkgs/misc/scimark/default.nix b/nixpkgs/pkgs/misc/scimark/default.nix
deleted file mode 100644
index 5726556e687f..000000000000
--- a/nixpkgs/pkgs/misc/scimark/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, unzip
-}:
-
-stdenv.mkDerivation rec {
-  pname = "scimark";
-  version = "4c";
-
-  src = fetchurl {
-    url = "https://math.nist.gov/scimark2/${pname}${version}.zip";
-    hash = "sha256-kcg5vKYp0B7+bC/CmFMO/tMwxf9q6nvuFv0vRSy3MbE=";
-  };
-
-  nativeBuildInputs = [
-    unzip
-  ];
-
-  dontConfigure = true;
-
-  installPhase = ''
-    install -d $out/bin/
-    install scimark4 $out/bin/
-  '';
-
-  meta = with lib; {
-    homepage = "https://math.nist.gov/scimark2/index.html";
-    description = "Scientific and numerical computing benchmark (ANSI C version)";
-    license = licenses.publicDomain;
-    maintainers = with maintainers; [ AndersonTorres ];
-    mainProgram = "scimark4";
-    platforms = platforms.all;
-  };
-}
-# TODO [ AndersonTorres ]: Java version
diff --git a/nixpkgs/pkgs/misc/scrcpy/default.nix b/nixpkgs/pkgs/misc/scrcpy/default.nix
index 9602b6364974..b43e6400c8dc 100644
--- a/nixpkgs/pkgs/misc/scrcpy/default.nix
+++ b/nixpkgs/pkgs/misc/scrcpy/default.nix
@@ -72,6 +72,6 @@ stdenv.mkDerivation rec {
     ];
     license = licenses.asl20;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ deltaevo lukeadams msfjarvis ];
+    maintainers = with maintainers; [ deltaevo msfjarvis ];
   };
 }
diff --git a/nixpkgs/pkgs/misc/screensavers/pipes-rs/default.nix b/nixpkgs/pkgs/misc/screensavers/pipes-rs/default.nix
index 01346b9ccc6e..612f7b925001 100644
--- a/nixpkgs/pkgs/misc/screensavers/pipes-rs/default.nix
+++ b/nixpkgs/pkgs/misc/screensavers/pipes-rs/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pipes-rs";
-  version = "1.6.1";
+  version = "1.6.2";
 
   src = fetchFromGitHub {
     owner = "lhvy";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-0i5jAqOGq+N5bUM103Gk1Wzgwe7wUQRjJ+T4XqUkuZw=";
+    sha256 = "sha256-PUCbirnOPYIqt56IF6UQ7Jd0bJLsVY2pGIn/C95HTrQ=";
   };
 
-  cargoHash = "sha256-LOU1BCFeX+F2dJdajgLDAtgyyrn6KkvLx3KtF9NkKcY=";
+  cargoHash = "sha256-6OTiciRqZyuX4FaDg131DEaVssUT2OYXdw/cxxJmLso=";
 
   doInstallCheck = true;
 
diff --git a/nixpkgs/pkgs/misc/screensavers/xscreensaver/default.nix b/nixpkgs/pkgs/misc/screensavers/xscreensaver/default.nix
deleted file mode 100644
index 1ec3b6905a65..000000000000
--- a/nixpkgs/pkgs/misc/screensavers/xscreensaver/default.nix
+++ /dev/null
@@ -1,108 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, coreutils
-, gdk-pixbuf
-, gdk-pixbuf-xlib
-, gettext
-, gle
-, gtk3
-, intltool
-, libGL
-, libGLU
-, libX11
-, libXext
-, libXft
-, libXi
-, libXinerama
-, libXrandr
-, libXt
-, libXxf86vm
-, libxml2
-, makeWrapper
-, pam
-, perlPackages
-, pkg-config
-, systemd
-, forceInstallAllHacks ? false
-, withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd
-}:
-
-stdenv.mkDerivation (finalAttrs: {
-  pname = "xscreensaver";
-  version = "6.06";
-
-  src = fetchurl {
-    url = "https://www.jwz.org/xscreensaver/xscreensaver-${finalAttrs.version}.tar.gz";
-    hash = "sha256-9TT6uFqDbeW4vo6R/CG4DKfWpO2ThuviB9S+ek50mac=";
-  };
-
-  nativeBuildInputs = [
-    intltool
-    makeWrapper
-    pkg-config
-  ];
-
-  buildInputs = [
-    gdk-pixbuf
-    gdk-pixbuf-xlib
-    gettext
-    gle
-    gtk3
-    libGL
-    libGLU
-    libX11
-    libXext
-    libXft
-    libXi
-    libXinerama
-    libXrandr
-    libXt
-    libXxf86vm
-    libxml2
-    pam
-    perlPackages.LWPProtocolHttps
-    perlPackages.MozillaCA
-    perlPackages.perl
-  ]
-  ++ lib.optional withSystemd systemd;
-
-  preConfigure = ''
-    # Fix installation paths for GTK resources.
-    sed -e 's%@GTK_DATADIR@%@datadir@% ; s%@PO_DATADIR@%@datadir@%' \
-      -i driver/Makefile.in po/Makefile.in.in
-  '';
-
-  configureFlags = [
-    "--with-app-defaults=${placeholder "out"}/share/xscreensaver/app-defaults"
-  ];
-
-  # "marbling" has NEON code that mixes signed and unsigned vector types
-  env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isAarch "-flax-vector-conversions";
-
-  postInstall = ''
-    for bin in $out/bin/*; do
-      wrapProgram "$bin" \
-        --prefix PATH : "$out/libexec/xscreensaver" \
-        --prefix PATH : "${lib.makeBinPath [ coreutils perlPackages.perl ]}" \
-        --prefix PERL5LIB ':' $PERL5LIB
-    done
-  ''
-  + lib.optionalString forceInstallAllHacks ''
-    make -j$NIX_BUILD_CORES -C hacks/glx dnalogo
-    cat hacks/Makefile.in \
-      | grep -E '([a-z0-9]+):[[:space:]]*\1[.]o' | cut -d : -f 1 | xargs make -j$NIX_BUILD_CORES -C hacks
-    cat hacks/glx/Makefile.in \
-      | grep -E '([a-z0-9]+):[[:space:]]*\1[.]o' | cut -d : -f 1 | xargs make -j$NIX_BUILD_CORES -C hacks/glx
-    cp -f $(find hacks -type f -perm -111 "!" -name "*.*" ) "$out/libexec/xscreensaver"
-  '';
-
-  meta = {
-    homepage = "https://www.jwz.org/xscreensaver/";
-    description = "A set of screensavers";
-    downloadPage = "https://www.jwz.org/xscreensaver/download.html";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ raskin AndersonTorres ];
-    platforms = lib.platforms.unix;
-  };
-})
diff --git a/nixpkgs/pkgs/misc/sound-of-sorting/default.nix b/nixpkgs/pkgs/misc/sound-of-sorting/default.nix
deleted file mode 100644
index 23529f6b0a18..000000000000
--- a/nixpkgs/pkgs/misc/sound-of-sorting/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, pkg-config
-, SDL2
-, wxGTK32
-, darwin
-}:
-
-stdenv.mkDerivation {
-  pname = "sound-of-sorting";
-  version = "unstable-2022-10-12";
-
-  src = fetchFromGitHub {
-    owner = "bingmann";
-    repo = "sound-of-sorting";
-    rev = "5cfcaf752593c8cbcf52555dd22745599a7d8b1b";
-    hash = "sha256-cBrTvFoz6WZIsh5qPPiWxQ338Z0OfcIefiI8CZF6nn8=";
-  };
-
-  nativeBuildInputs = [
-    pkg-config
-  ];
-
-  buildInputs = [
-    wxGTK32
-    SDL2
-  ]
-  ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Cocoa ;
-
-  meta = {
-    description = "Audibilization and Visualization of Sorting Algorithms";
-    homepage = "https://panthema.net/2013/sound-of-sorting/";
-    license = lib.licenses.gpl3Plus;
-    maintainers = with lib.maintainers; [ AndersonTorres ];
-    platforms = lib.platforms.unix;
-  };
-}
diff --git a/nixpkgs/pkgs/misc/urbit/default.nix b/nixpkgs/pkgs/misc/urbit/default.nix
index 81dd6b81badc..3a9488a5951a 100644
--- a/nixpkgs/pkgs/misc/urbit/default.nix
+++ b/nixpkgs/pkgs/misc/urbit/default.nix
@@ -10,15 +10,15 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "urbit";
-  version = "2.11";
+  version = "2.12";
 
   src = fetchzip {
     url = "https://github.com/urbit/vere/releases/download/vere-v${version}/${platform}.tgz";
     sha256 = {
-      x86_64-linux = "sha256-k2zmcjZ9NXmwZf93LIAg1jx4IRprKUgdkvwzxEOKWDY=";
-      aarch64-linux = "sha256-atMBXyXwavpSDTZxUnXIq+NV4moKGRWLaFTM9Kuzt94=";
-      x86_64-darwin = "sha256-LSJ9jVY3fETlpRAkyUWa/2vZ5xAFmmMssvbzUfIBY/4=";
-      aarch64-darwin = "sha256-AViUt2N+YCgMWOcv3ZI0GfdYVOiRLbhseQ7TTq4zCiQ=";
+      x86_64-linux = "sha256-N8RYlafw0HcmtGAQMKQb1cG7AivOpWS/5rU8CESJWAw=";
+      aarch64-linux = "sha256-RsBtwxSdqHVXMk7or1nPAFWd6Ypa0SqjpTihv8riyk4=";
+      x86_64-darwin = "sha256-/QPI66/gl3mlQHc+8zrEyP4/Hv5vwXlEx1cW2mP33IY=";
+      aarch64-darwin = "sha256-+2DYohaBxVcR1ZOjuk6GWcNpzb6aJMXq6BxwWw1OeIY=";
     }.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}");
   };
 
diff --git a/nixpkgs/pkgs/misc/vencord/default.nix b/nixpkgs/pkgs/misc/vencord/default.nix
index 4319007fd2fa..287799bcf1e0 100644
--- a/nixpkgs/pkgs/misc/vencord/default.nix
+++ b/nixpkgs/pkgs/misc/vencord/default.nix
@@ -6,8 +6,8 @@
 , buildWebExtension ? false
 }:
 let
-  version = "1.4.7";
-  gitHash = "25a1d93";
+  version = "1.5.7";
+  gitHash = "5d7ede3";
 in
 buildNpmPackage rec {
   pname = "vencord";
@@ -17,7 +17,7 @@ buildNpmPackage rec {
     owner = "Vendicated";
     repo = "Vencord";
     rev = "v${version}";
-    sha256 = "sha256-bSLPZJyBKws+6IE4YTgQTMau5yKpHJdq5tw6Jg1Uc/s=";
+    hash = "sha256-/LrM9lBxuM5+KQJqRlP/lBV+krwZIV2GjMi33N/s+V0=";
   };
 
   ESBUILD_BINARY_PATH = lib.getExe (esbuild.override {
@@ -36,13 +36,15 @@ buildNpmPackage rec {
   # Supresses an error about esbuild's version.
   npmRebuildFlags = [ "|| true" ];
 
-  npmDepsHash = "sha256-GoVVOLg20oi0MJGLqevpiqHDM/7yaRJSQnM/tt+AkQ8=";
+  makeCacheWritable = true;
+  npmDepsHash = "sha256-Moy7VlAgl31H8QO+aOVano92C4L/wclHhj+JTnbRM6c=";
   npmFlags = [ "--legacy-peer-deps" ];
   npmBuildScript = if buildWebExtension then "buildWeb" else "build";
   npmBuildFlags = [ "--" "--standalone" "--disable-updater" ];
 
   prePatch = ''
     cp ${./package-lock.json} ./package-lock.json
+    chmod +w ./package-lock.json
   '';
 
   VENCORD_HASH = gitHash;
@@ -59,6 +61,6 @@ buildNpmPackage rec {
     description = "Vencord web extension";
     homepage = "https://github.com/Vendicated/Vencord";
     license = licenses.gpl3Only;
-    maintainers = with maintainers; [ FlafyDev NotAShelf Scrumplex ];
+    maintainers = with maintainers; [ FlafyDev fwam NotAShelf Scrumplex ];
   };
 }
diff --git a/nixpkgs/pkgs/misc/vencord/package-lock.json b/nixpkgs/pkgs/misc/vencord/package-lock.json
index e2048c38d7d1..eb01a29cb26c 100644
--- a/nixpkgs/pkgs/misc/vencord/package-lock.json
+++ b/nixpkgs/pkgs/misc/vencord/package-lock.json
@@ -1,12 +1,12 @@
 {
     "name": "vencord",
-    "version": "1.4.6",
+    "version": "1.5.7",
     "lockfileVersion": 3,
     "requires": true,
     "packages": {
         "": {
             "name": "vencord",
-            "version": "1.4.5",
+            "version": "1.5.7",
             "license": "GPL-3.0-or-later",
             "dependencies": {
                 "@sapphi-red/web-noise-suppressor": "0.3.3",
@@ -14,10 +14,13 @@
                 "@vap/shiki": "0.10.5",
                 "eslint-plugin-simple-header": "^1.0.2",
                 "fflate": "^0.7.4",
+                "gifenc": "github:mattdesl/gifenc#64842fca317b112a8590f8fef2bf3825da8f6fe3",
+                "monaco-editor": "^0.43.0",
                 "nanoid": "^4.0.2",
                 "virtual-merge": "^1.0.1"
             },
             "devDependencies": {
+                "@types/chrome": "^0.0.246",
                 "@types/diff": "^5.0.3",
                 "@types/lodash": "^4.14.194",
                 "@types/node": "^18.16.3",
@@ -42,7 +45,8 @@
                 "stylelint-config-standard": "^33.0.0",
                 "tsx": "^3.12.7",
                 "type-fest": "^3.9.0",
-                "typescript": "^5.0.4"
+                "typescript": "^5.0.4",
+                "zip-local": "^0.3.5"
             },
             "engines": {
                 "node": ">=18",
@@ -59,34 +63,106 @@
             }
         },
         "node_modules/@babel/code-frame": {
-            "version": "7.22.5",
-            "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz",
-            "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==",
+            "version": "7.22.13",
+            "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz",
+            "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==",
             "dev": true,
             "dependencies": {
-                "@babel/highlight": "^7.22.5"
+                "@babel/highlight": "^7.22.13",
+                "chalk": "^2.4.2"
             },
             "engines": {
                 "node": ">=6.9.0"
             }
         },
+        "node_modules/@babel/code-frame/node_modules/ansi-styles": {
+            "version": "3.2.1",
+            "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+            "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+            "dev": true,
+            "dependencies": {
+                "color-convert": "^1.9.0"
+            },
+            "engines": {
+                "node": ">=4"
+            }
+        },
+        "node_modules/@babel/code-frame/node_modules/chalk": {
+            "version": "2.4.2",
+            "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+            "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+            "dev": true,
+            "dependencies": {
+                "ansi-styles": "^3.2.1",
+                "escape-string-regexp": "^1.0.5",
+                "supports-color": "^5.3.0"
+            },
+            "engines": {
+                "node": ">=4"
+            }
+        },
+        "node_modules/@babel/code-frame/node_modules/color-convert": {
+            "version": "1.9.3",
+            "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+            "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+            "dev": true,
+            "dependencies": {
+                "color-name": "1.1.3"
+            }
+        },
+        "node_modules/@babel/code-frame/node_modules/color-name": {
+            "version": "1.1.3",
+            "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+            "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
+            "dev": true
+        },
+        "node_modules/@babel/code-frame/node_modules/escape-string-regexp": {
+            "version": "1.0.5",
+            "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+            "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+            "dev": true,
+            "engines": {
+                "node": ">=0.8.0"
+            }
+        },
+        "node_modules/@babel/code-frame/node_modules/has-flag": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+            "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+            "dev": true,
+            "engines": {
+                "node": ">=4"
+            }
+        },
+        "node_modules/@babel/code-frame/node_modules/supports-color": {
+            "version": "5.5.0",
+            "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+            "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+            "dev": true,
+            "dependencies": {
+                "has-flag": "^3.0.0"
+            },
+            "engines": {
+                "node": ">=4"
+            }
+        },
         "node_modules/@babel/helper-validator-identifier": {
-            "version": "7.22.5",
-            "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz",
-            "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==",
+            "version": "7.22.20",
+            "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
+            "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
             "dev": true,
             "engines": {
                 "node": ">=6.9.0"
             }
         },
         "node_modules/@babel/highlight": {
-            "version": "7.22.5",
-            "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz",
-            "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==",
+            "version": "7.22.20",
+            "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz",
+            "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==",
             "dev": true,
             "dependencies": {
-                "@babel/helper-validator-identifier": "^7.22.5",
-                "chalk": "^2.0.0",
+                "@babel/helper-validator-identifier": "^7.22.20",
+                "chalk": "^2.4.2",
                 "js-tokens": "^4.0.0"
             },
             "engines": {
@@ -165,9 +241,9 @@
             }
         },
         "node_modules/@csstools/css-parser-algorithms": {
-            "version": "2.2.0",
-            "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.2.0.tgz",
-            "integrity": "sha512-9BoQ/jSrPq4vv3b9jjLW+PNNv56KlDH5JMx5yASSNrCtvq70FCNZUjXRvbCeR9hYj9ZyhURtqpU/RFIgg6kiOw==",
+            "version": "2.3.2",
+            "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.2.tgz",
+            "integrity": "sha512-sLYGdAdEY2x7TSw9FtmdaTrh2wFtRJO5VMbBrA8tEqEod7GEggFmxTSK9XqExib3yMuYNcvcTdCZIP6ukdjAIA==",
             "dev": true,
             "funding": [
                 {
@@ -183,26 +259,32 @@
                 "node": "^14 || ^16 || >=18"
             },
             "peerDependencies": {
-                "@csstools/css-tokenizer": "^2.1.1"
+                "@csstools/css-tokenizer": "^2.2.1"
             }
         },
         "node_modules/@csstools/css-tokenizer": {
-            "version": "2.1.1",
-            "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.1.1.tgz",
-            "integrity": "sha512-GbrTj2Z8MCTUv+52GE0RbFGM527xuXZ0Xa5g0Z+YN573uveS4G0qi6WNOMyz3yrFM/jaILTTwJ0+umx81EzqfA==",
+            "version": "2.2.1",
+            "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.1.tgz",
+            "integrity": "sha512-Zmsf2f/CaEPWEVgw29odOj+WEVoiJy9s9NOv5GgNY9mZ1CZ7394By6wONrONrTsnNDv6F9hR02nvFihrGVGHBg==",
             "dev": true,
+            "funding": [
+                {
+                    "type": "github",
+                    "url": "https://github.com/sponsors/csstools"
+                },
+                {
+                    "type": "opencollective",
+                    "url": "https://opencollective.com/csstools"
+                }
+            ],
             "engines": {
                 "node": "^14 || ^16 || >=18"
-            },
-            "funding": {
-                "type": "opencollective",
-                "url": "https://opencollective.com/csstools"
             }
         },
         "node_modules/@csstools/media-query-list-parser": {
-            "version": "2.1.0",
-            "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.0.tgz",
-            "integrity": "sha512-MXkR+TeaS2q9IkpyO6jVCdtA/bfpABJxIrfkLswThFN8EZZgI2RfAHhm6sDNDuYV25d5+b8Lj1fpTccIcSLPsQ==",
+            "version": "2.1.5",
+            "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.5.tgz",
+            "integrity": "sha512-IxVBdYzR8pYe89JiyXQuYk4aVVoCPhMJkz6ElRwlVysjwURTsTk/bmY/z4FfeRE+CRBMlykPwXEVUg8lThv7AQ==",
             "dev": true,
             "funding": [
                 {
@@ -218,369 +300,36 @@
                 "node": "^14 || ^16 || >=18"
             },
             "peerDependencies": {
-                "@csstools/css-parser-algorithms": "^2.1.1",
-                "@csstools/css-tokenizer": "^2.1.1"
+                "@csstools/css-parser-algorithms": "^2.3.2",
+                "@csstools/css-tokenizer": "^2.2.1"
             }
         },
         "node_modules/@csstools/selector-specificity": {
-            "version": "2.2.0",
-            "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz",
-            "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==",
+            "version": "3.0.0",
+            "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-3.0.0.tgz",
+            "integrity": "sha512-hBI9tfBtuPIi885ZsZ32IMEU/5nlZH/KOVYJCOh7gyMxaVLGmLedYqFN6Ui1LXkI8JlC8IsuC0rF0btcRZKd5g==",
             "dev": true,
+            "funding": [
+                {
+                    "type": "github",
+                    "url": "https://github.com/sponsors/csstools"
+                },
+                {
+                    "type": "opencollective",
+                    "url": "https://opencollective.com/csstools"
+                }
+            ],
             "engines": {
                 "node": "^14 || ^16 || >=18"
             },
-            "funding": {
-                "type": "opencollective",
-                "url": "https://opencollective.com/csstools"
-            },
             "peerDependencies": {
-                "postcss-selector-parser": "^6.0.10"
-            }
-        },
-        "node_modules/@esbuild-kit/cjs-loader": {
-            "version": "2.4.2",
-            "resolved": "https://registry.npmjs.org/@esbuild-kit/cjs-loader/-/cjs-loader-2.4.2.tgz",
-            "integrity": "sha512-BDXFbYOJzT/NBEtp71cvsrGPwGAMGRB/349rwKuoxNSiKjPraNNnlK6MIIabViCjqZugu6j+xeMDlEkWdHHJSg==",
-            "dev": true,
-            "dependencies": {
-                "@esbuild-kit/core-utils": "^3.0.0",
-                "get-tsconfig": "^4.4.0"
-            }
-        },
-        "node_modules/@esbuild-kit/core-utils": {
-            "version": "3.1.0",
-            "resolved": "https://registry.npmjs.org/@esbuild-kit/core-utils/-/core-utils-3.1.0.tgz",
-            "integrity": "sha512-Uuk8RpCg/7fdHSceR1M6XbSZFSuMrxcePFuGgyvsBn+u339dk5OeL4jv2EojwTN2st/unJGsVm4qHWjWNmJ/tw==",
-            "dev": true,
-            "dependencies": {
-                "esbuild": "~0.17.6",
-                "source-map-support": "^0.5.21"
-            }
-        },
-        "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/android-arm": {
-            "version": "0.17.19",
-            "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz",
-            "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==",
-            "cpu": [
-                "arm"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "android"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/@esbuild-kit/core-utils/node_modules/@esbuild/linux-loong64": {
-            "version": "0.17.19",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz",
-            "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==",
-            "cpu": [
-                "loong64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "linux"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/@esbuild-kit/core-utils/node_modules/esbuild": {
-            "version": "0.17.19",
-            "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz",
-            "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==",
-            "dev": true,
-            "hasInstallScript": true,
-            "bin": {
-                "esbuild": "bin/esbuild"
-            },
-            "engines": {
-                "node": ">=12"
-            },
-            "optionalDependencies": {
-                "@esbuild/android-arm": "0.17.19",
-                "@esbuild/android-arm64": "0.17.19",
-                "@esbuild/android-x64": "0.17.19",
-                "@esbuild/darwin-arm64": "0.17.19",
-                "@esbuild/darwin-x64": "0.17.19",
-                "@esbuild/freebsd-arm64": "0.17.19",
-                "@esbuild/freebsd-x64": "0.17.19",
-                "@esbuild/linux-arm": "0.17.19",
-                "@esbuild/linux-arm64": "0.17.19",
-                "@esbuild/linux-ia32": "0.17.19",
-                "@esbuild/linux-loong64": "0.17.19",
-                "@esbuild/linux-mips64el": "0.17.19",
-                "@esbuild/linux-ppc64": "0.17.19",
-                "@esbuild/linux-riscv64": "0.17.19",
-                "@esbuild/linux-s390x": "0.17.19",
-                "@esbuild/linux-x64": "0.17.19",
-                "@esbuild/netbsd-x64": "0.17.19",
-                "@esbuild/openbsd-x64": "0.17.19",
-                "@esbuild/sunos-x64": "0.17.19",
-                "@esbuild/win32-arm64": "0.17.19",
-                "@esbuild/win32-ia32": "0.17.19",
-                "@esbuild/win32-x64": "0.17.19"
-            }
-        },
-        "node_modules/@esbuild-kit/esm-loader": {
-            "version": "2.5.5",
-            "resolved": "https://registry.npmjs.org/@esbuild-kit/esm-loader/-/esm-loader-2.5.5.tgz",
-            "integrity": "sha512-Qwfvj/qoPbClxCRNuac1Du01r9gvNOT+pMYtJDapfB1eoGN1YlJ1BixLyL9WVENRx5RXgNLdfYdx/CuswlGhMw==",
-            "dev": true,
-            "dependencies": {
-                "@esbuild-kit/core-utils": "^3.0.0",
-                "get-tsconfig": "^4.4.0"
-            }
-        },
-        "node_modules/@esbuild/android-arm": {
-            "version": "0.15.18",
-            "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.18.tgz",
-            "integrity": "sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==",
-            "cpu": [
-                "arm"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "android"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/@esbuild/android-arm64": {
-            "version": "0.17.19",
-            "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz",
-            "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==",
-            "cpu": [
-                "arm64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "android"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/@esbuild/android-x64": {
-            "version": "0.17.19",
-            "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz",
-            "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==",
-            "cpu": [
-                "x64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "android"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/@esbuild/darwin-arm64": {
-            "version": "0.17.19",
-            "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz",
-            "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==",
-            "cpu": [
-                "arm64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "darwin"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/@esbuild/darwin-x64": {
-            "version": "0.17.19",
-            "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz",
-            "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==",
-            "cpu": [
-                "x64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "darwin"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/@esbuild/freebsd-arm64": {
-            "version": "0.17.19",
-            "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz",
-            "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==",
-            "cpu": [
-                "arm64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "freebsd"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/@esbuild/freebsd-x64": {
-            "version": "0.17.19",
-            "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz",
-            "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==",
-            "cpu": [
-                "x64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "freebsd"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/@esbuild/linux-arm": {
-            "version": "0.17.19",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz",
-            "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==",
-            "cpu": [
-                "arm"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "linux"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/@esbuild/linux-arm64": {
-            "version": "0.17.19",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz",
-            "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==",
-            "cpu": [
-                "arm64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "linux"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/@esbuild/linux-ia32": {
-            "version": "0.17.19",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz",
-            "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==",
-            "cpu": [
-                "ia32"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "linux"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/@esbuild/linux-loong64": {
-            "version": "0.15.18",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz",
-            "integrity": "sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==",
-            "cpu": [
-                "loong64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "linux"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/@esbuild/linux-mips64el": {
-            "version": "0.17.19",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz",
-            "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==",
-            "cpu": [
-                "mips64el"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "linux"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/@esbuild/linux-ppc64": {
-            "version": "0.17.19",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz",
-            "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==",
-            "cpu": [
-                "ppc64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "linux"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/@esbuild/linux-riscv64": {
-            "version": "0.17.19",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz",
-            "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==",
-            "cpu": [
-                "riscv64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "linux"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/@esbuild/linux-s390x": {
-            "version": "0.17.19",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz",
-            "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==",
-            "cpu": [
-                "s390x"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "linux"
-            ],
-            "engines": {
-                "node": ">=12"
+                "postcss-selector-parser": "^6.0.13"
             }
         },
         "node_modules/@esbuild/linux-x64": {
-            "version": "0.17.19",
-            "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz",
-            "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==",
+            "version": "0.18.20",
+            "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz",
+            "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==",
             "cpu": [
                 "x64"
             ],
@@ -593,102 +342,6 @@
                 "node": ">=12"
             }
         },
-        "node_modules/@esbuild/netbsd-x64": {
-            "version": "0.17.19",
-            "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz",
-            "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==",
-            "cpu": [
-                "x64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "netbsd"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/@esbuild/openbsd-x64": {
-            "version": "0.17.19",
-            "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz",
-            "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==",
-            "cpu": [
-                "x64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "openbsd"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/@esbuild/sunos-x64": {
-            "version": "0.17.19",
-            "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz",
-            "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==",
-            "cpu": [
-                "x64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "sunos"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/@esbuild/win32-arm64": {
-            "version": "0.17.19",
-            "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz",
-            "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==",
-            "cpu": [
-                "arm64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "win32"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/@esbuild/win32-ia32": {
-            "version": "0.17.19",
-            "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz",
-            "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==",
-            "cpu": [
-                "ia32"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "win32"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/@esbuild/win32-x64": {
-            "version": "0.17.19",
-            "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz",
-            "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==",
-            "cpu": [
-                "x64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "win32"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
         "node_modules/@eslint-community/eslint-utils": {
             "version": "4.4.0",
             "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
@@ -705,9 +358,9 @@
             }
         },
         "node_modules/@eslint-community/regexpp": {
-            "version": "4.6.2",
-            "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz",
-            "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==",
+            "version": "4.9.1",
+            "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz",
+            "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==",
             "dev": true,
             "engines": {
                 "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
@@ -737,18 +390,18 @@
             }
         },
         "node_modules/@eslint/js": {
-            "version": "8.47.0",
-            "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz",
-            "integrity": "sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==",
+            "version": "8.50.0",
+            "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz",
+            "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==",
             "dev": true,
             "engines": {
                 "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
             }
         },
         "node_modules/@humanwhocodes/config-array": {
-            "version": "0.11.10",
-            "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz",
-            "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==",
+            "version": "0.11.11",
+            "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz",
+            "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==",
             "dev": true,
             "dependencies": {
                 "@humanwhocodes/object-schema": "^1.2.1",
@@ -848,52 +501,83 @@
             "resolved": "https://registry.npmjs.org/@sapphi-red/web-noise-suppressor/-/web-noise-suppressor-0.3.3.tgz",
             "integrity": "sha512-gAC33DCXYwNTI/k1PxOVHmbbzakUSMbb/DHpoV6rn4pKZtPI1dduULSmAAm/y1ipgIlArnk2JcnQzw4n2tCZHw=="
         },
+        "node_modules/@types/chrome": {
+            "version": "0.0.246",
+            "resolved": "https://registry.npmjs.org/@types/chrome/-/chrome-0.0.246.tgz",
+            "integrity": "sha512-MxGxEomGxsJiL9xe/7ZwVgwdn8XVKWbPvxpVQl3nWOjrS0Ce63JsfzxUc4aU3GvRcUPYsfufHmJ17BFyKxeA4g==",
+            "dev": true,
+            "dependencies": {
+                "@types/filesystem": "*",
+                "@types/har-format": "*"
+            }
+        },
         "node_modules/@types/diff": {
-            "version": "5.0.3",
-            "resolved": "https://registry.npmjs.org/@types/diff/-/diff-5.0.3.tgz",
-            "integrity": "sha512-amrLbRqTU9bXMCc6uX0sWpxsQzRIo9z6MJPkH1pkez/qOxuqSZVuryJAWoBRq94CeG8JxY+VK4Le9HtjQR5T9A==",
+            "version": "5.0.5",
+            "resolved": "https://registry.npmjs.org/@types/diff/-/diff-5.0.5.tgz",
+            "integrity": "sha512-rt7WqM1bWwKJMRxlB5Rhke56UN21Bqwp1ILER31bafTivcapYdfhtPd5xRWfhf08yjPxoDcfjVkkECdRwFe7EA==",
+            "dev": true
+        },
+        "node_modules/@types/filesystem": {
+            "version": "0.0.33",
+            "resolved": "https://registry.npmjs.org/@types/filesystem/-/filesystem-0.0.33.tgz",
+            "integrity": "sha512-2KedRPzwu2K528vFkoXnnWdsG0MtUwPjuA7pRy4vKxlxHEe8qUDZibYHXJKZZr2Cl/ELdCWYqyb/MKwsUuzBWw==",
+            "dev": true,
+            "dependencies": {
+                "@types/filewriter": "*"
+            }
+        },
+        "node_modules/@types/filewriter": {
+            "version": "0.0.30",
+            "resolved": "https://registry.npmjs.org/@types/filewriter/-/filewriter-0.0.30.tgz",
+            "integrity": "sha512-lB98tui0uxc7erbj0serZfJlHKLNJHwBltPnbmO1WRpL5T325GOHRiQfr2E29V2q+S1brDO63Fpdt6vb3bES9Q==",
+            "dev": true
+        },
+        "node_modules/@types/har-format": {
+            "version": "1.2.13",
+            "resolved": "https://registry.npmjs.org/@types/har-format/-/har-format-1.2.13.tgz",
+            "integrity": "sha512-PwBsCBD3lDODn4xpje3Y1di0aDJp4Ww7aSfMRVw6ysnxD4I7Wmq2mBkSKaDtN403hqH5sp6c9xQUvFYY3+lkBg==",
             "dev": true
         },
         "node_modules/@types/json-schema": {
-            "version": "7.0.12",
-            "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz",
-            "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==",
+            "version": "7.0.13",
+            "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz",
+            "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==",
             "dev": true
         },
         "node_modules/@types/lodash": {
-            "version": "4.14.195",
-            "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.195.tgz",
-            "integrity": "sha512-Hwx9EUgdwf2GLarOjQp5ZH8ZmblzcbTBC2wtQWNKARBSxM9ezRIAUpeDTgoQRAFB0+8CNWXVA9+MaSOzOF3nPg==",
+            "version": "4.14.199",
+            "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.199.tgz",
+            "integrity": "sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg==",
             "dev": true
         },
         "node_modules/@types/minimist": {
-            "version": "1.2.2",
-            "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz",
-            "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==",
+            "version": "1.2.3",
+            "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.3.tgz",
+            "integrity": "sha512-ZYFzrvyWUNhaPomn80dsMNgMeXxNWZBdkuG/hWlUvXvbdUH8ZERNBGXnU87McuGcWDsyzX2aChCv/SVN348k3A==",
             "dev": true
         },
         "node_modules/@types/node": {
-            "version": "18.16.18",
-            "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.18.tgz",
-            "integrity": "sha512-/aNaQZD0+iSBAGnvvN2Cx92HqE5sZCPZtx2TsK+4nvV23fFe09jVDvpArXr2j9DnYlzuU9WuoykDDc6wqvpNcw==",
+            "version": "18.18.3",
+            "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.3.tgz",
+            "integrity": "sha512-0OVfGupTl3NBFr8+iXpfZ8NR7jfFO+P1Q+IO/q0wbo02wYkP5gy36phojeYWpLQ6WAMjl+VfmqUk2YbUfp0irA==",
             "dev": true
         },
         "node_modules/@types/normalize-package-data": {
-            "version": "2.4.1",
-            "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz",
-            "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==",
+            "version": "2.4.2",
+            "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.2.tgz",
+            "integrity": "sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A==",
             "dev": true
         },
         "node_modules/@types/prop-types": {
-            "version": "15.7.5",
-            "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
-            "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==",
+            "version": "15.7.8",
+            "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.8.tgz",
+            "integrity": "sha512-kMpQpfZKSCBqltAJwskgePRaYRFukDkm1oItcAbC3gNELR20XIBcN9VRgg4+m8DKsTfkWeA4m4Imp4DDuWy7FQ==",
             "dev": true
         },
         "node_modules/@types/react": {
-            "version": "18.2.12",
-            "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.12.tgz",
-            "integrity": "sha512-ndmBMLCgn38v3SntMeoJaIrO6tGHYKMEBohCUmw8HoLLQdRMOIGXfeYaBTLe2lsFaSB3MOK1VXscYFnmLtTSmw==",
+            "version": "18.2.24",
+            "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.24.tgz",
+            "integrity": "sha512-Ee0Jt4sbJxMu1iDcetZEIKQr99J1Zfb6D4F3qfUWoR1JpInkY1Wdg4WwCyBjL257D0+jGqSl1twBjV8iCaC0Aw==",
             "dev": true,
             "dependencies": {
                 "@types/prop-types": "*",
@@ -902,30 +586,30 @@
             }
         },
         "node_modules/@types/react-dom": {
-            "version": "18.2.5",
-            "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.5.tgz",
-            "integrity": "sha512-sRQsOS/sCLnpQhR4DSKGTtWFE3FZjpQa86KPVbhUqdYMRZ9FEFcfAytKhR/vUG2rH1oFbOOej6cuD7MFSobDRQ==",
+            "version": "18.2.8",
+            "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.8.tgz",
+            "integrity": "sha512-bAIvO5lN/U8sPGvs1Xm61rlRHHaq5rp5N3kp9C+NJ/Q41P8iqjkXSu0+/qu8POsjH9pNWb0OYabFez7taP7omw==",
             "dev": true,
             "dependencies": {
                 "@types/react": "*"
             }
         },
         "node_modules/@types/scheduler": {
-            "version": "0.16.3",
-            "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz",
-            "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==",
+            "version": "0.16.4",
+            "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.4.tgz",
+            "integrity": "sha512-2L9ifAGl7wmXwP4v3pN4p2FLhD0O1qsJpvKmNin5VA8+UvNVb447UDaAEV6UdrkA+m/Xs58U1RFps44x6TFsVQ==",
             "dev": true
         },
         "node_modules/@types/semver": {
-            "version": "7.5.0",
-            "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz",
-            "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==",
+            "version": "7.5.3",
+            "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.3.tgz",
+            "integrity": "sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==",
             "dev": true
         },
         "node_modules/@types/yauzl": {
-            "version": "2.10.0",
-            "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
-            "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
+            "version": "2.10.1",
+            "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.1.tgz",
+            "integrity": "sha512-CHzgNU3qYBnp/O4S3yv2tXPlvMTq0YWSTVg2/JYLqWZGHwwgJGAwd00poay/11asPq8wLFwHzubyInqHIFmmiw==",
             "dev": true,
             "optional": true,
             "dependencies": {
@@ -933,26 +617,26 @@
             }
         },
         "node_modules/@types/yazl": {
-            "version": "2.4.2",
-            "resolved": "https://registry.npmjs.org/@types/yazl/-/yazl-2.4.2.tgz",
-            "integrity": "sha512-T+9JH8O2guEjXNxqmybzQ92mJUh2oCwDDMSSimZSe1P+pceZiFROZLYmcbqkzV5EUwz6VwcKXCO2S2yUpra6XQ==",
+            "version": "2.4.3",
+            "resolved": "https://registry.npmjs.org/@types/yazl/-/yazl-2.4.3.tgz",
+            "integrity": "sha512-pZtZPktPV+rN+6oje9Akz5kBwOhpjKlr7X74osNVtmYKcMdgoBtMFbNNPeS2+juE5aEVGZuIbHISqMCn2RupNw==",
             "dev": true,
             "dependencies": {
                 "@types/node": "*"
             }
         },
         "node_modules/@typescript-eslint/eslint-plugin": {
-            "version": "5.59.11",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.11.tgz",
-            "integrity": "sha512-XxuOfTkCUiOSyBWIvHlUraLw/JT/6Io1365RO6ZuI88STKMavJZPNMU0lFcUTeQXEhHiv64CbxYxBNoDVSmghg==",
+            "version": "5.62.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz",
+            "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==",
             "dev": true,
             "dependencies": {
                 "@eslint-community/regexpp": "^4.4.0",
-                "@typescript-eslint/scope-manager": "5.59.11",
-                "@typescript-eslint/type-utils": "5.59.11",
-                "@typescript-eslint/utils": "5.59.11",
+                "@typescript-eslint/scope-manager": "5.62.0",
+                "@typescript-eslint/type-utils": "5.62.0",
+                "@typescript-eslint/utils": "5.62.0",
                 "debug": "^4.3.4",
-                "grapheme-splitter": "^1.0.4",
+                "graphemer": "^1.4.0",
                 "ignore": "^5.2.0",
                 "natural-compare-lite": "^1.4.0",
                 "semver": "^7.3.7",
@@ -976,14 +660,14 @@
             }
         },
         "node_modules/@typescript-eslint/parser": {
-            "version": "5.59.11",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.11.tgz",
-            "integrity": "sha512-s9ZF3M+Nym6CAZEkJJeO2TFHHDsKAM3ecNkLuH4i4s8/RCPnF5JRip2GyviYkeEAcwGMJxkqG9h2dAsnA1nZpA==",
+            "version": "5.62.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz",
+            "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==",
             "dev": true,
             "dependencies": {
-                "@typescript-eslint/scope-manager": "5.59.11",
-                "@typescript-eslint/types": "5.59.11",
-                "@typescript-eslint/typescript-estree": "5.59.11",
+                "@typescript-eslint/scope-manager": "5.62.0",
+                "@typescript-eslint/types": "5.62.0",
+                "@typescript-eslint/typescript-estree": "5.62.0",
                 "debug": "^4.3.4"
             },
             "engines": {
@@ -1003,13 +687,13 @@
             }
         },
         "node_modules/@typescript-eslint/scope-manager": {
-            "version": "5.59.11",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.11.tgz",
-            "integrity": "sha512-dHFOsxoLFtrIcSj5h0QoBT/89hxQONwmn3FOQ0GOQcLOOXm+MIrS8zEAhs4tWl5MraxCY3ZJpaXQQdFMc2Tu+Q==",
+            "version": "5.62.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
+            "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==",
             "dev": true,
             "dependencies": {
-                "@typescript-eslint/types": "5.59.11",
-                "@typescript-eslint/visitor-keys": "5.59.11"
+                "@typescript-eslint/types": "5.62.0",
+                "@typescript-eslint/visitor-keys": "5.62.0"
             },
             "engines": {
                 "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -1020,13 +704,13 @@
             }
         },
         "node_modules/@typescript-eslint/type-utils": {
-            "version": "5.59.11",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.11.tgz",
-            "integrity": "sha512-LZqVY8hMiVRF2a7/swmkStMYSoXMFlzL6sXV6U/2gL5cwnLWQgLEG8tjWPpaE4rMIdZ6VKWwcffPlo1jPfk43g==",
+            "version": "5.62.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz",
+            "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==",
             "dev": true,
             "dependencies": {
-                "@typescript-eslint/typescript-estree": "5.59.11",
-                "@typescript-eslint/utils": "5.59.11",
+                "@typescript-eslint/typescript-estree": "5.62.0",
+                "@typescript-eslint/utils": "5.62.0",
                 "debug": "^4.3.4",
                 "tsutils": "^3.21.0"
             },
@@ -1047,9 +731,9 @@
             }
         },
         "node_modules/@typescript-eslint/types": {
-            "version": "5.59.11",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.11.tgz",
-            "integrity": "sha512-epoN6R6tkvBYSc+cllrz+c2sOFWkbisJZWkOE+y3xHtvYaOE6Wk6B8e114McRJwFRjGvYdJwLXQH5c9osME/AA==",
+            "version": "5.62.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz",
+            "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==",
             "dev": true,
             "engines": {
                 "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -1060,13 +744,13 @@
             }
         },
         "node_modules/@typescript-eslint/typescript-estree": {
-            "version": "5.59.11",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.11.tgz",
-            "integrity": "sha512-YupOpot5hJO0maupJXixi6l5ETdrITxeo5eBOeuV7RSKgYdU3G5cxO49/9WRnJq9EMrB7AuTSLH/bqOsXi7wPA==",
+            "version": "5.62.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz",
+            "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==",
             "dev": true,
             "dependencies": {
-                "@typescript-eslint/types": "5.59.11",
-                "@typescript-eslint/visitor-keys": "5.59.11",
+                "@typescript-eslint/types": "5.62.0",
+                "@typescript-eslint/visitor-keys": "5.62.0",
                 "debug": "^4.3.4",
                 "globby": "^11.1.0",
                 "is-glob": "^4.0.3",
@@ -1087,17 +771,17 @@
             }
         },
         "node_modules/@typescript-eslint/utils": {
-            "version": "5.59.11",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.11.tgz",
-            "integrity": "sha512-didu2rHSOMUdJThLk4aZ1Or8IcO3HzCw/ZvEjTTIfjIrcdd5cvSIwwDy2AOlE7htSNp7QIZ10fLMyRCveesMLg==",
+            "version": "5.62.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz",
+            "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==",
             "dev": true,
             "dependencies": {
                 "@eslint-community/eslint-utils": "^4.2.0",
                 "@types/json-schema": "^7.0.9",
                 "@types/semver": "^7.3.12",
-                "@typescript-eslint/scope-manager": "5.59.11",
-                "@typescript-eslint/types": "5.59.11",
-                "@typescript-eslint/typescript-estree": "5.59.11",
+                "@typescript-eslint/scope-manager": "5.62.0",
+                "@typescript-eslint/types": "5.62.0",
+                "@typescript-eslint/typescript-estree": "5.62.0",
                 "eslint-scope": "^5.1.1",
                 "semver": "^7.3.7"
             },
@@ -1113,12 +797,12 @@
             }
         },
         "node_modules/@typescript-eslint/visitor-keys": {
-            "version": "5.59.11",
-            "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.11.tgz",
-            "integrity": "sha512-KGYniTGG3AMTuKF9QBD7EIrvufkB6O6uX3knP73xbKLMpH+QRPcgnCxjWXSHjMRuOxFLovljqQgQpR0c7GvjoA==",
+            "version": "5.62.0",
+            "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz",
+            "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==",
             "dev": true,
             "dependencies": {
-                "@typescript-eslint/types": "5.59.11",
+                "@typescript-eslint/types": "5.62.0",
                 "eslint-visitor-keys": "^3.3.0"
             },
             "engines": {
@@ -1289,6 +973,12 @@
                 "node": ">=8"
             }
         },
+        "node_modules/async": {
+            "version": "1.5.2",
+            "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+            "integrity": "sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==",
+            "dev": true
+        },
         "node_modules/atob": {
             "version": "2.1.2",
             "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
@@ -1459,26 +1149,42 @@
             }
         },
         "node_modules/camelcase": {
-            "version": "5.3.1",
-            "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
-            "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+            "version": "6.3.0",
+            "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+            "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
             "dev": true,
             "engines": {
-                "node": ">=6"
+                "node": ">=10"
+            },
+            "funding": {
+                "url": "https://github.com/sponsors/sindresorhus"
             }
         },
         "node_modules/camelcase-keys": {
-            "version": "6.2.2",
-            "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
-            "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
+            "version": "7.0.2",
+            "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz",
+            "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==",
             "dev": true,
             "dependencies": {
-                "camelcase": "^5.3.1",
-                "map-obj": "^4.0.0",
-                "quick-lru": "^4.0.1"
+                "camelcase": "^6.3.0",
+                "map-obj": "^4.1.0",
+                "quick-lru": "^5.1.1",
+                "type-fest": "^1.2.1"
             },
             "engines": {
-                "node": ">=8"
+                "node": ">=12"
+            },
+            "funding": {
+                "url": "https://github.com/sponsors/sindresorhus"
+            }
+        },
+        "node_modules/camelcase-keys/node_modules/type-fest": {
+            "version": "1.4.0",
+            "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz",
+            "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==",
+            "dev": true,
+            "engines": {
+                "node": ">=10"
             },
             "funding": {
                 "url": "https://github.com/sponsors/sindresorhus"
@@ -1689,14 +1395,14 @@
             }
         },
         "node_modules/cosmiconfig": {
-            "version": "8.2.0",
-            "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.2.0.tgz",
-            "integrity": "sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==",
+            "version": "8.3.6",
+            "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz",
+            "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==",
             "dev": true,
             "dependencies": {
-                "import-fresh": "^3.2.1",
+                "import-fresh": "^3.3.0",
                 "js-yaml": "^4.1.0",
-                "parse-json": "^5.0.0",
+                "parse-json": "^5.2.0",
                 "path-type": "^4.0.0"
             },
             "engines": {
@@ -1704,6 +1410,14 @@
             },
             "funding": {
                 "url": "https://github.com/sponsors/d-fischer"
+            },
+            "peerDependencies": {
+                "typescript": ">=4.9.5"
+            },
+            "peerDependenciesMeta": {
+                "typescript": {
+                    "optional": true
+                }
             }
         },
         "node_modules/cross-fetch": {
@@ -1730,9 +1444,9 @@
             }
         },
         "node_modules/css-functions-list": {
-            "version": "3.1.0",
-            "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.1.0.tgz",
-            "integrity": "sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==",
+            "version": "3.2.0",
+            "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.0.tgz",
+            "integrity": "sha512-d/jBMPyYybkkLVypgtGv12R+pIFw4/f/IHtCTxWpZc8ofTYOPigIgmA6vu5rMHartZC+WuXhBUHfnyNUIQSYrg==",
             "dev": true,
             "engines": {
                 "node": ">=12.22"
@@ -1787,12 +1501,15 @@
             }
         },
         "node_modules/decamelize": {
-            "version": "1.2.0",
-            "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
-            "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
+            "version": "5.0.1",
+            "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz",
+            "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==",
             "dev": true,
             "engines": {
-                "node": ">=0.10.0"
+                "node": ">=10"
+            },
+            "funding": {
+                "url": "https://github.com/sponsors/sindresorhus"
             }
         },
         "node_modules/decamelize-keys": {
@@ -1811,6 +1528,15 @@
                 "url": "https://github.com/sponsors/sindresorhus"
             }
         },
+        "node_modules/decamelize-keys/node_modules/decamelize": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+            "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
+            "dev": true,
+            "engines": {
+                "node": ">=0.10.0"
+            }
+        },
         "node_modules/decamelize-keys/node_modules/map-obj": {
             "version": "1.0.1",
             "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
@@ -1968,118 +1694,6 @@
                 "esbuild-windows-arm64": "0.15.18"
             }
         },
-        "node_modules/esbuild-android-64": {
-            "version": "0.15.18",
-            "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz",
-            "integrity": "sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==",
-            "cpu": [
-                "x64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "android"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/esbuild-android-arm64": {
-            "version": "0.15.18",
-            "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz",
-            "integrity": "sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==",
-            "cpu": [
-                "arm64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "android"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/esbuild-darwin-64": {
-            "version": "0.15.18",
-            "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz",
-            "integrity": "sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==",
-            "cpu": [
-                "x64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "darwin"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/esbuild-darwin-arm64": {
-            "version": "0.15.18",
-            "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz",
-            "integrity": "sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==",
-            "cpu": [
-                "arm64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "darwin"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/esbuild-freebsd-64": {
-            "version": "0.15.18",
-            "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz",
-            "integrity": "sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==",
-            "cpu": [
-                "x64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "freebsd"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/esbuild-freebsd-arm64": {
-            "version": "0.15.18",
-            "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz",
-            "integrity": "sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==",
-            "cpu": [
-                "arm64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "freebsd"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/esbuild-linux-32": {
-            "version": "0.15.18",
-            "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz",
-            "integrity": "sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==",
-            "cpu": [
-                "ia32"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "linux"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
         "node_modules/esbuild-linux-64": {
             "version": "0.15.18",
             "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz",
@@ -2096,198 +1710,6 @@
                 "node": ">=12"
             }
         },
-        "node_modules/esbuild-linux-arm": {
-            "version": "0.15.18",
-            "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz",
-            "integrity": "sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==",
-            "cpu": [
-                "arm"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "linux"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/esbuild-linux-arm64": {
-            "version": "0.15.18",
-            "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz",
-            "integrity": "sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==",
-            "cpu": [
-                "arm64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "linux"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/esbuild-linux-mips64le": {
-            "version": "0.15.18",
-            "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz",
-            "integrity": "sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==",
-            "cpu": [
-                "mips64el"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "linux"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/esbuild-linux-ppc64le": {
-            "version": "0.15.18",
-            "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz",
-            "integrity": "sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==",
-            "cpu": [
-                "ppc64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "linux"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/esbuild-linux-riscv64": {
-            "version": "0.15.18",
-            "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz",
-            "integrity": "sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==",
-            "cpu": [
-                "riscv64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "linux"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/esbuild-linux-s390x": {
-            "version": "0.15.18",
-            "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz",
-            "integrity": "sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==",
-            "cpu": [
-                "s390x"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "linux"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/esbuild-netbsd-64": {
-            "version": "0.15.18",
-            "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz",
-            "integrity": "sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==",
-            "cpu": [
-                "x64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "netbsd"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/esbuild-openbsd-64": {
-            "version": "0.15.18",
-            "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz",
-            "integrity": "sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==",
-            "cpu": [
-                "x64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "openbsd"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/esbuild-sunos-64": {
-            "version": "0.15.18",
-            "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz",
-            "integrity": "sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==",
-            "cpu": [
-                "x64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "sunos"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/esbuild-windows-32": {
-            "version": "0.15.18",
-            "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz",
-            "integrity": "sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==",
-            "cpu": [
-                "ia32"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "win32"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/esbuild-windows-64": {
-            "version": "0.15.18",
-            "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz",
-            "integrity": "sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==",
-            "cpu": [
-                "x64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "win32"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/esbuild-windows-arm64": {
-            "version": "0.15.18",
-            "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz",
-            "integrity": "sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==",
-            "cpu": [
-                "arm64"
-            ],
-            "dev": true,
-            "optional": true,
-            "os": [
-                "win32"
-            ],
-            "engines": {
-                "node": ">=12"
-            }
-        },
         "node_modules/escalade": {
             "version": "3.1.1",
             "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
@@ -2310,16 +1732,16 @@
             }
         },
         "node_modules/eslint": {
-            "version": "8.47.0",
-            "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz",
-            "integrity": "sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==",
+            "version": "8.50.0",
+            "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz",
+            "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==",
             "dev": true,
             "dependencies": {
                 "@eslint-community/eslint-utils": "^4.2.0",
                 "@eslint-community/regexpp": "^4.6.1",
                 "@eslint/eslintrc": "^2.1.2",
-                "@eslint/js": "^8.47.0",
-                "@humanwhocodes/config-array": "^0.11.10",
+                "@eslint/js": "8.50.0",
+                "@humanwhocodes/config-array": "^0.11.11",
                 "@humanwhocodes/module-importer": "^1.0.1",
                 "@nodelib/fs.walk": "^1.2.8",
                 "ajv": "^6.12.4",
@@ -2603,9 +2025,9 @@
             "dev": true
         },
         "node_modules/fast-glob": {
-            "version": "3.2.12",
-            "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
-            "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
+            "version": "3.3.1",
+            "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz",
+            "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==",
             "dev": true,
             "dependencies": {
                 "@nodelib/fs.stat": "^2.0.2",
@@ -2715,22 +2137,23 @@
             }
         },
         "node_modules/flat-cache": {
-            "version": "3.0.4",
-            "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
-            "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
+            "version": "3.1.0",
+            "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz",
+            "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==",
             "dev": true,
             "dependencies": {
-                "flatted": "^3.1.0",
+                "flatted": "^3.2.7",
+                "keyv": "^4.5.3",
                 "rimraf": "^3.0.2"
             },
             "engines": {
-                "node": "^10.12.0 || >=12.0.0"
+                "node": ">=12.0.0"
             }
         },
         "node_modules/flatted": {
-            "version": "3.2.7",
-            "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
-            "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==",
+            "version": "3.2.9",
+            "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz",
+            "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==",
             "dev": true
         },
         "node_modules/for-in": {
@@ -2766,20 +2189,6 @@
             "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
             "dev": true
         },
-        "node_modules/fsevents": {
-            "version": "2.3.2",
-            "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
-            "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
-            "dev": true,
-            "hasInstallScript": true,
-            "optional": true,
-            "os": [
-                "darwin"
-            ],
-            "engines": {
-                "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
-            }
-        },
         "node_modules/function-bind": {
             "version": "1.1.1",
             "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
@@ -2811,9 +2220,9 @@
             }
         },
         "node_modules/get-tsconfig": {
-            "version": "4.6.0",
-            "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.6.0.tgz",
-            "integrity": "sha512-lgbo68hHTQnFddybKbbs/RDRJnJT5YyGy2kQzVwbq+g67X73i+5MVTval34QxGkOe9X5Ujf1UYpCaphLyltjEg==",
+            "version": "4.7.2",
+            "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz",
+            "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==",
             "dev": true,
             "dependencies": {
                 "resolve-pkg-maps": "^1.0.0"
@@ -2831,6 +2240,12 @@
                 "node": ">=0.10.0"
             }
         },
+        "node_modules/gifenc": {
+            "version": "1.0.3",
+            "resolved": "git+ssh://git@github.com/mattdesl/gifenc.git#64842fca317b112a8590f8fef2bf3825da8f6fe3",
+            "integrity": "sha512-TCgWVyjxLxM20WaQQT5neiMbdt2cuFL0BngwxcK8sV9x+M6IF0x3RIETc3VRVxfmRUxzZk+Yfv1b9cLdDnTRIw==",
+            "license": "MIT"
+        },
         "node_modules/glob": {
             "version": "7.2.3",
             "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
@@ -2902,9 +2317,9 @@
             }
         },
         "node_modules/globals": {
-            "version": "13.21.0",
-            "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz",
-            "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==",
+            "version": "13.22.0",
+            "resolved": "https://registry.npmjs.org/globals/-/globals-13.22.0.tgz",
+            "integrity": "sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==",
             "dev": true,
             "dependencies": {
                 "type-fest": "^0.20.2"
@@ -2954,10 +2369,10 @@
             "integrity": "sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==",
             "dev": true
         },
-        "node_modules/grapheme-splitter": {
-            "version": "1.0.4",
-            "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
-            "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
+        "node_modules/graceful-fs": {
+            "version": "4.2.11",
+            "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+            "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
             "dev": true
         },
         "node_modules/graphemer": {
@@ -3145,12 +2560,15 @@
             }
         },
         "node_modules/indent-string": {
-            "version": "4.0.0",
-            "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
-            "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
+            "version": "5.0.0",
+            "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz",
+            "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==",
             "dev": true,
             "engines": {
-                "node": ">=8"
+                "node": ">=12"
+            },
+            "funding": {
+                "url": "https://github.com/sponsors/sindresorhus"
             }
         },
         "node_modules/inflight": {
@@ -3200,9 +2618,9 @@
             "dev": true
         },
         "node_modules/is-core-module": {
-            "version": "2.12.1",
-            "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz",
-            "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==",
+            "version": "2.13.0",
+            "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz",
+            "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==",
             "dev": true,
             "dependencies": {
                 "has": "^1.0.3"
@@ -3381,6 +2799,12 @@
                 "js-yaml": "bin/js-yaml.js"
             }
         },
+        "node_modules/json-buffer": {
+            "version": "3.0.1",
+            "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
+            "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
+            "dev": true
+        },
         "node_modules/json-parse-even-better-errors": {
             "version": "2.3.1",
             "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
@@ -3404,6 +2828,24 @@
             "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
             "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w=="
         },
+        "node_modules/jszip": {
+            "version": "2.7.0",
+            "resolved": "https://registry.npmjs.org/jszip/-/jszip-2.7.0.tgz",
+            "integrity": "sha512-JIsRKRVC3gTRo2vM4Wy9WBC3TRcfnIZU8k65Phi3izkvPH975FowRYtKGT6PxevA0XnJ/yO8b0QwV0ydVyQwfw==",
+            "dev": true,
+            "dependencies": {
+                "pako": "~1.0.2"
+            }
+        },
+        "node_modules/keyv": {
+            "version": "4.5.3",
+            "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz",
+            "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==",
+            "dev": true,
+            "dependencies": {
+                "json-buffer": "3.0.1"
+            }
+        },
         "node_modules/kind-of": {
             "version": "6.0.3",
             "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
@@ -3414,9 +2856,9 @@
             }
         },
         "node_modules/known-css-properties": {
-            "version": "0.27.0",
-            "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.27.0.tgz",
-            "integrity": "sha512-uMCj6+hZYDoffuvAJjFAPz56E9uoowFHmTkqRtRq5WyC5Q6Cu/fTZKNQpX/RbzChBYLLl3lo8CjFZBAZXq9qFg==",
+            "version": "0.28.0",
+            "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.28.0.tgz",
+            "integrity": "sha512-9pSL5XB4J+ifHP0e0jmmC98OGC1nL8/JjS+fi6mnTlIf//yt/MfVLtKg7S6nCtj/8KTcWX7nRlY0XywoYY1ISQ==",
             "dev": true
         },
         "node_modules/levn": {
@@ -3527,35 +2969,35 @@
             "dev": true
         },
         "node_modules/meow": {
-            "version": "9.0.0",
-            "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz",
-            "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==",
+            "version": "10.1.5",
+            "resolved": "https://registry.npmjs.org/meow/-/meow-10.1.5.tgz",
+            "integrity": "sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==",
             "dev": true,
             "dependencies": {
-                "@types/minimist": "^1.2.0",
-                "camelcase-keys": "^6.2.2",
-                "decamelize": "^1.2.0",
+                "@types/minimist": "^1.2.2",
+                "camelcase-keys": "^7.0.0",
+                "decamelize": "^5.0.0",
                 "decamelize-keys": "^1.1.0",
                 "hard-rejection": "^2.1.0",
                 "minimist-options": "4.1.0",
-                "normalize-package-data": "^3.0.0",
-                "read-pkg-up": "^7.0.1",
-                "redent": "^3.0.0",
-                "trim-newlines": "^3.0.0",
-                "type-fest": "^0.18.0",
-                "yargs-parser": "^20.2.3"
+                "normalize-package-data": "^3.0.2",
+                "read-pkg-up": "^8.0.0",
+                "redent": "^4.0.0",
+                "trim-newlines": "^4.0.2",
+                "type-fest": "^1.2.2",
+                "yargs-parser": "^20.2.9"
             },
             "engines": {
-                "node": ">=10"
+                "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
             },
             "funding": {
                 "url": "https://github.com/sponsors/sindresorhus"
             }
         },
         "node_modules/meow/node_modules/type-fest": {
-            "version": "0.18.1",
-            "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz",
-            "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==",
+            "version": "1.4.0",
+            "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz",
+            "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==",
             "dev": true,
             "engines": {
                 "node": ">=10"
@@ -3655,6 +3097,11 @@
                 "node": "*"
             }
         },
+        "node_modules/monaco-editor": {
+            "version": "0.43.0",
+            "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.43.0.tgz",
+            "integrity": "sha512-cnoqwQi/9fml2Szamv1XbSJieGJ1Dc8tENVMD26Kcfl7xGQWp7OBKMjlwKVGYFJ3/AXJjSOGvcqK7Ry/j9BM1Q=="
+        },
         "node_modules/ms": {
             "version": "2.1.2",
             "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -3921,14 +3368,11 @@
                 "url": "https://github.com/sponsors/sindresorhus"
             }
         },
-        "node_modules/p-try": {
-            "version": "2.2.0",
-            "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-            "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-            "dev": true,
-            "engines": {
-                "node": ">=6"
-            }
+        "node_modules/pako": {
+            "version": "1.0.11",
+            "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
+            "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
+            "dev": true
         },
         "node_modules/parent-module": {
             "version": "1.0.1",
@@ -3996,12 +3440,6 @@
                 "node": ">=8"
             }
         },
-        "node_modules/path-parse": {
-            "version": "1.0.7",
-            "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
-            "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
-            "dev": true
-        },
         "node_modules/path-type": {
             "version": "4.0.0",
             "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
@@ -4036,9 +3474,9 @@
             }
         },
         "node_modules/postcss": {
-            "version": "8.4.24",
-            "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz",
-            "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==",
+            "version": "8.4.31",
+            "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz",
+            "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==",
             "dev": true,
             "funding": [
                 {
@@ -4063,12 +3501,6 @@
                 "node": "^10 || ^12 || >=14"
             }
         },
-        "node_modules/postcss-media-query-parser": {
-            "version": "0.2.3",
-            "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz",
-            "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==",
-            "dev": true
-        },
         "node_modules/postcss-resolve-nested-selector": {
             "version": "0.1.1",
             "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz",
@@ -4201,6 +3633,16 @@
                 }
             }
         },
+        "node_modules/q": {
+            "version": "1.5.1",
+            "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
+            "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==",
+            "dev": true,
+            "engines": {
+                "node": ">=0.6.0",
+                "teleport": ">=0.2.0"
+            }
+        },
         "node_modules/queue-microtask": {
             "version": "1.2.3",
             "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
@@ -4222,141 +3664,74 @@
             ]
         },
         "node_modules/quick-lru": {
-            "version": "4.0.1",
-            "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
-            "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==",
+            "version": "5.1.1",
+            "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
+            "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
             "dev": true,
             "engines": {
-                "node": ">=8"
+                "node": ">=10"
+            },
+            "funding": {
+                "url": "https://github.com/sponsors/sindresorhus"
             }
         },
         "node_modules/read-pkg": {
-            "version": "5.2.0",
-            "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
-            "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
+            "version": "6.0.0",
+            "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz",
+            "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==",
             "dev": true,
             "dependencies": {
                 "@types/normalize-package-data": "^2.4.0",
-                "normalize-package-data": "^2.5.0",
-                "parse-json": "^5.0.0",
-                "type-fest": "^0.6.0"
-            },
-            "engines": {
-                "node": ">=8"
-            }
-        },
-        "node_modules/read-pkg-up": {
-            "version": "7.0.1",
-            "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
-            "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
-            "dev": true,
-            "dependencies": {
-                "find-up": "^4.1.0",
-                "read-pkg": "^5.2.0",
-                "type-fest": "^0.8.1"
+                "normalize-package-data": "^3.0.2",
+                "parse-json": "^5.2.0",
+                "type-fest": "^1.0.1"
             },
             "engines": {
-                "node": ">=8"
+                "node": ">=12"
             },
             "funding": {
                 "url": "https://github.com/sponsors/sindresorhus"
             }
         },
-        "node_modules/read-pkg-up/node_modules/find-up": {
-            "version": "4.1.0",
-            "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-            "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-            "dev": true,
-            "dependencies": {
-                "locate-path": "^5.0.0",
-                "path-exists": "^4.0.0"
-            },
-            "engines": {
-                "node": ">=8"
-            }
-        },
-        "node_modules/read-pkg-up/node_modules/locate-path": {
-            "version": "5.0.0",
-            "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-            "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-            "dev": true,
-            "dependencies": {
-                "p-locate": "^4.1.0"
-            },
-            "engines": {
-                "node": ">=8"
-            }
-        },
-        "node_modules/read-pkg-up/node_modules/p-limit": {
-            "version": "2.3.0",
-            "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-            "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+        "node_modules/read-pkg-up": {
+            "version": "8.0.0",
+            "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz",
+            "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==",
             "dev": true,
             "dependencies": {
-                "p-try": "^2.0.0"
+                "find-up": "^5.0.0",
+                "read-pkg": "^6.0.0",
+                "type-fest": "^1.0.1"
             },
             "engines": {
-                "node": ">=6"
+                "node": ">=12"
             },
             "funding": {
                 "url": "https://github.com/sponsors/sindresorhus"
             }
         },
-        "node_modules/read-pkg-up/node_modules/p-locate": {
-            "version": "4.1.0",
-            "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-            "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-            "dev": true,
-            "dependencies": {
-                "p-limit": "^2.2.0"
-            },
-            "engines": {
-                "node": ">=8"
-            }
-        },
         "node_modules/read-pkg-up/node_modules/type-fest": {
-            "version": "0.8.1",
-            "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
-            "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+            "version": "1.4.0",
+            "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz",
+            "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==",
             "dev": true,
             "engines": {
-                "node": ">=8"
-            }
-        },
-        "node_modules/read-pkg/node_modules/hosted-git-info": {
-            "version": "2.8.9",
-            "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
-            "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
-            "dev": true
-        },
-        "node_modules/read-pkg/node_modules/normalize-package-data": {
-            "version": "2.5.0",
-            "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
-            "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
-            "dev": true,
-            "dependencies": {
-                "hosted-git-info": "^2.1.4",
-                "resolve": "^1.10.0",
-                "semver": "2 || 3 || 4 || 5",
-                "validate-npm-package-license": "^3.0.1"
-            }
-        },
-        "node_modules/read-pkg/node_modules/semver": {
-            "version": "5.7.1",
-            "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-            "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-            "dev": true,
-            "bin": {
-                "semver": "bin/semver"
+                "node": ">=10"
+            },
+            "funding": {
+                "url": "https://github.com/sponsors/sindresorhus"
             }
         },
         "node_modules/read-pkg/node_modules/type-fest": {
-            "version": "0.6.0",
-            "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
-            "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+            "version": "1.4.0",
+            "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz",
+            "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==",
             "dev": true,
             "engines": {
-                "node": ">=8"
+                "node": ">=10"
+            },
+            "funding": {
+                "url": "https://github.com/sponsors/sindresorhus"
             }
         },
         "node_modules/readable-stream": {
@@ -4374,16 +3749,19 @@
             }
         },
         "node_modules/redent": {
-            "version": "3.0.0",
-            "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
-            "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
+            "version": "4.0.0",
+            "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz",
+            "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==",
             "dev": true,
             "dependencies": {
-                "indent-string": "^4.0.0",
-                "strip-indent": "^3.0.0"
+                "indent-string": "^5.0.0",
+                "strip-indent": "^4.0.0"
             },
             "engines": {
-                "node": ">=8"
+                "node": ">=12"
+            },
+            "funding": {
+                "url": "https://github.com/sponsors/sindresorhus"
             }
         },
         "node_modules/regex-not": {
@@ -4417,23 +3795,6 @@
                 "node": ">=0.10.0"
             }
         },
-        "node_modules/resolve": {
-            "version": "1.22.2",
-            "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz",
-            "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==",
-            "dev": true,
-            "dependencies": {
-                "is-core-module": "^2.11.0",
-                "path-parse": "^1.0.7",
-                "supports-preserve-symlinks-flag": "^1.0.0"
-            },
-            "bin": {
-                "resolve": "bin/resolve"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/ljharb"
-            }
-        },
         "node_modules/resolve-from": {
             "version": "4.0.0",
             "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
@@ -4546,9 +3907,9 @@
             }
         },
         "node_modules/semver": {
-            "version": "7.5.2",
-            "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz",
-            "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==",
+            "version": "7.5.4",
+            "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+            "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
             "dev": true,
             "dependencies": {
                 "lru-cache": "^6.0.0"
@@ -4618,9 +3979,9 @@
             }
         },
         "node_modules/signal-exit": {
-            "version": "4.0.2",
-            "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.2.tgz",
-            "integrity": "sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q==",
+            "version": "4.1.0",
+            "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+            "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
             "dev": true,
             "engines": {
                 "node": ">=14"
@@ -4878,9 +4239,9 @@
             }
         },
         "node_modules/spdx-license-ids": {
-            "version": "3.0.13",
-            "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz",
-            "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==",
+            "version": "3.0.15",
+            "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.15.tgz",
+            "integrity": "sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ==",
             "dev": true
         },
         "node_modules/split-string": {
@@ -5036,15 +4397,18 @@
             }
         },
         "node_modules/strip-indent": {
-            "version": "3.0.0",
-            "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
-            "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
+            "version": "4.0.0",
+            "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz",
+            "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==",
             "dev": true,
             "dependencies": {
-                "min-indent": "^1.0.0"
+                "min-indent": "^1.0.1"
             },
             "engines": {
-                "node": ">=8"
+                "node": ">=12"
+            },
+            "funding": {
+                "url": "https://github.com/sponsors/sindresorhus"
             }
         },
         "node_modules/strip-json-comments": {
@@ -5066,22 +4430,22 @@
             "dev": true
         },
         "node_modules/stylelint": {
-            "version": "15.8.0",
-            "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.8.0.tgz",
-            "integrity": "sha512-x9qBk84F3MEjMEUNCE7MtWmfj9G9y5XzJ0cpQeJdy2l/IoqjC8Ih0N0ytmOTnXE4Yv0J7I1cmVRQUVNSPCxTsA==",
+            "version": "15.10.3",
+            "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.10.3.tgz",
+            "integrity": "sha512-aBQMMxYvFzJJwkmg+BUUg3YfPyeuCuKo2f+LOw7yYbU8AZMblibwzp9OV4srHVeQldxvSFdz0/Xu8blq2AesiA==",
             "dev": true,
             "dependencies": {
-                "@csstools/css-parser-algorithms": "^2.2.0",
-                "@csstools/css-tokenizer": "^2.1.1",
-                "@csstools/media-query-list-parser": "^2.1.0",
-                "@csstools/selector-specificity": "^2.2.0",
+                "@csstools/css-parser-algorithms": "^2.3.1",
+                "@csstools/css-tokenizer": "^2.2.0",
+                "@csstools/media-query-list-parser": "^2.1.4",
+                "@csstools/selector-specificity": "^3.0.0",
                 "balanced-match": "^2.0.0",
                 "colord": "^2.9.3",
                 "cosmiconfig": "^8.2.0",
-                "css-functions-list": "^3.1.0",
+                "css-functions-list": "^3.2.0",
                 "css-tree": "^2.3.1",
                 "debug": "^4.3.4",
-                "fast-glob": "^3.2.12",
+                "fast-glob": "^3.3.1",
                 "fastest-levenshtein": "^1.0.16",
                 "file-entry-cache": "^6.0.1",
                 "global-modules": "^2.0.0",
@@ -5092,14 +4456,13 @@
                 "import-lazy": "^4.0.0",
                 "imurmurhash": "^0.1.4",
                 "is-plain-object": "^5.0.0",
-                "known-css-properties": "^0.27.0",
+                "known-css-properties": "^0.28.0",
                 "mathml-tag-names": "^2.1.3",
-                "meow": "^9.0.0",
+                "meow": "^10.1.5",
                 "micromatch": "^4.0.5",
                 "normalize-path": "^3.0.0",
                 "picocolors": "^1.0.0",
-                "postcss": "^8.4.24",
-                "postcss-media-query-parser": "^0.2.3",
+                "postcss": "^8.4.27",
                 "postcss-resolve-nested-selector": "^0.1.1",
                 "postcss-safe-parser": "^6.0.0",
                 "postcss-selector-parser": "^6.0.13",
@@ -5114,7 +4477,7 @@
                 "write-file-atomic": "^5.0.1"
             },
             "bin": {
-                "stylelint": "bin/stylelint.js"
+                "stylelint": "bin/stylelint.mjs"
             },
             "engines": {
                 "node": "^14.13.1 || >=16.0.0"
@@ -5194,18 +4557,6 @@
                 "node": ">=14.18"
             }
         },
-        "node_modules/supports-preserve-symlinks-flag": {
-            "version": "1.0.0",
-            "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
-            "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
-            "dev": true,
-            "engines": {
-                "node": ">= 0.4"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/ljharb"
-            }
-        },
         "node_modules/svg-tags": {
             "version": "1.0.0",
             "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
@@ -5357,12 +4708,15 @@
             "dev": true
         },
         "node_modules/trim-newlines": {
-            "version": "3.0.1",
-            "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
-            "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==",
+            "version": "4.1.1",
+            "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.1.1.tgz",
+            "integrity": "sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==",
             "dev": true,
             "engines": {
-                "node": ">=8"
+                "node": ">=12"
+            },
+            "funding": {
+                "url": "https://github.com/sponsors/sindresorhus"
             }
         },
         "node_modules/tslib": {
@@ -5387,20 +4741,57 @@
             }
         },
         "node_modules/tsx": {
-            "version": "3.12.7",
-            "resolved": "https://registry.npmjs.org/tsx/-/tsx-3.12.7.tgz",
-            "integrity": "sha512-C2Ip+jPmqKd1GWVQDvz/Eyc6QJbGfE7NrR3fx5BpEHMZsEHoIxHL1j+lKdGobr8ovEyqeNkPLSKp6SCSOt7gmw==",
+            "version": "3.13.0",
+            "resolved": "https://registry.npmjs.org/tsx/-/tsx-3.13.0.tgz",
+            "integrity": "sha512-rjmRpTu3as/5fjNq/kOkOtihgLxuIz6pbKdj9xwP4J5jOLkBxw/rjN5ANw+KyrrOXV5uB7HC8+SrrSJxT65y+A==",
             "dev": true,
             "dependencies": {
-                "@esbuild-kit/cjs-loader": "^2.4.2",
-                "@esbuild-kit/core-utils": "^3.0.0",
-                "@esbuild-kit/esm-loader": "^2.5.5"
+                "esbuild": "~0.18.20",
+                "get-tsconfig": "^4.7.2",
+                "source-map-support": "^0.5.21"
+            },
+            "bin": {
+                "tsx": "dist/cli.mjs"
             },
+            "optionalDependencies": {
+                "fsevents": "~2.3.3"
+            }
+        },
+        "node_modules/tsx/node_modules/esbuild": {
+            "version": "0.18.20",
+            "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz",
+            "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==",
+            "dev": true,
+            "hasInstallScript": true,
             "bin": {
-                "tsx": "dist/cli.js"
+                "esbuild": "bin/esbuild"
+            },
+            "engines": {
+                "node": ">=12"
             },
             "optionalDependencies": {
-                "fsevents": "~2.3.2"
+                "@esbuild/android-arm": "0.18.20",
+                "@esbuild/android-arm64": "0.18.20",
+                "@esbuild/android-x64": "0.18.20",
+                "@esbuild/darwin-arm64": "0.18.20",
+                "@esbuild/darwin-x64": "0.18.20",
+                "@esbuild/freebsd-arm64": "0.18.20",
+                "@esbuild/freebsd-x64": "0.18.20",
+                "@esbuild/linux-arm": "0.18.20",
+                "@esbuild/linux-arm64": "0.18.20",
+                "@esbuild/linux-ia32": "0.18.20",
+                "@esbuild/linux-loong64": "0.18.20",
+                "@esbuild/linux-mips64el": "0.18.20",
+                "@esbuild/linux-ppc64": "0.18.20",
+                "@esbuild/linux-riscv64": "0.18.20",
+                "@esbuild/linux-s390x": "0.18.20",
+                "@esbuild/linux-x64": "0.18.20",
+                "@esbuild/netbsd-x64": "0.18.20",
+                "@esbuild/openbsd-x64": "0.18.20",
+                "@esbuild/sunos-x64": "0.18.20",
+                "@esbuild/win32-arm64": "0.18.20",
+                "@esbuild/win32-ia32": "0.18.20",
+                "@esbuild/win32-x64": "0.18.20"
             }
         },
         "node_modules/type-check": {
@@ -5416,9 +4807,9 @@
             }
         },
         "node_modules/type-fest": {
-            "version": "3.12.0",
-            "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.12.0.tgz",
-            "integrity": "sha512-qj9wWsnFvVEMUDbESiilKeXeHL7FwwiFcogfhfyjmvT968RXSvnl23f1JOClTHYItsi7o501C/7qVllscUP3oA==",
+            "version": "3.13.1",
+            "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz",
+            "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==",
             "dev": true,
             "engines": {
                 "node": ">=14.16"
@@ -5428,9 +4819,9 @@
             }
         },
         "node_modules/typescript": {
-            "version": "5.1.3",
-            "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz",
-            "integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==",
+            "version": "5.2.2",
+            "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz",
+            "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==",
             "dev": true,
             "bin": {
                 "tsc": "bin/tsc",
@@ -5738,6 +5129,18 @@
             "funding": {
                 "url": "https://github.com/sponsors/sindresorhus"
             }
+        },
+        "node_modules/zip-local": {
+            "version": "0.3.5",
+            "resolved": "https://registry.npmjs.org/zip-local/-/zip-local-0.3.5.tgz",
+            "integrity": "sha512-GRV3D5TJY+/PqyeRm5CYBs7xVrKTKzljBoEXvocZu0HJ7tPEcgpSOYa2zFIsCZWgKWMuc4U3yMFgFkERGFIB9w==",
+            "dev": true,
+            "dependencies": {
+                "async": "^1.4.2",
+                "graceful-fs": "^4.1.3",
+                "jszip": "^2.6.1",
+                "q": "^1.4.1"
+            }
         }
     }
 }