code: def native(self):
          
  
          if self.contents is None:
              return None
  
          if self._native is None:
              byte_string = self.__bytes__()
              byte_len = len(byte_string)
              cidr_int = None
              if byte_len in set([32, 16]):
                  value = inet_ntop(socket.AF_INET6, byte_string[0:16])
                  if byte_len > 16:
                      cidr_int = int_from_bytes(byte_string[16:])
              elif byte_len in set([8, 4]):
                  value = inet_ntop(socket.AF_INET, byte_string[0:4])
                  if byte_len > 4:
                      cidr_int = int_from_bytes(byte_string[4:])
              if cidr_int is not None:
                  cidr_bits = '{0:b}'.format(cidr_int)
                  cidr = len(cidr_bits.rstrip('0'))
                  value = value + '/' + str_cls(cidr)
              self._native = value
          return self._native
docs: The native Python datatype representation of this value
  
          :return:
              A unicode string or None