Ë
    ��h×-  ã                   óf  — d dl Z d dlZd dlZd dlmZmZmZ d dlmZm	Z	m
Z
mZmZ d dlmZmZ d dlmZmZmZmZmZ  e j,                  e«      Z ej2                  d«      Z ej2                  d«      Z ej2                  d«      Z ej2                  d	«      Z G d
„ de«      Z ej>                  e«       y)é    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                   ó  ‡ — e Zd ZdZdZdZdZedede	fd„«       Z
ededee   fd	„«       Zed
edefd„«       Zedededeeeee   ee   f   f   fˆ fd„«       Zededeeee   ef   fˆ fd„«       Zedee   dee   defd„«       Zed
edefd„«       Zed
edeee   ef   fd„«       Zededee   de	fd„«       Zd%dee	   ddfˆ fd„Zdeedf   fd„Zdeedf   fd„Zdefd„Zdeded ed!eddf
d"„Z deded eddfd#„Z!deded eddfd$„Z"ˆ xZ#S )&Ú
SubversionÚsvnz.svnÚcheckout)zsvn+sshzsvn+httpz	svn+httpszsvn+svnzsvn+fileÚ
remote_urlÚreturnc                  ó   — y)NT© )Úclsr   s     úZ/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pip/_internal/vcs/subversion.pyÚshould_add_vcs_url_prefixz$Subversion.should_add_vcs_url_prefix$   s   € àó    Úrevc                 ó
   — d| gS )Nz-rr   )r   s    r   Úget_base_rev_argszSubversion.get_base_rev_args(   s   € à�cˆ{Ðr   Úlocationc                 óÜ  — d}t        j                  |«      D ]È  \  }}}| j                  |vrg |dd Œ|j                  | j                  «       t         j                  j                  || j                  d«      }t         j                  j                  |«      sŒ�| j                  |«      \  }}||k(  r
|€J ‚|dz   }n|r|j                  |«      sg |dd Œ½t        ||«      }ŒÊ t        |«      S )zR
        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_revisionzSubversion.get_revision,   sâ   € ð ˆäŸW™W XÓ.ò 	/‰MˆD�$˜Ø�{‰{ $Ñ&Ø�‘Q�ØØ�K‰K˜Ÿ™Ô$ÜŸ™Ÿ™ d¨C¯K©K¸ÓCˆJÜ—7‘7—>‘> *Ô-àà"×3Ñ3°DÓ9ÑˆF�Hà�xÒØÐ)Ð)Ð)Ø ‘|‘Ù 6×#4Ñ#4°TÔ#:Ø�‘Q�ØÜ˜8 XÓ.‰Hð%	/ô& �8‹}Ðr   ÚnetlocÚschemec                 óD   •— |dk(  rt         ‰| �  ||«      S t        |«      S )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   r8   r9   Ú	__class__s      €r   r=   zSubversion.get_netloc_and_authI   s+   ø€ ð �UŠ?ô ‘7Ñ.¨v°vÓ>Ð>ä% fÓ-Ð-r   Úurlc                 ó`   •— t         ‰| �  |«      \  }}}|j                  d«      rd|z   }|||fS )Nzssh://zsvn+)r<   Úget_url_rev_and_authr-   )r   r?   r   Ú	user_passr>   s       €r   rA   zSubversion.get_url_rev_and_authX   s=   ø€ ô $™gÑ:¸3Ó?ÑˆˆS�)Ø�>‰>˜(Ô#Ø˜3‘,ˆCØ�C˜Ð"Ð"r   ÚusernameÚpasswordc                 ó.   — g }| r|d| gz  }|r|d|gz  }|S )Nz
--usernamez
--passwordr   )rC   rD   Ú
extra_argss      r   Úmake_rev_argszSubversion.make_rev_args`   s3   € ð #%ˆ
ÙØ˜<¨Ð2Ñ2ˆJÙØ˜<¨Ð2Ñ2ˆJàÐr   c                 óô   — |}t        |«      sN|}t        j                  j                  |«      }||k(  rt        j                  d|«       t        ‚t        |«      sŒN| j                  |«      \  }}|€t        ‚|S )NzMCould not find Python project for directory %s (tried all parent directories))r	   r%   r)   r'   ÚloggerÚwarningr   r,   )r   r!   Úorig_locationÚlast_locationr?   Ú_revs         r   Úget_remote_urlzSubversion.get_remote_urll   s~   € ð !ˆÜ$ XÔ.Ø$ˆMÜ—w‘w—‘ xÓ0ˆHØ˜=Ò(ô —‘ð*à!ôô
 *Ð)ô % XÕ.ð ×(Ñ(¨Ó2‰	ˆˆTØˆ;Ü%Ð%àˆ
r   c                 óÒ  — ddl m} t        j                  j	                  || j
                  d«      }t        j                  j                  |«      r%t        |«      5 }|j                  «       }d d d «       nd}d }j                  d«      s"|j                  d«      s|j                  d«      rwt        t        t        j                  |j                  d«      «      «      }|d   d= |d   d	   }|D �cg c]%  }t        |«      d
kD  sŒ|d
   sŒt!        |d
   «      ‘Œ' c}dgz   }	�n|j                  d«      rvt"        j%                  |«      }
|
st'        d|›�«      ‚|
j)                  d«      }t*        j-                  |«      D �cg c]  }t!        |j)                  d«      «      ‘Œ c}dgz   }	n|	 | j/                  dd|gdd¬«      }t0        j%                  |«      }
|
€J ‚|
j)                  d«      }t2        j-                  |«      D �cg c]  }t!        |j)                  d«      «      ‘Œ }	}|	rt5        |	«      }||fS d}||fS # 1 sw Y   �ŒÐxY wc c}w c c}w c c}w # |$ r d g }	}Y Œ>w xY w)Nr   )ÚInstallationErrorr#   Ú Ú8Ú9Ú10z

é   é	   z<?xmlzBadly formatted data: é   Úinfoz--xmlFT©Úshow_stdoutÚstdout_only)Úpip._internal.exceptionsrP   r%   r)   r*   r'   r+   ÚopenÚreadr-   ÚlistÚmapr/   Ú
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_rer.   )r   r!   rP   Úentries_pathÚfÚdatar?   r#   ÚdÚrevsÚmatchÚmÚxmlr   s                 r   r,   zSubversion._get_svn_url_rev„   s0  € å>ä—w‘w—|‘| H¨c¯k©k¸9ÓEˆÜ�7‰7�>‰>˜,Ô'Ü�lÓ#ð   qØ—v‘v“x�÷ ð  ð ˆDàˆØ�?‰?˜3Ô 4§?¡?°3Ô#7¸4¿?¹?È4Ô;PÜœ3œsŸ~™~¨t¯z©z¸*Ó/EÓFÓGˆGØ˜‘
˜1�Ø˜!‘*˜Q‘-ˆCØ'.ÖF !´#°a³&¸1³*ÀÀ1Ã”C˜˜!™•IÒFÈ!ÈÑLŠDØ�_‰_˜WÔ%Ü#×*Ñ*¨4Ó0ˆEÙÜ Ð#9¸$¸Ð!BÓCÐCØ—+‘+˜a“.ˆCÜ-8×-AÑ-AÀ$Ó-GÖH¨”C˜Ÿ™ ›
•OÒHÈAÈ3ÑN‰Dð%ð —o‘oØ˜W hÐ/Ø %Ø $ð &ó �ô
 -×3Ñ3°CÓ8�ØÐ(Ð(Ð(Ø—k‘k !“n�Ü1E×1NÑ1NÈsÓ1SÖT¨Aœ˜AŸG™G A›J�ÐT�ÐTñ Ü�d“)ˆCð �Cˆxˆð ˆCà�Cˆxˆ÷U ñ  üò Gùò Iùò" UøØ$ò %Ø  "�T’ð%úsI   ÁH>Ã1IÄIÄIÆ!IÆ,AI È!IÈ%I È>IÉI É	I&É%I&ÚdestÚnamec                  ó   — y)z&Always assume the versions don't matchFr   )r   rv   rw   s      r   Úis_commit_id_equalzSubversion.is_commit_id_equal¶   s   € ð r   NÚuse_interactivec                 óV   •— |€
t        «       }|| _        d | _        t        ‰| �  «        y ©N)r   rz   Ú_vcs_versionr<   Ú__init__)Úselfrz   r>   s     €r   r~   zSubversion.__init__»   s.   ø€ ØÐ"Ü4Ó6ˆOØ.ˆÔð 8<ˆÔä‰ÑÕr   .c                 ó.  — d}| j                  dgdd¬«      }|j                  |«      sy|t        |«      d j                  «       d   }|j	                  d	«      d   j                  d
«      }	 t        t        t        |«      «      }|S # t        $ r Y yw xY w)a  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	--versionFTrY   r   Nr   ú-ú.)	rk   r-   rc   rb   Ú	partitionÚtupler`   rd   rg   )r   Úversion_prefixÚversionÚversion_listÚparsed_versions        r   Úcall_vcs_versionzSubversion.call_vcs_versionÉ   s¦   € ð )ˆØ×"Ñ" K =¸eÐQUÐ"ÓVˆØ×!Ñ! .Ô1Øàœ#˜nÓ-Ð/Ð0×6Ñ6Ó8¸Ñ;ˆØ×(Ñ(¨Ó-¨aÑ0×6Ñ6°sÓ;ˆð	Ü"¤3¤s¨LÓ#9Ó:ˆNð Ðøô ò 	Ùð	ús   Á-B Â	BÂBc                 ód   — | j                   �| j                   S | j                  «       }|| _         |S )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_versionzSubversion.get_vcs_versionå   s:   € ð ×ÑÐ(ð ×$Ñ$Ð$à×+Ñ+Ó-ˆØ'ˆÔØÐr   c                 óT   — | j                   sdgS | j                  «       }|dk\  rdgS g S )aC  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)rW   é   z--force-interactive)rz   rŒ   )r   Úsvn_versions     r   Úget_remote_call_optionsz"Subversion.get_remote_call_optionsù   s>   € ð ×#Ò#ð (Ð(Ð(à×*Ñ*Ó,ˆð ˜&Ò Ø)Ð*Ð*àˆ	r   Úrev_optionsÚ	verbosityc                 óþ   — |j                  «       }t        j                  d||t        |«      «       |dk  rdg}ng }t	        dg|¢| j                  «       ‘|j                  «       ‘|‘|‘­Ž }| j                  |«       y )NzChecking out %s%s to %sr   z--quietr   )Ú
to_displayrI   rX   r   r   r�   Úto_argsrk   )r   rv   r?   r‘   r’   Úrev_displayÚflagsÚcmd_argss           r   Ú	fetch_newzSubversion.fetch_new  s£   € ð "×,Ñ,Ó.ˆÜ�‰Ø%ØØÜ˜Óô		
ð ˜Š>Ø�K‰EàˆEÜØð
àð
ð ×(Ñ(Ó*ð
ð ×ÑÓ!ð	
ð
 ð
ð ò
ˆð 	×Ñ˜Õ"r   c                 ó|   — t        d| j                  «       |j                  «       ||«      }| j                  |«       y )NÚswitch©r   r�   r•   rk   ©r   rv   r?   r‘   r˜   s        r   r›   zSubversion.switch0  s=   € ÜØØ×(Ñ(Ó*Ø×ÑÓ!ØØó
ˆð 	×Ñ˜Õ"r   c                 óz   — t        d| j                  «       |j                  «       |«      }| j                  |«       y )NÚupdaterœ   r�   s        r   rŸ   zSubversion.update:  s:   € ÜØØ×(Ñ(Ó*Ø×ÑÓ!Øó	
ˆð 	×Ñ˜Õ"r   r|   )$Ú__name__Ú
__module__Ú__qualname__rw   r'   Ú	repo_nameÚschemesÚclassmethodr/   Úboolr   Ústaticmethodr   r    r7   r   r   r=   r   rA   r   r   rG   rN   rd   r,   ry   r~   r‰   rŒ   r�   r   r™   r›   rŸ   Ú__classcell__)r>   s   @r   r   r      sh  ø„ Ø€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    rI   Úcompilere   ri   rm   rl   r   Úregisterr   r   r   ú<module>r²      s¦   ðÛ Û 	Û 	ß (Ñ (÷õ ÷ E÷õ ð 
ˆ×	Ñ	˜8Ó	$€à�"—*‘*˜_Ó-€Øˆb�j‰jÐ1Ó2€Ø!�r—z‘zÐ"8Ó9Ð Ø!�r—z‘zÐ"4Ó5Ð ôc#�ô c#ðL	 €‡�ˆZÕ r   