�&ǐk�@'bJ�h�ۊL'}T� :��'2�Z#$��n�a��� �>a��`��_3d�Qpt�/�P -��#5�,�M��� �pA:©�q�����NW��ډ�A���� �9nʺج���� �TSM��{J6?7��r�@�\����D��� �׶���s�f�TJj?"��D��`?��̒� b�#�%�C*v�$�{�$����5Ծ�F�s��y�e/8��h-�f�̰&(����Gj�L:U� 2�� ����v�_k����Y��gp,�k�WF�R������_C�R��N@���R�@�ߔ?A�w9���F("iNa-S���Q�o�3tDMLh*�#4k�T/iQ��Y*�G��m����)��8�hBm/�I�,g�ﯖ���Z��}�Cz�q@´��d.����L�ŕ�,��1�Z�܌�: ̪���F+J-'��c�tvJ8��]Q-��b��y �6;*J`r_�d ��'�G ~p��)'�C,�%F��E(��2�k�����lР�z�!�=t ��_�0��f7��� ;�p�|�U �%rrr__del__szFileInput.__del__cCsz |W5d|_XdS)Nr)r+rrBrrrrs zFileInput.closecCs|Sr@rrBrrr __enter__szFileInput.__enter__cCs |dSr@rA)r>typevalue tracebackrrr__exit__szFileInput.__exit__cCs|Sr@rrBrrr__iter__szFileInput.__iter__cCs6|}|r|jd7_|S|js(t|qdSNr) _readliner2r StopIterationrr>linerrr__next__szFileInput.__next__cCsXddl}|jdtdd||kr,tdz |WStk rRtdYnXdS)NrzTSupport for indexing FileInput objects is deprecated. Use iterator protocol instead.r!) stacklevelzaccessing lines out of orderzend of input reached)r6r7r8rrrOrL IndexError)r>ir6rrr __getitem__s  zFileInput.__getitem__cCs|j}d|_|r|t_|j}d|_z|r0| W5|j}d|_z|`Wntk r\YnXz|rr|j sr| W5|j}d|_|r|jszt |Wnt k rYnXd|_ XXdS)NF)r.r(stdoutr/rrKAttributeErrorr4r-r%unlinkOSErrorr3r)r>Z savestdoutoutputfileZbackupfilenamerrrrs4    zFileInput.nextfilecCs6|}|r|jd7_|S|js(|S|qdSrJ)rKr2rrrMrrrreadline.szFileInput.readlinecCs|jsd|jkrdSdS|jd|_|jdd|_||_d|_d|_d|_d|_|jdkrd|_d|jkrt t j d t j |_nt j |_d |_nT|j rt |j|jpd |_zt |jWntk rYnXt |j|jt|j|j|_zt |jj}Wn&tk r8t|j|j|_YntXt jt jBt jB}tt d rb|t jO}t |j||}t ||j|_zt |j|Wntk rYnXt j |_!|jt _ n,|j"r|"|j|j|_nt|j|j|_|jj#|_$|$S) NbrrrFrzbufferTz.bakO_BINARY)%r+r9r0rr1r2rr3r4getattrr(stdinr,r%r'r-rVrWrenameopenfstatrst_moder;r/O_CREATO_WRONLYO_TRUNChasattrr^fdopenchmodrTr.r=rZrK)r>ZpermrfdrrrrK9s\          zFileInput._readlinecCs|jSr@)r0rBrrrrrszFileInput.filenamecCs |j|jSr@)r1r2rBrrrruszFileInput.linenocCs|jSr@r2rBrrrrxszFileInput.filelinenocCs4|jr,z |jWStk r(YdSXndSdS)N)rrr5rBrrrr{s   zFileInput.filenocCs |jdkSrJrlrBrrrr szFileInput.isfirstlinecCs|jSr@)r3rBrrrr szFileInput.isstdin)NFr)__name__ __module__ __qualname____doc__r?rCrrDrHrIrOrSrrZrKrrrrr r rrrrr s*  )  9 cCsVtj|d}|dkr,ddl}|||S|dkrHddl}|||St||SdS)Nrz.gzrz.bz2)r%pathsplitextgziprbbz2ZBZ2File)rrZextrtrurrrr s  csfdd}|S)Ncst||dS)Nencodingerrors)rb)rrrvrrrszhook_encoded..openhookr)rwrxrrrvrr scCsddl}d}d}|tjddd\}}|D] \}}|dkrBd}|dkr.|}q.t|||dD]b}|d dd kr~|dd }|d dd kr|dd }td ttttrd pd|fq^tdtttfdS)NrFrzib:z-iTz-b)rrrm  z%d: %s[%d]%s %s*rz %d: %s[%d]) getoptr(r)rprintrrrr )r|rrZoptsargsoarNrrr_tests&     r__main__)NFr)N)rqr(r%__all__rrrrrrrrr r r r r rrnrrrrs4J        ^