          cudnn_path = cudnn_path.replace("lib", "include")
          cudnn_checkfiles = [os.path.join(cudnn_path, header) for header in header_files]
          return cudnn_checkfiles
  
      def _get_checkfiles_windows(self):
          """ Return the check-file locations for Windows. Just looks inside the include folder of
          the discovered :attr:`cuda_path`
  
          Returns
          -------
 
</s> remove     def _get_checkfiles_linux(self):
 </s> add     def _get_checkfiles_linux(self) -> List[str]: </s> remove     def __init__(self):
        self.cuda_path = None
        self.cuda_version = None
        self.cudnn_version = None
 </s> add     def __init__(self) -> None:
        self.cuda_path: Optional[str] = None
        self.cuda_version: Optional[str] = None
        self.cudnn_version: Optional[str] = None </s> remove     def _cuda_check(self):
 </s> add     def _cuda_check(self) -> None: </s> remove     def _cuda_check_linux(self):
 </s> add     def _cuda_check_linux(self) -> None: </s> remove         self._os = platform.system().lower()
        self._cuda_keys = [key for key in os.environ if key.lower().startswith("cuda_path_v")]
        self._cudnn_header_files = ["cudnn_version.h", "cudnn.h"]
 </s> add         self._os: str = platform.system().lower()
        self._cuda_keys: List[str] = [key
                                      for key in os.environ
                                      if key.lower().startswith("cuda_path_v")]
        self._cudnn_header_files: List[str] = ["cudnn_version.h", "cudnn.h"]
    def _get_checkfiles_windows(self) -> List[str]:
          cudnn_path = cudnn_path.replace("lib", "include")
          cudnn_checkfiles = [os.path.join(cudnn_path, header) for header in header_files]
          return cudnn_checkfiles
  
    def _get_checkfiles_windows(self) -> List[str]:
          """ Return the check-file locations for Windows. Just looks inside the include folder of
          the discovered :attr:`cuda_path`
  
          Returns
          -------
keep keep keep keep replace keep keep keep keep keep
 pin protobuf

Setup: automatically detect for apple-silicon 
setup.py