a  ze* @sRdZddlmZddlmZddlmZddlmZmZm Z Gdddej Z dS) zIFixer for apply(). This converts apply(func, v, k) into (func)(*v, **k).)pytree)token) fixer_base)CallComma parenthesizec@seZdZdZdZddZdS)FixApplyTa. power< 'apply' trailer< '(' arglist< (not argument ')' > > c Cs4|j}|sJ|d}|d}|d}|rN|j|jjkrN|jdjdvrNdS|rt|j|jjkrt|jdjdkrtdS|j}|}|jtj |j fvr|j|j ks|jdjtj krt |}d|_|}d|_|dur|}d|_ttjd |g}|dur&|tttj d|gd |d_t|||d S) Nfuncargskwds>***rr  )prefix)symsgettypeargumentZchildrenvaluerZclonerNAMEZatomZpower DOUBLESTARrrZLeafSTARextendrr) selfZnoderesultsrr r r rZ l_newargsrK/opt/bitninja-python-dojo/embedded/lib/python3.9/lib2to3/fixes/fix_apply.py transformsH     zFixApply.transformN)__name__ __module__ __qualname__Z BM_compatibleZPATTERNr rrrrrsrN) __doc__rrZpgen2rrZ fixer_utilrrrZBaseFixrrrrrs