code: def CPHASE00(angle, control, target):
      
      qubits = [unpack_qubit(q) for q in (control, target)]
      return Gate(name="CPHASE00", params=[angle], qubits=qubits)
docs: Produces a controlled-phase gate that phases the ``|00>`` state::
  
          CPHASE00(phi) = diag([exp(1j * phi), 1, 1, 1])
  
      This gate applies to two qubit arguments to produce the variant of the controlled phase
      instruction that affects the state 00.
  
      :param angle: The input phase angle to apply when both qubits are in the ``|0>`` state.
      :param control: Qubit 1.
      :param target: Qubit 2.
      :returns: A Gate object.