
    9i                         S r SSKJr  SSKJrJrJrJrJrJ	r	  SSK
Jr  SSKJrJr  S r " S S\R                   5      rg	)
zn
Fixer for (metaclass=X) -> __metaclass__ = X
Some semantics (see PEP 3115) may be altered in the translation.    )
fixer_base)NamesymsNodeLeafNewline	find_root)token)indentationsuitifyc                     S nU R                    GHz  nUR                   nUR                  [        R                  :X  a[  US   [	        [
        R                  S5      :X  a8  US   [	        [
        R                  S5      :X  a  US   (       a	  U/U-   n  U$ M  M  M  UR                  [        R                  :X  d  M  UR                    H  nU(       a    M  UR                  [
        R                  :X  a  UnM/  [        U5      [        :X  d  MD  S =n=pxUR                    Hh  n	U	[	        [
        R                  S5      :X  a  U	nM%  U(       a"  U	[	        [
        R                  S5      :X  a  U	nMN  U(       d  MW  U(       d  M`  U	nWXgU4n  M     M     GM}     U$ )Nr   	metaclass   =   )childrentyper   argumentr   r
   NAMEEQUALarglistCOMMAr   )
parentresultsnodekidschildcommametaequalnameargs
             a/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/libpasteurize/fixes/fix_metaclass.pyhas_metaclassr$      s@   G}}99%Aw$uzz<88Q4T22Q&4-. N5  3 9 YY$,,& E::,!E%[D(*..D.5$~~$uzz<"@@#&D!cT%++t-D&D$'E!Tee#&D',d4&@G!  . '  > N    c                       \ rS rSrSrS rSrg)FixMetaclass/   z
    classdef<any*>
    c                    [        U5      nU(       d  g U H  nUR                  5         M     [        [        R                  S5      n[        [        R
                  SSS9nWnSUl        [        [        R                  XVU/5      n[        U5        UR                   H  n	U	R                  [        R                  :X  d  M#  U	R                   H  n
U
R                  [        R                  :X  d  M#  U	R                  R                  U
5      S-   n[        [        R                  U
R                   5      nU	R#                  X5        U	R#                  U[%        5       5        U	R#                  X5          M     M     g )N__metaclass__r    )prefixr   )r$   remover   r
   r   r   r,   r   r   atomr   r   r   suiteINDENTindexvalueinsert_childr   )selfr   r   meta_resultsr   targetr    r!   	stmt_nodeitemstmtlocidents                r#   	transformFixMetaclass.transform5   s   $T*V DKKM !ejj"23U[[$t4VD$9:	MMDyyDJJ& MMDyyELL0 #mm11$7!; $U\\4:: >))#5))#wy9))#9 * "r%    N)__name__
__module____qualname____firstlineno__PATTERNr<   __static_attributes__r>   r%   r#   r'   r'   /   s    Gr%   r'   N)__doc__lib2to3r   lib2to3.fixer_utilr   r   r   r   r   r	   lib2to3.pygramr
   libfuturize.fixer_utilr   r   r$   BaseFixr'   r>   r%   r#   <module>rK      s4   D  I I   7!H:%% r%   