code: def retrieve_crls(self, cert):
          
  
          if not self._allow_fetching:
              return self._crls
  
          if cert.issuer_serial not in self._fetched_crls:
              try:
                  crls = crl_client.fetch(
                      cert,
                      **self._crl_fetch_params
                  )
                  self._fetched_crls[cert.issuer_serial] = crls
                  for crl_ in crls:
                      try:
                          certs = crl_client.fetch_certs(
                              crl_,
                              user_agent=self._crl_fetch_params.get('user_agent'),
                              timeout=self._crl_fetch_params.get('timeout')
                          )
                          for cert_ in certs:
                              if self.certificate_registry.add_other_cert(cert_):
                                  self._revocation_certs[cert_.issuer_serial] = cert_
                      except (URLError, socket.error):
                          pass
              except (URLError, socket.error) as e:
                  self._fetched_crls[cert.issuer_serial] = []
                  if self._revocation_mode == "soft-fail":
                      self._soft_fail_exceptions.append(e)
                      raise SoftFailError()
                  else:
                      raise
  
          return self._fetched_crls[cert.issuer_serial]
docs: :param cert:
              An asn1crypto.x509.Certificate object
  
          :param path:
              A certvalidator.path.ValidationPath object for the cert
  
          :return:
              A list of asn1crypto.crl.CertificateList objects