Ë
    #täiÑR  ã                   óD   — d dl mZ d dlmZ d dlZd dlmZ  G d„ d«      Zy)é    )Úmd5)ÚproductN)ÚGLOB_EDGE_CASES_TESTSc                   óª   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ej                  j                  ed	   ed
   «      d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚAbstractPutTestsc                 ó´  — |}|}|j                  |«       |s|j                   ||d«      «       |j                  |«      sJ ‚ ||d«      }	 ||d«      }
|j                   ||d«      |«       |j	                  |	«      sJ ‚|j                   ||dd«      |«       |j	                  |
«      sJ ‚|j                  |	|
g«       |j                  |	«      rJ ‚|j                  |
«      rJ ‚|j                   ||d«      |dz   «       |j                  |«      sJ ‚|j	                  |	«      sJ ‚|j                   ||dd«      |dz   «       |j	                  |
«      sJ ‚y )NÚdummyÚfile2Úsubfile1ÚsubdirÚ/)ÚmkdirÚtouchÚisdirÚputÚisfileÚrmÚexists)ÚselfÚfsÚfs_joinÚ	fs_targetÚ
local_joinÚ local_bulk_operations_scenario_0Úsupports_empty_directoriesÚsourceÚtargetÚtarget_file2Útarget_subfile1s              úh/Volumes/fast/ai/experiments/MLX_z-image/.venv/lib/python3.12/site-packages/fsspec/tests/abstract/put.pyÚ#test_put_file_to_existing_directoryz4AbstractPutTests.test_put_file_to_existing_directory
   sQ  € ð 2ˆàˆØ
�‰�ÔÙ)à�H‰H‘W˜V WÓ-Ô.Ø�x‰x˜ÔÐÐá˜v wÓ/ˆÙ! &¨*Ó5ˆð 	�‰‰z˜& 'Ó*¨FÔ3Ø�y‰y˜Ô&Ð&Ð&ð 	�‰‰z˜& (¨JÓ7¸Ô@Ø�y‰y˜Ô)Ð)Ð)ð 	�‰ˆ|˜_Ð-Ô.Ø—9‘9˜\Ô*Ð*Ð*Ø—9‘9˜_Ô-Ð-Ð-ð 	�‰‰z˜& 'Ó*¨F°S©LÔ9Ø�x‰x˜ÔÐÐØ�y‰y˜Ô&Ð&Ð&à
�‰‰z˜& (¨JÓ7¸À#¹ÔFØ�y‰y˜Ô)Ð)Ñ)ó    c                 ó   — |}|}|j                  |«       |j                   ||dd«       ||d«      «       |j                  |«      sJ ‚|j                   ||d«      «      sJ ‚|j                   ||dd«      «      sJ ‚y )Nr   r   znewdir/Únewdir©r   r   r   r   ©r   r   r   r   r   r   r   r   s           r    Útest_put_file_to_new_directoryz/AbstractPutTests.test_put_file_to_new_directory5   sƒ   € ð 2ˆàˆØ
�‰�Ôà
�‰Ù�v˜x¨Ó4±g¸fÀiÓ6Pô	
ð �x‰x˜ÔÐÐØ�x‰x™ ¨Ó1Ô2Ð2Ð2Ø�y‰y™ ¨°:Ó>Ô?Ð?Ñ?r"   c                 óþ   — |}|}|j                  |«       |s|j                   ||d«      «       |j                  |«      sJ ‚|j                   ||dd«       ||d«      «       |j	                   ||d«      «      sJ ‚y )Nr	   r   r   Únewfile)r   r   r   r   r   )	r   r   r   r   r   r   r   r   r   s	            r    Ú+test_put_file_to_file_in_existing_directoryz<AbstractPutTests.test_put_file_to_file_in_existing_directoryE   sy   € ð 2ˆàˆØ
�‰�ÔÙ)à�H‰H‘W˜V WÓ-Ô.Ø�x‰x˜ÔÐÐà
�‰‰z˜& (¨JÓ7¹ÀÈÓ9SÔTØ�y‰y™ ¨Ó3Ô4Ð4Ñ4r"   c                 óÜ   — |}|}|j                  |«       |j                   ||dd«       ||dd«      «       |j                   ||d«      «      sJ ‚|j                   ||dd«      «      sJ ‚y )Nr   r   r$   r)   r%   r&   s           r    Ú&test_put_file_to_file_in_new_directoryz7AbstractPutTests.test_put_file_to_file_in_new_directory[   st   € ð 2ˆàˆØ
�‰�Ôà
�‰Ù�v˜x¨Ó4Ù�F˜H iÓ0ô	
ð �x‰x™ ¨Ó1Ô2Ð2Ð2Ø�y‰y™ ¨°9Ó=Ô>Ð>Ñ>r"   c           	      óà  — |}|}|j                  |«       |s ||d«      }|j                  |«       |j                  |«      sJ ‚t        ddgddg«      D �]  \  }	}
 ||d«      }|	r|dz  }|
