§
    ¹³ÙgH  ã                   ó@   — d Z ddlZddlZddlmZ  G d„ d¦  «        ZdS )z(
Quantum bit and Classical bit objects.
é    N)ÚCircuitErrorc                   óH   — e Zd ZdZh d£Zdd„Zd„ Zd„ Zd„ Zd„ Z	d	„ Z
dd
„ZdS )ÚBitz¹Implement a generic bit.

    .. note::
        This class should not be instantiated directly. This is just a superclass
        for :class:`~.Clbit` and :class:`~.circuit.Qubit`.
    >   Ú_hashÚ_reprÚ_indexÚ	_registerNc                 óü  — ||fdk    r/d| _         d| _        t                               | ¦  «        | _        dS 	 t          |¦  «        }n3# t          $ r&}t          dt          |¦  «        › d�¦  «        |‚d}~ww xY w|dk     r
||j	        z  }||j	        k    rt          d|› d�¦  «        ‚|| _         || _        t          | j         | j        f¦  «        | _        | j        j        › d| j         › d| j        › d	�| _        dS )
zCreate a new generic bit.©NNNz+index needs to be castable to an int: type z was providedr   z.index must be under the size of the register: ú(z, ú))r	   r   ÚobjectÚ__hash__r   ÚintÚ	Exceptionr   ÚtypeÚsizeÚhashÚ	__class__Ú__name__r   )ÚselfÚregisterÚindexÚexs       úH/granary/edev/quantum/lib/python3.11/site-packages/qiskit/circuit/bit.pyÚ__init__zBit.__init__    s,  € à�eÐ Ò,Ð,Ø!ˆDŒNØˆDŒKõ  Ÿš¨Ñ.Ô.ˆDŒJˆJˆJðÝ˜E™
œ
��øÝð ð ð Ý"Ø\Å$ÀuÁ+Ä+Ð\Ð\Ð\ñô àðøøøøðøøøð
 �qŠyˆyØ˜œÑ&�à˜œÒ%Ð%Ý"ØYÀUÐYÐYÐYñô ð ð &ˆDŒNØˆDŒKÝ˜tœ~¨t¬{Ð;Ñ<Ô<ˆDŒJØ œNÔ3ÐVÐV°d´nÐVÐVÈÌÐVÐVÐVˆDŒJˆJˆJs   ¹A	 Á	
A9Á!A4Á4A9c                 óÆ   — | j                              dd¦  «        d         t                               dd¦  «        d         k    rt          j        dt
          d¬¦  «         | S )Nú.é   r   zIsubclassing 'Bit' is not supported, and may not be possible in Qiskit 2.0)ÚcategoryÚ
stacklevel)Ú
__module__Úsplitr   ÚwarningsÚwarnÚDeprecationWarning)Úclss    r   Ú__init_subclass__zBit.__init_subclass__=   sb   € ð Œ>×Ò  QÑ'Ô'¨Ô*­h¯nªn¸SÀ!Ñ.DÔ.DÀQÔ.GÒGÐGÝŒMØ[Ý+Øðñ ô ð ð
 ˆ
ó    c                 óh   — | j         | j        fdk    rt                               | ¦  «        S | j        S )z0Return the official string representing the bit.r   )r	   r   r   Ú__repr__r   ©r   s    r   r+   zBit.__repr__H   s0   € àŒN˜DœKÐ(¨LÒ8Ð8å—?’? 4Ñ(Ô(Ð(ØŒzÐr)   c                 ó   — | j         S ©N)r   r,   s    r   r   zBit.__hash__O   s
   € ØŒzÐr)   c                 ór   — | j         | j        fdk    r|| u S 	 | j        |j        k    S # t          $ r Y dS w xY w)Nr   F)r	   r   r   ÚAttributeError)r   Úothers     r   Ú__eq__z
Bit.__eq__R   sV   € ØŒN˜DœKÐ(¨LÒ8Ð8Ø˜D�=Ð ð	Ø”: ¤Ò,Ð,øÝð 	ð 	ð 	Ø�5�5ð	øøøs   ˜( ¨
6µ6c                 ó   — | S r.   © r,   s    r   Ú__copy__zBit.__copy__[   s   € àˆr)   c                 ó  — | j         | j        fdk    r| S t          | ¦  «                             t          | ¦  «        ¦  «        }t	          j        | j         |¦  «        |_         | j        |_        | j        |_        | j        |_        |S )Nr   )r	   r   r   Ú__new__ÚcopyÚdeepcopyr   r   )r   ÚmemoÚbits      r   Ú__deepcopy__zBit.__deepcopy___   sq   € ØŒN˜DœKÐ(¨LÒ8Ð8ØˆKõ �4‰jŒj× Ò ¥ d¡¤Ñ,Ô,ˆÝœ d¤n°dÑ;Ô;ˆŒØ”[ˆŒ
Ø”JˆŒ	Ø”JˆŒ	Øˆ
r)   r   r.   )r   r"   Ú__qualname__Ú__doc__Ú	__slots__r   r(   r+   r   r2   r5   r<   r4   r)   r   r   r      s¢   € € € € € ðð ð :Ð9Ð9€IðWð Wð Wð Wð:	ð 	ð 	ðð ð ðð ð ðð ð ðð ð ðð ð ð ð ð r)   r   )r>   r8   r$   Úqiskit.circuit.exceptionsr   r   r4   r)   r   ú<module>rA      sq   ððð ð €€€Ø €€€à 2Ð 2Ð 2Ð 2Ð 2Ð 2ðTð Tð Tð Tð Tñ Tô Tð Tð Tð Tr)   