+
    ª¬‚j”^  ã                  ó`  a € 0 t $ ^ RIHt ^ RIt^ RIt^ RIt^ RIHtHt ^RI	H
t
HtHtHtHtHtHtHtHt ^RIHtHt ^RIHt ^RIHtHtHtHtHt ]'       d   ^ RIHtH t H!t! ^R	I"H#t#H$t$ ^R
I%H&t& Rt'R](R&   R R lt) ! R R]]]
]3,          4      t* ! R R]]]
]3,          4      t+R R lt,R# )é    )ÚannotationsN)ÚTYPE_CHECKINGÚGeneric)	ÚCTÚKTÚRTÚDirectedGraphÚIterableViewÚIteratorMappingÚRequirementInformationÚStateÚbuild_iter_view)ÚAbstractResolverÚResult)Ú	Criterion)ÚInconsistentCandidateÚRequirementsConflictedÚResolutionImpossibleÚResolutionTooDeepÚResolverException)Ú
CollectionÚIterableÚMapping)ÚAbstractProviderÚ
Preference)ÚBaseReportergš™™™™™¹?ÚfloatÚ_OPTIMISTIC_BACKJUMPING_RATIOc               ó    € V ^8„  d   QhRRRR/# )é   ÚstateúState[RT, CT, KT]ÚreturnúResult[RT, CT, KT]© )Úformats   "Úh/Users/cheyod/AIGC/DSH/.venv/lib/python3.14/site-packages/pip/_vendor/resolvelib/resolvers/resolution.pyÚ__annotate__r(   &   s   € ÷ ñ Ð*ð Ð/Añ ó    c                óâ  € V P                   pVP                  4        UUu/ uF  w  r#\        V4      VbK  	  pppR V\        R 4      &   \        4       pVP	                  R 4       R 0pV P
                  P                  4        F�  w  rx\        V P
                  WtV4      '       g   K$  Wu9  d   VP	                  V4       VP                  4        F>  p	 V\        V	4      ,          p
Y¥9  d   TP	                  T
4       TP                  Y§4       K@  	  K�  	  \        VP                  4        UUu/ uF  w  r#W&9   g   K  W#bK  	  uppVV P
                  R7      # u uppi   \         d     Kœ  i ; iu uppi )N)ÚmappingÚgraphÚcriteria)r+   ÚitemsÚidr	   Úaddr-   Ú_has_route_to_rootÚiter_parentÚKeyErrorÚconnectr   )r!   r+   ÚkÚvÚall_keysr,   Ú	connectedÚkeyÚ	criterionÚpÚpkeys   &          r'   Ú_build_resultr=   &   s4  € Ø�m‰m€GØ;B¿=¹=¼?Ô%K¹?±4°1¤b¨£e¨Q¢h¹?€HÑ%KØ€HŒR�‹XÑä&3£o€EØ	‡I�Iˆd„Oà!% €IØŸ.™.×.Ñ.Ö0‰ˆÜ! %§.¡.°#À×KÒKÙØÔØ�I‰I�cŒNØ×&Ñ&Ö(ˆAðØ¤ 1£•�ð Ô Ø—	‘	˜$”Ø�M‰M˜$Ö$ó )ñ 1ô Ø")§-¡-¤/ÔD¡/™$˜!°Q±^”�’¡/ÒDØØ—‘ôð ùó+ &Løô ô Úðüó Es#    EÃEÄ)
E+
Ä8E+
ÅE(Å'E(c                  óØ   € ] tR t^DtRtR R lt]R R l4       tR R ltR R	 lt	R
 R lt
R R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR tR!# )"Ú
Resolutionz¡Stateful resolution object.

This is designed as a one-off object that holds information to kick start
the resolution process, and holds the results afterwards.
c               ó$   € V ^8„  d   QhRRRRRR/# )r    ÚproviderzAbstractProvider[RT, CT, KT]ÚreporterzBaseReporter[RT, CT, KT]r#   ÚNoner%   )r&   s   "r'   r(   ÚResolution.__annotate__K   s(   € ÷ 8ñ 8à.ð8ð +ð8ð 
ñ	8r)   c                	ó^   € Wn         W n        . V n        \        V n        R V n        R V n        R # ©N)Ú_pÚ_rÚ_statesr   Ú_optimistic_backjumping_ratioÚ_save_statesÚ_optimistic_start_round)ÚselfrA   rB   s   &&&r'   Ú__init__ÚResolution.__init__K   s0   € ð
 ŒØŒØ02ˆŒô .KˆÔ*Ø<@ˆÔØ37ˆÖ$r)   c               ó   € V ^8„  d   QhRR/# )r    r#   r"   r%   )r&   s   "r'   r(   rD   Z   s   € ÷ 1ñ 1Ð(ñ 1r)   c                	óh   €  V P                   R,          #   \         d   p\        R4      ThRp?ii ; i)é   r!   Néÿÿÿÿ)rI   Ú
IndexErrorÚAttributeError)rM   Úes   & r'   r!   ÚResolution.stateY   s3   € ð	1Ø—<‘< Õ#Ð#øÜô 	1Ü  Ó)¨qÐ0ûð	1ús   ‚ •1 ,¬1c               ó   € V ^8„  d   QhRR/# ©r    r#   rC   r%   )r&   s   "r'   r(   rD   `   s   € ÷ #ñ # ñ #r)   c                ó   € V P                   R,          p\        VP                  P                  4       VP                  P                  4       VP
                  R,          R7      pV P                   P                  V4       R# )zqPush a new state into history.

