+
    ®¾j˜  ã                   óx  € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	 ^ RI
HtHtHtHt ^ RIHt ^ RIHt ^ RIHt ^ RIHtHt ^ R	IHt ^ R
IHt ^ RIHt ^ RIH t  ^ RI!H"t" ^ RI#H$t$ ^ RI%H&t&  ! R R]4      t'] PP                  ! ])4      t* ! R R]]4      t+R R lt,R R lt-R R lt.RR R llt/R R lt0R# )é    N)ÚOrderedDict)ÚValues)ÚDictÚListÚOptionalÚ	TypedDict)Úparse)ÚCommand)ÚSessionCommandMixin)ÚNO_MATCHES_FOUNDÚSUCCESS)ÚCommandError)Úget_default_environment)ÚBaseDistribution)ÚPyPI)ÚPipXmlrpcTransport)Ú
indent_log)Úwrite_outputc                   ó,   a € ] tR t^t o V 3R ltRtV tR# )ÚTransformedHitc                óN   <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   S[S[ ,          ;R&   # )é   ÚnameÚsummaryÚversions)Ústrr   )ÚformatÚ__classdict__s   "€Ú\/home/ralf/ical-fahrzeuge/venv/lib/python3.14/site-packages/pip/_internal/commands/search.pyÚ__annotate__ÚTransformedHit.__annotate__   s*   ø‡ ‚ Ù
�Iñ á�Lñ ñ ‘3�iÑò ó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r   s   @r   r   r      s   ø‡ ‡ „ r"   r   c                   ób   a € ] tR t^!t o RtRtRtV 3R lR ltV 3R lR ltV 3R lR	 lt	R
t
V tR# )ÚSearchCommandz@Search for PyPI packages whose name or summary contains <query>.z
      %prog [options] <query>Tc                ó   <€ V ^8„  d   QhRR/# )r   ÚreturnNr#   )r   r   s   "€r   r    ÚSearchCommand.__annotate__(   s   ø€ ÷ 
