      def __init__(self, output_folder: str, **kwargs) -> None:
          super().__init__(output_folder, **kwargs)
          self._check_transparency_format()
          # Correct format namings for writing to byte stream
          self._format_dict = dict(jpg="JPEG", jp2="JPEG 2000", tif="TIFF")
          self._separate_mask = self.config["draw_transparent"] and self.config["separate_mask"]
          self._kwargs = self._get_save_kwargs()
  
      def _check_transparency_format(self) -> None:
          """ Make sure that the output format is correct if draw_transparent is selected """
 
</s> remove                  frame_ranges: Optional[List[Tuple[int, int]]],
 </s> add                  frame_ranges: list[tuple[int, int]] | None, </s> remove     def _move_faces(self, output_folder: str, items_output: List[Tuple[str, int]]) -> None:
 </s> add     def _move_faces(self, output_folder: str, items_output: list[tuple[str, int]]) -> None: </s> remove         self._display: Optional[PreviewTk] = None
 </s> add         self._display: PreviewTk | None = None </s> remove         self._level_colors = dict(CRITICAL="\033[31m",  # red
                                  ERROR="\033[31m",  # red
                                  WARNING="\033[33m",  # yellow
                                  INFO="\033[32m",  # green
                                  VERBOSE="\033[34m")  # blue
 </s> add         self._level_colors = {"CRITICAL": "\033[31m",  # red
                              "ERROR": "\033[31m",  # red
                              "WARNING": "\033[33m",  # yellow
                              "INFO": "\033[32m",  # green
                              "VERBOSE": "\033[34m"}  # blue </s> remove     def _get_save_kwargs(self) -> Dict[str, Union[bool, int, str]]:
 </s> add     def _get_save_kwargs(self) -> dict[str, bool | int | str]:
        self._format_dict = {"jpg": "JPEG", "jp2": "JPEG 2000", "tif": "TIFF"}
      def __init__(self, output_folder: str, **kwargs) -> None:
          super().__init__(output_folder, **kwargs)
          self._check_transparency_format()
          # Correct format namings for writing to byte stream
        self._format_dict = {"jpg": "JPEG", "jp2": "JPEG 2000", "tif": "TIFF"}
          self._separate_mask = self.config["draw_transparent"] and self.config["separate_mask"]
          self._kwargs = self._get_save_kwargs()
  
      def _check_transparency_format(self) -> None:
          """ Make sure that the output format is correct if draw_transparent is selected """
keep keep keep keep replace keep keep keep keep keep
 Rebase code (#1326)

* Remove tensorflow_probability requirement

* setup.py - fix progress bars

* requirements.txt: Remove pre python 3.9 packages

* update apple requirements.txt

* update INSTALL.md

* Remove python<3.9 code

* setup.py - fix Windows Installer

* typing: python3.9 compliant

* Update pytest and readthedocs python versions

* typing fixes

* Python Version updates
  - Reduce max version to 3.10
  - Default to 3.10 in installers
  - Remove incompatible 3.11 tests

* Update dependencies

* Downgrade imageio dep for Windows

* typing: merge optional unions and fixes

* Updates
  - min python version 3.10
  - typing to python 3.10 spec
  - remove pre-tf2.10 code
  - Add conda tests

* train: re-enable optimizer saving

* Update dockerfiles

* Update setup.py
  - Apple Conda deps to setup.py
  - Better Cuda + dependency handling

* bugfix: Patch logging to prevent Autograph errors

* Update dockerfiles

* Setup.py - Setup.py - stdout to utf-8

* Add more OSes to github Actions

* suppress mac-os end to end test 
plugins/convert/writer/pillow.py