+
    ˜°³j.  ã                   ó6  a € R- t00 t ^ RI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 . t] ^ k R R	 lt]	! R
]R7      R R l4       t]	! R]R7      R R l4       tR R ltR R ltR R ltR R lt R R lt!R.R R llt"R R lt#R/R R  llt$R!t%] ^k R"R#0t&] ^k ]'! 4       t(] ^k R$R%R&R%/t)] ^k R't*] ^k R"R#0t+] ^k ]'! 4       t,] ^k R(R)/t-] ^k R* R+ lt.]/R,8X  d
   ].! 4        R# R#   ] d     ^ RIt]! ]4      P#                  4       P$                  ^,          t]P(                  P+                  ^ ]! ]4      4       ^ RI
Ht ^ RIHt ]! ]P(                  4      ^ 8”  d,   ]P(                  ^ ,          ]! ]4      8X  d   ]P(                  ^   ELgi ; i)0é    N)Údefaultdict)ÚPath)ÚAny)Ú
deprecated)Úformat_function_signature)ÚFileManagerc                ó:   € V ^8„  d   QhR\         \        ,          /# )é   Úreturn)ÚlistÚstr)Úformats   "Úc/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/utils/data/datapipes/gen_pyi.pyÚ__annotate__r      s   € ÷ ñ ””c•ñ ó    c                  ó   € . # ©N© r   r   r   Ú__dir__r      s   € Ø€Ir   zg`torch.utils.data.datapipes.gen_pyi.materialize_lines` is deprecated and will be removed in the future.)Úcategoryc                óR   € V ^8„  d   QhR\         \        ,          R\        R\        /# )r
   ÚlinesÚindentationr   )r   r   Úint)r   s   "r   r   r   $   s%   € ÷ ñ œT¤#�Yð ´Sð ¼Sñ r   c                 ó    € R pRRV,          ,           p\        V 4       F,  w  rEV^ 8w  d	   W#,          pW%P                  RV4      ,          pK.  	  V# )Ú Ú
Ú )Ú	enumerateÚreplace)r   r   ÚoutputÚnew_line_with_indentÚiÚlines   &&    r   Úmaterialize_linesr%       sT   € ð
 €FØ #¨Õ"3Õ3ÐÜ˜UÖ#‰ˆØ�Œ6ØÕ*ˆFØ—,‘,˜tÐ%9Ó:Õ:Šñ $ð €Mr   zg`torch.utils.data.datapipes.gen_pyi.gen_from_template` is deprecated and will be removed in the future.c                óŽ   € V ^8„  d   QhR\         R\         R\         R\        \        \         \        \        3,          ,          RR/# )r
   ÚdirÚtemplate_nameÚoutput_nameÚreplacementsr   N)r   r   Útupler   r   )r   s   "r   r   r   2   sJ   € ÷ ñ Ü	ðäðô ðô ”uœS¤#¤s˜]Õ+Õ,ð	ð
 
ñr   c           
      óÚ  € \         P                  P                  W4      p\         P                  P                  W4      p\        VR R7      ;_uu_ 4       pVP	                  4       pRRR4       V FQ  w  r‰p
\        VRR R7      ;_uu_ 4       pXP                  V\        Wš4      4      pVP                  V4       RRR4       KS  	  R#   + '       g   i     Li; i  + '       g   i     K{  ; i)úutf-8©ÚencodingNÚw)ÚosÚpathÚjoinÚopenÚreadr    r%   Úwrite)r'   r(   r)   r*   Útemplate_pathÚoutput_pathÚfÚcontentÚplaceholderr   r   s   &&&&       r   Úgen_from_templater<   .   s«   € ô —G‘G—L‘L Ó4€MÜ—'‘'—,‘,˜sÓ0€Kä	ˆm g×	.Õ	.°!Ø—&‘&“(ˆ÷ 
/ã+7Ñ'ˆ˜KÜ�+˜s¨W×5Õ5¸Ø—o‘oØÔ.¨uÓBóˆGð �G‰G�GÔ÷	 6Ñ5ó ,8÷ 
/×	.ú÷ 6×5Ð5ús   ÁCÂ-CÃC	ÃC*c                ó~   € V ^8„  d   QhR\         \        ,          R\        \        ,          R\        \        ,          /# )r
   Ú	dir_pathsÚfiles_to_excluder   )r   r   Úset)r   s   "r   r   r   E   s-   € ÷ ñ œt¤C�yð ¼CÄ½Hð ÌÌSÍñ r   c           
     ó^  € \        4       pV  F�  p\        P                  ! V4      pV Uu0 uF  pRVRR 8X  g   K  VkK  	  ppV Uu0 uF  qUV9  g   K  VkK  	  ppTP                  V Uu0 uF"  p\        P                  P                  W54      kK$  	  up4       K�  	  V# u upi u upi u upi )z”
