§
    º³ÙgN	  ã                   ó0   — d Z ddlmZ  G d„ d¦  «        ZdS )zTiming Constraints class.é    )ÚTranspilerErrorc            	       ó4   — e Zd ZdZ	 	 	 	 d	dedededefd„ZdS )
ÚTimingConstraintsz(Hardware Instruction Timing Constraints.é   ÚgranularityÚ
min_lengthÚpulse_alignmentÚacquire_alignmentc                 óÞ   — || _         || _        || _        || _        | j                             ¦   «         D ]6\  }}t          |t          ¦  «        r|dk     rt          d|› d|› d�¦  «        ‚Œ7dS )ab  Initialize a TimingConstraints object

        Args:
            granularity: An integer value representing minimum pulse gate
                resolution in units of ``dt``. A user-defined pulse gate should have
                duration of a multiple of this granularity value.
            min_length: An integer value representing minimum pulse gate
                length in units of ``dt``. A user-defined pulse gate should be longer
                than this length.
            pulse_alignment: An integer value representing a time resolution of gate
                instruction starting time. Gate instruction should start at time which
                is a multiple of the alignment value.
            acquire_alignment: An integer value representing a time resolution of measure
                instruction starting time. Measure instruction should start at time which
                is a multiple of the alignment value.

        Notes:
            This information will be provided by the backend configuration.

        Raises:
            TranspilerError: When any invalid constraint value is passed.
        r   zTiming constraint z  should be nonzero integer. Not ú.N)	r   r   r	   r
   Ú__dict__ÚitemsÚ
isinstanceÚintr   )Úselfr   r   r	   r
   ÚkeyÚvalues          úZ/granary/edev/quantum/lib/python3.11/site-packages/qiskit/transpiler/timing_constraints.pyÚ__init__zTimingConstraints.__init__   s•   € ð: 'ˆÔØ$ˆŒØ.ˆÔØ!2ˆÔàœ-×-Ò-Ñ/Ô/ð 	ð 	‰JˆC�Ý˜e¥SÑ)Ô)ð ¨U°QªY¨YÝ%ØV¨ÐVÐVÈeÐVÐVÐVñô ð ð .7ð	ð 	ó    N)r   r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   © r   r   r   r      sg   € € € € € Ø2Ð2ð ØØ Ø!"ð&ð &àð&ð ð&ð ð	&ð
 ð&ð &ð &ð &ð &ð &r   r   N)r   Úqiskit.transpiler.exceptionsr   r   r   r   r   ú<module>r      sQ   ðð  Ð à 8Ð 8Ð 8Ð 8Ð 8Ð 8ð)ð )ð )ð )ð )ñ )ô )ð )ð )ð )r   