code: def overwrites(self):
          
          ret = {}
          for ow in self._overwrites:
              allow = Permissions(ow.allow)
              deny = Permissions(ow.deny)
              overwrite = PermissionOverwrite.from_pair(allow, deny)
  
              if ow.type == 'role':
                  target = self.guild.get_role(ow.id)
              elif ow.type == 'member':
                  target = self.guild.get_member(ow.id)
  
              # TODO: There is potential data loss here in the non-chunked
              # case, i.e. target is None because get_member returned nothing.
              # This can be fixed with a slight breaking change to the return type,
              # i.e. adding discord.Object to the list of it
              # However, for now this is an acceptable compromise.
              if target is not None:
                  ret[target] = overwrite
          return ret
docs: Returns all of the channel's overwrites.
  
          This is returned as a dictionary where the key contains the target which
          can be either a :class:`Role` or a :class:`Member` and the key is the
          overwrite as a :class:`PermissionOverwrite`.
  
          Returns
          --------
          Mapping[Union[:class:`Role`, :class:`Member`], :class:`PermissionOverwrite`]:
              The channel's permission overwrites.