
    sh              	       l   S SK Jr  S SKJr  S SKJr  S SKJrJ	r	  S\	\\
4   S\\
   4S jrS\\
   S	\\   S
\\
   S\
4S jr SS\
S	\\	\\
   \\   \
4      S\
4S jjr\S:X  aP  S SKr\" \R&                  5      S:  a  \" S5        \R*                  " S5        \" \" \R&                  S   5      5        gg)    )Sequence)Path)match)OptionalUnionfnamereturnc                 l    [        U SS9 nUR                  5       sS S S 5        $ ! , (       d  f       g = f)Nzutf-8)encoding)open	readlines)r   fs     r/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/torch/utils/_cpp_embed_headers.py	read_filer      s#    	eg	&!{{} 
'	&	&s   %
3contentinclude_dirsprocessed_filesc                    [        U 5       H  u  p4UR                  S5      (       a  SX'   M!  [        SU5      nUc  M2  U Hh  nXeS   -  nUR                  5       (       d  M!  [	        U5      U;   a  SX'   M6  UR                  [	        U5      5        [        [        U5      X5      X'     M     M     SR                  U 5      $ )Nz#pragma once z^\s*#include\s*[<"]([^>"]+)[>"]   )		enumerate
startswith_matchexistsstradd_embed_headersr   join)r   r   r   line_idxcur_lineminclude_dirpaths           r   r   r      s     (0~.. "G6A9'K1%D;;==4yO+$&!D	* .$!G  ( 1( 777    Nc                    Uc/  [        [        5      R                  R                  R                  /nO=[        U[        5      (       a  [        U5      /nOU Vs/ s H  n[        U5      PM     nn[        [        U 5      X15      $ s  snf N)r   __file__parent
isinstancer   r   r   )r   r   xs      r   embed_headersr+   &   ss     X--44;;<	L#	&	&\*+)56AQ6)E*L'BB 7s   B__main__   zUsage:
 {sys.argv[0]} filenamer   r&   )collections.abcr   pathlibr   rer   r   typingr   r   r   listr   setr   r+   __name__syslenargvprintexit r$   r   <module>r;      s    $   "U49% $s) 
#Y&*4jCFs86 UY
C
C&uXc]HTNC-O'PQ
C
C z
388}q/0	-
$% r$   