§
    ²Ûg)3  ã                  ó  — d Z ddlmZ ddlmZmZ ddlmZ ddlZ	ddl
mZmZmZ ddlmZ ddlmZ dd	lmZ dd
lmZmZ ddlmZ ddlmZ ddlmZ d$d„Zd%d„Zd&d„Zd„ Z d'd(d„Z! G d „ d!e¦  «        Z" G d"„ d#¦  «        Z#dS ))z
Sampler class.
é    )Úannotations)ÚSequenceÚIterable)ÚwarnN)ÚParameterExpressionÚQuantumCircuitÚQubit)Ú
Initialize)Ú	transpile)ÚQiskitError)ÚBaseSamplerV1ÚSamplerResult)ÚStatevector)ÚQuasiDistributioné   )ÚAerSimulatorÚstateúQuantumCircuit | StatevectorÚreturnr   c                ó  — t          | t          ¦  «        r| S t          | t          ¦  «        st          | ¦  «        } t          | j        ¦  «        }|                     t          | ¦  «        t          | j        ¦  «        ¬¦  «         |S )z¾Initialize state by converting the input to a quantum circuit.

    Args:
        state: The state as quantum circuit or statevector.

    Returns:
        The state as quantum circuit.
    )Úqargs)Ú
isinstancer   r   Ú
num_qubitsÚappendr
   Úrange)r   Úqcs     úS/granary/edev/quantum/lib/python3.11/site-packages/qiskit_aer/primitives/sampler.pyÚinit_circuitr   "   sx   € õ �%�Ñ(Ô(ð ØˆÝ�e�[Ñ)Ô)ð #Ý˜EÑ"Ô"ˆÝ	˜Ô(Ñ	)Ô	)€BØ‡I‚I�j˜ÑÔ¥u¨UÔ-=Ñ'>Ô'>€IÑ?Ô?Ð?Ø€Ió    Úcircuitúdict[int, int]c                óÜ  — t          t          | j        ¦  «        ¦  «        }t          t          | j        ¦  «        ¦  «        }i }| j        ddd…         D ]å}|j        j        dk    r‚|                      |j        d         ¦  «        j	        }|                      |j
        d         ¦  «        j	        }||v r3||v r/|||<   |                     |¦  «         |                     |¦  «         nK|j        j        dvr=|j
        D ]5}|                      |¦  «        j	        }||v r|                     |¦  «         Œ6|r|s nŒæt          t          |                     ¦   «         d„ ¬¦  «        ¦  «        }|S )aR  Return the final measurement mapping for the circuit.

    Dict keys label measured qubits, whereas the values indicate the
    classical bit onto which that qubits measurement result is stored.

    Parameters:
        circuit: Input quantum circuit.

    Returns:
        Mapping of qubits to classical bits for final measurements.
    NéÿÿÿÿÚmeasurer   )ÚbarrierÚdelayc                ó   — | d         S )Né   © )Úitems    r   ú<lambda>z+final_measurement_mapping.<locals>.<lambda>W   s
   € ¸DÀ¼G€ r   )Úkey)Úlistr   r   Ú