This new state will be used to hold resolution results of the next
coming round.
ºNNN©r+   r-   Úbacktrack_causesNrS   )rI   r   r+   Úcopyr-   r]   Úappend)rM   Úbaser!   s   &  r'   Ú_push_new_stateÚResolution._push_new_state`   s^   € ð �|‰|˜BÕˆÜØ—L‘L×%Ñ%Ó'Ø—]‘]×'Ñ'Ó)Ø!×2Ñ2°1Õ5ô
ˆð
 	�‰×Ñ˜EÖ"r)   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r    r-   údict[KT, Criterion[RT, CT]]Úrequirementr   Úparentz	CT | Noner#   rC   r%   )r&   s   "r'   r(   rD   n   s2   € ÷ *)ñ *)à-ð*)ð ð*)ð ð	*)ð
 
ñ*)r)   c           
     	óŽ  € V P                   P                  W#R 7       V P                  P                  VR7      pVP	                  V4      pV'       d   \        VP                  4      pM. pV P                  P                  V\        V\        P                  ! R4      WB./4      \        V\        P                  ! R4      WF/4      R7      pV'       d1   \        VP                  4      pVP                  \        W#4      4       M\        W#4      .p\        \!        V4      VVR7      pVP"                  '       g   \%        V4      hWQV&   R# ))re   rf   )Úrequirement_or_candidateÚiter_requirementÚincompatibilities©Ú
identifierÚrequirementsrj   ©Ú
candidatesÚinformationrj   N)rH   Úadding_requirementrG   ÚidentifyÚgetÚlistrj   Úfind_matchesr   ÚoperatorÚmethodcallerÚ
attrgetterrp   r_   r   r   r   ro   r   )	rM   r-   re   rf   rl   r:   rj   Úmatchesrp   s	   &&&&     r'   Ú_add_to_criteriaÚResolution._add_to_criterian   s'  € ð 	�‰×"Ñ"¨{Ð"ÔJà—W‘W×%Ñ%¸{Ð%ÓKˆ
Ø—L‘L Ó,ˆ	ßÜ $ Y×%@Ñ%@Ó AÑà "Ðà—'‘'×&Ñ&Ø!Ü(ØÜ×%Ò%Ð&8Ó9Ø˜]Ð+óô
 .ØÜ×#Ò#Ð$7Ó8ØÐ/óð 'ó 
ˆ÷ Ü˜y×4Ñ4Ó5ˆKØ×ÑÔ5°kÓJÕKä1°+ÓFÐGˆKäÜ& wÓ/Ø#Ø/ô
ˆ	ð
 ×#×#Ð#Ü(¨Ó3Ð3Ø(�Ór)   c               ó$   € V ^8„  d   QhRRRRRR/# )r    r-   rd   ÚparentszCollection[KT]r#   rC   r%   )r&   s   "r'   r(   rD   š   s$   € ÷ ñ Ø3ðØ>Lðà	ñr)   c           
     óD  € V'       g   R# VP                  4        F|  w  r4\        VP                  VP                   Uu. uF?  pVP                  e-   V P
                  P                  VP                  4      V9  g   K=  VNKA  	  upVP                  4      W&   K~  	  R# u upi )a/  Remove information from parents of criteria.

Concretely, removes all values from each criterion's ``information``
field that have one of ``parents`` as provider of the requirement.

:param criteria: The criteria to update.
:param parents: Identifiers for which to remove information from all criteria.
N)r.   r   ro   rp   rf   rG   rr   rj   )rM   r-   r}   r9   r:   rp   s   &&&   r'   Ú!_remove_information_from_criteriaÚ,Resolution._remove_information_from_criteriaš   s�   € ÷ ÙØ&Ÿn™nÖ.‰NˆCÜ%Ø×$Ñ$ð (1×'<Ò'<óá'<˜à#×*Ñ*Ò2ØŸ7™7×+Ñ+¨K×,>Ñ,>Ó?ÀwÑN÷	  �KÙ'<ñð ×+Ñ+óˆH‹Mó /ùòs   ¾:BÁ=Bc               ó    € V ^8„  d   QhRRRR/# )r    Únamer   r#   r   r%   )r&   s   "r'   r(   rD   µ   s   € ÷ 
ñ 
 Bð 
