code: def try_multiple_dec_s3(func):
      """An S3 specific adapter to @try_multiple_dec
  
      To decorate func to try multiple times after some sleep upon encountering
      some intermittent error from S3
      """
      return try_multiple_dec(
          ntrials=4,
          duration=2.0,
          increment_type="exponential",
          exceptions=S3ResponseError,
          exceptions_filter=_check_S3ResponseError,
          logger=lgr.debug,
      )(func)
  
imports: import mimetypes
  from os.path import splitext
  import re
  from datalad.support.network import urlquote, URL
  import logging
  import datalad.log
  from datalad.support.exceptions import CapturedException, DownloadError, AccessDeniedError, AccessPermissionExpiredError, AnonymousAccessDeniedError
  from datalad.utils import try_multiple_dec
  from urllib.request import urlopen, Request
label_desc: Use image node_id 4 for calling a global function with example usage: try_multiple_dec_s3(func) and returns: try_multiple_dec