code: def decode_name_zonefile(name, zonefile_txt):
      
  
      user_zonefile = None
      try:
          # by default, it's a zonefile-formatted text file
          user_zonefile_defaultdict = blockstack_zones.parse_zone_file(zonefile_txt)
  
          # force dict
          user_zonefile = dict(user_zonefile_defaultdict)
  
      except (IndexError, ValueError, blockstack_zones.InvalidLineException):
          # might be legacy profile
          log.debug('WARN: failed to parse user zonefile; trying to import as legacy')
          try:
              user_zonefile = json.loads(zonefile_txt)
              if not isinstance(user_zonefile, dict):
                  log.debug('Not a legacy user zonefile')
                  return None
  
          except Exception as e:
              log.error('Failed to parse non-standard zonefile')
              return None
  
      except Exception as e:
          if BLOCKSTACK_DEBUG:
              log.exception(e)
  
          log.error('Failed to parse zonefile')
          return None
  
      if user_zonefile is None:
          return None 
  
      return user_zonefile
docs: Decode a zone file for a name.
      Must be either a well-formed DNS zone file, or a legacy Onename profile.
      Return None on error