ó
    Þ j×-  ã                   óf  • S SK r S SKrS SKrS SKJrJrJr  S SKJrJ	r	J
r
JrJr  S SKJrJr  S SKJrJrJrJrJr  \ R,                  " \5      r\R2                  " S5      r\R2                  " S5      r\R2                  " S5      r\R2                  " S	5      r " S
 S\5      r\R>                  " \5        g)é    N)ÚListÚOptionalÚTuple)Ú
HiddenTextÚdisplay_pathÚis_console_interactiveÚis_installable_dirÚsplit_auth_from_netloc)ÚCommandArgsÚmake_command)ÚAuthInfoÚRemoteNotFoundErrorÚ
RevOptionsÚVersionControlÚvcszurl="([^"]+)"zcommitted-rev="(\d+)"z\s*revision="(\d+)"z<url>(.*)</url>c                   óL  ^ • \ rS rSrSrSrSrSr\S\	S\
4S j5       r\S	\	S\\	   4S
 j5       r\S\	S\	4S j5       r\S\	S\	S\\	\\\	   \\	   4   4   4U 4S jj5       r\S\	S\\	\\	   \4   4U 4S jj5       r\S\\	   S\\   S\4S j5       r\S\	S\	4S j5       r\S\	S\\\	   \4   4S j5       r\S\	S\\	   S\
4S j5       rS'S\\
   SS4U 4S jjjrS\\S4   4S jrS\\S4   4S jrS\4S  jrS\	S\S!\ S"\SS4
S# jr!S\	S\S!\ SS4S$ jr"S\	S\S!\ SS4S% jr#S&r$U =r%$ )(Ú
Subversioné   Úsvnz.svnÚcheckout)zsvn+sshzsvn+httpz	svn+httpszsvn+svnzsvn+fileÚ
remote_urlÚreturnc                 ó   • g)NT© )Úclsr   s     ÚV/var/www/html/gaurav/venv/lib/python3.13/site-packages/pip/_internal/vcs/subversion.pyÚshould_add_vcs_url_prefixÚ$Subversion.should_add_vcs_url_prefix$   s   € àó    Úrevc                 ó
   • SU /$ )Nz-rr   )r    s    r   Úget_base_rev_argsÚSubversion.get_base_rev_args(   s   € à�cˆ{Ðr   Úlocationc                 ó  • Sn[         R                  " U5       HÚ  u  p4nU R                  U;  a  / USS& M  UR                  U R                  5        [         R                  R                  X0R                  S5      n[         R                  R                  U5      (       d  Mˆ  U R                  U5      u  pxX1:X  a  Uc   eUS-   nO$U(       a  UR                  U5      (       d  / USS& MÏ  [        X(5      nMÜ     [        U5      $ )zB
Return the maximum revision for all files under a given location
r   NÚentriesÚ/)ÚosÚwalkÚdirnameÚremoveÚpathÚjoinÚexistsÚ_get_svn_url_revÚ
startswithÚmaxÚstr)	r   r$   ÚrevisionÚbaseÚdirsÚ_Ú
entries_fnÚdirurlÚlocalrevs	            r   Úget_revisionÚSubversion.get_revision,   sÙ   € ð ˆäŸWšW XÖ.‰MˆD˜Ø�{‰{ $Ó&Ø�‘Q�ÙØ�K‰K˜Ÿ™Ô$ÜŸ™Ÿ™ d¯K©K¸ÓCˆJÜ—7‘7—>‘> *×-Ñ-áà"×3Ñ3°DÓ9ÑˆFàÓØÑ)Ð)Ð)Ø ‘|‘Þ 6×#4Ñ#4°T×#:Ñ#:Ø�‘Q�ÙÜ˜8Ó.ŠHñ% /ô& �8‹}Ðr   ÚnetlocÚschemec                 óD   >• US:X  a  [         TU ]  X5      $ [        U5      $ )z�
This override allows the auth information to be passed to svn via the
--username and --password options instead of via the URL.
Ússh)ÚsuperÚget_netloc_and_authr
   )r   r<   r=   Ú	__class__s      €r   rA   ÚSubversion.get_netloc_and_authI   s)   ø€ ð �U‹?ô ‘7Ñ.¨vÓ>Ð>ä% fÓ-Ð-r   Úurlc                 óf   >• [         TU ]  U5      u  pnUR                  S5      (       a  SU-   nXU4$ )Nzssh://zsvn+)r@   Úget_url_rev_and_authr0   )r   rD   r    Ú	user_passrB   s       €r   rF   ÚSubversion.get_url_rev_and_authX   s<   ø€ ô $™gÑ:¸3Ó?Ñˆ�)Ø�>‰>˜(×#Ñ#Ø˜3‘,ˆCØ˜Ð"Ð"r   ÚusernameÚpasswordc                 óB   • / nU (       a  USU /-  nU(       a  USU/-  nU$ )Nz
