JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr3 \H@s2dZddlmZddlmZGdddejZdS)a,Fixer that cleans up a tuple argument to isinstance after the tokens in it were fixed. This is mainly used to remove double occurrences of tokens as a leftover of the long -> int / unicode -> str conversion. eg. isinstance(x, (int, long)) -> isinstance(x, (int, int)) -> isinstance(x, int) ) fixer_base)tokenc@s eZdZdZdZdZddZdS) FixIsinstanceTz power< 'isinstance' trailer< '(' arglist< any ',' atom< '(' args=testlist_gexp< any+ > ')' > > ')' > > c Cst}|d}|j}g}t|}xx|D]p\}} | jtjkrt| j|krt|t|dkr||djtjkrt |q&q&|j | | jtjkr&|j | jq&W|r|djtjkr|d=t|dkr|j } | j |d_ | j|dn||dd<|jdS)Nargsr )setZchildren enumeratetyperNAMEvaluelenCOMMAnextappendaddparentprefixreplaceZchanged) selfZnodeZresultsZnames_insertedZtestlistrZnew_argsiteratoridxargZatomr4/usr/lib64/python3.6/lib2to3/fixes/fix_isinstance.py transforms*$     zFixIsinstance.transformN)__name__ __module__ __qualname__Z BM_compatibleZPATTERNZ run_orderrrrrrrsrN)__doc__rZ fixer_utilrZBaseFixrrrrr s