r|dz   n|}|j	                  ||«       |j                  |d¬«      |rg ngk(  sJ ‚|j	                  ||d¬«       |	r¯|j                   ||d«      «      sJ ‚|j                   ||d	«      «      sJ ‚|j                   ||d
«      «      sJ ‚|j                   ||d
d«      «      sJ ‚|j                   ||d«      «      rJ ‚|j                   ||d«       ||d	«       ||d
«      gd¬«       n¡|j                   ||d«      «      sJ ‚|j                   ||dd«      «      sJ ‚|j                   ||dd	«      «      sJ ‚|j                   ||dd
«      «      sJ ‚|j                   ||dd
d«      «      sJ ‚|j                   ||d«      d¬«       |j                  |d¬«      |rg ngk(  sJ ‚|j	                  ||dd¬«       |	rŒ|j                   ||d«      «      sJ ‚|j                   ||d	«      «      sJ ‚|j                   ||d
«      «      rJ ‚|j                   ||d«      «      rJ ‚|j                   ||d«       ||d	«      gd¬«       n…|j                   ||d«      «      sJ ‚|j                   ||dd«      «      sJ ‚|j                   ||dd	«      «      sJ ‚|j                   ||dd
«      «      rJ ‚|j                   ||d«      d¬«       |j                  |d¬«      |rg ngk(  r�ŒJ ‚ y )Nr	   FTr   r   ©Údetail©Ú	recursiver   Úsubfile2Ú	nesteddirÚ
nestedfileé   ©r1   Úmaxdepth)	r   r   r   Úzipr   Úlsr   r   r   )r   r   r   r   r   r   r   r   r	   Úsource_slashÚtarget_slashÚsÚts                r    Ú(test_put_directory_to_existing_directoryz9AbstractPutTests.test_put_directory_to_existing_directoryk   s°  € ð 2ˆàˆØ
�‰�ÔÙ)á˜F GÓ,ˆEØ�H‰H�UŒOØ�x‰x˜ÔÐÐä*-¨u°d¨m¸eÀT¸]×*KÑ&ˆL˜,Ù˜ Ó)ˆAÙØ�S‘�Ù ,�˜’°&ˆAð �F‰F�1�aŒLØ—5‘5˜¨�5Ó.Ù0‘°u°gòð ð ð
 �F‰F�1�a 4ˆFÔ(ÙØ—y‘y¡¨°Ó!<Ô=Ð=Ð=Ø—y‘y¡¨°Ó!<Ô=Ð=Ð=Ø—x‘x¡¨°Ó <Ô=Ð=Ð=Ø—y‘y¡¨°¸lÓ!KÔLÐLÐLØŸ9™9¡W¨V°XÓ%>Ô?Ð?Ð?à—‘á ¨
Ó3Ù ¨
Ó3Ù ¨Ó4ðð
 #ð õ ð —x‘x¡¨°Ó 9Ô:Ð:Ð:Ø—y‘y¡¨°¸:Ó!FÔGÐGÐGØ—y‘y¡¨°¸:Ó!FÔGÐGÐGØ—x‘x¡¨°¸+Ó FÔGÐGÐGØ—y‘y¡¨°¸;ÈÓ!UÔVÐVÐVà—‘‘g˜f hÓ/¸4�Ô@Ø—5‘5˜¨�5Ó.Ù0‘°u°gòð ð ð
 �F‰F�1�a 4°!ˆFÔ4ÙØ—y‘y¡¨°Ó!<Ô=Ð=Ð=Ø—y‘y¡¨°Ó!<Ô=Ð=Ð=ØŸ9™9¡W¨V°[Ó%AÔBÐBÐBØŸ9™9¡W¨V°XÓ%>Ô?Ð?Ð?à—‘á ¨
Ó3Ù ¨
Ó3ðð #ð õ ð —x‘x¡¨°Ó 9Ô:Ð:Ð:Ø—y‘y¡¨°¸:Ó!FÔGÐGÐGØ—y‘y¡¨°¸:Ó!FÔGÐGÐGØŸ9™9¡W¨V°X¸{Ó%KÔLÐLÐLà—‘‘g˜f hÓ/¸4�Ô@Ø—5‘5˜¨�5Ó.Ù0‘°u°gôð ð ñ +Lr"   c           	      óä  — |}|}|j                  |«       t        ddgddg«      D �]:  \  }}	 ||d«      }
|r|
dz  }
 ||d«      }|	r|dz  }|j                  |
