          >>> model_downloader.model_path
          '/path/to/s3fd_keras_v2.h5'
          """
          paths = [os.path.join(self._cache_dir, fname) for fname in self._model_filename]
          retval: Union[str, List[str]] = paths[0] if len(paths) == 1 else paths
          self.logger.trace(retval)  # type:ignore[attr-defined]
          return retval
  
      @property
      def _model_zip_path(self) -> str:
 
</s> remove     def model_path(self) -> Union[str, List[str]]:
 </s> add     def model_path(self) -> str | list[str]: </s> remove         data = dict(source=dict(source_filename=src_filename,
                                face_index=src_face_idx))
        seen: Dict[str, List[int]] = {}
 </s> add         data = {"source": {"source_filename": src_filename,
                           "face_index": src_face_idx}}
        seen: dict[str, list[int]] = {} </s> remove         retval: List[str] = []
 </s> add         retval: list[str] = [] </s> remove         retval: List[List[str]] = []
 </s> add         retval: list[list[str]] = [] </s> remove     allparts: List[str] = []
 </s> add     allparts: list[str] = []
        retval: str | list[str] = paths[0] if len(paths) == 1 else paths
          >>> model_downloader.model_path
          '/path/to/s3fd_keras_v2.h5'
          """
          paths = [os.path.join(self._cache_dir, fname) for fname in self._model_filename]
        retval: str | list[str] = paths[0] if len(paths) == 1 else paths
          self.logger.trace(retval)  # type:ignore[attr-defined]
          return retval
  
      @property
      def _model_zip_path(self) -> str:
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 
lib/utils.py