JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr ] @sddlmZddlmZddlmZmZmZmZddZ ddZ dd Z d d Z d d Z ddZGdddejZdS)) fixer_base)token)NamesymsNodeLeafcCsx|jD]}|jtjkr,t|S|jtjkr |jr |jd}|jtjkr |jr |jd}t|tr |j dkr dSq WdS)N __metaclass__TF) childrentypersuite has_metaclass simple_stmt expr_stmt isinstancervalue)parentnode expr_nodeZ left_sider2/opt/alt/python35/lib64/python3.5/fix_metaclass.pyr s   r cCsx'|jD]}|jtjkr dSq Wx<t|jD]\}}|jtjkr:Pq:Wtdttjg}xI|j|ddr|j|d}|j |j |j q~W|j ||}dS)NzNo class suite and no ':'!) r r rr enumeraterCOLON ValueErrorr append_childcloneremove)cls_noderir move_noderrrfixup_parse_tree-s  r!c Csx4t|jD]\}}|jtjkrPqWdS|jttjg}ttj |g}xA|j|dr|j|}|j |j |jqkW|j |||jdjd}|jdjd} | j |_ dS)Nr)rr r rSEMIrrrrrrr insert_childprefix) rrZ stmt_nodeZsemi_indrZnew_exprZnew_stmtr Z new_leaf1Z old_leaf1rrrfixup_simple_stmtGs  r%cCs7|jr3|jdjtjkr3|jdjdS)Nrr&)r r rNEWLINEr)rrrrremove_trailing_newline_s"r(ccsx0|jD]}|jtjkr Pq Wtdxtt|jD]\}}|jtjkrI|jrI|jd}|jtjkrI|jrI|jd}t |t rI|j dkrIt |||t ||||fVqIWdS)NzNo class suite!rr )r r rr rlistrrrrrrr%r()rrrZ simple_noderZ left_noderrr find_metasds "   r*cCs|jddd}x)|rA|j}|jtjkrPqWxj|r|j}t|tr|jtjkr|jrd|_dS|j |jdddqEWdS)Nrr&r&) r popr rINDENTrrDEDENTr$extend)r Zkidsrrrr fixup_indent{s    !  r0c@s(eZdZdZdZddZdS) FixMetaclassTz classdef cCs t|sdSt|d}x-t|D]\}}}|}|jq-W|jdj}t|jdkr|jdjtjkr|jd}q|jdj } t tj| g}|j d|nt|jdkrt tjg}|j d|n~t|jdkrt tjg}|j dt tjd|j d||j dt tjdn td |jdjd} d | _| j} |jr|jt tjd d | _n d | _|jd} d | jd_d | jd_|j|t||js|jt |d} | | _|j| |jt tjdnt|jdkr|jdjtjkr|jdjtjkrt |d} |j d| |j dt tjddS)Nrr)(zUnexpected class definition metaclass, r+rpass r&r&r&)r r!r*rr r lenrarglistrrZ set_childr#rrRPARLPARrrr$rCOMMAr0r'r-r.)selfrresultsZlast_metaclassr rZstmtZ text_typer?rZmeta_txtZorig_meta_prefixrZ pass_leafrrr transforms^               zFixMetaclass.transformN)__name__ __module__ __qualname__Z BM_compatibleZPATTERNrErrrrr1s r1N)r+rZpygramrZ fixer_utilrrrrr r!r%r(r*r0ZBaseFixr1rrrrs"