|«       |r|j                  |«      g k(  s5J ‚t	        j
                  t        «      5  |j                  |«       d d d «       |j                  |
|d¬«       |j                   ||d«      «      sJ ‚|j                   ||dd«      «      sJ ‚|j                   ||dd«      «      sJ ‚|j                   ||dd	«      «      sJ ‚|j                   ||dd	d
«      «      sJ ‚|j                   ||d«      «      rJ ‚|j                   ||d«      d¬«       |j                   ||d«      «      rJ ‚|j                  |
|dd¬«       |j                   ||d«      «      sJ ‚|j                   ||dd«      «      sJ ‚|j                   ||dd«      «      sJ ‚|j                   ||dd	«      «      rJ ‚|j                   ||d«      «      rJ ‚|j                   ||d«      d¬«       |j                   ||d«      «      s�Œ;J ‚ y # 1 sw Y   �ŒÅxY w)NFTr   r   r$   r0   r   r2   r3   r4   r5   r6   )r   r8   r   r9   ÚpytestÚraisesÚFileNotFoundErrorr   r   r   r   )r   r   r   r   r   r   r   r   r:   r;   r<   r=   s               r    Ú#test_put_directory_to_new_directoryz4AbstractPutTests.test_put_directory_to_new_directoryÁ   se  € ð 2ˆàˆØ
�‰�Ôä*-¨u°d¨m¸eÀT¸]×*KÑ&ˆL˜,Ù˜ Ó)ˆAÙØ�S‘�Ù˜ Ó)ˆAÙØ�S‘�ð �F‰F�1�aŒLÙ)Ø—u‘u˜V“}¨Ò*Ð*Ð*ä—]‘]Ô#4Õ5Ø—E‘E˜&”M÷ 6ð �F‰F�1�a 4ˆFÔ(Ø—8‘8™G F¨HÓ5Ô6Ð6Ð6Ø—9‘9™W V¨X°zÓBÔCÐCÐCØ—9‘9™W V¨X°zÓBÔCÐCÐCØ—8‘8™G F¨H°kÓBÔCÐCÐCØ—9‘9™W V¨X°{ÀLÓQÔRÐRÐRØ—y‘y¡¨°Ó!:Ô;Ð;Ð;à�E‰E‘'˜& (Ó+°tˆEÔ<Ø—y‘y¡¨°Ó!:Ô;Ð;Ð;ð �F‰F�1�a 4°!ˆFÔ4Ø—8‘8™G F¨HÓ5Ô6Ð6Ð6Ø—9‘9™W V¨X°zÓBÔCÐCÐCØ—9‘9™W V¨X°zÓBÔCÐCÐCØ—y‘y¡¨°¸;Ó!GÔHÐHÐHØ—y‘y¡¨°Ó!:Ô;Ð;Ð;à�E‰E‘'˜& (Ó+°tˆEÔ<Ø—y‘y¡¨°Ó!:Ö;Ð;Ð;ñK +L÷ 6Ñ5ús   ÂI%É%I/	c           
      óö  — |}|}|j                  |«       |s ||d«      }	|j                  |	«       |j                  |«      sJ ‚dD �]¯  }