:ñ 
:˜Tñ 
:r"   c           	     ó°   € V P                   P                  R RRR\        P                  RR7       V P                  P                  ^ V P                   4       R# )z-iz--indexÚindexÚURLz3Base URL of Python Package Index (default %default))ÚdestÚmetavarÚdefaultÚhelpN)Úcmd_optsÚ
add_optionr   Úpypi_urlÚparserÚinsert_option_group)Úselfs   &r   Úadd_optionsÚSearchCommand.add_options(   sI   € Ø�‰× Ñ ØØØØÜ—M‘MØFð 	!ô 	
ð 	�‰×'Ñ'¨¨4¯=©=Ö9r"   c                ó<   <€ V ^8„  d   QhRS[ RS[S[,          RS[/# )r   ÚoptionsÚargsr/   )r   r   r   Úint)r   r   s   "€r   r    r0   4   s&   ø€ ÷  ñ  ™6ð  ©©c­ð  ±sñ  r"   c                ó(  € V'       g   \        R 4      hTpV P                  W14      p\        V4      pRp\        P                  P                  4       '       d   \        P                  ! 4       ^ ,          p\        WVR7       V'       d   \        # \        # )z)Missing required argument (search query).N)Úterminal_width)r   ÚsearchÚtransform_hitsÚsysÚstdoutÚisattyÚshutilÚget_terminal_sizeÚprint_resultsr   r   )r=   rA   rB   ÚqueryÚ	pypi_hitsÚhitsrE   s   &&&    r   ÚrunÚSearchCommand.run4   so   € ßÜÐJÓKÐKØˆØ—K‘K Ó/ˆ	Ü˜iÓ(ˆàˆÜ�:‰:×Ñ×ÒÜ#×5Ò5Ó7¸Õ:ˆNä�dÕ:ßÜˆNÜÐr"   c          	      ób   <€ V ^8„  d   QhRS[ S[,          RS[RS[ S[S[S[3,          ,          /# )r   rN   rA   r/   )r   r   r   r   )r   r   s   "€r   r    r0   D   s3   ø€ ÷ ñ ™D¡�Ið ±ð ¹4ÁÁSÉ#ÀXÅÕ;Oñ r"   c                óŽ  € VP                   pV P                  V4      p\        W44      p\        P                  P                  W54      p VP                  R VRV/R4      p\        T\        4      '       g   Q hT#   \        P                  P                   d-   pRTP                   RTP                   2p	\        T	4      hRp?ii ; i)r   r   ÚorzXMLRPC request failed [code: z]
N)r2   Úget_default_sessionr   ÚxmlrpcÚclientÚServerProxyrF   ÚFaultÚ	faultCodeÚfaultStringr   Ú
isinstanceÚlist)
r=   rN   rA   Ú	index_urlÚsessionÚ	transportÚpypirP   ÚfaultÚmessages
   &&&       r   rF   ÚSearchCommand.searchD   s»   € Ø—M‘Mˆ	à×*Ñ*¨7Ó3ˆä& yÓ:ˆ	Ü�}‰}×(Ñ(¨Ó>ˆð	(Ø—;‘; ¨¨y¸%Ð@À$ÓGˆDô ˜$¤×%Ò%Ð%Ð%Øˆøô �}‰}×"Ñ"ô 	(à/°·±Ð/@ÀÀE×DUÑDUÐCVÐWð ô ˜wÓ'Ð'ûð		(ús   Á	A9 Á9CÂ'B?Â?Cr#   N)r$   r%   r&   r'   Ú__doc__ÚusageÚignore_require_venvr>   rQ   rF   r)   r*   r+   s   @r   r-   r-   !   s3   ø‡ € ÙJð!€EàÐ÷
:ð 
:÷ ð  ÷ ö r"   r-   c                óv   € V ^8„  d   QhR\         \        \        \        3,          ,          R\         R,          /# )r   rP   r/   r   )r   r   r   )r   s   "r   r    r    V   s-   € ÷ #ñ #œœd¤3¬ 8�nÕ-ð #´$Ð7GÕ2Hñ #r"   c                ób  € \        4       pV  F‡  pVR,          pVR,          pVR,          pW1P                  4       9  d   RVRVRV./W&   K?  W,          R,          P                  V4       V\        W,          R,          4      8X  g   K|  WAV,          R&   K‰  	  \	        VP                  4       4      # )z¬
The list from pypi is really a list of versions. We want a list of
packages with the list of versions stored inline. This converts the
list from pypi into one we can use.
r   r   Úversionr   )r   ÚkeysÚappendÚhighest_versionr^   Úvalues)rP   ÚpackagesÚhitr   r   rk   s   &     r   rG   rG   V   s£   € ô +6«-€HÛˆØ�6�{ˆØ�i•.ˆØ�i•.ˆà—}‘}“Ô&à˜Ø˜7Ø˜W˜IðˆH‹Nð �N˜:Õ&×-Ñ-¨gÔ6ð œ/¨(­.¸Õ*DÓEÖEØ,3˜•˜yÓ)ñ! ô$ �—‘Ó!Ó"Ð"r"   c                óJ   € V ^8„  d   QhR\         R\        \        ,          RR/# )r   ÚlatestÚdistr/   N©r   r   r   )r   s   "r   r    r    r   s(   € ÷ :ñ :¬ð :´HÔ=MÕ4Nð :ÐSWñ :r"   c                 óT  € Ve�   \        4       ;_uu_ 4        VP                  V 8X  d   \        RVP                  4       MJ\        RVP                  4       \        V 4      P                  '       d   \        RV 4       M\        RV 4       R R R 4       R # R #   + '       g   i     R # ; i)NzINSTALLED: %s (latest)zINSTALLED: %sz=LATEST:    %s (pre-release; install with `pip install --pre`)zLATEST:    %s)r   rk   r   Úparse_versionÚpre)rs   rt   s   &&r   Úprint_dist_installation_infory   r   sy   € ØÒÜ�\�\Ø�|‰|˜vÔ%ÜÐ5°t·|±|ÕDä˜_¨d¯l©lÔ;Ü  Ó(×,×,Ð,Ü ð5àõô ! °&Ô9÷ ‰\ñ ß�\ˆ\ús   —A3BÂB'	c                óF   € V ^8„  d   QhR\         R\        \        ,          /# )r   r   r/   ru   )r   s   "r   r    r    ƒ   s    € ÷ &ñ &¤Sð &¬XÔ6FÕ-Gñ &r"   c                 ó8   € \        4       pVP                  V 4      # )N)r   Úget_distribution)r   Úenvs   & r   Úget_installed_distributionr~   ƒ   s   € Ü
!Ó
#€CØ×Ñ Ó%Ð%r"   c                óz   € V ^8„  d   QhR\         R,          R\        \        ,          R\        \        ,          RR/# )r   rP   r   Úname_column_widthrE   r/   N)r   r   rC   )r   s   "r   r    r    ˆ   s>   € ÷ $ñ $Ü
ÐÕ
 ð$ä¤•}ð$ô œS•Mð$ð 
ñ	$r"   c                 óš  € V '       g   R # Vf]   \        V  Uu. uF?  p\        VR,          4      \        \        VP                  RR.4      4      4      ,           NKA  	  up4      ^,           pV  FÃ  pVR,          pVR,          ;'       g    Rp\        VP                  RR.4      4      pVeS   W!,
          ^,
          pV^
8”  d=   \        P
                  ! WW4      pRRV^,           ,          ,           P                  V4      pV RV R	2p	W‘  R
V 2p
 \        V
4       \        V4      p\        Wk4       KÅ  	  R # u upi   \         d     KÜ  i ; i)Nr   r   Ú-r   Ú Ú
Ú z (Ú)z - )ÚmaxÚlenrn   ÚgetÚtextwrapÚwrapÚjoinr   r~   ry   ÚUnicodeEncodeError)rP   r€   rE   rq   r   r   rs   Útarget_widthÚsummary_linesÚname_latestÚlinert   s   &&&         r   rM   rM   ˆ   sQ  € ÷
 ÙØÒ äñ  $óá#˜ô ˜˜F�Ó$¤s¬?¸3¿7¹7À:ÐPSÈuÓ;UÓ+VÓ'W×WÐWÙ#ñóð õð 	ó ˆØ�6�{ˆØ�i•.×&Ð& BˆÜ  §¡¨°c°UÓ!;Ó<ˆØÒ%Ø)Õ=ÀÕAˆLØ˜bÔ ä (§¢¨gÓ D�Ø #Ð):¸QÕ)>Õ"?Õ?×EÑEÀmÓT�à˜˜b  ¨Ð*ˆØÐ1Ð2°#°g°YÐ?ˆð	Ü˜ÔÜ-¨dÓ3ˆDÜ(¨Ö6ó! ùòøô2 "ô 	Úð	ús   ˜AD6Ä!D;Ä;E
Å	E
c                óF   € V ^8„  d   QhR\         \        ,          R\        /# )r   r   r/   )r   r   )r   s   "r   r    r    ¯   s   € ÷ ,ñ ,œd¤3�ið ,¬Cñ ,r"   c                 ó$   € \        V \        R 7      # ))Úkey)r‡   rw   )r   s   &r   rn   rn   ¯   s   € Üˆxœ]Ô+Ð+r"   )NN)1ÚloggingrK   rH   rŠ   Úxmlrpc.clientrW   Úcollectionsr   Úoptparser   Útypingr   r   r   r   Úpip._vendor.packaging.versionr	   rw   Úpip._internal.cli.base_commandr
   Úpip._internal.cli.req_commandr   Úpip._internal.cli.status_codesr   r   Úpip._internal.exceptionsr   Úpip._internal.metadatar   Úpip._internal.metadata.baser   Úpip._internal.models.indexr   Úpip._internal.network.xmlrpcr   Úpip._internal.utils.loggingr   Úpip._internal.utils.miscr   r   Ú	getLoggerr$   Úloggerr-   rG   ry   r~   rM   rn   r#   r"   r   Ú<module>r§      s‰   ðÛ Û Û 
Û Û Ý #Ý ß 2Ó 2å @å 2Ý =ß DÝ 1Ý :Ý 8Ý +Ý ;Ý 2Ý 1ô�Yô ð 
×	Ò	˜8Ó	$€ô2�GÐ0ô 2õj#õ8:õ"&÷
$÷N,r"   