
    =Ogb=                         	 d dl Z d dlZd dlZd dlmZ g dZdadddddddZd	 Zd
 Z	d Z
d Zd Zd Zd Zd Z G d d          ZddddZddZd Zedk    r e             dS dS )    N)GenericAlias)inputclosenextfilefilenamelineno
filelinenofilenoisfirstlineisstdin	FileInputhook_compressedhook_encodedF rmodeopenhookencodingerrorsc          	          	 t           rt           j        rt          d          t          | ||||||          a t           S )Nzinput() already activer   )_state_fileRuntimeErrorr   )filesinplacebackupr   r   r   r   s          "/usr/lib64/python3.11/fileinput.pyr   r   N   sQ      5&, 53444ugvD8 (9 9 9FM    c                  J    	 t           } d a | r|                                  d S d S N)r   r   )states    r   r   r   ]   s2    EF  r   c                  b    	 t           st          d          t                                           S Nzno active input())r   r   r    r   r   r   r   e   s0      0.///??r   c                  b    	 t           st          d          t                                           S r$   )r   r   r   r%   r   r   r   r   s   s0      0.///??r   c                  b    	 t           st          d          t                                           S r$   )r   r   r   r%   r   r   r   r   |   s.    
  0.///==??r   c                  b    	 t           st          d          t                                           S r$   )r   r   r	   r%   r   r   r	   r	      s2    
  0.///r   c                  b    	 t           st          d          t                                           S r$   )r   r   r
   r%   r   r   r
   r
      s.      0.///==??r   c                  b    	 t           st          d          t                                           S r$   )r   r   r   r%   r   r   r   r      s2      0.///r   c                  b    	 t           st          d          t                                           S r$   )r   r   r   r%   r   r   r   r      s0      0.///>>r   c                       e Zd Z	 dddddddZd Zd Zd	 Zd
 Zd Zd Z	d Z
d Zd Zd Zd Zd Zd Zd Zd Z ee          ZdS )r   NFr   r   r   c                   t          |t                    r|f}nZt          |t          j                  rt          j        |          f}n*|t
          j        dd          }|sd}nt          |          }|| _        || _	        || _
        d | _        d | _        d | _        d| _        d| _        d | _        d| _        d | _        || _        || _        t
          j        j        r(d|vr$|"| dd l}|                    dt2          d           |dvrt5          d	          || _        |                    d
d          | _        |r/|rt5          d          t=          |          st5          d          || _        d S )N   )-r   Fbz"'encoding' argument not specified.   )r   rbz*FileInput opening mode must be 'r' or 'rb'r   wz4FileInput cannot use an opening hook in inplace modez#FileInput openhook must be callable) 
isinstancestrosPathLikefspathsysargvtuple_files_inplace_backup_savestdout_output	_filename_startlineno_filelinenor   _isstdin_backupfilename	_encoding_errorsflagswarn_default_encodingwarningswarnEncodingWarning
ValueError_modereplace_write_modecallable	_openhook)	selfr   r   r   r   r   r   r   rJ   s	            r   __init__zFileInput.__init__   s   eS!! 
	%HEEr{++ 	%Yu%%(EE} %e
#! I+ 	.4H$49IOOOMM>)1. . . {""IJJJ
<<S11 	H Y !WXXXH%% H !FGGG!r   c                 .    |                                   d S r!   r   rS   s    r   __del__zFileInput.__del__       

r   c                 V    	 |                                   d| _        d S # d| _        w xY w)Nr%   )r   r<   rW   s    r   r   zFileInput.close   s2    	MMOOODKKK"DKs    	(c                     | S r!   r%   rW   s    r   	__enter__zFileInput.__enter__       r   c                 .    |                                   d S r!   rV   )rS   typevalue	tracebacks       r   __exit__zFileInput.__exit__   rY   r   c                     | S r!   r%   rW   s    r   __iter__zFileInput.__iter__   r]   r   c                     	 |                                  }|r| xj        dz  c_        |S | j        st          |                                  KNTr.   )	_readlinerC   r   StopIterationr   rS   lines     r   __next__zFileInput.__next__   sY    	>>##D   A%  : $##MMOOO	r   c                    | j         }d | _         |r|t          _        | j        }d | _        	 |r|                                 | j        }d | _        	 | `n# t          $ r Y nw xY w	 |r| j        s|                                 | j	        }d | _	        |r,| j
        s%t          j        |           n# t          $ r Y nw xY wd| _        d S # | j	        }d | _	        |r,| j
        s%t          j        |           n# t          $ r Y nw xY wd| _        w xY w# | j        }d | _        	 | `n# t          $ r Y nw xY w	 |r| j        s|                                 | j	        }d | _	        |r,| j
        s%t          j        |           n# t          $ r Y nw xY wd| _        nH# | j	        }d | _	        |r,| j
        s%t          j        |           n# t          $ r Y nw xY wd| _        w xY ww xY w)NF)r?   r9   stdoutr@   r   r   rg   AttributeErrorrD   rE   r>   r6   unlinkOSError)rS   
savestdoutoutputfilebackupfilenames        r   r   zFileInput.nextfile  s~   %
 	$#CJ	& :DDJNN!   
& ! !JJLLL!%!5'+$! )$, )>2222"(((DD( % "&!5'+$! )$, )>2222"(((DD( %%%%%! :DDJNN!   
& ! !JJLLL!%!5'+$! )$, )>2222"(((DD( % "&!5'+$! )$, )>2222"(((DD( %%%%%%%%%s   D A 
A! A!%C B. .
B;:B;DC43D4
D>D DDGD"!G"
D/,G.D//G3FG'E<;G<
F	GF		GG,G G
GGGGGc                     	 |                                  }|r| xj        dz  c_        |S | j        s|S |                                  Frf   )rg   rC   r   r   ri   s     r   readlinezFileInput.readline"  sX    	>>##D   A%  : MMOOO	r   c                    | j         sd| j        v rdS dS | j         d         | _        | j         dd          | _         |                                 | _        d| _        d | _        d| _        d| _        d| j        vr
| j	        pd}nd }| j        dk    rUd	| _        d| j        v r+t          t          j        d
t          j                  | _        nt          j        | _        d| _        nr| j        rt          j        | j                  | j        pdz   | _        	 t          j        | j                   n# t$          $ r Y nw xY wt          j        | j        | j                   t)          | j        | j        || j                  | _        	 t          j        | j                                                  j        }t          j        t          j        z  t          j        z  }t9          t          d          r|t          j        z  }t          j        | j        ||          }t          j        || j        || j                  | _         	 t          j!        | j        |           nG# t$          $ r Y n;w xY w# t$          $ r* t)          | j        | j        || j                  | _         Y nw xY wt          j"        | _#        | j         t          _"        n| j$        r`| j	        &| $                    | j        | j                  | _        nZ| $                    | j        | j        | j	        | j                  | _        n't)          | j        | j        || j                  | _        | j        j%        | _&        | &                                S )Nr0   r   r   r   r.   Flocaler/   z<stdin>bufferTz.bakr   r   O_BINARY)'r<   rN   rA   r   rB   rC   r   rD   rE   rF   getattrr9   stdinr=   r6   r8   r>   ro   rp   renameopenrG   fstatr
   st_modeO_CREATO_WRONLYO_TRUNChasattrr{   fdopenrP   r@   chmodrm   r?   rR   rv   rg   )rS   r   permr   fds        r   rg   zFileInput._readline-  sb   { 	dj  srQk!""o KKMM
  dj  ~1HHH>S  &DNdj  $SY#)DD

 Y
 DMM} )jIdn--1GH $Id23333   D 	$.$*>???!$"6