¨:ñ 
r)   c                	óZ  € V P                   P                  VV P                  P                  \	        V P                  P
                  \        P                  ! R 4      4      \	        V P                  P
                  \        P                  ! R4      4      V P                  P                  R7      # )ro   rp   )rl   Úresolutionsro   rp   r]   )	rG   Úget_preferencer!   r+   r   r-   rv   rx   r]   )rM   r‚   s   &&r'   Ú_get_preferenceÚResolution._get_preferenceµ   s…   € Ø�w‰w×%Ñ%ØØŸ
™
×*Ñ*Ü&Ø—
‘
×#Ñ#Ü×#Ò# LÓ1óô (Ø—
‘
×#Ñ#Ü×#Ò# MÓ2óð "ŸZ™Z×8Ñ8ð &ó 
ð 	
r)   c               ó$   € V ^8„  d   QhRRRRRR/# )r    r‚   r   r:   zCriterion[RT, CT]r#   Úboolr%   )r&   s   "r'   r(   rD   Ä   s$   € ÷ 

ñ 

Øð

Ø#4ð

à	ñ

r)   c                	ó  a a€  S P                   P                  V,          o\        ;QJ d.    TT 3R lTP	                  4        4       F  '       d   K   R # 	  R# ! TT 3R lTP	                  4        4       4      #   \         d     R # i ; i)Fc              3  ó^   <"  € T F"  pSP                   P                  VSR 7      x € K$  	  R# 5i©)re   Ú	candidateN©rG   Úis_satisfied_by)Ú.0ÚrÚcurrent_pinrM   s   & €€r'   Ú	<genexpr>Ú8Resolution._is_current_pin_satisfying.<locals>.<genexpr>Ë   s/   øé € ð 
á1�ð �G‰G×#Ñ#°¸[Ð#×IÐIÛ1ùó   ƒ*-T)r!   r+   r3   Úallri   )rM   r‚   r:   r’   s   f&&@r'   Ú_is_current_pin_satisfyingÚ%Resolution._is_current_pin_satisfyingÄ   s   ù€ ð	ØŸ*™*×,Ñ,¨TÕ2ˆK÷ ‹sõ 
à×/Ñ/Ô1ó
�sŒsð 	
Šsð 	
ˆsõ 
à×/Ñ/Ô1ó
ó 
ð 	
øô ô 	Úð	ús   „A9 Á9BÂBc               ó    € V ^8„  d   QhRRRR/# )r    r�   r   r#   rd   r%   )r&   s   "r'   r(   rD   Ð   s   € ÷ ñ ¨rð Ð6Qñ r)   c                	óº   € V P                   P                  P                  4       pV P                  P	                  VR 7       F  pV P                  W#VR7       K  	  V# )©r�   ©rf   )r!   r-   r^   rG   Úget_dependenciesrz   )rM   r�   r-   re   s   &&  r'   Ú_get_updated_criteriaÚ Resolution._get_updated_criteriaÐ   sO   € Ø—:‘:×&Ñ&×+Ñ+Ó-ˆØŸ7™7×3Ñ3¸iÐ3ÖHˆKØ×!Ñ! (À	Ð!ÖJñ Iàˆr)   c               ó    € V ^8„  d   QhRRRR/# )r    r‚   r   r#   úlist[Criterion[RT, CT]]r%   )r&   s   "r'   r(   rD   Ö   s   € ÷ #ñ #¨bð #Ð5Lñ #r)   c                	ó&  a a€ S P                   P                  V,          p. pVP                   EF  o S P                  S4      p\        ;QJ d.    TT 3R lTP                  4        4       F  '       d   K   RM#	  RM! TT 3R lTP                  4        4       4      pT'       g   \        ST4      hS P
                  P                  SR7       S P                   P                  P                  T4       S P                   P                  P                  TR 4       SS P                   P                  T&   . u # 	  V#   \         dN   pS P
                  P                  TP                  S4       TP                  TP                  4        R p?EK]  R p?ii ; i)Nc              3  ó^   <"  € T F"  pSP                   P                  VSR 7      x € K$  	  R# 5irŒ   rŽ   )r�   r‘   r�   rM   s   & €€r'   r“   Ú7Resolution._attempt_to_pin_criterion.<locals>.<genexpr>æ   s/   øé € ð á5�Að —‘×'Ñ'°AÀÐ'×KÐKÛ5ùr•   FTr›   )r!   r-   ro   rž   r   rH   Úrejecting_candidater:   r_   r–   ri   r   ÚpinningÚupdater+   Úpop)rM   r‚   r:   Úcausesr-   rV   Ú	satisfiedr�   s   f&     @r'   Ú_attempt_to_pin_criterionÚ$Resolution._attempt_to_pin_criterionÖ   s6  ù€ Ø—J‘J×'Ñ'¨Õ-ˆ	à*,ˆØ"×-Õ-ˆIðØ×5Ñ5°iÓ@�÷ ›õ à"×3Ñ3Ô5óŸŸšõ à"×3Ñ3Ô5óó ˆI÷ Ü+¨I°yÓAÐAà�G‰G�O‰O iˆOÔ0Ø�J‰J×Ñ×&Ñ& xÔ0ð �J‰J×Ñ×"Ñ" 4¨Ô.Ø'0ˆD�J‰J×Ñ˜tÑ$àŠIñ7 .ð> ˆøô9 *ô Ø—‘×+Ñ+¨A¯K©K¸ÔCØ—‘˜aŸk™kÔ*Þûðús   ³D8Ä8FÅAFÆFc               ó    € V ^8„  d   QhRRRR/# )r    Úincompatibilities_from_brokenzlist[tuple[KT, list[CT]]]r#   r‰   r%   )r&   s   "r'   r(   rD   û   s   € ÷ !ñ !Ø-Fð!à	ñ!r)   c                	óp  € V EF  w  r#V'       g   K   V P                   P                  V,          pT P                  P	                  T\        T P                   P                  \        P                  ! R 4      4      \        T P                   P                  \        P                  ! R4      Y#/4      R7      p\        T4      pT'       g    R# TP                  TP                  4       \        T\        TP                  4      TR7      T P                   P                  T&   EK  	  R#   \         d     EK1  i ; i)ri   rj   rk   Frn   T)r!   r-   r3   rG   ru   r   rv   rw   rx   r   Úextendrj   r   rt   rp   )rM   r®   r5   rj   r:   ry   ro   s   &&     r'   Ú_patch_criteriaÚResolution._patch_criteriaû   s  € ô
 %BÑ ˆAß$ÙðØ ŸJ™J×/Ñ/°Õ2�	ð —g‘g×*Ñ*ØÜ,Ø—J‘J×'Ñ'Ü×)Ò)Ð*<Ó=óô #2Ø—J‘J×'Ñ'Ü×'Ò'Ð(;Ó<ØÐ*ó#ð +ó ˆGô ,;¸7Ó+CˆJßÚØ×$Ñ$ Y×%@Ñ%@ÔAÜ%.Ø%Ü  ×!6Ñ!6Ó7Ø"3ô&ˆD�J‰J×Ñ Ô"ñ/ %Bñ8 øô/ ô Ûðús   ”D%Ä%D5Ä4D5c               ó   € V ^8„  d   QhRR/# rY   r%   )r&   s   "r'   r(   rD     s   € ÷ 