num_clbitsÚ_dataÚ	operationÚnameÚfind_bitÚclbitsÚindexÚqubitsÚremoveÚdictÚsortedÚitems)	r    Úactive_qubitsÚactive_cbitsÚmappingr*   ÚcbitÚqbitÚqqÚ_temp_qubits	            r   Úfinal_measurement_mappingrA   4   s„  € õ �˜wÔ1Ñ2Ô2Ñ3Ô3€MÝ�˜gÔ0Ñ1Ô1Ñ2Ô2€Lð €GØ”˜d˜d ˜dÔ#ð ð ˆØŒ>Ô )Ò+Ð+Ø×#Ò# D¤K°¤NÑ3Ô3Ô9ˆDØ×#Ò# D¤K°¤NÑ3Ô3Ô9ˆDØ�|Ð#Ð#¨°Ð(=Ð(=Ø $�˜‘Ø×#Ò# DÑ)Ô)Ð)Ø×$Ò$ TÑ*Ô*Ð*øØŒ^Ô Ð(<Ð<Ð<Ø”kð 6ð 6�Ø%×.Ò.¨rÑ2Ô2Ô8�Ø -Ð/Ð/Ø!×(Ò(¨Ñ5Ô5Ð5øàð 	 =ð 	ØˆEð	õ •6˜'Ÿ-š-™/œ/Ð/CÐ/CÐDÑDÔDÑEÔE€GØ€Nr   Úbitsútuple[Qubit, ...]Útuplec                ó:   ‡— t          ˆfd„| D ¦   «         ¦  «        S )Nc              3  ó®   •K  — | ]O}‰                      |¦  «        j        t          d „ ‰                      |¦  «        j        D ¦   «         ¦  «        fV — ŒPdS )c              3  óX   K  — | ]%}|d          j         |d          j        |d         fV — Œ&dS )r   r(   N)Úsizer1   )Ú.0Úregs     r   ú	<genexpr>z&_bits_key.<locals>.<genexpr>.<genexpr>_   s9   è è € Ð`Ð`¸�3�q”6”;  A¤¤¨S°¬VÐ4Ð`Ð`Ð`Ð`Ð`Ð`r   N)r2   r4   rD   Ú	registers)rI   Úbitr    s     €r   rK   z_bits_key.<locals>.<genexpr>\   s{   øè è € ð ð ð
 ð ×Ò˜SÑ!Ô!Ô'ÝÐ`Ð`À×@PÒ@PÐQTÑ@UÔ@UÔ@_Ð`Ñ`Ô`Ñ`Ô`ð	
ðð ð ð ð ð r   )rD   )rB   r    s    `r   Ú	_bits_keyrN   [   s=   ø€ Ýð ð ð ð ð
 ðñ ô ñ ô ð r   c                óü   — t          | t          j        ¦  «        r| j                             ¦   «         S t          | t
          ¦  «        rt          | ¦  «        S t          | t          ¦  «        rt          | ¦  «        S | S ©N)	r   ÚnpÚndarrayÚdataÚtobytesr   Ú_circuit_keyr   rD   )Úparams    r   Ú_format_paramsrW   e   sm   € Ý�%�œÑ$Ô$ð ØŒz×!Ò!Ñ#Ô#Ð#Ý	�E�>Ñ	*Ô	*ð Ý˜EÑ"Ô"Ð"Ý	�E�8Ñ	$Ô	$ð Ý�U‰|Œ|ÐØ€Lr   TÚ
functionalÚboolc                óÀ   ‡ — ‰ j         ‰ j        ‰ j        t          ˆ fd„‰ j        D ¦   «         ¦  «        ‰ j        €dnt          ‰ j        ¦  «        f}|r|S ‰ j        g|¢R S )a�  Private key function for QuantumCircuit.

    This is the workaround until :meth:`QuantumCircuit.__hash__` will be introduced.
    If key collision is found, please add elements to avoid it.

    Args:
        circuit: Input quantum circuit.
        functional: If True, the returned key only includes functional data (i.e. execution related).

    Returns:
        Composite key for circuit.
    c              3  óÆ   •K  — | ][}t          |j        ‰¦  «        t          |j        ‰¦  «        |j        j        t          d „ |j        j        D ¦   «         ¦  «        fV — Œ\dS )c              3  ó4   K  — | ]}t          |¦  «        V — Œd S rP   )rW   )rI   rV   s     r   rK   z)_circuit_key.<locals>.<genexpr>.<genexpr>…   s*   è è € ÐOÐO°•n UÑ+Ô+ÐOÐOÐOÐOÐOÐOr   N)rN   r5   r3   r0   r1   rD   Úparams)rI   rS   r    s     €r   rK   z_circuit_key.<locals>.<genexpr>€   s€   øè è € ð 
ð 
ð õ ˜$œ+ wÑ/Ô/Ý˜$œ+ wÑ/Ô/Ø”Ô#ÝÐOÐO¸¼Ô9NÐOÑOÔOÑOÔOð	ð
ð 
ð 
ð 
ð 
ð 
r   N)r   r.   Únum_parametersrD   rS   Ú_op_start_timesr1   )r    rX   Úfunctional_keys   `  r   rU   rU   o   s�   ø€ ð 	ÔØÔØÔÝð 
ð 
ð 
ð 
ð  œð
ñ 
ô 
ñ 	
ô 	
ð Ô'Ð/ˆˆµU¸7Ô;RÑ5SÔ5Sð€Nð ð ØÐàŒðà	ðð ð r   c                  óf   ‡ — e Zd ZdZdddddœdˆ fd„Zdd„Zdd„Zedd„¦   «         Zd„ Z	d d„Z
ˆ xZS )!ÚSampleraw  
    Aer implementation of Sampler class.

    :Run Options:

        - **shots** (None or int) --
          The number of shots. If None, it calculates the probabilities exactly.
          Otherwise, it samples from multinomial distributions.

        - **seed** (int) --
          Set a fixed seed for ``seed_simulator``. If shots is None, this option is ignored.

    .. note::
        Precedence of seeding is as follows:

        1. ``seed_simulator`` in runtime (i.e. in :meth:`__call__`)
        2. ``seed`` in runtime (i.e. in :meth:`__call__`)
        3. ``seed_simulator`` of ``backend_options``.
        4. default.
    NF)Úbackend_optionsÚtranspile_optionsÚrun_optionsÚskip_transpilationrc   údict | Nonerd   re   rf   rY   c               ó,  •— t          dt          d¬¦  «         t          ¦   «                              |¬¦  «         g | _        g | _        t          ¦   «         | _        |€i n|} | j        j        di |¤Ž |€i n|| _	        || _
        i | _        i | _        dS )a  
        Args:
            backend_options: Options passed to AerSimulator.
            transpile_options: Options passed to transpile.
            run_options: Options passed to run.
            skip_transpilation: if True, transpilation is skipped.
        zISampler has been deprecated as of Aer 0.15, please use SamplerV2 instead.é   )Ú