|
r|dz   n|}|j                   ||dd«      |«       |j	                   ||d«      «      sJ ‚|j	                   ||d«      «      sJ ‚|j                   ||d«      «      rJ ‚|j                   ||dd	«      «      rJ ‚|j                   ||d«      «      rJ ‚|j                   ||d«       ||d«      gd
¬«       |j                  |d¬«      |rg n	gk(  sJ ‚t        ddgd
dg«      D �]²  \  }}|j                   ||d|«      ||¬«       |j	                   ||d«      «      sJ ‚|j	                   ||d«      «      sJ ‚|j                   ||d«      «      sJ ‚|j	                   ||dd	«      «      sJ ‚|j                   ||d«      «      rJ ‚|j                   ||d«       ||d«       ||d«      gd
¬«       |j                  |d¬«      |rg n	gk(  sJ ‚|j                   ||d|«      ||d¬«       |j	                   ||d«      «      sJ ‚|j	                   ||d«      «      sJ ‚|j                   ||d«      «      rJ ‚|j                   ||d«      «      rJ ‚|j                   ||d«       ||d«      gd
¬«       |j                  |d¬«      |rg n	gk(  r�Œ³J ‚ �Œ² y )Nr	   ©FTr   r   Ú*r   r2   r3   r4   Tr0   Fr.   ú**r5   r6   )	r   r   r   r   r   r   r   r9   r8   )r   r   r   r   r   r   r   r   r   r	   r;   r=   Úglobr1   s                 r    Ú#test_put_glob_to_existing_directoryz4AbstractPutTests.test_put_glob_to_existing_directoryö   sS  € ð 2ˆàˆØ
�‰�ÔÙ)á˜F GÓ,ˆEØ�H‰H�UŒOØ�x‰x˜ÔÐÐä)ˆLÙ ,�˜’°&ˆAð �F‰F‘:˜f h°Ó4°aÔ8Ø—9‘9™W V¨ZÓ8Ô9Ð9Ð9Ø—9‘9™W V¨ZÓ8Ô9Ð9Ð9Ø—x‘x¡¨°Ó <Ô=Ð=Ð=Ø—y‘y¡¨°¸lÓ!KÔLÐLÐLØ—y‘y¡¨°Ó!:Ô;Ð;Ð;à�E‰Eá˜F JÓ/Ù˜F JÓ/ðð ð ô ð —5‘5˜¨�5Ó.Ù0‘°u°gòð ð ô
 $'¨¨T {°T¸5°M×#B‘��iØ—‘‘z &¨(°DÓ9¸1È	�ÔRØ—y‘y¡¨°Ó!<Ô=Ð=Ð=Ø—y‘y¡¨°Ó!<Ô=Ð=Ð=Ø—x‘x¡¨°Ó <Ô=Ð=Ð=Ø—y‘y¡¨°¸lÓ!KÔLÐLÐLØŸ9™9¡W¨V°XÓ%>Ô?Ð?Ð?à—‘á ¨
