code: def serialize(self, private=False):
          
          if self.priv_key:
              self._serialize(self.priv_key)
          else:
              self._serialize(self.pub_key)
  
          res = self.common()
  
          res.update({
              "crv": self.crv,
              "x": self.x,
              "y": self.y
          })
  
          if private and self.d:
              res["d"] = self.d
  
          return res
docs: Go from a
          cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKey
          or EllipticCurvePublicKey instance to a JWK representation.
  
          :param private: Whether we should include the private attributes or not.
          :return: A JWK as a dictionary