When given a path to a directory, returns the paths to the relevant files within it.

This function does NOT recursive traverse to subdirectories.
z.pyNéýÿÿÿ)r@   r1   ÚlistdirÚupdater2   r3   )r>   r?   ÚpathsÚdir_pathÚ	all_filesÚfnameÚpython_filesÚfilter_filess   &&      r   Úfind_file_pathsrK   E   s¬   € ô “e€EÛˆÜ—J’J˜xÓ(ˆ	Ù+4ÓL©9 %¸ÀÀrÀsÀÑ8KŸ˜©9ˆÐLá+ó
Ù+�eÐ<LÑ/L�EˆE™|ð 	ð 
ð 	�‰ÁÓNÁ¸”b—g‘g—l‘l 8Ö3ÁÑNÖOñ ð €Lùò Mùò
ùò Os   ªB »B ÁB%ÁB%Á+(B*
c                ó0   € V ^8„  d   QhR\         R\         /# ©r
   r$   r   ©r   )r   s   "r   r   r   V   s   € ÷ ñ œcð ¤cñ r   c                ó´   € RV 9   d   RRr!MRV 9   d   RRr!M\        RV  24      hV P                  V4      \        V4      ,           V P                  V4      rCWV # )zXExtract method name from decorator in the form of "@functional_datapipe({method_name})".z("z")z('z')z4Unable to find appropriate method name within line:
)ÚRuntimeErrorÚfindÚlen©r$   Ústart_tokenÚ	end_tokenÚstartÚends   &    r   Úextract_method_namerX   V   sd   € àˆt„|Ø!% t‘YØ	�ŒØ!% t‘YäØCÀDÀ6ÐJó
ð 	
ð —‘˜;Ó'¬#¨kÓ*:Õ:¸D¿I¹IÀiÓ<Pˆ3Ø�cˆ?Ðr   c                ó0   € V ^8„  d   QhR\         R\         /# rM   rN   )r   s   "r   r   r   d   s   € ÷ ñ œSð ¤Sñ r   c                ót   € RpRpV P                  V4      \        V4      ,           V P                  V4      rCWV # )zVExtract class name from class definition in the form of "class {CLASS_NAME}({Type}):".úclass Ú()rQ   rR   rS   s   &    r   Úextract_class_namer]   d   s9   € à€KØ€IØ—‘˜;Ó'¬#¨kÓ*:Õ:¸D¿I¹IÀiÓ<Pˆ3Ø�cˆ?Ðr   c                ó  € V ^8„  d   QhR\         R\        \        \         \        \         ,          3,          \        \         \         3,          \        \         ,          \        \         \        \         ,          3,          3,          /# )r
   Ú	file_pathr   )r   r+   Údictr   r@   )r   s   "r   r   r   l   sP   € ÷ 1ñ 1Üð1ä
