                                  "Specify a trainer with the '-t', '--trainer' option.")
          logger.debug("Trainer from state file: '%s'", trainer)
          return trainer
  
      def _launch_predictor(self):
          """ Launch the prediction process in a background thread.
  
          Starts the prediction thread and returns the thread.
  
          Returns
 
</s> remove         statefile = [fname for fname in os.listdir(str(model_dir))
                     if fname.endswith("_state.json")]
        if len(statefile) != 1:
            raise FaceswapError("There should be 1 state file in your model folder. {} were "
                                "found. Specify a trainer with the '-t', '--trainer' "
                                "option.".format(len(statefile)))
        statefile = os.path.join(str(model_dir), statefile[0])
 </s> add         statefiles = [fname for fname in os.listdir(str(model_dir))
                      if fname.endswith("_state.json")]
        if len(statefiles) != 1:
            raise FaceswapError("There should be 1 state file in your model folder. "
                                f"{len(statefiles)} were found. Specify a trainer with the '-t', "
                                "'--trainer' option.")
        statefile = os.path.join(str(model_dir), statefiles[0]) </s> remove     def _predict_faces(self):
 </s> add     def _predict_faces(self) -> None: </s> remove     def thread(self):
 </s> add     def thread(self) -> MultiThread: </s> remove     def _save(self, completion_event):
 </s> add     def _save(self, completion_event: Event) -> None: </s> remove     def generate(self):
 </s> add     def generate(self) -> None:
    def _launch_predictor(self) -> MultiThread:
                                  "Specify a trainer with the '-t', '--trainer' option.")
          logger.debug("Trainer from state file: '%s'", trainer)
          return trainer
  
    def _launch_predictor(self) -> MultiThread:
          """ Launch the prediction process in a background thread.
  
          Starts the prediction thread and returns the thread.
  
          Returns
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 
scripts/convert.py