Ó3Ù ¨
Ó3Ù ¨Ó4ðð
 #ð ô ð —u‘u˜V¨E�uÓ2Ù4‘B¸5¸'òð ð ð
 —‘Ù˜v x°Ó6ØØ'Øð	 ô ð —y‘y¡¨°Ó!<Ô=Ð=Ð=Ø—y‘y¡¨°Ó!<Ô=Ð=Ð=ØŸ9™9¡W¨V°[Ó%AÔBÐBÐBØŸ9™9¡W¨V°XÓ%>Ô?Ð?Ð?à—‘á ¨
Ó3Ù ¨
Ó3ðð #ð ô ð —u‘u˜V¨E�uÓ2Ù4‘B¸5¸'ôð ð òO $Cñ/ *r"   c           
      ó¢  — |}|}|j                  |«       dD �]4  } ||d«      }	|r|	dz  }	|j                   ||dd«      |	«       |j                   ||d«      «      sJ ‚|j                   ||dd«      «      sJ ‚|j                   ||dd«      «      sJ ‚|j	                   ||dd«      «      rJ ‚|j	                   ||ddd	«      «      rJ ‚|j	                   ||d«      «      rJ ‚|j	                   ||dd«      «      rJ ‚|j                   ||d«      d
¬«       |j	                   ||d«      «      rJ ‚t        ddgd
dg«      D �]  \  }
}|j                   ||d|
«      |	|¬«       |j                   ||d«      «      sJ ‚|j                   ||dd«      «      sJ ‚|j                   ||dd«      «      sJ ‚|j                   ||dd«      «      sJ ‚|j                   ||ddd	«      «      sJ ‚|j	                   ||d«      «      rJ ‚|j	                   ||dd«      «      rJ ‚|j                   ||d«      d
¬«       |j	                   ||d«      «      rJ ‚|j                   ||d|
«      |	|d¬«       |j                   ||d«      «      sJ ‚|j                   ||dd«      «      sJ ‚|j                   ||dd«      «      sJ ‚|j	                   ||dd«      «      rJ ‚|j	                   ||d«      «      rJ ‚|j	                   ||dd«      «      rJ ‚|j                   ||d«      d
¬«       |j	                   ||d«      «      s�ŒJ ‚ �Œ7 y )NrE   r$   r   r   rF   r   r2   r3   r4   Tr0   rG   Fr5   r6   )r   r   r   r   r   r   r8   )r   r   r   r   r   r   r   r   r;   r=   rH   r1   s               r    Útest_put_glob_to_new_directoryz/AbstractPutTests.test_put_glob_to_new_directoryL  s^  € ð 2ˆàˆØ
�‰�Ôä)ˆLÙ˜ Ó)ˆAÙØ�S‘�ð �F‰F‘:˜f h°Ó4°aÔ8Ø—8‘8™G F¨HÓ5Ô6Ð6Ð6Ø—9‘9™W V¨X°zÓBÔCÐCÐCØ—9‘9™W V¨X°zÓBÔCÐCÐCØ—y‘y¡¨°¸;Ó!GÔHÐHÐHØ—y‘y¡¨°¸;ÈÓ!UÔVÐVÐVØ—y‘y¡¨°Ó!:Ô;Ð;Ð;Ø—y‘y¡¨°¸8Ó!DÔEÐEÐEà�E‰E‘'˜& (Ó+°tˆEÔ<Ø—y‘y¡¨°Ó!:Ô;Ð;Ð;ô $'¨¨T {°T¸5°M×#B‘��iØ—‘‘z &¨(°DÓ9¸1È	�ÔRØ—x‘x¡¨°Ó 9Ô:Ð:Ð:Ø—y‘y¡¨°¸:Ó!FÔGÐGÐGØ—y‘y¡¨°¸:Ó!FÔGÐGÐGØ—x‘x¡¨°¸+Ó FÔGÐGÐGØ—y‘y¡¨°¸;ÈÓ!UÔVÐVÐVØŸ9™9¡W¨V°XÓ%>Ô?Ð?Ð?ØŸ9™9¡W¨V°X¸xÓ%HÔIÐIÐIà—‘‘g˜f hÓ/¸4�Ô@ØŸ9™9¡W¨V°XÓ%>Ô?Ð?Ð?ð —‘Ù˜v x°Ó6ØØ'Øð	 ô ð —x‘x¡¨°Ó 9Ô:Ð:Ð:Ø—y‘y¡¨°¸:Ó!FÔGÐGÐGØ—y‘y¡¨°¸:Ó!FÔGÐGÐGØŸ9™9¡W¨V°X¸{Ó%KÔLÐLÐLØŸ9™9¡W¨V°XÓ%>Ô?Ð?Ð?ØŸ9™9¡W¨V°X¸xÓ%HÔIÐIÐIà—‘‘g˜f hÓ/¸4�Ô@ØŸ9™9¡W¨V°XÓ%>Ö?Ð?Ð?ò9 $Cñ' *r"   ÚargnamesÚ	argvaluesc                 óè  — |}|}t        ddgddg«      D ]Â  \  }}|j                  |«       |r	 ||d«      n|}|r|dz   n|}|j                   |	||«      |||¬«       |j                  |«      }|r|D �cg c]  } |
 ||d|«      «      ‘Œ }}n|D �cg c]  } |
 |||«      «      ‘Œ }}t	        |«      t	        |«      k(  sJ ‚	 |j                  |d¬«       ŒÄ y c c}w c c}w # t        $ r Y ŒÛw xY w)NTFr$   r   r6   r0   )r   r   r   ÚfindÚsortedr   rB   )r   Úpathr1   r7   Úexpectedr   r   r   Úlocal_glob_edge_cases_filesr   Úfs_sanitize_pathr   r   Únew_dirr;   r=   ÚoutputÚpÚprefixed_expecteds                      r    Útest_put_glob_edge_casesz)AbstractPutTests.test_put_glob_edge_cases†  s&  € ð$ -ˆàˆä%,¨d°E¨]¸TÀ5¸MÖ%JÑ!ˆG�\Ø�H‰H�VÔá-4‘˜ Ô)¸&ˆAÙ'��C’¨QˆAà�F‰F‘:˜f dÓ+¨Q¸)ÈhˆFÔWà—W‘W˜V“_ˆFÙáLTó%ÙLTÀqÑ$¡W¨V°X¸qÓ%AÕBÈHð "ñ %ñ
 CKó%ÙBJ¸QÑ$¡W¨V°QÓ%7Õ8À(ð "ð %ô ˜&“>¤VÐ,=Ó%>Ò>Ð>Ð>ðØ—‘�f¨�Õ-ñ) &Kùò%ùò%øô %ò Ùðús   Á5CÂC ÃC%Ã%	C1Ã0C1c           	      ó2  — |}|}|j                  |«       |s ||d«      }	|j                  |	«       |j                  |«      sJ ‚ ||d«       ||d«       ||dd«      g}
dD ]³  }|r|dz   n|}|j                  |
|«       |j	                   ||d«      «      sJ ‚|j	                   ||d«      «      sJ ‚|j	                   ||d«      «      sJ ‚|j                   ||d«       ||d«       ||d«      gd¬	«       |j                  |d
¬«      |rg n	gk(  rŒ³J ‚ y )Nr	   Úfile1r
   r   r   rE   r   Tr0   Fr.   )r   r   r   r   r   r   r9   )r   r   r   r   r   r   r   r   r   r	   Úsource_filesr;   r=   s                r    Ú,test_put_list_of_files_to_existing_directoryz=AbstractPutTests.test_put_list_of_files_to_existing_directory´  sD  € ð 2ˆàˆØ
