\d `dZddlmZmZddlmZmZmZmZm Z m Z Gddej Z dS)z7 Convert use of sys.exitfunc to use the atexit module. )pytree fixer_base)NameAttrCallCommaNewlinesymsc:eZdZdZdZdZfdZfdZdZxZ S) FixExitfuncTa ( sys_import=import_name<'import' ('sys' | dotted_as_names< (any ',')* 'sys' (',' any)* > ) > | expr_stmt< power< 'sys' trailer< '.' 'exitfunc' > > '=' func=any > ) cBtt|j|dSN)superr __init__)selfargs __class__s +..\python\lib\lib2to3\fixes\fix_exitfunc.pyrzFixExitfunc.__init__s#)k4  )40000chtt|||d|_dSr)rr start_tree sys_import)rtreefilenamers rrzFixExitfunc.start_tree!s. k4  ++D(;;;rc d|vr|j |d|_dS|d}d|_tjt jttdtd}t||g|j}| ||j| |ddS|jj d}|j t jkrF|t!|tdddS|jj}|j |j}|j} tjt jtd tddg} tjt j| g} ||dzt-||d z| dS) NrfuncatexitregisterzKCan't find sys import; Please add an atexit import at the top of your file. import)rcloneprefixrNoder powerrrrreplacewarningchildrentypedotted_as_names append_childrparentindex import_name simple_stmt insert_childr ) rnoderesultsrrcallnamescontaining_stmtpositionstmt_container new_importnews r transformzFixExitfunc.transform%s 7 " "&"),"7 Fv$$&& ;tz#DNND4D4DEE!!Htfdk22 T ? " LL ? @ @ @ F(+ :- - -   uww ' ' '   tHc22 3 3 3 3 3"o4O&/55doFFH,3NT%5#H~~tHc/B/BC  J+d. ==C  ( (Awyy A A A  ( (As ; ; ; ; ;r) __name__ __module__ __qualname__keep_line_order BM_compatiblePATTERNrrr< __classcell__)rs@rr r sqOM G11111#<#<#<#<#<#<#rIs '&&&&&&&EEEEEEEEEEEEEEEE=<=<=<=<=<*$=<=<=<=<=