ñ 
˜Tñ 
r)   c           	     ó  € V P                   fq   V P                   Uu. uFR  p\        VP                  P	                  4       VP
                  P	                  4       VP                  R,          R7      NKT  	  upV n         R# R# u upi )zCSave states for potential rollback if optimistic backjumping fails.Nr[   r\   )rK   rI   r   r+   r^   r-   r]   )rM   Úss   & r'   Ú_save_stateÚResolution._save_state  sq   € à×ÑÒ$ð Ÿšó!ñ &�Aô ØŸI™IŸN™NÓ,ØŸZ™ZŸ_™_Ó.Ø%&×%7Ñ%7¸Õ%:÷ñ
 &ñ!ˆDÖñ %ùò!s   �ABc               ó   € V ^8„  d   QhRR/# rY   r%   )r&   s   "r'   r(   rD   *  s   € ÷ %ñ % $ñ %r)   c                ól   € RV n         V P                  '       d   V P                  V n        RV n        R# R# )z3Rollback states and disable optimistic backjumping.g        N)rJ   rK   rI   )rM   s   &r'   Ú_rollback_statesÚResolution._rollback_states*  s0   € à-0ˆÔ*Ø××ÐØ×,Ñ,ˆDŒLØ $ˆDÖñ r)   c               ó    € V ^8„  d   QhRRRR/# )r    r©   ú$list[RequirementInformation[RT, CT]]r#   r‰   r%   )r&   s   "r'   r(   rD   1  s   € ÷ iñ iÐ Dð iÈñ ir)   c                óª  € \         P                  ! R V 4       R V 4       4      pV Uu0 uF  q0P                  P                  V4      kK  	  pp\	        V P
                  4      ^8¼  Ed¹   V P
                  R V P                  p  V P
                  P                  4       pVP                  P                  4       w  rgT P                  '       g   Yd9  d   MËT P                  '       d%   T P                  f   Yd9  d   T P                  4        T P                  P!                  T4       Uu0 uF  q€P                  P                  T4      kK  	  p	pT	P#                  T4      '       g   M;TP                  '       g   M(\	        T P
                  4      ^8:  g   EK  \        T4      hTP$                  P'                  4        U
