§
    º³ÙgÖ·  ã                   óÀ  — d Z ddlZddlZddlmZ ddlmZ ddlmZ ddl	m
Z
 ddl	mZ ddl	mZ dd	l	mZ dd
l	mZ ddl	mZ ddl	mZ ddl	mZ ddl	mZ ddl	mZ ddl	mZ ddl	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mZm Z m!Z!m"Z" ddl	m#Z#m$Z$m%Z%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l0m1Z1 ddl2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZA ddlBmCZC ddlDmEZE  eEjF        ¦   «         ZGh d £ZH G d!„ d"e¦  «        ZI G d#„ d$e¦  «        ZJ G d%„ d&e¦  «        ZK G d'„ d(e¦  «        ZL G d)„ d*e¦  «        ZM G d+„ d,e¦  «        ZN G d-„ d.e¦  «        ZO G d/„ d0e¦  «        ZP G d1„ d2e¦  «        ZQ G d3„ d4e¦  «        ZR G d5„ d6e¦  «        ZS G d7„ d8e¦  «        ZT G d9„ d:e¦  «        ZU G d;„ d<e¦  «        ZV G d=„ d>e¦  «        ZW G d?„ d@e¦  «        ZXdCdB„ZYdS )Dz;Built-in transpiler stage plugins for preset pass managers.é    N)ÚSplit2QUnitaries)ÚPassManager)ÚTranspilerError)Ú	BasicSwap)ÚLookaheadSwap)ÚStochasticSwap)Ú	SabreSwap)ÚError)Ú	SetLayout)Ú	VF2Layout)ÚSabreLayout)ÚDenseLayout)ÚTrivialLayout)ÚCheckMap)ÚBarrierBeforeFinalMeasurements)ÚElidePermutations)Ú RemoveDiagonalGatesBeforeMeasure)Úcommon)ÚPassManagerStagePluginÚPassManagerStagePluginManager)ÚOptimize1qGatesDecompositionÚCommutativeCancellationÚConsolidateBlocksÚInverseCancellationÚRemoveIdentityEquivalent)ÚDepthÚSizeÚ
FixedPointÚMinimumPoint)ÚGatesInBasis)ÚUnitarySynthesis)ÚConditionalControllerÚDoWhileController)ÚTimingConstraints)ÚVF2LayoutStopReason)ÚCXGateÚECRGateÚCZGateÚXGateÚYGateÚZGateÚTGateÚTdgGateÚSwapGateÚSGateÚSdgGateÚHGateÚCYGateÚSXGateÚSXdgGate)Ú	CPU_COUNT)Úuser_config>   ÚdelayÚresetÚif_elseÚmeasureÚfor_loopÚ
while_loopÚswitch_casec                   ó    — e Zd ZdZddefd„ZdS )ÚDefaultInitPassManagerz$Plugin class for default init stage.NÚreturnc                 óR  — |dk    rod }|j         s'|j        s |j        �V|j                             ¦   «         �=t	          j        |j        |j        |j        |j        |j	        |j
        |j        ¦  «        }�n±|dk    �rft          ¦   «         }|j         s'|j        s |j        �Y|j                             ¦   «         �@|t	          j        |j        |j        |j        |j        |j	        |j
        |j        ¦  «        z  }|                     t          t          ¦   «         t!          ¦   «         t#          ¦   «         t%          ¦   «         t'          ¦   «         t)          ¦   «         t+          ¦   «         t-          ¦   «         t/          ¦   «         t1          ¦   «         t3          ¦   «         ft5          ¦   «         t7          ¦   «         ft9          ¦   «         t;          ¦   «         fg¦  «        ¦  «         �nD|dv �r-t	          j        |j        |j        |j        |j        |j	        |j
        |j        ¦  «        }|j        dk    r!|                     t?          ¦   «         ¦  «         |                     tA          ¦   «         ¦  «         |                     tC          |j        ¬¦  «        ¦  «         |                     t          t          ¦   «         t!          ¦   «         t#          ¦   «         t%          ¦   «         t'          ¦   «         t)          ¦   «         t+          ¦   «         t-          ¦   «         t/          ¦   «         t1          ¦   «         t3          ¦   «         ft5          ¦   «         t7          ¦   «         ft9          ¦   «         t;          ¦   «         fg¦  «        ¦  «         |                     tE          ¦   «         ¦  «         |                     tG          ¦   «         ¦  «         |j        �(|                     tI          |j        ¦  «        ¦  «         n4|                     tI          ¦   «         ¦  «         ntK          d|› �¦  «        ‚|S )Nr   é   ¾   é   é   Únone)Úapproximation_degreezInvalid optimization level )&Úinitial_layoutÚcoupling_mapÚtargetÚbuild_coupling_mapr   Úgenerate_unroll_3qÚbasis_gatesrG   Úunitary_synthesis_methodÚunitary_synthesis_plugin_configÚ
hls_configÚqubits_initially_zeror   Úappendr   r&   r'   r(   r2   r)   r*   r+   r1   r.   r,   r-   r/   r0   r3   r4   Úrouting_methodr   r   r   r   r   r   r   )ÚselfÚpass_manager_configÚoptimization_levelÚinits       úk/granary/edev/quantum/lib/python3.11/site-packages/qiskit/transpiler/preset_passmanagers/builtin_plugins.pyÚpass_managerz#DefaultInitPassManager.pass_managerY   s¤  € Ø Ò"Ð"ØˆDà#Ô2ðà&Ô3ðð (Ô.Ð:Ø+Ô2×EÒEÑGÔGÐSõ Ô0Ø'Ô.Ø'Ô3Ø'Ô<Ø'Ô@Ø'ÔGØ'Ô2Ø'Ô=ñô �ùð   1Ò$Ñ$Ý‘=”=ˆDà#Ô2ðà&Ô3ðð (Ô.Ð:Ø+Ô2×EÒEÑGÔGÐSð �Ô1Ø'Ô.Ø'Ô3Ø'Ô<Ø'Ô@Ø'ÔGØ'Ô2Ø'Ô=ñô ñ �ð �KŠKÝ#å™œÝ™	œ	Ý™œÝ™œÝ™œÝ™œÝ™œÝ™œÝ ™
œ
Ý™œ¥'¡)¤)Ð,Ý™œ¥'¡)¤)Ð,Ý™œ¥8¡:¤:Ð.ðñô ñô ð ñ ð&   6Ð)Ñ)ÝÔ,Ø#Ô*Ø#Ô/Ø#Ô8Ø#Ô<Ø#ÔCØ#Ô.Ø#Ô9ñô ˆDð #Ô1°VÒ;Ð;Ø—’Õ-Ñ/Ô/Ñ0Ô0Ð0Ø�KŠKÕ8Ñ:Ô:Ñ;Ô;Ð;ð �KŠKÝ(Ø)<Ô)Qðñ ô ñô ð ð
 �KŠKÝ#å™œÝ™	œ	Ý™œÝ™œÝ™œÝ™œÝ™œÝ™œÝ ™
