+
    …WÝj.  ã                  óÒ   € R t ^ RIHt ^ RIHt ^ RIt^ RIt^ RIHt ^ RI	t	]
! 0 Rm4      tRtRtRtR R lt]
! 0 Rm4      tR R	 ltR
 R ltR R ltRtR R ltR R ltR R ltR# )aÇ  Forward the user's package-index and transport configuration into uv.

PM strips ambient ``UV_*`` so a caller's uv settings cannot steer which
project, interpreter or cache an operation uses (pm.environment). Index and
transport knobs are different: on mirrored or air-gapped networks they are the
only way any dependency resolves at all (#88453, #94613, #95608). Only those
cross the boundary; the lockfile stays authoritative for what gets installed.

uv never reads pip's configuration, so a pip-only mirror (``PIP_INDEX_URL`` or
``index-url`` in pip.conf) is bridged to ``UV_INDEX_URL`` unless uv already has
an index of its own. Stdlib only: the bootstrap runner imports this before any
dependency exists.
)Úannotations)ÚMappingN)ÚPathz¤uv timed out. If your network needs a package mirror, set index-url in pip.conf (bridged to uv automatically) or UV_INDEX_URL; raise UV_HTTP_TIMEOUT for slow links.c               ó    € V ^8„  d   QhRRRR/# ©é   ÚkeyÚstrÚreturnÚbool© )Úformats   "ÚCC:\Users\johnn\AppData\Local\hermes\hermes-agent\pm\index_config.pyÚ__annotate__r   +   s   € ÷ Gñ G�cð G˜dñ Gó    c                óF   € V \         9   ;'       g    V P                  R 4      # ©Ú	UV_INDEX_)ÚFORWARDED_UV_SETTINGSÚ
startswith©r   s   &r   Úis_forwardedr   +   s   € ØÔ'Ñ'×FÐF¨3¯>©>¸+Ó+FÐFr   c               ó    € V ^8„  d   QhRRRR/# r   r   )r   s   "r   r   r   <   s   € ÷ Iñ I˜3ð I 4ñ Ir   c                óF   € V \         9   ;'       g    V P                  R 4      # r   )ÚINDEX_REDIRECT_SETTINGSr   r   s   &r   Úis_index_redirectr   <   s   € ØÔ)Ñ)×HÐH¨S¯^©^¸KÓ-HÐHr   c               ó    € V ^8„  d   QhRRRR/# )r   ÚenvúMapping[str, str]r
   z
list[Path]r   )r   s   "r   r   r   @   s   € ÷ Rñ RÐ0ð R°Zñ Rr   c                ó@  € V P                  RR4      pV\        P                  8X  d   . # \        P                  ! 4       p\
        P                  R8X  dˆ   Rp\        V P                  R4      ;'       g    R4      R,          V,          .pVR,          V,          \        V P                  R4      ;'       g    VR	,          R
,          4      R,          V,          .pEMN\
        P                  R8X  dm   Rp\        R4      V,          .pVR,          R,          R,          pVR,          V,          VP                  4       '       d   TMVR,          R,          V,          .pMÍRpV P                  R4      ;'       g    RP                  \        P                  4      pV Uu. uF%  qˆ'       g   K  \        V4      R,          V,          NK'  	  up\        R4      V,          .,           pVR,          V,          \        V P                  R4      ;'       g
    VR,          4      R,          V,          .pV'       d   \        V4      .M. p	V	'       d    V	^ ,          P                  4       '       d   . pWE,           \        \
        P                  4      V,          .,           V	,           # u upi )aˆ  pip's config files, lowest precedence first, as ``pip._internal.configuration`` ranks them.