--usernamez
--passwordr   )rI   rJ   Ú
extra_argss      r   Úmake_rev_argsÚSubversion.make_rev_args`   s3   € ð #%ˆ
ÞØ˜<¨Ð2Ñ2ˆJÞØ˜<¨Ð2Ñ2ˆJàÐr   c                 ó
  • Un[        U5      (       dT  Un[        R                  R                  U5      nX:X  a  [        R                  SU5        [        e[        U5      (       d  MT  U R                  U5      u  pEUc  [        eU$ )NzMCould not find Python project for directory %s (tried all parent directories))r	   r(   r,   r*   ÚloggerÚwarningr   r/   )r   r$   Úorig_locationÚlast_locationrD   Ú_revs         r   Úget_remote_urlÚSubversion.get_remote_urll   s€   € ð !ˆÜ$ X×.Ñ.Ø$ˆMÜ—w‘w—‘ xÓ0ˆHØÓ(ô —‘ð*à!ôô
 *Ð)ô % X×.Ó.ð ×(Ñ(¨Ó2‰	ˆØ‰;Ü%Ð%àˆ
r   c                 ó6  • SSK Jn  [        R                  R	                  XR
                  S5      n[        R                  R                  U5      (       a%  [        U5       nUR                  5       nS S S 5        OSnS nWR                  S5      (       d,  UR                  S5      (       d  UR                  S5      (       a�  [        [        [        R                  UR                  S5      5      5      nUS   S	 US   S	   nU Vs/ sH.  n[        U5      S
:”  d  M  US
   (       d  M   [!        US
   5      PM0     snS/-   n	GOUR                  S5      (       a~  ["        R%                  U5      n
U
(       d  ['        SU< 35      eU
R)                  S5      n[*        R-                  U5       Vs/ sH  n[!        UR)                  S5      5      PM     snS/-   n	O| U R/                  SSU/SSS9n[0        R%                  U5      n
U
c   eU
R)                  S5      n[2        R-                  U5       Vs/ sH  n[!        UR)                  S5      5      PM     n	nU	(       a  [5        U	5      nXm4$ SnXm4$ ! , (       d  f       GNþ= fs  snf s  snf s  snf ! U a    S / p– NFf = f)Nr   )ÚInstallationErrorr&   Ú Ú8Ú9Ú10z

é   é	   z<?xmlzBadly formatted data: é   Úinfoz--xmlFT©Úshow_stdoutÚstdout_only)Úpip._internal.exceptionsrX   r(   r,   r-   r*   r.   ÚopenÚreadr0   ÚlistÚmapr2   Ú
splitlinesÚsplitÚlenÚintÚ_svn_xml_url_reÚsearchÚ
ValueErrorÚgroupÚ_svn_rev_reÚfinditerÚrun_commandÚ_svn_info_xml_url_reÚ_svn_info_xml_rev_rer1   )r   r$   rX   Úentries_pathÚfÚdatarD   r&   ÚdÚrevsÚmatchÚmÚxmlr    s                 r   r/   ÚSubversion._get_svn_url_rev„   s?  € å>ä—w‘w—|‘| H¯k©k¸9ÓEˆÜ�7‰7�>‰>˜,×'Ñ'Ü�lÔ# qØ—v‘v“x�÷ $Ð#ð ˆDàˆØ�?‰?˜3×Ñ 4§?¡?°3×#7Ñ#7¸4¿?¹?È4×;PÑ;PÜœ3œsŸ~™~¨t¯z©z¸*Ó/EÓFÓGˆGØ˜‘
˜1�Ø˜!‘*˜Q‘-ˆCÙ'.ÓF¡w !´#°a³&¸1±*“IÀÀ1Å“I”C˜˜!™–I¡wÑFÈ!ÈÑLŠDØ�_‰_˜W×%Ñ%Ü#×*Ñ*¨4Ó0ˆEÞÜ Ð#9¸$¹Ð!BÓCÐCØ—+‘+˜a“.ˆCÜ-8×-AÑ-AÀ$Ô-GÓHÑ-G¨”C˜Ÿ™ ›
–OÑ-GÑHÈAÈ3ÑN‰Dð%ð —o‘oØ˜W hÐ/Ø %Ø $ð &ð �ô
 -×3Ñ3°CÓ8�ØÑ(Ð(Ð(Ø—k‘k !“n�Ü1E×1NÑ1NÈsÔ1SÓTÑ1S¨Aœ˜AŸG™G A›JžÑ1S�ÐTö Ü�d“)ˆCð ˆxˆð ˆCàˆxˆ÷U $Ö#üò Gùò Iùò" UøØ$ó %Ø  "’Tð%úsI   Á I+ÄI=ÄI=Ä&I=Æ*#JÇAJ È,#JÉJ É+
I:ÊJ Ê	JÊJÚdestÚnamec                 ó   • g)z&Always assume the versions don't matchFr   )r   r   r€   s      r   Úis_commit_id_equalÚSubversion.is_commit_id_equal¶   s   € ð r   NÚuse_interactivec                 óV   >• Uc
  [        5       nXl        S U l        [        TU ]  5         g ©N)r   r„   Ú_vcs_versionr@   Ú__init__)Úselfr„   rB   s     €r   rˆ   ÚSubversion.__init__»   s,   ø€ ØÑ"Ü4Ó6ˆOØ.Ôð 8<ˆÔä‰ÑÕr   .c                 ó4  • SnU R                  S/SSS9nUR                  U5      (       d  gU[        U5      S R                  5       S   nUR	                  S	5      S   R                  S
5      n [        [        [        U5      5      nU$ ! [         a     gf = f)züQuery the version of the currently installed Subversion client.

:return: A tuple containing the parts of the version information or
    ``()`` if the version returned from ``svn`` could not be parsed.
:raises: BadCommand: If ``svn`` is not installed.
zsvn, version z	--versionFTra   r   Nr   Ú-Ú.)	rs   r0   rk   rj   Ú	partitionÚtuplerh   rl   ro   )r‰   Úversion_prefixÚversionÚversion_listÚparsed_versions        r   Úcall_vcs_versionÚSubversion.call_vcs_versionÉ   s©   € ð )ˆØ×"Ñ" K =¸eÐQUÐ"ÐVˆØ×!Ñ! .×1Ñ1Øàœ#˜nÓ-Ð/Ð0×6Ñ6Ó8¸Ñ;ˆØ×(Ñ(¨Ó-¨aÑ0×6Ñ6°sÓ;ˆð	Ü"¤3¤s¨LÓ#9Ó:ˆNð Ðøô ó 	Ùð	ús   Á/B
 Â

BÂBc                 ód   • U R                   b  U R                   $ U R                  5       nXl         U$ )a]  Return the version of the currently installed Subversion client.

If the version of the Subversion client has already been queried,
a cached value will be used.

:return: A tuple containing the parts of the version information or
    ``()`` if the version returned from ``svn`` could not be parsed.
:raises: BadCommand: If ``svn`` is not installed.
)r‡   r”   )r‰   Úvcs_versions     r   Úget_vcs_versionÚSubversion.get_vcs_versionå   s8   € ð ×ÑÑ(ð ×$Ñ$Ð$à×+Ñ+Ó-ˆØ'ÔØÐr   c                 ó`   • U R                   (       d  S/$ U R                  5       nUS:¼  a  S/$ / $ )a  Return options to be used on calls to Subversion that contact the server.