œ
Ý™œ¥'¡)¤)Ð,Ý™œ¥'¡)¤)Ð,Ý™œ¥8¡:¤:Ð.ðñô ñô ð ð$ �KŠKÕ/Ñ1Ô1Ñ2Ô2Ð2Ø�KŠKÕ)Ñ+Ô+Ñ,Ô,Ð,ð
 #Ô7ÐCØ—’Õ,Ð-@Ô-UÑVÔVÑWÔWÐWÐWà—’Õ,Ñ.Ô.Ñ/Ô/Ð/Ð/å!Ð"TÐ@RÐ"TÐ"TÑUÔUÐUØˆó    ©N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   rY   © rZ   rX   r?   r?   V   sB   € € € € € Ø.Ð.ðlð lÈKð lð lð lð lð lð lrZ   r?   c                   ó    — e Zd ZdZddefd„ZdS )ÚBasisTranslatorPassManagerúBPlugin class for translation stage with :class:`~.BasisTranslator`Nr@   c                 ó,  — t          j        ¦   «         5  t          j        dt          dd¬¦  «         t	          j        |j        |j        d|j        |j	        |j
        |j        |j        |j        |j        ¬¦
  «
        cd d d ¦  «         S # 1 swxY w Y   d S )NÚignoreú@.*argument ``backend_properties`` is deprecated as of Qiskit 1.4Úqiskit©ÚcategoryÚmessageÚmoduleÚ
translator©	rM   ÚmethodrG   rI   Úbackend_propsrN   rO   rP   rQ   )ÚwarningsÚcatch_warningsÚfilterwarningsÚDeprecationWarningr   Ú generate_translation_passmanagerrJ   rM   rG   rI   Úbackend_propertiesrN   rO   rP   rQ   ©rT   rU   rV   s      rX   rY   z'BasisTranslatorPassManager.pass_managerË   së   € ÝÔ$Ñ&Ô&ð 	ð 	ÝÔ#ØÝ+ØZØð	ñ ô ð õ Ô:Ø#Ô*Ø/Ô;Ø#Ø%8Ô%MØ0Ô=Ø1ÔDØ)<Ô)UØ0CÔ0cØ.Ô9Ø&9Ô&Oðñ ô ð	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ”A(B	Â	BÂBr[   r\   ra   rZ   rX   rc   rc   È   s:   € € € € € ØLÐLðð ÈKð ð ð ð ð ð rZ   rc   c                   ó    — e Zd ZdZddefd„ZdS )ÚUnitarySynthesisPassManagerrd   Nr@   c                 ó˜   — t          j        |j        |j        d|j        |j        |j        |j        |j        |j	        |j
        ¬¦
  «
        S )NÚ	synthesisrn   )r   ru   rJ   rM   rG   rI   rv   rN   rO   rP   rQ   rw   s      rX   rY   z(UnitarySynthesisPassManager.pass_managerä   sU   € ÝÔ6ØÔ&Ø+Ô7ØØ!4Ô!IØ,Ô9Ø-Ô@Ø%8Ô%QØ,?Ô,_Ø*Ô5Ø"5Ô"Kð
ñ 
ô 
ð 	
rZ   r[   r\   ra   rZ   rX   ry   ry   á   s:   € € € € € ØLÐLð
ð 
ÈKð 
ð 
ð 
ð 
ð 
ð 
rZ   ry   c                   ó    — e Zd ZdZddefd„ZdS )ÚBasicSwapPassManagerz8Plugin class for routing stage with :class:`~.BasicSwap`Nr@   c                 óä  — |j         }|j        }|j        }|€t          |¦  «        }nt          |¦  «        }t	          j        ||j        |j        ¦  «        \  }}|dk    rt	          j        |||dd¬¦  «        S |dk    rt	          j        ||||||ddd¬¦	  «	        S |dk    rt	          j        ||||||dd¬	¦  «        S |d
k    rt	          j        ||||||dd¬	¦  «        S t          d|› �¦  «        ‚)ú Build routing stage PassManager.Nr   éÿÿÿÿT©rI   Úseed_transpilerÚuse_barrier_before_measurementrB   ©Úvf2_call_limitÚvf2_max_trialsrv   r‚   Úcheck_trivialrƒ   rD   ©rI   r…   r†   rv   r‚   rƒ   rE   ú&Invalid optimization level specified: )
rJ   rI   rv   r   r   Úget_vf2_limitsÚlayout_methodrH   Úgenerate_routing_passmanagerr   )	rT   rU   rV   rJ   rI   rv   Úrouting_passr…   r†   s	            rX   rY   z!BasicSwapPassManager.pass_managerö   sr  € à$Ô+ˆØ*Ô7ˆØ0ÔCÐØˆ>Ý$ \Ñ2Ô2ˆLˆLå$ VÑ,Ô,ˆLå)/Ô)>ØØÔ-ØÔ.ñ*
ô *
Ñ&ˆ˜ð
  Ò"Ð"ÝÔ6ØØØ)Ø "Ø/3ðñ ô ð ð  Ò"Ð"ÝÔ6ØØØØ-Ø-Ø#5Ø "Ø"Ø/3ð