Œ4””Tœ#•Y�Õ¤¤c¬3 h¥´´Sµ¼4ÄÄTÌ#ÅYÀÕ;OÐOÕPñ1r   c                ó¾  € / / \        4       r2p\        \        4      p\        V RR7      ;_uu_ 4       p^ pRRRr˜pRp
V EF{  pVP	                  R4      ^,          ^8X  d   V
'       * p
V
'       g   RV9   d   WG,          P                  V4       KP  RV9   d   \        V4      p. WG&   Kh  V'       d   RV9   d   \        V4      pK„  V'       dU   RV9   g   R	V9   dG   R	V9   d   VP                  V4       V^,          pVP                  R
4      \        R
4      ,           pW¼R pV^ 8”  g   Ké  WkP	                  R
4      ,          pWkP	                  R4      ,          pV^ 8X  d6   VP                  R4      pW›RV ,          p	\        V	4      W&   W‚V&   RRRr˜pEKS  V^ 8  d   \        R4      hW›P                  4       ,          p	EK~  	  RRR4       VVVV3#   + '       g   i     L; i)zfGiven a path to file, parses the file and returns a dictionary of method names to function signatures.r-   r.   r   Fz"""z@functional_datapiper[   zdef __init__(zdef __new__(r\   NÚ)z7open parenthesis count < 0. This shouldn't be possible.)r@   r   r   r4   ÚcountÚappendrX   r]   ÚaddrQ   rR   ÚrfindÚprocess_signaturerP   Ústrip)r_   Úmethod_to_signatureÚmethod_to_class_nameÚspecial_output_typeÚdoc_string_dictr9   Úopen_paren_countÚmethod_nameÚ
class_nameÚ	signatureÚskipr$   rV   rW   s   &             r   Úparse_datapipe_filerr   l   sÎ  € ð FHÈÌSËUÐ/BÐÜ!¤$Ó'€OÜ	ˆi '×	*Õ	*¨aØÐØ-/°°R ˆØˆÜˆDØ�z‰z˜%Ó  1Õ$¨Ô)Ø”x�ß�u ”}ØÕ,×3Ñ3°DÔ9ÙØ%¨Ô-Ü1°$Ó7�Ø/1�Ñ,Ùß˜x¨4Ô/Ü/°Ó5�
Ùß °4Ô 7¸>ÈTÔ;QØ! TÔ)Ø'×+Ñ+¨KÔ8Ø  AÕ%Ð ØŸ	™	 #›¬¨S«Õ1�Ø˜F�|�Ø !Ö#Ø §J¡J¨s£OÕ3Ð Ø §J¡J¨s£OÕ3Ð Ø# qÔ(ØŸ*™* S›/�CØ d s Õ+�IÜ7HÈÓ7SÐ'Ñ4Ø8B¨Ñ5Ø9;¸RÀ¨Y�KªYØ%¨Ô)Ü&ØQóð ð §¡£Õ-“IñC ÷	 
+ðN 	ØØØð	ð ÷M 
+×	*ús%   ²;GÁ.?GÂ.GÃ
AGÄ'BGÇG	c                ó$  € V ^8„  d   QhR\         \        ,          R\        \        \        \        \        ,          3,          \        \        \        3,          \         \        ,          \        \        \        \        ,          3,          3,          /# )r
   Ú