Global, then user (skipped entirely when ``PIP_CONFIG_FILE`` names an existing file), then
the interpreter's ``sys.prefix`` site file, then ``PIP_CONFIG_FILE`` itself on top.
``RawConfigParser.read`` applies them in order, so the last file wins.
``PIP_CONFIG_FILE=os.devnull`` disables all of them.
ÚPIP_CONFIG_FILEÚ Úwin32zpip.iniÚProgramDatazC:\ProgramDataÚpipÚAPPDATAÚAppDataÚRoamingÚdarwinzpip.confz /Library/Application Support/pipÚLibraryzApplication Supportz.pipz.configÚXDG_CONFIG_DIRSz/etc/xdgz/etcÚXDG_CONFIG_HOME)ÚgetÚosÚdevnullr   ÚhomeÚsysÚplatformÚis_dirÚsplitÚpathsepÚis_fileÚprefix)
r   Úexplicitr/   ÚnameÚglobal_filesÚ
user_filesÚapp_supportÚxdg_dirsÚdÚexplicit_filess
   &         r   Úpip_config_candidatesr?   @   s  € ð �w‰wÐ(¨"Ó-€HØ”2—:‘:ÔØˆ	Ü�9Š9‹;€DÜ
‡|�|�wÔØˆÜ˜SŸW™W ]Ó3×HÐHÐ7HÓIÈEÕQÐTXÕXÐYˆØ˜U•l TÕ)Ü˜3Ÿ7™7 9Ó-×MÐM°¸	Õ1AÀIÕ1MÓNÐQVÕVÐY]Õ]ð_Š
ä	�‰˜Ô	!ØˆÜÐ?Ó@À4ÕGÐHˆØ˜YÕ&Ð)>Õ>ÀÕFˆØ˜V•m dÕ*Ø&1×&8Ñ&8×&:Ò&:‘{ÀÀyÕ@PÐSXÕ@XÐ\`Õ`ðb‰
ð ˆØ—G‘GÐ-Ó.×<Ð<°*×CÑCÄBÇJÁJÓOˆÙ8@ÓF¹°1ÃAÔ.œ˜Q› %�¨$×.Ð.¹ÑFÌ$ÈvË,ÐY]ÕJ]ÐI^Õ^ˆØ˜V•m dÕ*¬D°·±Ð9JÓ1K×1_Ð1_ÈtÐV_ÕO_Ó,`ÐchÕ,hÐkoÕ,oÐpˆ
ß)1”d˜8“nÑ%°r€Nß˜.¨Õ+×3Ñ3×5Ò5Øˆ
ØÕ$¬¬S¯Z©ZÓ(8¸4Õ(?Ð'@Õ@À>ÕQÐQùò Gs   Æ	JÆ(Jc               ó    € V ^8„  d   QhRRRR/# )r   r   r   r
   z
str | Noner   )r   s   "r   r   r   b   s   € ÷ 	ñ 	Ð-ð 	°*ñ 	r   c                ó2  € \         P                  ! 4       p VP                  R  \        V 4       4       4       VP	                  R4      '       g   R# VP                  RRRR7      P                  4       ;'       g    R#   \         P                   d     R# i ; i)c              3  ó8   "  € T F  p\        V4      x € K  	  R # 5i©N)r	   )Ú.0Úpaths   & r   Ú	<genexpr>Ú%pip_conf_index_url.<locals>.<genexpr>f   s   é € ÐEÑ*D $”C˜—I�IÓ*Dùs   ‚ÚglobalNz	index-urlr!   )Úfallback)ÚconfigparserÚRawConfigParserÚreadr?   Úhas_sectionr,   ÚstripÚError)r   Úparsers   & r   Úpip_conf_index_urlrQ   b   s   € ä×)Ò)Ó+€FðØ�‰ÑEÔ*?ÀÔ*DÓEÔEØ×!Ñ! (×+Ò+ÙØ�z‰z˜( K¸"ˆzÓ=×CÑCÓE×MÐMÈÐMøÜ×Ñô Úðús   —8A= Á(A= Á:A= Á=BÂBzhttps://registry.npmjs.org/c               ó    € V ^8„  d   QhRRRR/# )r   r   r   r
   r	   r   )r   s   "r   r   r   q   s   € ÷ iñ iÐ'ð i¨Cñ ir   c                ó   € V P                  4        UUu/ uF  w  rVP                  4       VbK  	  pppVP                  R4      ;'       g    RP                  4       pV'       gÙ   \	        VP                  R4      ;'       g    \        P
                  ! 4       R,          4      P                  4       p VP                  RR7      P                  4       pV Fe  pVP                  R4      w  rpV'       g   K!  VP                  4       P                  4       R8X  g   KF  VP                  4       P                  R	4      pKg  	  VP                  R4      '       d   VP                  R
4      R
,           # \        # u uppi   \        \        3 d    . p L»i ; i)z¯The npm registry the user configured, as npm resolves it: ``npm_config_registry`` (any
case) beats ``registry=`` in the user npmrc (``npm_config_userconfig`` or ``~/.npmrc``).Únpm_config_registryr!   Únpm_config_userconfigz.npmrcz	utf-8-sig)ÚencodingÚ=Úregistryz"'Ú/)zhttps://zhttp://)ÚitemsÚlowerr,   rN   r   r/   Ú
expanduserÚ	read_textÚ
splitlinesÚOSErrorÚUnicodeDecodeErrorÚ	partitionr   ÚrstripÚNPM_PUBLIC_REGISTRY)	r   r   ÚvalueÚloweredÚnpmrcÚlinesÚlineÚsepÚ	candidates	   &        r   Únpm_registryrk   q   s<  € ð 58·I±I´KÔ@±K¡j cˆs�y‰y‹{˜EÒ!±K€GÑ@Ø�[‰[Ð.Ó/×5Ð5°2×<Ñ<Ó>€EßÜ�W—[‘[Ð!8Ó9×SÐS¼T¿YºY»[È8Õ=SÓT×_Ñ_Óaˆð	Ø—O‘O¨[�OÓ9×DÑDÓFˆEó ˆDØ"&§.¡.°Ó"5ÑˆC�iß‰s�s—y‘y“{×(Ñ(Ó*¨jÖ8Ø!Ÿ™Ó)×/Ñ/°Ó6’ñ ð ',×&6Ñ&6Ð7N×&OÒ&Oˆ5�<‰<˜Ó˜sÕ"ÐhÔUhÐhùó Aøô Ô+Ð,ô 	ØŠEð	ús   ”E1Â1 E7 Å7FÆFc               ó$   € V ^8„  d   QhRRRRRR/# )r   Úurlr	   r   r   r
   r   )r   s   "r   r   r   ƒ   s"   € ÷ >ñ >˜#ð >Ð$5ð >¸#ñ >r   c                ó€   € V P                  \        4      '       g   V # \        V4      V \        \        4      R ,           # )zJ*url* on the configured npm registry; non-npm URLs are returned unchanged.N)r   rc   rk   Úlen)rm   r   s   &&r   Únpm_registry_urlrp   ƒ   s5   € à�>‰>Ô-×.Ò.Øˆ
Ü˜Ó˜s¤3Ô':Ó#;Ð#<Ð=Õ=Ð=r   c               ó    € V ^8„  d   QhRRRR/# )r   Úambientr   r
   zdict[str, str]r   )r   s   "r   r   r   Š   s   € ÷ ñ Ð$5ð ¸.ñ r   c                ód  a€ V P                  4        UUu/ uF  w  r\        V4      '       g   K  WbK  	  uppo\        ;QJ d#    V3R l\         4       F  '       g   K   RM	  RM! V3R l\         4       4      '       gJ   V P	                  R4      ;'       g    RP                  4       ;'       g    \        V 4      pV'       d   VSR&   \         FV  w  rEV P	                  V4      ;'       g    RP                  4       pV'       g   K8  SP	                  V4      '       d   KQ  VSV&   KX  	  S# u uppi )zŸThe uv index/transport settings *ambient* asks for, pip knobs translated.

``PIP_INDEX_URL`` beats pip.conf, as in pip; any explicit uv index knob beats both.
c              3  óF   <"  € T F  pSP                  V4      x € K  	  R # 5irC   )r,   )rD   r   Úsettingss   & €r   rF   Ú)bridged_index_settings.<locals>.<genexpr>�   s   øé € Ð<©O Sˆx�|‰|˜C× Ð «Oùs   ƒ!TFÚPIP_INDEX_URLr!   ÚUV_INDEX_URL)rZ   r   ÚanyÚ_UV_INDEX_KNOBSr,   rN   rQ   Ú
_PIP_TO_UV)rr   r   rd   Ú	index_urlÚpip_keyÚuv_keyru   s   &     @r   Úbridged_index_settingsr   Š   sÝ   ø€ ð
 .5¯]©]¬_ÔR©_™z˜sÄÈS×@Q”
�’
©_ÒR€Hß‹3Ô<­OÓ<�3�3Š3Ô<­OÓ<×<Ò<Ø—[‘[ Ó1×7Ð7°R×>Ñ>Ó@×_Ð_ÔDVÐW^ÓD_ˆ	ßØ'0ˆH�^Ñ$ß%‰ˆØ—‘˜WÓ%×+Ð+¨×2Ñ2Ó4ˆß‰5˜Ÿ™ f×-Ô-Ø$ˆH�VÓñ &ð €Oùó Ss
   •D,¯D,>   ÚUV_INDEXÚUV_NO_INDEXrx   ÚUV_FIND_LINKSÚUV_NATIVE_TLSÚUV_HTTP_TIMEOUTÚUV_DEFAULT_INDEXÚUV_INSECURE_HOSTÚUV_INDEX_STRATEGYÚUV_EXTRA_INDEX_URLÚUV_KEYRING_PROVIDER)rx   r…   r€   ))ÚPIP_EXTRA_INDEX_URLrˆ   )ÚPIP_TRUSTED_HOSTr†   >   r€   r�   rx   r‚   r…   r‡   rˆ   r‰   )Ú__doc__Ú
__future__r   Úcollections.abcr   rJ   r-   Úpathlibr   r0   Ú	frozensetr   rz   r{   ÚTIMEOUT_HINTr   r   r   r?   rQ   rc   rk   rp   r   r   r   r   Ú<module>r’      sˆ   ðñõ #å #Û Û 	Ý Û 
ñ "ò #ó Ð ð C€ð€
ð
"€õ
Gñ $ò %ó Ð õIõRõD	ð 4Ð õiõ$>÷r   