�‰�ÔÙ)á˜F GÓ,ˆEØ�H‰H�UŒOØ�x‰x˜ÔÐÐñ �v˜wÓ'Ù�v˜wÓ'Ù�v˜x¨Ó4ð
ˆó *ˆLÙ ,�˜’°&ˆAà�F‰F�< Ô#Ø—9‘9™W V¨WÓ5Ô6Ð6Ð6Ø—9‘9™W V¨WÓ5Ô6Ð6Ð6Ø—9‘9™W V¨ZÓ8Ô9Ð9Ð9à�E‰Eá˜F GÓ,Ù˜F GÓ,Ù˜F JÓ/ðð
 ð ô ð —5‘5˜¨�5Ó.Ù0‘°u°góð ð ñ! *r"   c                 ór  — |}|}|j                  |«        ||d«       ||d«       ||dd«      g}|j                  | ||d«      dz   «       |j                   ||d«      «      sJ ‚|j                   ||dd«      «      sJ ‚|j                   ||dd«      «      sJ ‚|j                   ||dd«      «      sJ ‚y )Nr[   r
   r   r   r$   r   r%   )	r   r   r   r   r   r   r   r   r\   s	            r    Ú'test_put_list_of_files_to_new_directoryz8AbstractPutTests.test_put_list_of_files_to_new_directoryâ  sÉ   € ð 2ˆàˆØ