Uu. uF  w  r«T
\)        TP*                  4      3NK  	  pp
pTP-                  Yg.34       T P/                  4        T P1                  T4      pT'       g   EKÑ  R# R# u upi   \        \        3 d    \        T4      Rhi ; iu upi u upp
i )ar  Perform backjumping.

When we enter here, the stack is like this::

    [ state Z ]
    [ state Y ]
    [ state X ]
    .... earlier states are irrelevant.

1. No pins worked for Z, so it does not have a pin.
2. We want to reset state Y to unpinned, and pin another candidate.
3. State X holds what state Y was before the pin, but does not
   have the incompatibility information gathered in state Y.

Each iteration of the loop will:

1.  Identify Z. The incompatibility is not always caused by the latest
    state. For example, given three requirements A, B and C, with
    dependencies A1, B1 and C1, where A1 and B1 are incompatible: the
    last state might be related to C, so we want to discard the
    previous state.
2.  Discard Z.
3.  Discard Y but remember its incompatibility information gathered
    previously, and the failure we're dealing with right now.
4.  Push a new state Y' based on X, and apply the incompatibility
    information from Y to Y'.
5a. If this causes Y' to conflict, we need to backtrack again. Make Y'
    the new Z and go back to step 2.
5b. If the incompatibilities apply cleanly, end backtracking.
c              3  óX   "  € T F   qP                   f   K  VP                   x € K"  	  R # 5irF   rœ   ©r�   Úcs   & r'   r“   Ú'Resolution._backjump.<locals>.<genexpr>Q  s   é € Ð>™v˜!¯©ŒXˆQ�XŽX›vùs   ‚*–*c              3  ó8   "  € T F  qP                   x € K  	  R # 5irF   )re   rÀ   s   & r'   r“   rÂ   R  s   é € Ð+¡F˜q�]Ž]£Fùs   ‚TNFrS   )Ú	itertoolsÚchainrG   rr   ÚlenrI   r!   r¨   r+   ÚpopitemrT   r3   r   rJ   rK   r¶   r�   Ú
isdisjointr-   r.   rt   rj   r_   ra   r±   )rM   r©   Úincompatible_reqsr‘   Úincompatible_depsÚbroken_stater‚   r�   ÚdÚcurrent_dependenciesr5   r6   r®   Úsuccesss   &&            r'   Ú	_backjumpÚResolution._backjump1  s   € ô> 09¯ªÙ>™vÓ>Ù+¡FÓ+ó0
Ðñ ;LÓLÑ:K°QŸW™W×-Ñ-¨aÖ0Ñ:KÐÐLÜ�$—,‘,Ó 1Õ$à—‘˜RÐ ð  Ÿ:™:ˆLØðAØ#'§<¡<×#3Ñ#3Ó#5�LØ&2×&:Ñ&:×&BÑ&BÓ&D‘O�Dð
 ×:×:Ð:ØÔ5ð ð
 ×6×6Ð6Ø×)Ñ)Ò1ØÔ5à×$Ñ$Ô&ð 26·±×1IÑ1IÈ)Ô1Tó(Ù1T¨A—G‘G×$Ñ$ QÖ'Ñ1Tð %ð (ð ,×6Ñ6Ð7H×IÒIØð
 $×+×+Ð+Øô �t—|‘|Ó$¨×)Ü.¨vÓ6Ð6ð <H×;PÑ;P×;VÑ;VÔ;Xô-Ù;X±4°1�”D˜×,Ñ,Ó-Ó.Ñ;Xð *ñ -ð
 *×0Ñ0°$¸Ð1DÔEà× Ñ Ô"Ø×*Ñ*Ð+HÓIˆG÷ ŠwÙñ ùòM Møô #¤HÐ-ô AÜ.¨vÓ6¸DÐ@ðAüò.(ùó"-s   ª#H$Â6H) Ä'#I