stacklevel)ÚoptionsNr)   )r   ÚDeprecationWarningÚsuperÚ__init__Ú	_circuitsÚ_parametersr   Ú_backendÚset_optionsÚ_transpile_optionsÚ_skip_transpilationÚ_transpiled_circuitsÚ_circuit_ids)Úselfrc   rd   re   rf   Ú	__class__s        €r   rn   zSampler.__init__©   s·   ø€ õ 	ØWÝØð	
ñ 	
ô 	
ð 	
õ
 	‰Œ×Ò ÐÑ-Ô-Ð-ð ˆŒØˆÔå$™œˆŒØ /Ð 7˜"˜"¸_ˆØ!ˆŒÔ!Ð4Ð4 OÐ4Ð4Ð4Ø(9Ð(A " "ÐGXˆÔØ#5ˆÔ à$&ˆÔ!ØˆÔÐÐr   ÚcircuitsúSequence[int]Úparameter_valuesúSequence[Sequence[float]]r   r   c           
     óv  ‡‡— |                      dd ¦  «        }|�|                     d|¦  «         d|v o	|d         d u }|                      ||¦  «         t          ¦   «         }t	          ||¦  «        D ]¶\  }}t          |¦  «        t          | j        |         ¦  «        k    r;t          dt          |¦  «        › dt          | j        |         ¦  «        › d�¦  «        ‚|                     |t          t	          | j        |         |¦  «        ¦  «        | j
        ||f         ¬¦  «         Œ· | j        j        |j        fd|j        i|¤Ž                     ¦   «         }	g }
g }|j        D �]C}|rž|	                     |¦  «        d	         }|	j        |         j        d
         Št)          ˆfd„|                     ¦   «         D ¦   «         ¦  «        }|                     |¦  «         |
                     d |	j        |         j        dœ¦  «         Œ£|	                     |¦  «        }t/          |                     ¦   «         ¦  «        Š|                     t)          ˆfd„|                     ¦   «         D ¦   «         ‰¬¦  «        ¦  «         |
                     ‰|	j        |         j        dœ¦  «         �ŒEt3          ||
