grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026a ´i"ã@sPddlZddlmZddlmZddlmZGdd„deƒZGdd „d eƒZ dS) éNé)ÚPatternCompiler)Úpygram)Údoes_tree_importc@sªeZdZdZdZdZdZdZe  d¡Z e ƒZ dZ dZdZdZdZdZejZdd„Zdd „Zd d „Zd d „Zdd„Zddd„Zdd„Zddd„Zdd„Zdd„Zdd„Z dS)ÚBaseFixNrZpostFécCs||_||_| ¡dS©N)ÚoptionsÚlogÚcompile_pattern)Úselfr r ©r ú*/usr/lib64/python3.9/lib2to3/fixer_base.pyÚ__init__/szBaseFix.__init__cCs,|jdur(tƒ}|j|jdd�\|_|_dS)NT)Z with_tree)ÚPATTERNrr ÚpatternÚ pattern_tree)r ZPCr r rr ;s  ÿzBaseFix.compile_patterncCs ||_dSr)Úfilename)r rr r rÚ set_filenameFszBaseFix.set_filenamecCsd|i}|j ||¡o|S)NÚnode)rÚmatch©r rÚresultsr r rrMs z BaseFix.matchcCs tƒ‚dSr)ÚNotImplementedErrorrr r rÚ transformYszBaseFix.transformÚxxx_todo_changemecCs2|}||jvr"|tt|jƒƒ}q|j |¡|Sr)Ú used_namesÚstrÚnextÚnumbersÚadd)r ÚtemplateÚnamer r rÚnew_nameis   zBaseFix.new_namecCs.|jrd|_|j d|j¡|j |¡dS)NFz### In file %s ###)Ú first_logr Úappendr)r Úmessager r rÚ log_messagetszBaseFix.log_messagecCs>| ¡}| ¡}d|_d}| |||f¡|r:| |¡dS)NÚzLine %d: could not convert: %s)Ú get_linenoZcloneÚprefixr')r rÚreasonÚlinenoZ for_outputÚmsgr r rÚcannot_convertzszBaseFix.cannot_convertcCs| ¡}| d||f¡dS)Nz Line %d: %s)r)r')r rr+r,r r rÚwarning‰szBaseFix.warningcCs(|j|_| |¡t d¡|_d|_dS)NrT)rrÚ itertoolsÚcountrr$©r Ztreerr r rÚ start_tree“s  zBaseFix.start_treecCsdSrr r2r r rÚ finish_treeŸszBaseFix.finish_tree)r)N)!Ú__name__Ú __module__Ú __qualname__rrrr rr0r1rÚsetrÚorderZexplicitZ run_orderZ _accept_typeZkeep_line_orderZ BM_compatiblerZpython_symbolsZsymsrr rrrr#r'r.r/r3r4r r r rrs2         rcs(eZdZdZ‡fdd„Zdd„Z‡ZS)ÚConditionalFixNcstt|ƒj|Žd|_dSr)Úsuperr:r3Ú _should_skip)r Úargs©Ú __class__r rr3¯szConditionalFix.start_treecCsJ|jdur|jS|j d¡}|d}d |dd…¡}t|||ƒ|_|jS)NÚ.éÿÿÿÿ)r<Úskip_onÚsplitÚjoinr)r rÚpkgr"r r rÚ should_skip³s  zConditionalFix.should_skip)r5r6r7rBr3rFÚ __classcell__r r r>rr:©s r:) r0Zpatcomprr(rZ fixer_utilrÚobjectrr:r r r rÚs