Æ<"IÈ)Ic               ó    € V ^8„  d   QhRRRR/# )r    Úcriteronr¡   r#   r½   r%   )r&   s   "r'   r(   rD   œ  s    € ÷ Rñ RØ/ðRà	-ñRr)   c           
     óœ   € \        V UUu/ uF!  q"P                   F  p\        V4      VbK  	  K#  	  uppP                  4       4      # u uppi )z5Extract causes from list of criterion and deduplicate)rt   rp   r/   Úvalues)rM   rÒ   rÁ   Úis   &&  r'   Ú_extract_causesÚResolution._extract_causesœ  s<   € ô ¡xÔG¡x !¿¼°A”R˜“U˜A’X¹‘U¡xÒG×NÑNÓPÓQÐQùÓGs   ‹'A
c               ó$   € V ^8„  d   QhRRRRRR/# )r    rm   úIterable[RT]Ú
max_roundsÚintr#   r"   r%   )r&   s   "r'   r(   rD   ¢  s'   € ÷ N,ñ N, Lð N,¸cð N,ÐFWñ N,r)   c                	óÀ
  € V P                   '       d   \        R 4      hV P                  P                  4        \	        \
        P                  ! 4       / . R7      .V n         V F,  p V P                  V P                  P                  VRR7       K.  	  V P                  4        RpRp\        V4       EF(  pV P                  P!                  VR7       V P"                  '       dt   V P$                  ef   Vf?   Tp\'        W',
          V P"                  ,          4      pV^ 8:  d   V P)                  4        K�  M#Ve    Wv,
          V8¼  d   V P)                  4        K¥  V P                  P                  P+                  4        UU	u. uF   w  r‰V P-                  W‰4      '       d   K  VNK"  	  p
pp	V
'       g5   V P                  P/                  V P                  R7       V P                  u # \1        V P                  P                  P3                  4       4      \1        V
4      ,
          p\5        V