¦  «        S )NÚseedÚseed_simulatorÚshotszThe number of values (z+) does not match the number of parameters (z).)r,   Úparameter_bindÚexperiment_circuitÚparameter_bindsÚprobabilitiesr   c                ó(   •— i | ]\  }}|d ‰› d�›|“ŒS )Ú0Úbr)   )rI   ÚkÚvr   s      €r   ú
<dictcomp>z!Sampler._call.<locals>.<dictcomp>õ   s0   ø€ ÐPÐPÐP±$°!°Q˜Ð*˜JÐ*Ð*Ð*Ð*¨AÐPÐPÐPr   )r€   Úsimulator_metadatac                óJ   •— i | ]\  }}|                      d d¦  «        |‰z  “Œ S )ú Ú )Úreplace)rI   rˆ   r‰   r€   s      €r   rŠ   z!Sampler._call.<locals>.<dictcomp>þ   s1   ø€ ÐRÐRÐR¹4¸1¸a˜Ÿš 3¨Ñ+Ô+¨Q°©YÐRÐRÐRr   )r€   )ÚpopÚ
setdefaultÚ
_transpileÚ_ExperimentManagerÚzipÚlenrp   r   r   r7   ru   rq   ÚrunÚexperiment_circuitsrƒ   ÚresultÚexperiment_indicesrS   ÚresultsÚmetadatar   r9   Ú
get_countsÚsumÚvaluesr   )rw   ry   r{   re   r~   Úis_shots_noneÚexperiment_managerÚiÚvaluer˜   r›   Úquasisr„   Ú
quasi_distÚcountsr   r€   s                  @@r   Ú_callzSampler._callÌ   s  øø€ ð �Š˜v tÑ,Ô,ˆØÐØ×"Ò"Ð#3°TÑ:Ô:Ð:à ;Ð.ÐO°;¸wÔ3GÈ4Ð3OˆØ�Š˜ -Ñ0Ô0Ð0å/Ñ1Ô1ÐÝ˜HÐ&6Ñ7Ô7ð 	ð 	‰HˆAˆuÝ�5‰zŒz�S Ô!1°!Ô!4Ñ5Ô5Ò5Ð5Ý!ðN­S°©Z¬Zð Nð NÝ14°TÔ5EÀaÔ5HÑ1IÔ1IðNð Nð Nñô ð ð
 ×%Ò%ØÝ#¥C¨Ô(8¸Ô(;¸UÑ$CÔ$CÑDÔDØ#'Ô#<¸aÀÐ=OÔ#Pð &ñ ô ð ð ð #�”Ô"ØÔ2ð
ð 
à.Ô>ð
ð ð
ð 
÷ Š&‰(Œ(ð	 	ð ˆØˆØ#Ô6ð 	dñ 	dˆAØð dØ &§¢¨A¡¤¨Ô ?�Ø#œ^¨AÔ.Ô7¸ÔE�
Ý.ØPÐPÐPÐP¸-×:MÒ:MÑ:OÔ:OÐPÑPÔPñô �
ð —’˜jÑ)Ô)Ð)Ø—’¨$ÀfÄnÐUVÔFWÔF`Ð aÐ aÑbÔbÐbÐbà×*Ò*¨1Ñ-Ô-�Ý˜FŸMšM™OœOÑ,Ô,�Ø—’Ý%ØRÐRÐRÐRÀ6Ç<Â<Á>Ä>ÐRÑRÔRØ#ðñ ô ñô ð ð —’¨%ÀvÄ~ÐVWÔGXÔGaÐ bÐ bÑcÔcÐcÑcå˜V XÑ.Ô.Ð.r   úSequence[QuantumCircuit]c                ó(  — ddl m} ddlm} g }|D ]Ê}| j                             t          |¦  «        ¦  «        }|�|                     |¦  «         ŒA|                     t          | j	        ¦  «        ¦  «         t          | j	        ¦  «        | j        t          |¦  «        <   | j	                             |¦  «         | j
                             |j        ¦  «         ŒË || j        ||fi |¤Ž}	 t          |	d¦  «        r|	j        n|	j        ¦   «          |	S )Nr   )ÚList)ÚPrimitiveJobÚsubmit)Útypingr©   Úqiskit.primitives.primitive_jobrª   rv   ÚgetrU   r   r•   ro   rp   Ú
parametersr¦   Úhasattrr«   Ú_submit)
rw   ry   r{   re   r©   rª   Úcircuit_indicesr    r4   Újobs
             r   Ú_runzSampler._run  s/  € ð 	 ÐÐÐÐÐà@Ð@Ð@Ð@Ð@Ð@à%'ˆØð 	<ð 	<ˆGØÔ%×)Ò)­,°wÑ*?Ô*?Ñ@Ô@ˆEØÐ Ø×&Ò& uÑ-Ô-Ð-Ð-à×&Ò&¥s¨4¬>Ñ':Ô':Ñ;Ô;Ð;Ý;>¸t¼~Ñ;NÔ;N�Ô!¥,¨wÑ"7Ô"7Ñ8Ø”×%Ò% gÑ.Ô.Ð.ØÔ ×'Ò'¨Ô(:Ñ;Ô;Ð;Ð;Øˆl˜4œ: Ð8HÐXÐXÈKÐXÐXˆà	>•w˜s HÑ-Ô-Ð	>ˆŒˆ°3´;ÑAÔAÐAØˆ
r   r    r   c           	     ó  — t          | ¦  «        } t          | ¦  «        }t          t          | j        ¦  «        ¦  «        t          |                     ¦   «         ¦  «        k    r:t          d| j        › dt          |                     ¦   «         ¦  «        › d�¦  «        ‚t          d„ |                     ¦   «         D ¦   «         ¦  «        }d„ |D ¦   «         }|  	                    d¬¦  «        } |  
                    |¦  «         | S )NzPSome classical bits are not used for measurements. The number of classical bits z, the used classical bits ú.c              3  ó$   K  — | ]\  }}||fV — Œd S rP   r)   )rI   ÚqÚcs      r   rK   z.Sampler._preprocess_circuit.<locals>.<genexpr>*  s*   è è € ÐDÐD©¨¨1˜a ˜VÐDÐDÐDÐDÐDÐDr   c                ó   — g | ]\  }}|‘ŒS r)   r)   )rI   Ú_r¸   s      r   ú
<listcomp>z/Sampler._preprocess_circuit.<locals>.<listcomp>+  s   € Ð+Ð+Ð+‘t�q˜!�Ð+Ð+Ð+r   F)Úinplace)r   rA   Úsetr   r.   rž   r   r8   r9   Úremove_final_measurementsÚsave_probabilities_dict)r    Úq_c_mappingÚc_q_mappingr   s       r   Ú_preprocess_circuitzSampler._preprocess_circuit   s  € å˜wÑ'Ô'ˆÝ/°Ñ8Ô8ˆÝ�u�WÔ'Ñ(Ô(Ñ)Ô)­S°×1CÒ1CÑ1EÔ1EÑ-FÔ-FÒFÐFÝðHØ07Ô0BðHð Hå+.¨{×/AÒ/AÑ/CÔ/CÑ+DÔ+DðHð Hð Hñô ð õ
 ÐDÐD°×0AÒ0AÑ0CÔ0CÐDÑDÔDÑDÔDˆØ+Ð+˜{Ð+Ñ+Ô+ˆØ×3Ò3¸EÐ3ÑBÔBˆØ×'Ò'¨Ñ.Ô.Ð.Øˆr   c                ót   — | j                              |j        ¦  «         t          || j         fi | j        ¤Ž}|S rP   )rq   Úset_max_qubitsr   r   rs   )rw   r    Ú
transpileds      r   Ú_transpile_circuitzSampler._transpile_circuit0  sL   € ØŒ×$Ò$ WÔ%7Ñ8Ô8Ð8ÝØØŒMð
ð 
ð Ô%ð
ð 
ˆ
ð
 Ðr   r²   rŸ   c                óô   ‡ ‡— ˆˆ fd„t          |¦  «        D ¦   «         }|rUˆ fd„|D ¦   «         }‰rˆ fd„|D ¦   «         }‰ j        sˆ fd„|D ¦   «         }t          ||¦  «        D ]\  }}|‰ j        |‰f<   Œd S d S )Nc                ó*   •— g | ]}|‰f‰j         v¯|‘ŒS r)   )ru   )rI   r¡   rŸ   rw   s     €€r   r¼   z&Sampler._transpile.<locals>.<listcomp>:  s2   ø€ ð 
ð 
ð 
Ø°°=Ð/AÈÔIbÐ/bÐ/bˆAÐ/bÐ/bÐ/br   c              3  ó2   •K  — | ]}‰j         |         V — Œd S rP   )ro   )rI   r¡   rw   s     €r   rK   z%Sampler._transpile.<locals>.<genexpr>>  s*   øè è € Ð=Ð=¨a˜œ qÔ)Ð=Ð=Ð=Ð=Ð=Ð=r   c              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S rP   )rÃ   ©rI   Úcircrw   s     €r   rK   z%Sampler._transpile.<locals>.<genexpr>@  s1   øè è € ÐPÐP¸t˜D×4Ò4°TÑ:Ô:ÐPÐPÐPÐPÐPÐPr   c              3  óB   •K  — | ]}‰                      |¦  «        V — Œd S rP   )rÇ   rÌ   s     €r   rK   z%Sampler._transpile.<locals>.<genexpr>B  s1   øè è € ÐOÐO¸d˜D×3Ò3°DÑ9Ô9ÐOÐOÐOÐOÐOÐOr   )r¾   rt   r”   ru   )rw   r²   rŸ   Ú	to_handlery   r¡   r    s   ` `    r   r’   zSampler._transpile9  sð   øø€ ð
ð 
ð 
ð 
ð 
Ý˜?Ñ+Ô+ð
ñ 
ô 
ˆ	ð ð 	HØ=Ð=Ð=Ð=°9Ð=Ñ=Ô=ˆHØð QØPÐPÐPÐPÀxÐPÑPÔP�ØÔ+ð PØOÐOÐOÐOÀhÐOÑOÔO�Ý! )¨XÑ6Ô6ð Hð H‘
��7Ø@G�Ô)¨1¨mÐ*<Ñ=Ð=ð	Hð 	HðHð Hr   )rc   rg   rd   rg   re   rg   rf   rY   )ry   rz   r{   r|   r   r   )ry   r§   r{   r|   )r    r   )r²   rz   rŸ   rY   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__rn   r¦   r´   ÚstaticmethodrÃ   rÇ   r’   Ú__classcell__)rx   s   @r   rb   rb   “   sÔ   ø€ € € € € ðð ð0 (,Ø)-Ø#'Ø#(ð!ð !ð !ð !ð !ð !ð !ð !ðF8/ð 8/ð 8/ð 8/ðtð ð ð ð4 ðð ð ñ „\ððð ð ðHð Hð Hð Hð Hð Hð Hð Hr   rb   c                  ó8   — e Zd Zd„ Zd„ Zed„ ¦   «         Zdd
„ZdS )r“   c                óL   — g | _         g | _        g | _        g | _        d| _        d S )Nr   )Úkeysr—   rƒ   Ú_input_indicesÚ_num_experiment©rw   s    r   rn   z_ExperimentManager.__init__H  s/   € Ø!ˆŒ	Ø9;ˆÔ ØMOˆÔØ/1ˆÔØ$%ˆÔÐÐr   c                ó   — | j         S rP   )rÚ   rÛ   s    r   Ú__len__z_ExperimentManager.__len__O  s   € ØÔ#Ð#r   c                ót   — t          j        t          | j        g ¦  «        ¦  «                             ¦   «         S )zindices of experiments)rQ   Úargsortr�   rÙ   ÚtolistrÛ   s    r   r™   z%_ExperimentManager.experiment_indicesR  s-   € õ Œz�#˜dÔ1°2Ñ6Ô6Ñ7Ô7×>Ò>Ñ@Ô@Ð@r   r,   útuple[int, int]r�   ú dict[ParameterExpression, float]r‚   r   c                óP  — |r‰|| j         v r€| j                              |¦  «        }| j        |                              ¦   «         D ] \  }}|                     ||         ¦  «         Œ!| j        |                              | j        ¦  «         nŠ| j                             |¦  «         | j                              |¦  «         | j                             d„ |                     ¦   «         D ¦   «         ¦  «         | j                             | j        g¦  «         | xj        dz  c_        dS )zappend experimentsc                ó   — i | ]	\  }}||g“Œ
S r)   r)   )rI   rˆ   r‰   s      r   rŠ   z-_ExperimentManager.append.<locals>.<dictcomp>f  s    € Ð(SÐ(SÐ(S±D°A°q¨¨Q¨CÐ(SÐ(SÐ(Sr   r(   N)rØ   r4   rƒ   r9   r   rÙ   rÚ   r—   )rw   r,   r�   r‚   Ú	key_indexrˆ   Úvss          r   r   z_ExperimentManager.appendW  s%  € ð ð 		?˜c T¤YÐ.Ð.Øœ	Ÿš¨Ñ,Ô,ˆIØÔ-¨iÔ8×>Ò>Ñ@Ô@ð -ð -‘��2Ø—	’	˜.¨Ô+Ñ,Ô,Ð,Ð,ØÔ 	Ô*×1Ò1°$Ô2FÑGÔGÐGÐGàÔ$×+Ò+Ð,>Ñ?Ô?Ð?ØŒI×Ò˜SÑ!Ô!Ð!ØÔ ×'Ò'Ð(SÐ(S¸N×<PÒ<PÑ<RÔ<RÐ(SÑ(SÔ(SÑTÔTÐTØÔ×&Ò&¨Ô(<Ð'=Ñ>Ô>Ð>àÐÔ Ñ!ÐÔÐÐr   N)r,   rá   r�   râ   r‚   r   )rÐ   rÑ   rÒ   rn   rÝ   Úpropertyr™   r   r)   r   r   r“   r“   G  sd   € € € € € ð&ð &ð &ð$ð $ð $ð ðAð Añ „XðAð"ð "ð "ð "ð "ð "r   r“   )r   r   r   r   )r    r   r   r!   )rB   rC   r    r   r   rD   )T)r    r   rX   rY   r   rD   )$rÓ   Ú
__future__r   Úcollections.abcr   r   Úwarningsr   ÚnumpyrQ   Úqiskit.circuitr   r   r	   Ú'qiskit.circuit.library.data_preparationr
   Úqiskit.compilerr   Úqiskit.exceptionsr   Úqiskit.primitivesr   r   Úqiskit.quantum_infor   Úqiskit.resultr   rŽ   r   r   rA   rN   rW   rU   rb   r“   r)   r   r   ú<module>ró      sÎ  ððð ð #Ð "Ð "Ð "Ð "Ð "à .Ð .Ð .Ð .Ð .Ð .Ð .Ð .à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ø EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EØ >Ð >Ð >Ð >Ð >Ð >Ø %Ð %Ð %Ð %Ð %Ð %Ø )Ð )Ð )Ð )Ð )Ð )Ø :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ø +Ð +Ð +Ð +Ð +Ð +Ø +Ð +Ð +Ð +Ð +Ð +à Ð Ð Ð Ð Ð ðð ð ð ð$$ð $ð $ð $ðNð ð ð ðð ð ð!ð !ð !ð !ð !ðHqHð qHð qHð qHð qHˆmñ qHô qHð qHðh""ð ""ð ""ð ""ð ""ñ ""ô ""ð ""ð ""ð ""r   