
    ip                    z    S r SSKJr  SSKJr  SSKJr  SSKJr  \(       a  SSKJr  S
S jr	\
S:X  a	  \	" \5        g	g	)z>
(c) 2006-2013, Armin Rigo, Holger Krekel, Maciej Fijalkowski
    )annotations)TYPE_CHECKING)Literal)cast)Channelc           	     T  ^ ^^^^^^^^^ SS K mSS KmSS KmSSKJm  [        ST R                  5       5      u  mm/ mSUUU4S jjmSU UUUUUUU4S jjmT" T/ 5        SnT R                  S5        T H  u  nu  p4n[        [        T R                  5       5      nT R                  SU[        T5      S	-   S  45        UbR  U(       a  [        U5      U:w  a  [        S
U< 35      e[        US5      nUR                  U5        UR                  5          U(       a  TR                  X#5        TR                  X$U45        AM     T R                  S5        T R                  5       nUS:w  a  [        SU5      u  pnTR                   R#                  TU
5      n T" U5        U	S:X  a  TR                   R#                  TU5      nOU	S:X  d   U	5       eUnTR%                  X5        T R                  5       nUS:w  a  M  T R                  S5        g ! [         a     Nf = f! [         a     Nf = f)Nr   )md5ztuple[str, dict[str, object]]c                   > U R                  T5      (       d   e TR                  U 5        g ! [         a    TR                  U S5         g f = f)NT)
startswithunlinkOSErrorrmtree)pathdestdirosshutils    S/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/execnet/rsync_remote.pyremoveserve_rsync.<locals>.remove   sE    w''''	&IIdO 	&MM$%	&s   - AAc                  >  TR                  U 5      nTR                  5       n[        U[        5      (       Ga  U(       a3  TR                  UR                  5      (       d  TR                  U 5        S nU(       d  TR                  U 5        UR                  S5      nU(       a  TR                  XS-  5        0 nU H/  nTR                  R                  X5      nT" U/ UQUP5        SXV'   M1     TR                  S5      (       aC  TR                  U 5       H-  nX;  d  M
  TR                  R                  X5      n	T" U	5        M/     g g UGb   [        U[        5      (       d   eS n
U(       a  TR!                  UR                  5      (       a  Uu  pnXR"                  :w  a  OXR$                  :w  aA  ['        U S5      nT" UR)                  5       5      R+                  5       n
UR-                  5         O4U(       a$  XR                  :w  a  TR                  XS-  5        g g T" U 5        TR/                  SX445        TR1                  X45        g g ! [         a    S n GNIf = f)Nr   i  Tdeleterbsend)lstatr   receive
isinstancelistS_ISDIRst_moder   makedirspopchmodr   joingetlistdirtupleS_ISREGst_sizest_mtimeopenreaddigestcloser   append)r   relcomponentsstmsgmode
entrynames	entrynamedestpath	othername	otherpathchecksummsg_mode	msg_mtimemsg_sizefchannelr	   modifiedfilesoptionsr   receive_directory_structurer   stats                  r   r@   0serve_rsync.<locals>.receive_directory_structure    s   	$B ooc4  $,,rzz22		$D!771:D
 e|,J 	77<<8+H6Q6Qy6QR(,
% ! {{8$$!#D!1I 2$&GGLL$A	y) "2 %
 _c5))))H<<

++471H::-"kk1 t,#&qvvx=#7#7#9	!h**&<%'784LLL&=";<=  $-) 5  	B	s   I IIF)	list_doneNack   zfile modified during rsync: wb)linksN*   z,tuple[Literal['linkbase', 'link'], str, str]linkbaselink)doneN)r   strreturnNone)r   rL   r/   z	list[str]rM   rN   )r   r   rA   hashlibr	   r   r   r   byteslenr   r*   writer-   r"   utimer   r#   symlink)r=   STRICT_CHECKr   r2   timesizedatar<   r1   _typerelpath	linkpointsrcr   r	   r>   r?   r   r@   r   r   rA   s   `            @@@@@@@@@r   serve_rsyncr]      s   ;W__=NOGWM& &1. 1.f  ,LLL$%$1  t4E7??,-eT#g,"2"4567D	T 1 <THEFFT4 AGGDMGGI	$HHT$<(  %2  LL!
//
C
)$(:C%
!	 ww||GW-	4L J'',,w	2CF?)E)?C


3oo! )" LL /  		  		s$   +H
H 

HH
H'&H'__channelexec__N)r=   r   rM   rN   )__doc__
__future__r   typingr   r   r   execnet.gateway_baser   r]   __name__r=        r   <module>rf      s=    #    ,m!`    !re   