file_pathsr   )r@   r   r+   r`   r   )r   s   "r   r   r       sT   € ÷ ñ Ü”C•ðä
Œ4””Tœ#•Y�Õ¤¤c¬3 h¥´´Sµ¼4ÄÄTÌ#ÅYÀÕ;OÐOÕPñr   c                 óè   € / p/ p\        4       p/ pV  FW  p\        V4      w  pppp	VP                  V4       VP                  V4       VP                  V4       VP                  V	4       KY  	  VVVV3# r   )r@   rr   rD   )
rt   Úmethods_and_signaturesÚmethods_and_class_namesÚ!methods_with_special_output_typesÚmethods_and_doc_stringsr2   ri   rj   Ú$methods_needing_special_output_typesrl   s
   &         r   Úparse_datapipe_filesr{       s–   € ð  ÐØ ÐÜ(+«Ð%Ø ÐÛˆô   Ó%ñ	
ØØ Ø0Øà×%Ñ%Ð&9Ô:Ø×&Ñ&Ð';Ô<Ø)×0Ñ0Ð1UÔVØ×&Ñ& Ö7ñ ð 	ØØ)Øð	ð r   c                óR   € V ^8„  d   QhR\         R\         R\        \         ,          /# )r
   r$   Ú	delimiterr   ©r   r   )r   s   "r   r   r   º   s%   € ÷ ñ ¤ð ´ð ¼dÄ3½iñ r   c                óÞ   € ^ pRp. pV  FO  pVR8X  d   V^,          pM3VR8X  d   V^,          pM"WQ8X  d   V^ 8X  d   VP                  V4       RpKG  W5,          pKQ  	  VP                  V4       V# )zRGiven a line of text, split it on comma unless the comma is within a bracket '[]'.r   Ú[Ú])rd   )r$   r}   Úbracket_countÚ
curr_tokenÚresÚchars   &&    r   Úsplit_outside_bracketr†   º   sy   € à€MØ€JØ
€CÛˆØ�3Œ;Ø˜QÕ‰MØ�SŒ[Ø˜QÕ‰MØÔ =°AÔ#5Ø�J‰J�zÔ"ØˆJÙØÕŠ
ñ ð ‡J�JˆzÔØ€Jr   c                óF   € V ^8„  d   QhR\         R\        \         ,          /# rM   r~   )r   s   "r   r   r   Í   s   € ÷ ñ œCð ¤D¬¥Iñ r   c                ó   € \        V 4      p\        V4       F•  w  r#VP                  R4      W&   VR8X  d   RW&   K%  V^ 8”  d/   RW^,
          ,          8X  d   W,          ^ ,          R8w  d   RW&   KZ  RV9   g   Kc  VP                  R4      ^ ,          pVP                  R4      R,           W&   K—  	  V Uu. uF  qUR8w  g   K  VNK  	  ppV# u upi )	z¦
Clean up a given raw function signature.

This includes removing the self-referential datapipe argument, default
arguments of input functions, newlines, and spaces.
r   ÚclsÚselfÚ*r   z
Callable =Ú=z = ...)r†   r   rh   Ú
rpartition)r$   Útokensr#   ÚtokenÚheadÚts   &     r   rg   rg   Í   s¼   € ô .¨dÓ3€FÜ˜fÖ%‰ˆØ—K‘K Ó$ˆ‰	Ø�EŒ>ØˆF‹IØ�ŒU˜ &¨Q­¥-Ô/°fµiÀµlÀcÔ6IàˆF‹IØ˜UÖ"Ø×#Ñ# CÓ(¨Õ+ˆDØŸ
™
 3›¨(Õ2ˆF‹Iñ &ñ  Ó+™�A¨¡7�aˆa™€FÐ+Ø€Mùò ,s   Â4CÃCc                óü   € V ^8„  d   QhR\         \        \         ,          ,          R\        \         ,          R\        \         ,          R\         R\        \         \         3,          R\         R\        \         ,          /# )r
   r_   r?   Údeprecated_filesÚdefault_output_typeÚmethod_to_special_output_typeÚrootr   )r   r   r@   r`   )r   s   "r   r   r   ã   sj   € ÷ 7ñ 7Ü”Tœ#•Y�ð7äœ#•hð7ô œ#•hð7ô ð	7ô
 $(¬¬S¨¥>ð7ô ð7ô 
Œ#…Yñ7r   c                ó$  € VR8X  d1   \        \        \        4      P                  P	                  4       4      p\        V \         4      '       d   V .MT p V  Uu. uF"  p\        P                  P                  WV4      NK$  	  p p\        WP                  V4      R7      p\        V4      w  pp	p
pV F  pWÊ9  g   K  V
P                  V4       K  	  . pVP                  4        F”  w  rïWž,          pWê9   d
   WN,          pMTpRP                  W¾,          4      pVR8X  d   RpM	RV,           p\        WïV4      pVP                  RV R2VP!                  R4      P#                  4       ,           V,           4       K–  	  VP%                  R R	7       V# u upi )
zû
#.pyi generation for functional DataPipes Process.

# 1. Find files that we want to process (exclude the ones who don't)
# 2. Parse method name and signature
# 3. Remove first argument after self (unless it is "*datapipes"), default args, and spaces
r   )r?   z ...r   z# Functional form of 'z'
z...c                 ó2   € V P                  R 4      ^,          # )r   )Úsplit)Úss   &r   Ú<lambda>Ú(get_method_definitions.<locals>.<lambda>  s   € �a—g‘g˜d“m AÖ&r   )Úkey)r   r   Ú__file__ÚparentÚresolveÚ
isinstancer1   r2   r3   rK   Úunionr{   re   Úitemsr   rd   ÚremovesuffixÚrstripÚsort)r_   r?   r“   r”   r•   r–   r2   rt   rv   rw   Úmethods_w_special_output_typesry   Úfn_nameÚmethod_definitionsrn   Ú	argumentsro   Úoutput_typeÚ
doc_stringÚ
definitions   &&&&&&              r   Úget_method_definitionsr®   ã   s†  € ð ˆr„zÜ”4œ“>×(Ñ(×0Ñ0Ó2Ó3ˆÜ)¨)´S×9Ò9�‘¸y€IÙ6?Ó@±i¨d”—‘—‘˜dÖ)±i€IÐ@Ü Ø×$:Ñ$:Ð;KÓ$Lô€Jô 	˜ZÓ(ñØØØ&Øó 1ˆØÖ8Ø*×.Ñ.¨wÖ7ñ 1ð ÐØ"8×">Ñ">Ö"@ÑˆØ,Õ9ˆ
ØÔ8Ø7ÕD‰Kà-ˆKØ—W‘WÐ4ÕAÓBˆ
Ø˜ÔØ‰Jà 
Õ*ˆJÜ.¨{À{ÓSˆ
Ø×!Ñ!Ø$ Z L°Ð4Ø×%Ñ% eÓ,×3Ñ3Ó5õ6àõö	
ñ #Að" ×ÑÙ&ð ô ð ÐùòK As   Á(FÚiterz__init__.pyzutils.pyÚdemuxzlist[IterDataPipe]ÚforkÚmapÚshuffleÚIterDataPipec                ó   € V ^8„  d   QhRR/# )r
   r   Nr   )r   s   "r   r   r   ,  s   € ÷  ñ  ˆdñ  r   c                 ó  aa€ \        \        \        \        R\        4      o\        \
        \        \        R\        4      o\        \        4      P                  4       P                  p \        W RR7      pVP                  RRVV3R l4       R# )	a  
# Inject file into template datapipe.pyi.in.

TODO: The current implementation of this script only generates interfaces for built-in methods. To generate
      interface for user-defined DataPipes, consider changing `IterDataPipe.register_datapipe_as_function`.
r´   ÚMapDataPipeF)Úinstall_dirÚtemplate_dirÚdry_runzdatapipe.pyizdatapipe.pyi.inc                  ó   <€ R S RS/# )ÚIterDataPipeMethodsÚMapDataPipeMethodsr   )Úiter_method_definitionsÚmap_method_definitionss   €€r   r›   Úmain.<locals>.<lambda>H  s   ø€ Ø!Ð#:Ø Ð"8ñ
r   N)r®   ÚiterDP_file_pathÚiterDP_files_to_excludeÚiterDP_deprecated_filesÚ$iterDP_method_to_special_output_typeÚmapDP_file_pathÚmapDP_files_to_excludeÚmapDP_deprecated_filesÚ#mapDP_method_to_special_output_typer   rž   ÚabsoluterŸ   r   Úwrite_with_template)r2   Úfmr¾   r¿   s     @@r   ÚmainrÌ   ,  sz   ù€ ô 5ÜÜÜØÜ,óÐô 4ÜÜÜØÜ+óÐô ”‹>×"Ñ"Ó$×+Ñ+€DÜ	 À%Ô	H€BØ×ÑØØõ	
ör   Ú__main__c                ó2  € V ^8„  d   Qh/ ^ \         9   d   \        \        ,          ;R&   ^\         9   d
   \        ;R&   ^\         9   d   \        \        ,          ;R&   ^\         9   d   \        \        ,          ;R&   ^\         9   d   \        \        \        3,          ;R&   ^\         9   d
   \        ;R&   ^\         9   d   \        \        ,          ;R&   ^\         9   d   \        \        ,          ;R&   ^\         9   d   \        \        \        3,          ;R	&   # )
