o !QçdHã@s2dZddlmZddlmZGdd„dejƒZdS)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 eZdZdZdZdZdd„ZdS)Ú FixIsinstanceTz˜ power< 'isinstance' trailer< '(' arglist< any ',' atom< '(' args=testlist_gexp< any+ > ')' > > ')' > > éc Csøtƒ}|d}|j}g}t|ƒ}|D]8\}} | jtjkr9| j|vr9|t|ƒdkr8||djtjkr8t |ƒqq|  | ¡| jtjkrJ|  | j¡q|rX|djtjkrX|d=t|ƒdkrp|j } | j |d_ |  |d¡dS||dd…<| ¡dS)NÚargsééÿÿÿÿé)ÚsetÚchildrenÚ enumerateÚtyperÚNAMEÚvalueÚlenÚCOMMAÚnextÚappendÚaddÚparentÚprefixÚreplaceZchanged) ÚselfZnodeZresultsZnames_insertedZtestlistrÚnew_argsÚiteratorÚidxÚargZatom©rúC/opt/alt/python310/lib64/python3.10/lib2to3/fixes/fix_isinstance.pyÚ transforms. $€   €    zFixIsinstance.transformN)Ú__name__Ú __module__Ú __qualname__Z BM_compatibleZPATTERNZ run_orderrrrrrrs  rN)Ú__doc__ÚrZ fixer_utilrZBaseFixrrrrrÚs