These options are applicable for the following ``svn`` subcommands used
in this class.

    - checkout
    - switch
    - update

:return: A list of command line arguments to pass to ``svn``.
z--non-interactive)r_   é   z--force-interactive)r„   r˜   )r‰   Úsvn_versions     r   Úget_remote_call_optionsÚ"Subversion.get_remote_call_optionsù   s>   € ð ×#×#ð (Ð(Ð(à×*Ñ*Ó,ˆð ˜&Ó Ø)Ð*Ð*àˆ	r   Úrev_optionsÚ	verbosityc                 ó   • UR                  5       n[        R                  SUU[        U5      5        US::  a  S/nO/ n[	        S/UQU R                  5       PUR                  5       PUPUP76 nU R                  U5        g )NzChecking out %s%s to %sr   z--quietr   )Ú
to_displayrP   r`   r   r   r�   Úto_argsrs   )r‰   r   rD   rŸ   r    Úrev_displayÚflagsÚcmd_argss           r   Ú	fetch_newÚSubversion.fetch_new  s£   € ð "×,Ñ,Ó.ˆÜ�‰Ø%ØØÜ˜Óô		
ð ˜‹>Ø�K‰EàˆEÜØð
àð
ð ×(Ñ(Ó*ð
ð ×ÑÓ!ð	
ð
 ð
ð ò
ˆð 	×Ñ˜Õ"r   c                 ó|   • [        SU R                  5       UR                  5       UU5      nU R                  U5        g )NÚswitch©r   r�   r£   rs   ©r‰   r   rD   rŸ   r¦   s        r   rª   ÚSubversion.switch0  s=   € ÜØØ×(Ñ(Ó*Ø×ÑÓ!ØØó
ˆð 	×Ñ˜Õ"r   c                 óz   • [        SU R                  5       UR                  5       U5      nU R                  U5        g )NÚupdater«   r¬   s        r   r¯   ÚSubversion.update:  s:   € ÜØØ×(Ñ(Ó*Ø×ÑÓ!Øó	
ˆð 	×Ñ˜Õ"r   )r‡   r„   r†   )&Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r€   r*   Ú	repo_nameÚschemesÚclassmethodr2   Úboolr   Ústaticmethodr   r"   r:   r   r   rA   r   rF   r   r   rM   rU   rl   r/   r‚   rˆ   r”   r˜   r�   r   r§   rª   r¯   Ú__static_attributes__Ú__classcell__)rB   s   @r   r   r      sr  ø† Ø€DØ€GØ€IØI€Gàð°3ð ¸4ó ó ðð ð˜sð  t¨C¡yó ó ðð ð Cð ¨Có ó ðð8 ð.Øð.Ø"%ð.à	ˆs�E˜( 3™-¨°#©Ð6Ñ7Ð7Ñ	8ö.ó ð.ð ð# sð #¨u°S¸(À3¹-ÈÐ5QÑ/Rö #ó ð#ð ð	Ø˜3‘-ð	Ø+3°JÑ+?ð	à	ó	ó ð	ð ð cð ¨có ó ðð. ð/¨ð /°°h¸s±mÀSÐ6HÑ0Ió /ó ð/ðb ð cð °¸#±ð À4ó ó ðñ¨°©ð À$÷ ð ð %¨¨S¨¡/ô ð8  s¨C x¡ô ð(¨ô ð>#Øð#Ø(ð#Ø7Að#ØNQð#à	ô#ð0#˜3ð # Zð #¸jð #ÈTô #ð#˜3ð # Zð #¸jð #ÈT÷ #ò #r   r   ) Úloggingr(   ÚreÚtypingr   r   r   Úpip._internal.utils.miscr   r   r   r	   r
   Úpip._internal.utils.subprocessr   r   Ú pip._internal.vcs.versioncontrolr   r   r   r   r   Ú	getLoggerr±   rP   Úcompilerm   rq   ru   rt   r   Úregisterr   r   r   Ú<module>rÅ      sš   ðÛ Û 	Û 	ß (Ñ (÷õ ÷ E÷õ ð 
×	Ò	˜8Ó	$€à—*’*˜_Ó-€Ø�jŠjÐ1Ó2€Ø—z’zÐ"8Ó9Ð Ø—z’zÐ"4Ó5Ð ôc#�ô c#ðL	 ‡‚ˆZÕ r   