code: def _download(
      url: str, root: str, in_memory: bool
  ) -> Union[bytes, str]:
      os.makedirs(root, exist_ok=True)
  
      expected_sha256 = url.split("/")[-2]
      download_target = os.path.join(root, os.path.basename(url))
  
      if os.path.exists(download_target) and not os.path.isfile(
          download_target
      ):
          raise RuntimeError(
              f"{download_target} exists and is not a regular file"
          )
  
      if os.path.isfile(download_target):
          with open(download_target, "rb") as f:
              model_bytes = f.read()
          if hashlib.sha256(model_bytes).hexdigest() == expected_sha256:
              return model_bytes if in_memory else download_target
          else:
              warnings.warn(
                  f"{download_target} exists, but the SHA256 checksum does not match; re-downloading the file"
              )
  
      with urllib.request.urlopen(url) as source, open(
          download_target, "wb"
      ) as output:
          with tqdm(
              total=int(source.info().get("Content-Length")),
              ncols=80,
              unit="iB",
              unit_scale=True,
              unit_divisor=1024,
          ) as loop:
              while True:
                  buffer = source.read(8192)
                  if not buffer:
                      break
  
                  output.write(buffer)
                  loop.update(len(buffer))
  
      model_bytes = open(download_target, "rb").read()
      if hashlib.sha256(model_bytes).hexdigest() != expected_sha256:
          raise RuntimeError(
              "Model has been downloaded but the SHA256 checksum does not not match. Please retry loading the model."
          )
  
      return model_bytes if in_memory else download_target
  
file_path: whisper/whisper/__init__.py
imports: import hashlib
  import io
  import os
  import urllib
  import warnings
  from typing import List, Optional, Union
  import torch
  from tqdm import tqdm
  from .audio import load_audio, log_mel_spectrogram, pad_or_trim
  from .decoding import DecodingOptions, DecodingResult, decode, detect_language
  from .model import ModelDimensions, Whisper
  from .transcribe import transcribe
  from .version import __version__
label_desc: Use image node_id 1 for calling a global function with example usage: _download(url, root, in_memory) and returns: unknown, unknown