ñ 
ô 
ð 
ð  Ò"Ð"ÝÔ6ØØØ)Ø-Ø-Ø#5Ø "Ø/3ð	ñ 	ô 	ð 	ð  Ò"Ð"ÝÔ6ØØØ)Ø-Ø-Ø#5Ø "Ø/3ð	ñ 	ô 	ð 	õ Ð[ÐGYÐ[Ð[Ñ\Ô\Ð\rZ   r[   r\   ra   rZ   rX   r}   r}   ó   sB   € € € € € ØBÐBð9]ð 9]ÈKð 9]ð 9]ð 9]ð 9]ð 9]ð 9]rZ   r}   c                   ó    — e Zd ZdZddefd„ZdS )ÚStochasticSwapPassManagerz=Plugin class for routing stage with :class:`~.StochasticSwap`Nr@   c                 óÊ  — |j         }|j        }|j        }|}|€|}|j        }t	          j        ||j        |j        ¦  «        \  }}	|dk    rt          |d|¬¦  «        }
nt          |d|¬¦  «        }
|dk    rt	          j	        |
||dd¬	¦  «        S |d
k    rt	          j	        |
||||	|ddd¬¦	  «	        S |dv rt	          j	        |
||||	|dd¬¦  «        S t          d|› �¦  «        ‚)r   NrE   éÈ   )ÚtrialsÚseedé   r   r€   Tr�   rB   r„   rC   rˆ   r‰   )r‚   rJ   rI   rv   r   rŠ   r‹   rH   r   rŒ   r   )rT   rU   rV   r‚   rJ   rI   Úcoupling_map_routingrv   r…   r†   r�   s              rX   rY   z&StochasticSwapPassManager.pass_manager5  se  € à-Ô=ˆØ$Ô+ˆØ*Ô7ˆØ%ÐØÐ'Ø#/Ð Ø0ÔCÐÝ)/Ô)>ØØÔ-ØÔ.ñ*
ô *
Ñ&ˆ˜ð
  Ò"Ð"Ý)Ð*>ÀsÐQ`ÐaÑaÔaˆLˆLå)Ð*>ÀrÐP_Ð`Ñ`Ô`ˆLà Ò"Ð"ÝÔ6ØØØ)Ø "Ø/3ðñ ô ð ð  Ò"Ð"ÝÔ6ØØØØ-Ø-Ø#5Ø "Ø"Ø/3ð
ñ 
ô 
ð 
ð  Ð'Ð'ÝÔ6ØØØ)Ø-Ø-Ø#5Ø "Ø/3ð	ñ 	ô 	ð 	õ Ð[ÐGYÐ[Ð[Ñ\Ô\Ð\rZ   r[   r\   ra   rZ   rX   r�   r�   2  sB   € € € € € ØGÐGð2]ð 2]ÈKð 2]ð 2]ð 2]ð 2]ð 2]ð 2]rZ   r�   c                   ó    — e Zd ZdZddefd„ZdS )ÚLookaheadSwapPassManagerz<Plugin class for routing stage with :class:`~.LookaheadSwap`Nr@   c                 ó>  — |j         }|j        }|}|€|}|j        }t          j        ||j        |j        ¦  «        \  }}|dk    r+t          |dd¬¦  «        }	t          j        |	||dd¬¦  «        S |dk    r/t          |d	d	¬¦  «        }	t          j        |	|||||ddd¬
¦	  «	        S |dk    r.t          |dd¬¦  «        }	t          j        |	|||||dd¬¦  «        S |dk    r.t          |dd¬¦  «        }	t          j        |	|||||dd¬¦  «        S t          d|› �¦  «        ‚)r   Nr   rD   )Úsearch_depthÚsearch_widthr€   Tr�   rB   é   r„   é   é   rˆ   rE   r‰   )
rJ   rI   rv   r   rŠ   r‹   rH   r   rŒ   r   )
rT   rU   rV   rJ   rI   r•   rv   r…   r†   r�   s
             rX   rY   z%LookaheadSwapPassManager.pass_managerm  s»  € à$Ô+ˆØ*Ô7ˆØ%ÐØÐ'Ø#/Ð Ø0ÔCÐÝ)/Ô)>ØØÔ-ØÔ.ñ*
ô *
Ñ&ˆ˜ð
  Ò"Ð"Ý(Ð)=ÈAÐ\]Ð^Ñ^Ô^ˆLÝÔ6ØØØ)Ø "Ø/3ðñ ô ð ð  Ò"Ð"Ý(Ð)=ÈAÐ\]Ð^Ñ^Ô^ˆLÝÔ6ØØØØ-Ø-Ø#5Ø "Ø"Ø/3ð
ñ 
ô 
ð 
ð  Ò"Ð"Ý(Ð)=ÈAÐ\]Ð^Ñ^Ô^ˆLÝÔ6ØØØ)Ø-Ø-Ø#5Ø "Ø/3ð	ñ 	ô 	ð 	ð  Ò"Ð"Ý(Ð)=ÈAÐ\]Ð^Ñ^Ô^ˆLÝÔ6ØØØ)Ø-Ø-Ø#5Ø "Ø/3ð	ñ 	ô 	ð 	õ Ð[ÐGYÐ[Ð[Ñ\Ô\Ð\rZ   r[   r\   ra   rZ   rX   r—   r—   j  sB   € € € € € ØFÐFð;]ð ;]ÈKð ;]ð ;]ð ;]ð ;]ð ;]ð ;]rZ   r—   c                   ó    — e Zd ZdZddefd„ZdS )ÚSabreSwapPassManagerz8Plugin class for routing stage with :class:`~.SabreSwap`Nr@   c                 ó|  — |j         }|j        }|j        }|}|€|}|j        }t	          j        ||j        |j        ¦  «        \  }}	|dk    r;t          d¦  «        }
t          |d||
¬¦  «        }t	          j
        |||dd¬¦  «        S |d	k    r‡t          d¦  «        }
t          |d
||
¬¦  «        }t          j        ¦   «         5  t          j        dt          dd¬¦  «         t	          j
        |||||	|ddd¬¦	  «	        cddd¦  «         S # 1 swxY w Y   |dk    r†t          d¦  «        }
t          |d
||
¬¦  «        }t          j        ¦   «         5  t          j        dt          dd¬¦  «         t	          j
        |||||	|dd¬¦  «        cddd¦  «         S # 1 swxY w Y   |dk    r†t          d¦  «        }
t          |d
||
¬¦  «        }t          j        ¦   «         5  t          j        dt          dd¬¦  «         t	          j
        |||||	|dd¬¦  «        cddd¦  «         S # 1 swxY w Y   t          d|› �¦  «        ‚)r   Nr   rœ   Úbasic)Ú	heuristicr“   r’   r€   Tr�   rB   Údecayrf   rg   rh   ri   r„   rD   r”   rˆ   rE   r‰   )r‚   rJ   rI   rv   r   rŠ   r‹   rH   Ú_get_trial_countr	   rŒ   rq   rr   rs   rt   r   )rT   rU   rV   r‚   rJ   rI   r•   rv   r…   r†   Útrial_countr�   s               rX   rY   z!SabreSwapPassManager.pass_manager®  sË  € à-Ô=ˆØ$Ô+ˆØ*Ô7ˆØ%ÐØÐ'Ø#/Ð Ø0ÔCÐÝ)/Ô)>ØØÔ-ØÔ.ñ*