4      ^8”  d·   \7        V P8                  P;                  V
V P                  P<                  \?        V P                  P                  \@        PB                  ! R4      4      \?        V P                  P                  \@        PB                  ! R4      4      V P                  PD                  R7      4      pMT
pV'       g   \        R	4      h\5        V4      ^8”  d   \G        WÀPH                  R
7      pM	V^ ,          pV PK                  V4      pV'       dã   V PM                  V4      pV P                  PO                  VR7        V PQ                  V4      p\S        V'       * ;'       d!    V P"                  ;'       d    V P$                  4      pT'       d$   T P$                  '       d   T P)                  4        MÎYðP                  PD                  R&   X'       g    \        T P                  PD                  4      hMŽV P                  P                  P+                  4        UU	u0 uF(  w  r‰W‹9   g   K  V P-                  W‰4      '       d   K&  VkK*  	  ppp	V PU                  V P                  P                  V4       V P                  4        V P                  PW                  WpP                  R7       EK+  	  \Y        V4      h  \         d&   p\        TP                  P                  4      ThRp?ii ; iu up	pi   \         d,    T P"                  '       d   T P$                  '       d   Rp ELœh i ; iu up	pi )zalready resolvedr\   Nrœ   )Úindex)r!   ro   rp   )Úidentifiersr„   ro   rp   r]   z-narrow_requirement_selection returned 0 names)r9   )r©   Tr[   )rÝ   r!   )-rI   ÚRuntimeErrorrH   Ústartingr   ÚcollectionsÚOrderedDictrz   r!   r-   r   r   r:   rp   ra   ÚrangeÚstarting_roundrJ   rK   rÛ   rº   r.   r—   ÚendingÚsetÚkeysrÆ   rt   rG   Únarrow_requirement_selectionr+   r   rv   rx   r]   Úminr†   r«   rÖ   Úresolving_conflictsrÏ   r‰   r   Úending_roundr   )rM   rm   rÚ   r‘   rV   Úoptimistic_rounds_cutoffÚ"optimistic_backjumping_start_roundÚround_indexr9   r:   Úunsatisfied_namesÚsatisfied_namesÚnarrowed_unstatisfied_namesr‚   Úfailure_criterionr©   rÎ   Úfailed_optimistic_backjumpingÚnewly_unsatisfied_namess   &&&                r'   ÚresolveÚResolution.resolve¢  sš  € Ø�<�<ˆ<ÜÐ1Ó2Ð2à�‰×ÑÔô Ü#×/Ò/Ó1ØØ!#ôð
ˆŒó ˆAðKØ×%Ñ% d§j¡j×&9Ñ&9¸1ÀTÐ%ÖJñ ð 	×ÑÔð 04Ð Ø9=Ð*ä  ×,ˆKØ�G‰G×"Ñ"¨Ð"Ô5ð ×1×1Ð1°d×6GÑ6GÒ6SØ5Ò=Ø9DÐ6Ü/2Ø#Õ1°T×5WÑ5WÕWó0Ð,ð 0°1Ô4Ø×-Ñ-Ô/Ù ð 5ð .Ò9à#ÕHØ3ô4ð ×-Ñ-Ô/Ù ð '+§j¡j×&9Ñ&9×&?Ñ&?Ô&Aô!á&A‘N�CØ×6Ñ6°s×F÷ �Ù&Að ñ !÷ %Ø—‘—‘ T§Z¡Z�Ô0Ø—z‘zÒ!ô " $§*¡*×"5Ñ"5×":Ñ":Ó"<Ó=ÄÐDUÓ@VÕVˆOäÐ$Ó%¨Ô)Ü.2Ø—G‘G×8Ñ8Ø$5Ø$(§J¡J×$6Ñ$6Ü#2Ø ŸJ™J×/Ñ/Ü$×/Ò/°Ó=ó$ô %4Ø ŸJ™J×/Ñ/Ü$×/Ò/°Ó>ó%ð *.¯©×)DÑ)Dð 9ó ó/Ñ+ð  /@Ð+÷ /Ü"Ð#RÓSÐSô Ð.Ó/°!Ô3äÐ6×<PÑ<PÔQ‘à2°1Õ5�à $× >Ñ >¸tÓ DÐç Ø×-Ñ-Ð.?Ó@�ð —‘×+Ñ+°6Ð+Ô:ðØ"Ÿn™n¨VÓ4�Gô 59Ø#œ÷ .ð .Ø ×>Ñ>÷.ð .à ×-Ñ-ó5Ð1÷ 1°T×5F×5FÐ5FØ×)Ñ)Õ+à5;—J‘J×/Ñ/°Ñ2÷ #Ü2°4·:±:×3NÑ3NÓOÐOð #ð +/¯*©*×*=Ñ*=×*CÑ*CÔ*Eô+á*E™˜ØÑ-ô ð !×;Ñ;¸C×K÷ �CÙ*Eð (ñ +ð ×6Ñ6Ø—J‘J×'Ñ'Ð)@ôð ×$Ñ$Ô&à�G‰G× Ñ  {¿*¹*Ð ×Eñ_ -ôb   
Ó+Ð+øô{ *ô KÜ*¨1¯;©;×+BÑ+BÓCÈÐJûðKüóD!øôl ,ô Ø×9×9Ð9¸d×>O×>OÐ>OØ8<Ó5àð	üó.+sT   Á%(S(Å<TÆTÍ0T!Ñ
UÑUÑ3UÓ(TÓ3 TÔTÔ!UÔ>UÕUÕU)rJ   rL   rG   rH   rK   rI   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rN   Úpropertyr!   ra   rz   r   r†   r—   rž   r«   r±   r¶   rº   rÏ   rÖ   rõ   Ú__static_attributes__r%   r)   r'   r?   r?   D   sn   † ñõ8ð ô1ó ð1õ#õ*)õXõ6
õ

õõ#õJ!õF
õ%õiõVR÷N,ñ N,r)   r?   c                  ó.   € ] tR tRtRt]tRR R lltRtR# )ÚResolveri3  z3The thing that performs the actual resolution work.c               ó$   € V ^8„  d   QhRRRRRR/# )r    rm   rÙ   rÚ   rÛ   r#   r$   r%   )r&   s   "r'   r(   ÚResolver.__annotate__8  s(   € ÷ "$ñ "$à"ð"$ð ð"$ð 
ñ	"$r)   c                ó|   € \        V P                  V P                  4      pVP                  WR7      p\	        V4      # )af  Take a collection of constraints, spit out the resolution result.