r
   Ú__all__rÁ   rÂ   rÃ   rÄ   rÅ   rÆ   rÇ   rÈ   )Ú__conditional_annotations__r   r   r@   r`   )r   s   "r   r   r      sâ   € ‡	�	÷. Ò ŒŒc�Ñ ñ/ 
÷x Ò ”#Ñ ñy 
÷z @Ò ?œœS�Ñ ?ñ{ 
÷| *Ò )œœS�Ñ )ñ} 
÷~ò ¤d¬3´¨8¥nñ ñ 
÷H	 Ò ”Ñ ñI	 
÷J	 ?Ò >œœC�Ñ >ñK	 
÷L	 )Ò (œœC�Ñ (ñM	 
÷N	 RÒ Q¤T¬#¬s¨(¥^Ñ QòO	 
r   )Ú,)r   )1rÐ   r1   Úcollectionsr   Úpathlibr   Útypingr   Útyping_extensionsr   Útorchgen.api.pythonr   Útorchgen.utilsr   ÚImportErrorÚsysrž   rÉ   ÚparentsÚ	REPO_ROOTr2   Úinsertr   rR   rÏ   r   ÚFutureWarningr%   r<   rK   rX   r]   rr   r{   r†   rg   r®   rÁ   rÂ   r@   rÃ   rÄ   rÅ   rÆ   rÇ   rÈ   rÌ   Ú__name__r   )rÐ   s   @r   Ú<module>rß      sž  øðç 	€	Ý #Ý Ý Ý (ðÝ=Ý*ð €Ó õñ ØmØôôó	ðñ ØmØôôó	ðõ&õ"õõ1õh÷4õ&÷,7ðv Ð Ó Ø%2°JÐ$?Ð Ó ?Ù$'£EÐ Ó )àÐ!Ø
Ð ð8Ð $ó ð
 €Ó Ø$1°:Ð#>Ð Ó >Ù#&£5Ð Ó (Ø7@À.Ð6QÐ #Ó Qõ ðF ˆzÔÙ†Fñ øðG
 ô 
Ûá�X“×'Ñ'Ó)×1Ñ1°!Õ4€IØ‡H�H‡O�O�A‘s˜9“~Ô&å=Ý*á
ˆ3�8‰8ƒ}�qÔ˜SŸX™X a�[©C°	«NÔ:Ø�H‰H�QˆKúð
ús   ¤C2 Ã2B"FÆF