ô *
Ñ&ˆ˜ð
  Ò"Ð"Ý*¨1Ñ-Ô-ˆKÝ$Ø$Ø!Ø$Ø"ð	ñ ô ˆLõ Ô6ØØØ)Ø "Ø/3ðñ ô ð ð  Ò"Ð"Ý*¨1Ñ-Ô-ˆKÝ$Ø$Ø!Ø$Ø"ð	ñ ô ˆLõ Ô(Ñ*Ô*ð ð ÝÔ'ØÝ/Ø^Ø#ð	ñ ô ð õ Ô:Ø ØØ Ø#1Ø#1Ø'9Ø$&Ø"&Ø37ð
ñ 
ô 
ðð ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð$  Ò"Ð"Ý*¨2Ñ.Ô.ˆKå$Ø$Ø!Ø$Ø"ð	ñ ô ˆLõ Ô(Ñ*Ô*ð ð ÝÔ'ØÝ/Ø^Ø#ð	ñ ô ð õ Ô:Ø ØØ!-Ø#1Ø#1Ø'9Ø$&Ø37ð	ñ 	ô 	ðð ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð"  Ò"Ð"Ý*¨2Ñ.Ô.ˆKÝ$Ø$Ø!Ø$Ø"ð	ñ ô ˆLõ Ô(Ñ*Ô*ð ð ÝÔ'ØÝ/Ø^Ø#ð	ñ ô ð õ Ô:Ø ØØ!-Ø#1Ø#1Ø'9Ø$&Ø37ð	ñ 	ô 	ðð ð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ" Ð[ÐGYÐ[Ð[Ñ\Ô\Ð\s6   Ã:D	Ä	DÄDÅ9FÆFÆFÇ9H!È!H%È(H%r[   r\   ra   rZ   rX   rŸ   rŸ   «  sJ   € € € € € ØBÐBðj]ð j]ÈKð j]ð j]ð j]ð j]ð j]ð j]rZ   rŸ   c                   ó    — e Zd ZdZddefd„ZdS )ÚNoneRoutingPassManagerz5Plugin class for routing stage with error on routing.Nr@   c                 ór   — |j         }|j        }t          dd¬¦  «        }t          j        |||dd¬¦  «        S )r   z`No routing method selected, but circuit is not routed to device. CheckMap Error: {check_map_msg}Úraise)ÚmsgÚactionr€   Tr�   )rJ   rI   r
   r   rŒ   )rT   rU   rV   rJ   rI   r�   s         rX   rY   z#NoneRoutingPassManager.pass_manager  sY   € à$Ô+ˆØ*Ô7ˆÝð.àð
ñ 
ô 
ˆõ
 Ô2ØØØ%ØØ+/ð
ñ 
ô 
ð 	
rZ   r[   r\   ra   rZ   rX   r§   r§     s:   € € € € € Ø?Ð?ð
ð 
ÈKð 
ð 
ð 
ð 
ð 
ð 
rZ   r§   c                   ó    — e Zd ZdZddefd„ZdS )ÚOptimizationPassManagerz#Plugin class for optimization stageNr@   c                 ó(	  — |j         pd}t          ¦   «         }|dk    �rst          ¦   «         }t          d¬¦  «        t	          d¦  «        g}t          d¬¦  «        t	          d¦  «        g}t          d¬¦  «        t          d¬¦  «        t          ddgd¦  «        g}d„ }	|                     d	|||¬
¦  «        }
|dk    ròt          |j	        |j
        ¬¦  «        t          t          ¦   «         t          ¦   «         t          ¦   «         t          ¦   «         t!          ¦   «         t#          ¦   «         t%          ¦   «         t'          ¦   «         t)          ¦   «         t+          ¦   «         t-          ¦   «         ft/          ¦   «         t1          ¦   «         ft3          ¦   «         t5          ¦   «         fg¦  «        g}�nX|dk    rLt7          |j        |j
        ¬¦  «        t          |j	        |j
        ¬¦  «        t;          |j
        ¬¦  «        g}�n|dk    rît=          j        ¦   «         5  t=          j         dtB          dd¬¦  «         tE          |j	        |j
        |j        ¬¦  «        tG          |j	        |j        |j$        |j%        |j&        |j'        |j
        ¬¦  «        t7          |j        |j
        ¬¦  «        t          |j	        |j
        ¬¦  «        t;          |j
        ¬¦  «        g}ddd¦  «         n# 1 swxY w Y   d„ }	ntQ          d|› �¦  «        ‚|
 )                    ¦   «         }d„ }tU          |j	        |j
        ¬¦  «        tW          ||¬¦  «        g}|dk    r| ,                    |¦  «         nì|dk    rÎt=          j        ¦   «         5  t=          j         dtB          dd¬¦  «         | ,                    tE          |j	        |j
        |j        ¬¦  «        tG          |j	        |j        |j$        |j%        |j&        |j'        |j
        ¬¦  «        g¦  «         ddd¦  «         n# 1 swxY w Y   | ,                    ||z   ¦  «         n| ,                    ||z   ¦  «         |dk    r||z   |z   n
||z   |z   |z   }| ,                    t[          ||	¬¦  «        ¦  «         |S dS )z*Build pass manager for optimization stage.rm   r   T)ÚrecurseÚdepthÚsizeÚoptimization_loopc                 ó&   — | d          p| d          S )NÚdepth_fixed_pointÚsize_fixed_pointra   ©Úproperty_sets    rX   Ú_opt_controlz:OptimizationPassManager.pass_manager.<locals>._opt_controlC  s$   € Ø(Ð)<Ô=Ð=ð Ø$Ð%7Ô8Ð8ðrZ   Útranslation)rV   rB   )ÚbasisrJ   rD   )rG   rJ   )rJ   rE   rf   z;.*argument ``backend_props`` is deprecated as of Qiskit 1.4rh   ri   )rM   rJ   rG   )rG   rI   rp   ro   Úplugin_configrJ   Nc                 ó   — | d          S )NÚoptimization_loop_minimum_pointra   r¶   s    rX   r¸   z:OptimizationPassManager.pass_manager.<locals>._opt_control“  s   € Ø+Ð,MÔNÐNÐNrZ   zInvalid optimization_level: c                 ó   — | d          S )NÚall_gates_in_basisra   r¶   s    rX   Ú_unroll_conditionz?OptimizationPassManager.pass_manager.<locals>._unroll_conditionœ  s   € Ø'Ð(<Ô=Ð=Ð=rZ   ©Ú	condition)Údo_while).Útranslation_methodr   r   r   r   r   r   Úget_passmanager_stager   rM   rJ   r   r&   r'   r(   r2   r)   r*   r+   r1   r.   r,   r-   r/   r0   r3   r4   r   rG   r   rq   rr   rs   rt   r   r!   rI   rv   rN   rO   r   Úto_flow_controllerr    r"   rR   r#   )rT   rU   rV   rÄ   ÚoptimizationÚplugin_managerÚ_depth_checkÚ_size_checkÚ_minimum_point_checkr¸   r¹   Ú_optÚunrollrÀ   Ú_unroll_if_out_of_basisÚopt_loops                   rX   rY   z$OptimizationPassManager.pass_manager3  s²  € ð 1ÔCÐSÀ|ÐÝ"‘}”}ˆØ Ò"Ñ"Ý:Ñ<Ô<ˆNÝ!¨$Ð/Ñ/Ô/µ¸GÑ1DÔ1DÐEˆLÝ¨Ð-Ñ-Ô-­z¸&Ñ/AÔ/AÐBˆKõ ˜dÐ#Ñ#Ô#Ý˜TÐ"Ñ"Ô"Ý˜g vÐ.Ð0CÑDÔDð$Ð ðð ð ð
 )×>Ò>ØØ"Ø#Ø#5ð	 ?ñ ô ˆKð " QÒ&Ð&õ 1Ø1Ô=ÐFYÔF`ðñ ô õ (å"™HœHÝ#™IœIÝ"™HœHÝ"™HœHÝ!™GœGÝ!™GœGÝ!™GœGÝ!™GœGÝ$™JœJÝ"™WœW¥g¡i¤iÐ0Ý"™WœW¥g¡i¤iÐ0Ý#™XœX¥x¡z¤zÐ2ðñô ð	�‘ð, $ qÒ(Ð(å,Ø-@Ô-UØ2Ô9ðñ ô õ 1Ø1Ô=ÐFYÔF`ðñ ô õ ,Ð3FÔ3MÐNÑNÔNð	�‘ð $ qÒ(Ð(åÔ,Ñ.Ô.ð ð ÝÔ+Ø Ý!3Ø ]Ø'ð	ñ ô ð õ *Ø(;Ô(GØ#6Ô#=Ø1DÔ1Yðñ ô õ
 )Ø/Ô;Ø1DÔ1YØ)<Ô)IØ*=Ô*PØ#6Ô#OØ*=Ô*]Ø#6Ô#=ðñ ô õ 1Ø1DÔ1YØ#6Ô#=ðñ ô õ 5Ø"5Ô"AÐJ]ÔJdðñ ô õ 0Ð7JÔ7QÐRÑRÔRð-�Dðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð@Oð Oð Oð Oõ &Ð&YÐEWÐ&YÐ&YÑZÔZÐZà ×3Ò3Ñ5Ô5ˆFð>ð >ð >õ
 Ð0Ô<ÐEXÔE_Ð`Ñ`Ô`Ý% fÐ8IÐJÑJÔJð'Ð#ð
 " QÒ&Ð&Ø×#Ò#Ð$8Ñ9Ô9Ð9Ð9Ø# qÒ(Ð(ÝÔ,Ñ.Ô.ð ð ÝÔ+Ø Ý!3Ø ]Ø'ð	ñ ô ð ð !×'Ò'å-Ø,?Ô,KØ':Ô'AØ5HÔ5]ðñ ô õ
 -Ø 3Ô ?Ø5HÔ5]Ø-@Ô-MØ.AÔ.TØ':Ô'SØ.AÔ.aØ':Ô'Aðñ ô ðñô ð ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð2 ×#Ò# L°;Ñ$>Ñ?Ô?Ð?Ð?à×#Ò# L°;Ñ$>Ñ?Ô?Ð?ð &¨Ò*Ð*ð Ð.Ñ.Ð1EÑEÐEàÐ3Ñ3°lÑBÀ[ÑPð ð
 ×ÒÕ 1°(À\Ð RÑ RÔ RÑSÔSÐSØÐà�4s&   ÈC K'Ë'K+Ë.K+Î BPÐPÐPr[   r\   ra   rZ   rX   r­   r­   0  sB   € € € € € Ø-Ð-ðYð YÈKð Yð Yð Yð Yð Yð YrZ   r­   c                   ó    — e Zd ZdZddefd„ZdS )ÚAlapSchedulingPassManagerú'Plugin class for alap scheduling stage.Nr@   c                 ó  — |j         }|j        }|j        }|j        }|j        }t          j        ¦   «         5  t          j        dt          ¬¦  «         t          j
        |||||¦  «        cddd¦  «         S # 1 swxY w Y   dS ©ú"Build scheduling stage PassManagerrf   ©r«   rj   N©Úinstruction_durationsÚscheduling_methodÚtiming_constraintsÚinst_maprJ   rq   rr   Úsimplefilterrt   r   Úgenerate_scheduling©rT   rU   rV   rØ   rÙ   rÚ   rÛ   rJ   s           rX   rY   z&AlapSchedulingPassManager.pass_managerÒ  óÙ   € ð !4Ô IÐØ/ÔAÐØ0ÔCÐØ&Ô/ˆØ$Ô+ˆåÔ$Ñ&Ô&ð 	ð 	ÝÔ!¨Õ<NÐOÑOÔOÐOõ Ô-Ø%Ð'8Ð:LÈhÐX^ñô ð		ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	ó   ·3A7Á7A;Á>A;r[   r\   ra   rZ   rX   rÑ   rÑ   Ï  ó:   € € € € € Ø1Ð1ðð ÈKð ð ð ð ð ð rZ   rÑ   c                   ó    — e Zd ZdZddefd„ZdS )ÚAsapSchedulingPassManagerrÒ   Nr@   c                 ó  — |j         }|j        }|j        }|j        }|j        }t          j        ¦   «         5  t          j        dt          ¬¦  «         t          j
        |||||¦  «        cddd¦  «         S # 1 swxY w Y   dS rÔ   r×   rÞ   s           rX   rY   z&AsapSchedulingPassManager.pass_managerç  rß   rà   r[   r\   ra   rZ   rX   rã   rã   ä  rá   rZ   rã   c                   ó    — e Zd ZdZddefd„ZdS )ÚDefaultSchedulingPassManagerrÒ   Nr@   c                 ó  — |j         }d}|j        pt          ¦   «         }|j        }|j        }t          j        ¦   «         5  t          j        dt          ¬¦  «         t          j
        |||||¦  «        cddd¦  «         S # 1 swxY w Y   dS )rÕ   Nrf   rÖ   )rØ   rÚ   r$   rÛ   rJ   rq   rr   rÜ   rt   r   rÝ   rÞ   s           rX   rY   z)DefaultSchedulingPassManager.pass_managerü  sâ   € ð !4Ô IÐØ ÐØ0ÔCÐZÕGXÑGZÔGZÐØ&Ô/ˆØ$Ô+ˆåÔ$Ñ&Ô&ð 	ð 	ÝÔ!¨Õ<NÐOÑOÔOÐOõ Ô-Ø%Ð'8Ð:LÈhÐX^ñô ð		ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   Á 3B Â BÂBr[   r\   ra   rZ   rX   ræ   ræ   ù  rá   rZ   ræ   c                   ó    — e Zd ZdZddefd„ZdS )ÚDefaultLayoutPassManagerz&Plugin class for default layout stage.Nr@   c           	      ó	  — t          |j        ¦  «        }d„ }d„ }d„ }d„ }|j        €|j        }n|j        }t	          ¦   «         }	|	                     |¦  «         |dk    rJ|	                     t          t          |¦  «        |¬¦  «        ¦  «         |	t          j	        |¦  «        z  }	|	S |dk    �rM|	                     t          t          |¦  «        t          |¦  «        g|¬¦  «        ¦  «         t          j        ¦   «         5  t          j        dt          d	d
¬¦  «         t          |j        dt!          d¦  «        |j        |j        d¬¦  «        }
d d d ¦  «         n# 1 swxY w Y   |	                     t          |
|¬¦  «        ¦  «         t%          d¦  «        }t'          |d|j        |||j        d uo
|j        dk    ¬¦  «        }|	                     t          t-          d¦  «        |g|¬¦  «        ¦  «         �n9|dk    �rt          j        ¦   «         5  t          j        dt          d	d
¬¦  «         t          |j        dt!          d¦  «        |j        |j        d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   |	                     t          ||¬¦  «        ¦  «         t%          d¦  «        }t'          |d|j        |||j        d uo
|j        dk    ¬¦  «        }
|	                     t          t-          d¦  «        |
g|¬¦  «        ¦  «         �n%|dk    �rt          j        ¦   «         5  t          j        dt          d	d
¬¦  «         t          |j        dt!          d¦  «        |j        |j        d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   |	                     t          ||¬¦  «        ¦  «         t%          d¦  «        }t'          |d|j        |||j        d uo
|j        dk    ¬¦  «        }
|	                     t          t-          d¦  «        |
g|¬¦  «        ¦  «         nt/          d|› �¦  «        ‚t          j	        |¦  «        }|	                     t          |                     ¦   «         |¬¦  «        ¦  «         |	S )Nc                 ó   — | d          S ©NÚlayoutra   r¶   s    rX   Ú_choose_layout_conditionzGDefaultLayoutPassManager.pass_manager.<locals>._choose_layout_condition  ó   € Ø# HÔ-Ð-Ð-rZ   c                 ó(   — | d         duo| d          S )z«Return ``True`` if the first attempt at layout has been checked and found to be
            imperfect.  In this case, perfection means "does not require any swap routing".Úis_swap_mappedNra   r¶   s    rX   Ú_layout_not_perfectzBDefaultLayoutPassManager.pass_manager.<locals>._layout_not_perfect  s#   € ð  Ð 0Ô1¸Ð=ÐdÀlÐScÔFdÐBdÐdrZ   c                 óR   — | d         €dS | d         d uo| d         t           j        uS )Nrí   TÚVF2Layout_stop_reason)r%   ÚSOLUTION_FOUNDr¶   s    rX   Ú_vf2_match_not_foundzCDefaultLayoutPassManager.pass_manager.<locals>._vf2_match_not_found  sA   € ð ˜HÔ%Ð-Ø�tð Ð4Ô5¸TÐAð dØ Ð!8Ô9ÕATÔAcÐcðrZ   c                 ó   — | d         d u S ©NÚfinal_layoutra   r¶   s    rX   Ú_swap_mappedz;DefaultLayoutPassManager.pass_manager.<locals>._swap_mapped(  ó   € Ø Ô/°4Ð7Ð7rZ   r   rÁ   rB   rf   z8.*argument ``properties`` is deprecated as of Qiskit 1.4rh   ri   r€   g     jè@iÄ	  )rI   r“   Ú
call_limitÚ
propertiesrJ   Ú
max_trialsrœ   rD   Úsabre©Úmax_iterationsr“   Úswap_trialsÚlayout_trialsÚskip_routingú5qiskit.transpiler.internal.routing.protection.barrierg    ÐSAr”   rE   g    8œ|Ai�Ð r›   úInvalid optimization level: )r   rH   rJ   rI   r   rR   r"   r   r   Úgenerate_embed_passmanagerr   rq   rr   rs   rt   r   Úintrv   r¤   r   r‚   rS   r   r   rÆ   )rT   rU   rV   Ú_given_layoutrî   rò   rö   rú   rI   rí   Úchoose_layout_1r¥   Úchoose_layout_2Úchoose_layout_0Úembeds                  rX   rY   z%DefaultLayoutPassManager.pass_manager  s@  € Ý!Ð"5Ô"DÑEÔEˆð	.ð 	.ð 	.ð	eð 	eð 	eð

	ð 
	ð 
	ð	8ð 	8ð 	8ð Ô%Ð-Ø.Ô;ˆLˆLà.Ô5ˆLå‘”ˆØ�Š�mÑ$Ô$Ð$Ø Ò"Ð"Ø�MŠMÝ%Ý! ,Ñ/Ô/Ð;Sðñ ô ñô ð ð
 •fÔ7¸ÑEÔEÑEˆFØˆMØ 1Ò$Ñ$Ø�MŠMÝ%Ý" <Ñ0Ô0µ(¸<Ñ2HÔ2HÐIØ6ðñ ô ñô ð õ Ô(Ñ*Ô*ð ð ÝÔ'ØÝ/ØVØ#ð	ñ ô ð õ #,Ø!4Ô!AØÝ" 3™xœxØ2ÔEØ.Ô5Ø#ð#ñ #ô #�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð �MŠMÕ/°ÐK^Ð_Ñ_Ô_Ñ`Ô`Ð`å*¨1Ñ-Ô-ˆKå)ØØ Ø(Ô8Ø'Ø)Ø0Ô?ÀtÐKð BØ'Ô6¸'ÒAðñ ô ˆOð �MŠMÝ%å6ØSñô ð (ð	ð 3ðñ ô ñ
ô 
ð 
ñ 
ð   1Ò$Ñ$ÝÔ(Ñ*Ô*ð ð ÝÔ'ØÝ/ØVØ#ð	ñ ô ð õ #,Ø!4Ô!AØÝ" 3™xœxØ2ÔEØ.Ô5Ø#ð#ñ #ô #�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð �MŠMÝ% oÐAYÐZÑZÔZñô ð õ +¨2Ñ.Ô.ˆKå)ØØ Ø(Ô8Ø'Ø)Ø0Ô?ÀtÐKð BØ'Ô6¸'ÒAðñ ô ˆOð �MŠMÝ%å6ØSñô ð (ð	ð 3ðñ ô ñ
ô 
ð 
ñ 
ð   1Ò$Ñ$ÝÔ(Ñ*Ô*ð ð ÝÔ'ØÝ/ØVØ#ð	ñ ô ð õ #,Ø!4Ô!AØÝ" 3™xœxØ2ÔEØ.Ô5Ø%ð#ñ #ô #�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð �MŠMÝ% oÐAYÐZÑZÔZñô ð õ +¨2Ñ.Ô.ˆKå)ØØ Ø(Ô8Ø'Ø)Ø0Ô?ÀtÐKð BØ'Ô6¸'ÒAðñ ô ˆOð �MŠMÝ%å6ØSñô ð (ð	ð 3ðñ ô ñ
ô 
ð 
ð 
õ "Ð"UÐASÐ"UÐ"UÑVÔVÐVåÔ1°,Ñ?Ô?ˆØ�ŠÕ+¨E×,DÒ,DÑ,FÔ,FÐR^Ð_Ñ_Ô_Ñ`Ô`Ð`Øˆs9   ÄAEÅE#Å&E#ÈAI3É3I7É:I7Ì,ANÎNÎNr[   r\   ra   rZ   rX   ré   ré     sB   € € € € € Ø0Ð0ðpð pÈKð pð pð pð pð pð prZ   ré   c                   ó    — e Zd ZdZddefd„ZdS )ÚTrivialLayoutPassManagerz&Plugin class for trivial layout stage.Nr@   c                 ó6  — t          |j        ¦  «        }d„ }|j        €|j        }n|j        }t	          ¦   «         }|                     |¦  «         |                     t          t          |¦  «        |¬¦  «        ¦  «         |t          j	        |¦  «        z  }|S )Nc                 ó   — | d          S rì   ra   r¶   s    rX   rî   zGTrivialLayoutPassManager.pass_manager.<locals>._choose_layout_conditionÊ  rï   rZ   rÁ   )
r   rH   rJ   rI   r   rR   r"   r   r   r  ©rT   rU   rV   r	  rî   rI   rí   s          rX   rY   z%TrivialLayoutPassManager.pass_managerÇ  s¥   € Ý!Ð"5Ô"DÑEÔEˆð	.ð 	.ð 	.ð Ô%Ð-Ø.Ô;ˆLˆLà.Ô5ˆLå‘”ˆØ�Š�mÑ$Ô$Ð$Ø�ŠÝ!¥-°Ñ"=Ô"=ÐIaÐbÑbÔbñ	
ô 	
ð 	
ð 	•&Ô3°LÑAÔAÑAˆØˆrZ   r[   r\   ra   rZ   rX   r  r  Ä  s:   € € € € € Ø0Ð0ðð ÈKð ð ð ð ð ð rZ   r  c                   ó    — e Zd ZdZddefd„ZdS )ÚDenseLayoutPassManagerz$Plugin class for dense layout stage.Nr@   c           
      óê  — t          |j        ¦  «        }d„ }|j        €|j        }n|j        }t	          ¦   «         }|                     |¦  «         t          j        ¦   «         5  t          j        dt          dd¬¦  «         |                     t          t          |j        |j        |j        ¬¦  «        |¬¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   |t          j        |¦  «        z  }|S )Nc                 ó   — | d          S rì   ra   r¶   s    rX   rî   zEDenseLayoutPassManager.pass_manager.<locals>._choose_layout_conditioná  rï   rZ   rf   z:.*argument ``backend_prop`` is deprecated as of Qiskit 1.4rh   ri   )rI   Úbackend_proprJ   rÁ   )r   rH   rJ   rI   r   rR   rq   rr   rs   rt   r"   r   rv   r   r  r  s          rX   rY   z#DenseLayoutPassManager.pass_managerÞ  sS  € Ý!Ð"5Ô"DÑEÔEˆð	.ð 	.ð 	.ð Ô%Ð-Ø.Ô;ˆLˆLà.Ô5ˆLå‘”ˆØ�Š�mÑ$Ô$Ð$ÝÔ$Ñ&Ô&ð 	ð 	ÝÔ#ØÝ+ØTØð	ñ ô ð ð �MŠMÝ%ÝØ%8Ô%EØ%8Ô%KØ2Ô9ðñ ô ð
 7ðñ ô ñ	ô 	ð 	ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð" 	•&Ô3°LÑAÔAÑAˆØˆs   Á$A!CÃCÃCr[   r\   ra   rZ   rX   r  r  Û  s:   € € € € € Ø.Ð.ðð ÈKð ð ð ð ð ð rZ   r  c                   ó    — e Zd ZdZddefd„ZdS )ÚSabreLayoutPassManagerz$Plugin class for sabre layout stage.Nr@   c           	      óÚ  — t          |j        ¦  «        }d„ }d„ }|j        €|j        }n|j        }t	          ¦   «         }|                     |¦  «         |dk    r<t          d¦  «        }t          |d|j        |||j	        d uo
|j	        dk    ¬¦  «        }	nØ|dk    r<t          d¦  «        }t          |d|j        |||j	        d uo
|j	        dk    ¬¦  «        }	n–|dk    r<t          d	¦  «        }t          |d|j        |||j	        d uo
|j	        dk    ¬¦  «        }	nT|d
k    r<t          d	¦  «        }t          |d|j        |||j	        d uo
|j	        dk    ¬¦  «        }	nt          d|› �¦  «        ‚|                     t          t          d¦  «        |	g|¬¦  «        ¦  «         t          j        |¦  «        }
|                     t          |
                     ¦   «         |¬¦  «        ¦  «         |S )Nc                 ó   — | d          S rì   ra   r¶   s    rX   rî   zESabreLayoutPassManager.pass_manager.<locals>._choose_layout_condition  rï   rZ   c                 ó   — | d         d u S rø   ra   r¶   s    rX   rú   z9SabreLayoutPassManager.pass_manager.<locals>._swap_mapped	  rû   rZ   r   rœ   rB   rÿ   r   rD   r”   rE   r›   r  r  rÁ   )r   rH   rJ   rI   r   rR   r¤   r   r‚   rS   r   r"   r   r   r  rÆ   )rT   rU   rV   r	  rî   rú   rI   rí   r¥   Úlayout_passr  s              rX   rY   z#SabreLayoutPassManager.pass_manager  s„  € Ý!Ð"5Ô"DÑEÔEˆð	.ð 	.ð 	.ð	8ð 	8ð 	8ð Ô%Ð-Ø.Ô;ˆLˆLà.Ô5ˆLå‘”ˆØ�Š�mÑ$Ô$Ð$Ø Ò"Ð"Ý*¨1Ñ-Ô-ˆKå%ØØ Ø(Ô8Ø'Ø)Ø0Ô?ÀtÐKð BØ'Ô6¸'ÒAðñ ô ˆKˆKð   1Ò$Ð$Ý*¨1Ñ-Ô-ˆKå%ØØ Ø(Ô8Ø'Ø)Ø0Ô?ÀtÐKð BØ'Ô6¸'ÒAðñ ô ˆKˆKð   1Ò$Ð$Ý*¨2Ñ.Ô.ˆKå%ØØ Ø(Ô8Ø'Ø)Ø0Ô?ÀtÐKð BØ'Ô6¸'ÒAðñ ô ˆKˆKð   1Ò$Ð$Ý*¨2Ñ.Ô.ˆKå%ØØ Ø(Ô8Ø'Ø)Ø0Ô?ÀtÐKð BØ'Ô6¸'ÒAðñ ô ˆKˆKõ "Ð"UÐASÐ"UÐ"UÑVÔVÐVØ�ŠÝ!å2ØOñô ð  ð	ð 3ðñ ô ñ
	
ô 
	
ð 
	
õ Ô1°,Ñ?Ô?ˆØ�ŠÕ+¨E×,DÒ,DÑ,FÔ,FÐR^Ð_Ñ_Ô_Ñ`Ô`Ð`ØˆrZ   r[   r\   ra   rZ   rX   r  r     sB   € € € € € Ø.Ð.ðOð OÈKð Oð Oð Oð Oð Oð OrZ   r  rœ   c                 óŽ   — t                                dd ¦  «        st          j        d¦  «        rt	          t
          | ¦  «        S | S )NÚsabre_all_threadsÚQISKIT_SABRE_ALL_THREADS)ÚCONFIGÚgetÚosÚgetenvÚmaxr5   )Údefault_trialss    rX   r¤   r¤   U  sA   € Ý‡z‚zÐ% tÑ,Ô,ð .µ´	Ð:TÑ0UÔ0Uð .Ý•9˜nÑ-Ô-Ð-ØÐrZ   )rœ   )Zr`   r#  rq   Ú8qiskit.transpiler.passes.optimization.split_2q_unitariesr   Úqiskit.transpiler.passmanagerr   Úqiskit.transpiler.exceptionsr   Úqiskit.transpiler.passesr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   Ú%qiskit.transpiler.preset_passmanagersr   Ú,qiskit.transpiler.preset_passmanagers.pluginr   r   Ú%qiskit.transpiler.passes.optimizationr   r   r   r   r   r   r   r   r   Ú*qiskit.transpiler.passes.utils.gates_basisr    Ú4qiskit.transpiler.passes.synthesis.unitary_synthesisr!   Ú#qiskit.passmanager.flow_controllersr"   r#   Ú$qiskit.transpiler.timing_constraintsr$   Ú*qiskit.transpiler.passes.layout.vf2_layoutr%   Ú%qiskit.circuit.library.standard_gatesr&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   Úqiskit.utils.parallelr5   rh   r6   Ú
get_configr!  Ú_discrete_skipped_opsr?   rc   ry   r}   r�   r—   rŸ   r§   r­   rÑ   rã   ræ   ré   r  r  r  r¤   ra   rZ   rX   ú<module>r7     sj  ðð BÐ Aà 	€	€	€	Ø €€€à UÐ UÐ UÐ UÐ UÐ UØ 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø .Ð .Ð .Ð .Ð .Ð .Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø .Ð .Ð .Ð .Ð .Ð .Ø *Ð *Ð *Ð *Ð *Ð *Ø .Ð .Ð .Ð .Ð .Ð .Ø .Ð .Ð .Ð .Ð .Ð .Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø -Ð -Ð -Ð -Ð -Ð -Ø CÐ CÐ CÐ CÐ CÐ CØ 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø EÐ EÐ EÐ EÐ EÐ EØ 8Ð 8Ð 8Ð 8Ð 8Ð 8ðð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð KÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JØ CÐ CÐ CÐ CÐ CÐ CØ QÐ QÐ QÐ QÐ QÐ QØ XÐ XÐ XÐ XÐ XÐ XÐ XÐ XØ BÐ BÐ BÐ BÐ BÐ BØ JÐ JÐ JÐ JÐ JÐ Jðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð" ,Ð +Ð +Ð +Ð +Ð +Ø Ð Ð Ð Ð Ð à	ˆÔ	Ñ	!Ô	!€ðð ð Ð ðoð oð oð oð oÐ3ñ oô oð oðdð ð ð ð Ð!7ñ ô ð ð2
ð 
ð 
ð 
ð 
Ð"8ñ 
ô 
ð 
ð$<]ð <]ð <]ð <]ð <]Ð1ñ <]ô <]ð <]ð~5]ð 5]ð 5]ð 5]ð 5]Ð 6ñ 5]ô 5]ð 5]ðp>]ð >]ð >]ð >]ð >]Ð5ñ >]ô >]ð >]ðBm]ð m]ð m]ð m]ð m]Ð1ñ m]ô m]ð m]ð`
ð 
ð 
ð 
ð 
Ð3ñ 
ô 
ð 
ð*\ð \ð \ð \ð \Ð4ñ \ô \ð \ð~ð ð ð ð Ð 6ñ ô ð ð*ð ð ð ð Ð 6ñ ô ð ð*ð ð ð ð Ð#9ñ ô ð ð*sð sð sð sð sÐ5ñ sô sð sðlð ð ð ð Ð5ñ ô ð ð."ð "ð "ð "ð "Ð3ñ "ô "ð "ðJRð Rð Rð Rð RÐ3ñ Rô Rð Rðjð ð ð ð ð rZ   