The return value is a representation to the final resolution result. It
is a tuple subclass with three public members:

* `mapping`: A dict of resolved candidates. Each key is an identifier
    of a requirement (as returned by the provider's `identify` method),
    and the value is the resolved candidate.
* `graph`: A `DirectedGraph` instance representing the dependency tree.
    The vertices are keys of `mapping`, and each edge represents *why*
    a particular package is included. A special vertex `None` is
    included to represent parents of user-supplied requirements.
* `criteria`: A dict of "criteria" that hold detailed information on
    how edges in the graph are derived. Each key is an identifier of a
    requirement, and the value is a `Criterion` instance.

The following exceptions may be raised if a resolution cannot be found:

* `ResolutionImpossible`: A resolution cannot be found for the given
    combination of requirements. The `causes` attribute of the
    exception is a list of (requirement, parent), giving the
    requirements that could not be satisfied.
* `ResolutionTooDeep`: The dependency tree is too deeply nested and
    the resolver gave up. This is usually caused by a circular
    dependency, but you can try to resolve this by increasing the
    `max_rounds` argument.
)rÚ   )r?   rA   rB   rõ   r=   )rM   rm   rÚ   Ú
resolutionr!   s   &&&  r'   rõ   ÚResolver.resolve8  s7   € ô@   §¡¨t¯}©}Ó=ˆ
Ø×"Ñ" <Ð"ÓGˆÜ˜UÓ#Ð#r)   r%   N)éd   )	r÷   rø   rù   rú   rû   r   Úbase_exceptionrõ   rý   r%   r)   r'   rÿ   rÿ   3  s   † Ù=à&€N÷"$ó "$r)   rÿ   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r    r-   zMapping[KT, Criterion[RT, CT]]r9   z	KT | Noner7   zdict[int, KT | None]r8   zset[KT | None]r#   r‰   r%   )r&   s   "r'   r(   r(   ]  s:   € ÷ ñ Ø,ðà	ðð #ðð ð	ð
 
ñr)   c                ó6  € W9   d   R # W9  d   R# Vf   Q hW,          P                  4        FV  p V\        V4      ,          pYS9   d   TP                  T4        R # \	        YY#4      '       g   KD  TP                  T4        R # 	  R#   \         d     Kj  i ; i)TF)r2   r/   r3   r0   r1   )r-   r9   r7   r8   r;   r<   s   &&&&  r'   r1   r1   ]  s“   € ð ÔÙØ
ÔÙØŠ?Ðˆ?Ø�]×&Ñ&Ö(ˆð	ØœB˜q›E•?ˆDð ÔØ�M‰M˜#ÔÚÜ˜h¨h×BÔBØ�M‰M˜#ÔÚñ )ñ øô ô 	Úð	ús   ±B	Â	BÂB)-Ú__conditional_annotations__Ú
__future__r   rá   rÄ   rv   Útypingr   r   Ústructsr   r   r   r	   r
   r   r   r   r   Úabstractr   r   r:   r   Ú
exceptionsr   r   r   r   r   Úcollections.abcr   r   r   Ú	providersr   r   Ú	reportersr   r   Ú__annotations__r=   r?   rÿ   r1   )r	  s   @r'   Ú<module>r     s’   øðß "Ð "ã Û Û ß )÷
÷ 
õ 
÷ /Ý  ÷õ ÷ ß=Ñ=ç8Ý(à'*Ð ˜uÓ *õô<l,�˜˜R ˜Õ$ô l,ô^'$Ð  B¨ 
Õ+ô '$÷Tr)   