+3DLJ J J
8DJ$5$5$7$788@D
 :3bj@Dr:.. ,+t<<B#%9R1A6>t|$U $U $UDL6666"     P P P#'8H19$,$P $P $PDLLLP $': !\

 > 	j ~-%)^^DNDJ%O%O

%)^^ NDJX\Xd &4 &f &f

 "&dndj8\`\h!i!i!iDJ,~~s6   D0 0
D=<D=0I/ I 
I,+I,/1J#"J#c                     | j         S r!   )rA   rW   s    r   r   zFileInput.filenamev  s
    ~r   c                      | j         | j        z   S r!   )rB   rC   rW   s    r   r   zFileInput.linenoy  s     4#333r   c                     | j         S r!   rC   rW   s    r   r	   zFileInput.filelineno|  s    r   c                 j    | j         r+	 | j                                         S # t          $ r Y dS w xY wdS )N)r   r
   rM   rW   s    r   r
   zFileInput.fileno  sN    : 	z((***   rr 2s   " 
00c                     | j         dk    S )Nr.   r   rW   s    r   r   zFileInput.isfirstline  s    1$$r   c                     | j         S r!   )rD   rW   s    r   r   zFileInput.isstdin  s
    }r   NFr   )__name__
__module____qualname__rT   rX   r   r\   rb   rd   rk   r   rv   rg   r   r   r	   r
   r   r   classmethodr   __class_getitem__r%   r   r   r   r      s4       
-"D4-" -" -" -" -"^            & & &<  G  G  G R  4 4 4       % % %   $L11r   r   rz   c                @   |d|vrd}t           j                            |           d         }|dk    rdd l}|                    | |          }n4|dk    rdd l}|                    | |          }nt	          | |||          S d|vrt          j        |||          }|S )Nr0   rx   r.   z.gzr   z.bz2rz   )	r6   pathsplitextgzipr   bz2BZ2FileioTextIOWrapper)r   r   r   r   extr   streamr   s           r   r   r     s    CtOO
'

8
$
$Q
'C
e||8T**	


Xt,,HdXfEEEE $!&8FKKKMr   c                       fd}|S )Nc                 *    t          | |          S )Nrz   )r   )r   r   r   r   s     r   r   zhook_encoded.<locals>.openhook  s    HdXfEEEEr   r%   )r   r   r   s   `` r   r   r     s-    F F F F F FOr   c            	      .   dd l } d}d}|                      t          j        dd          d          \  }}|D ]\  }}|dk    rd}|dk    r|}t          |||          D ]}}|d	d          d
k    r
|d d	         }|d	d          dk    r
|d d	         }t	          dt                      t                      t                      t                      rdpd|fz             ~t	          dt                      t                      t                      fz             d S )Nr   Fr.   zib:z-iTz-b)r   r   r   
z%d: %s[%d]%s %s*r   z
%d: %s[%d])	getoptr9   r:   r   printr   r   r	   r   )r   r   r   optsargsoarj   s           r   _testr     s=   MMMGFsx|U33JD$ ! !199g99qfdGF;;; G G9T#2#Yd9T#2#Yd688XZZ#.==#8S#>B#F F 	G 	G 	G 	G	,&((HJJ
=
=>>>>>r   __main__r   r!   )r   r9   r6   typesr   __all__r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r%   r   r   <module>r      s  AF 
			          
d                       c2 c2 c2 c2 c2 c2 c2 c2L 15T     &   ? ? ? z	EGGGGG r   