�‰�Ôñ �v˜wÓ'Ù�v˜wÓ'Ù�v˜x¨Ó4ð
ˆð 	�‰ˆ|™W V¨XÓ6¸Ñ<Ô=Ø�x‰x™ ¨Ó1Ô2Ð2Ð2Ø�y‰y™ ¨°7Ó;Ô<Ð<Ð<Ø�y‰y™ ¨°7Ó;Ô<Ð<Ð<Ø�y‰y™ ¨°:Ó>Ô?Ð?Ñ?r"   c                 ó>  —  ||d«      } ||d«      }|j                  |«       |j                  |«       |}	|j                  |	«      rJ ‚t        d«      D ]²  }
|j	                  ||	d¬«       |j                  |	«      sJ ‚|
dk(  r5|j                   ||	d«      «      sJ ‚|j                   ||	d«      «      sŒbJ ‚|j                   ||	d«      «      sJ ‚|j                   ||	d«      «      sJ ‚|j                   ||	dd«      «      rŒ²J ‚ |j                  |	d¬«       |j                  |	«      rJ ‚t        d«      D ]`  }
|j	                  |dz   |	d¬«       |j                  |	«      sJ ‚|j                   ||	d«      «      sJ ‚|j                   ||	d«      «      sŒ`J ‚ y )NÚsrcÚfileé   Tr0   r   r   )r   r   r   Úranger   r   r   r   )r   r   r   r   Úlocal_fsr   Ú
local_pathra   Úsrc_filer   Úloops              r    Útest_put_directory_recursivez-AbstractPutTests.test_put_directory_recursive÷  s“  € ñ
 ˜ UÓ+ˆÙ˜c 6Ó*ˆØ�‰�sÔØ�‰�xÔ àˆð —9‘9˜VÔ$Ð$Ð$Ü˜!–HˆDØ�F‰F�3˜¨$ˆFÔ/Ø—8‘8˜FÔ#Ð#Ð#à�qŠyØ—y‘y¡¨°Ó!8Ô9Ð9Ð9ØŸ9™9¡W¨V°UÓ%;Õ<Ð<Ð<à—y‘y¡¨°Ó!8Ô9Ð9Ð9Ø—x‘x¡¨°Ó 6Ô7Ð7Ð7Ø—y‘y¡¨°¸Ó!?Õ@Ð@Ð@ð ð 	�‰ˆf ˆÔ%ð —9‘9˜VÔ$Ð$Ð$Ü˜!–HˆDØ�F‰F�3˜‘9˜f°ˆFÔ5Ø—8‘8˜FÔ#Ð#Ð#Ø—9‘9™W V¨VÓ4Ô5Ð5Ð5Ø—y‘y¡¨°Ó!7Õ8Ð8Ð8ñ	 r"   c                 ó  — |}|}|j                   ||d«      |d¬«       |j                   ||d«      «      sJ ‚|j                   ||d«      «      rJ ‚|j                   ||d«      g«       |r|j                  |«      g k(  sJ ‚|j	                  |«      rJ ‚|j                   ||d«      |d¬«       |j                   ||d«      «      sJ ‚|j                   ||dd«      «      sJ ‚|j                   ||d«      «      sJ ‚y )Nr   Tr0   zsubfile.txtz
