          batch_required = sum([plugin.vram_per_batch * plugin.batchsize
                                for plugin in self._active_plugins])
          gpu_plugins = [p for p in self._current_phase if self._vram_per_phase[p] > 0]
          scaling = self._parallel_scaling.get(len(gpu_plugins), self._scaling_fallback)
          plugins_required = sum([self._vram_per_phase[p] for p in gpu_plugins]) * scaling
          if plugins_required + batch_required <= self._vram_stats["vram_free"]:
              logger.debug("Plugin requirements within threshold: (plugins_required: %sMB, "
                           "vram_free: %sMB)", plugins_required, self._vram_stats["vram_free"])
              return
          # Hacky split across plugins that use vram
 
</s> remove         batch_required = sum([plugin.vram_per_batch * plugin.batchsize
                              for plugin in self._active_plugins])
 </s> add         batch_required = sum(plugin.vram_per_batch * plugin.batchsize
                             for plugin in self._active_plugins) </s> remove         if sum([plugin.vram for plugin in self._active_plugins]) == 0:
 </s> add         if sum(plugin.vram for plugin in self._active_plugins) == 0: </s> remove         logger.trace("source frame: %s", frame.shape)
 </s> add         logger.trace("source frame: %s", frame.shape)  # type: ignore </s> remove         logger.trace("resized frame: %s", frame.shape)
 </s> add         logger.trace("resized frame: %s", frame.shape)  # type: ignore </s> remove                      self._faces["filenames"], text_sizes, text_x, text_y)
 </s> add                      self._faces.filenames, text_sizes, text_x, text_y)
        plugins_required = sum(self._vram_per_phase[p] for p in gpu_plugins) * scaling
          batch_required = sum([plugin.vram_per_batch * plugin.batchsize
                                for plugin in self._active_plugins])
          gpu_plugins = [p for p in self._current_phase if self._vram_per_phase[p] > 0]
          scaling = self._parallel_scaling.get(len(gpu_plugins), self._scaling_fallback)
        plugins_required = sum(self._vram_per_phase[p] for p in gpu_plugins) * scaling
          if plugins_required + batch_required <= self._vram_stats["vram_free"]:
              logger.debug("Plugin requirements within threshold: (plugins_required: %sMB, "
                           "vram_free: %sMB)", plugins_required, self._vram_stats["vram_free"])
              return
          # Hacky split across plugins that use vram
keep keep keep keep replace keep keep keep keep keep
 Bugfix: convert - Gif Writer
  - Fix non-launch error on Gif Writer
  - convert plugins - linting
  - convert/fs_media/preview/queue_manager - typing
  - Change convert items from dict to Dataclass 
plugins/extract/pipeline.py