subdir.txtzsubdir*)r   r   r   r9   r   r   )	r   r   r   r   r   Ú(local_dir_and_file_with_same_name_prefixr   r   r   s	            r    Ú6test_put_directory_without_files_with_same_name_prefixzGAbstractPutTests.test_put_directory_without_files_with_same_name_prefix  s  € ð :ˆØˆð 	�‰‰z˜& (Ó+¨YÀ$ˆÔGà�y‰y™ ¨MÓ:Ô;Ð;Ð;Ø—9‘9™W Y°Ó=Ô>Ð>Ð>à
�‰‰w�v˜}Ó-Ð.Ô/Ù%Ø—5‘5˜“= BÒ&Ð&Ð&à—y‘y Ô(Ð(Ð(ð 	�‰‰z˜& )Ó,¨iÀ4ˆÔHà�x‰x™ 	¨8Ó4Ô5Ð5Ð5Ø�y‰y™ ¨H°mÓDÔEÐEÐEØ�y‰y™ ¨LÓ9Ô:Ð:Ñ:r"   c                 ó®  — |}|}g }g }	t        d«      D ]i  }
t        t        |
«      j                  d«      «      j	                  «       }|j                   |||› d�«      «       |	j                   |||› d�«      «       Œk |j                  ||	¬«       t        d«      D ]5  }
|j                  |	|
   «      j                  d«      }|t        |
«      k(  rŒ5J ‚ y )Né
   zutf-8z.txt)ÚlpathÚrpath)	rd   r   ÚstrÚencodeÚ	hexdigestÚappendr   ÚcatÚdecode)r   r   r   r   r   Ú local_10_files_with_hashed_namesr   r   r\   Údestination_filesÚiÚhashed_iÚfile_contents                r    Ú-test_copy_with_source_and_destination_as_listz>AbstractPutTests.test_copy_with_source_and_destination_as_list;  sÓ   € ð 2ˆØˆð ˆØÐÜ�r–ˆAÜœ3˜q›6Ÿ=™=¨Ó1Ó2×<Ñ<Ó>ˆHØ×Ñ¡
¨6°h°Z¸tÐ3DÓ EÔFØ×$Ñ$¡W¨V¸°zÀÐ5FÓ%GÕHð ð 	�‰�\Ð):ˆÔ;ä�r–ˆAØŸ6™6Ð"3°AÑ"6Ó7×>Ñ>¸wÓGˆLØ¤3 q£6Ó)Ð)Ð)ñ r"   N)Ú__name__Ú
__module__Ú__qualname__r!   r'   r*   r,   r>   rC   rI   rK   r@   ÚmarkÚparametrizer   rY   r]   r_   ri   rl   r|   © r"   r    r   r   	   s„   „ ò)*òV@ò 5ò,?ò Tòl3<òjTòl8@ðt ‡[�[×ÑØ˜jÑ)Ø˜kÑ*óñ(ó	ð(òT,ò\@ò*"9òH;ó@*r"   r   )Úhashlibr   Ú	itertoolsr   r@   Úfsspec.tests.abstract.commonr   r   r‚   r"   r    Ú<module>r†      s   ðÝ Ý ã å >÷F	*ò F	*r"   