gfzddlZdZGddeZGddeZGddeZGd d eZGd d eZGd deZGddeZ GddeZ GddeZ GddeZ GddeZ GddeZGddeZGddeZGdd eZGd!d"eZGd#d$eZGd%d&eZGd'd(eZGd)d*eZGd+d,eZGd-d.eZGd/d0eZGd1d2eZGd3d4eZGd5d6eZGd7d8eZGd9d:eZGd;deZ Gd?d@eZ!GdAdBeZ"GdCdDeZ#GdEdFeZ$GdGdHeZ%GdIdJeZ&GdKdLeZ'GdMdNeZ(GdOdPeZ)GdQdReZ*GdSdTeZ+GdUdVeZ,GdWdXeZ-GdYdZeZ.Gd[d\eZ/Gd]d^eZ0Gd_d`eZ1GdadbeZ2GdcddeZ3GdedfeZ4GdgdheZ5dS)iNct|tr%ddd|DzdzSt|S)z[ Get the representation of an object, with dedicated pprint-like format for lists. [z, c3\K|]'}t|ddV(dS)  N)_reprreplace).0es o/builddir/build/BUILD/imunify360-venv-2.3.5/opt/imunify360/venv/lib/python3.11/site-packages/pycparser/c_ast.py z_repr..s8"N"NQ588#3#3D%#@#@"N"N"N"N"N"Nz ]) isinstancelistjoinrepr)objs r rrsN#tfkk"N"N#"N"N"NOOPSXXXCyyrc>eZdZdZ dZdZejdddddfdZdS)Nodec |jjdz}d}d}|jddD]}||z }||z }||dztt ||dddt |t |jjzzzzz }d }d dt |jjzz}||d zz }|S) z? Generates a python representation of the current node (N=rz  ,r)) __class____name__ __slots__rgetattrr len)selfresultindent separatornames r __repr__z Node.__repr__"s(3. N3B3' B BD i F f F dSjE'$*=*=$>$>$F$FtVWZ^abf^g^gjmnrn|oFkGkG_GXHNI%J%JK KFIcC(?$@$@@AFF&3, rcdS)z3 A sequence of all children that are Nodes Nrr$s r childrenz Node.children5s  rrFNc d|z}|r.|,||jjzdz|zdzn%||jjzdzjr||r3fdjD}dd|D} n2fd jD} dd | D} || |r|d jz|d D]#\} } | ||d z|||| $dS)a Pretty print the Node and all its attributes and children (recursively) to a buffer. buf: Open IO buffer into which the Node is printed. offset: Initial offset (amount of leading spaces) attrnames: True if you want to see the attribute names in name=value pairs. False to only see the values. nodenames: True if you want to see the actual node names within their parents. showcoord: Do you want the coordinates of each Node to be displayed. rNz : z: c4g|]}|t|fSrr"r nr$s r zNode.show..Xs&HHH11gd1oo.HHHrz, c3 K|] }d|zV dS)z%s=%sNr)r nvs r r zNode.show..Ys&#B#BRGbL#B#B#B#B#B#Brc0g|]}t|Srr/r0s r r2zNode.show..[s#CCCaq))CCCrc3 K|] }d|zV dS)z%sNr)r vs r r zNode.show..\s&#<#<D1H#<#<#<#<#<#??G:AD t~6 7wt}}rc:|D]}||dS)zy Called if no explicit visitor function exists for a node. Implements preorder visiting of the node. N)rW)r$rTcs r rSzNodeVisitor.generic_visits.  A JJqMMMM  r)r rIrJ__doc__rQrWrSrrr rNrNmsDBM   rrNc*eZdZdZddZdZdZdZdS) ArrayDecl)typedim dim_qualsr@ __weakref__Nc>||_||_||_||_dSN)r]r^r_r@)r$r]r^r_r@s r __init__zArrayDecl.__init__s" " rcg}|j|d|jf|j|d|jft|S)Nr]r^)r]appendr^tupler$nodelists r r,zArrayDecl.childrensS 9 (//6492E"F"F"F 8 %1B!C!C!CXrc#NK|j |jV|j |jVdSdSrb)r]r^r+s r __iter__zArrayDecl.__iter__s8 9 )OOO 8 (NNNNN r)r_rbr rIrJr!rcr,rjr?rrr r\r\sLDI   !JJJrr\c*eZdZdZddZdZdZdZdS)ArrayRef)r( subscriptr@r`Nc0||_||_||_dSrb)r(rnr@)r$r(rnr@s r rczArrayRef.__init__s " rcg}|j|d|jf|j|d|jft|S)Nr(rn)r(rernrfrgs r r,zArrayRef.childrensS 9 (//6492E"F"F"F > %x T^7T'U'U'UXrc#NK|j |jV|j |jVdSdSrb)r(rnr+s r rjzArrayRef.__iter__s= 9 )OOO > %.  & %rrrbrkrrr rmrmsL=I  !!! JJJrrmc*eZdZdZddZdZdZdZdS) Assignment)oplvaluervaluer@r`Nc>||_||_||_||_dSrb)rtrurvr@)r$rtrurvr@s r rczAssignment.__init__s"   rcg}|j|d|jf|j|d|jft|S)Nrurv)rurervrfrgs r r,zAssignment.childrensS ; "HOOXt{4K$L$L$L ; "HOOXt{4K$L$L$LXrc#NK|j |jV|j |jVdSdSrb)rurvr+s r rjzAssignment.__iter__s@ ; "+    ; "+      # "rrtrbrkrrr rsrssLBI   JJJrrsc*eZdZdZddZdZdZdZdS)Alignas) alignmentr@r`Nc"||_||_dSrb)r}r@)r$r}r@s r rczAlignas.__init__s" rcjg}|j|d|jft|S)Nr})r}rerfrgs r r,zAlignas.childrens3 > %x T^7T'U'U'UXrc#.K|j |jVdSdSrb)r}r+s r rjzAlignas.__iter__s* > %.  & %rrrbrkrrr r|r|sL5I !!!JJJrr|c*eZdZdZddZdZdZdZdS)BinaryOp)rtleftrightr@r`Nc>||_||_||_||_dSrb)rtrrr@)r$rtrrr@s r rczBinaryOp.__init__s"   rcg}|j|d|jf|j|d|jft|S)Nrr)rrerrfrgs r r,zBinaryOp.childrenS 9 (//6492E"F"F"F : !8??GTZ3H#I#I#IXrc#NK|j |jV|j |jVdSdSrb)rrr+s r rjzBinaryOp.__iter__= 9 )OOO : !*      " !rrzrbrkrrr rrsL?I   JJJrrc*eZdZdZddZdZdZdZdS)Breakr@r`Nc||_dSrbr@r$r@s r rczBreak.__init__  rcdSNrrr+s r r,zBreak.childrenrrc# KdSrbrr+s r rjzBreak.__iter__ rrrbrkrrr rrL(IJJJrrc*eZdZdZddZdZdZdZdS)Case)exprstmtsr@r`Nc0||_||_||_dSrb)rrr@)r$rrr@s r rcz Case.__init__   rcg}|j|d|jft|jpgD]\}}|d|z|f t |S)Nr stmts[%d])rre enumeraterrfr$rhirHs r r,z Case.children$ss 9 (//6492E"F"F"F!$*"233 6 6HAu OO[1_e4 5 5 5 5Xrc#JK|j |jV|jpgD]}|VdSrb)rrr$rHs r rjz Case.__iter__+sD 9 )OOOj&B  EKKKK  rrrbrkrrr rrsL9I  JJJrrc*eZdZdZddZdZdZdZdS)Cast)to_typerr@r`Nc0||_||_||_dSrb)rrr@)r$rrr@s r rcz Cast.__init__5s   rcg}|j|d|jf|j|d|jft|S)Nrr)rrerrfrgs r r,z Cast.children:sS < #X__i5N%O%O%O 9 (//6492E"F"F"FXrc#NK|j |jV|j |jVdSdSrb)rrr+s r rjz Cast.__iter__@s; < #,    9 )OOOOO ! rrrbrkrrr rr3sL;I   JJJrrc*eZdZdZddZdZdZdZdS)Compound) block_itemsr@r`Nc"||_||_dSrb)rr@)r$rr@s r rczCompound.__init__J& rcg}t|jpgD]\}}|d|z|f t|S)Nzblock_items[%d])rrrerfrs r r,zCompound.childrenNV!$"2"8b99 < ||_||_||_||_dSrb)r5r6r7r@)r$r5r6r7r@s r rczFuncDef.__init__s# &  rcg}|j|d|jf|j|d|jft|jpgD]\}}|d|z|f t |S)Nr5r7zparam_decls[%d])r5rer7rr6rfrs r r,zFuncDef.childrens 9 (//6492E"F"F"F 9 (//6492E"F"F"F!$"2"8b99 < ||_||_||_||_dSrbrrSrTr@r$rrSrTr@s r rcz If.__init__"    rcg}|j|d|jf|j|d|jf|j|d|jft |SNrrSrTrrerSrTrfrgs r r,z If.childrens 9 (//6492E"F"F"F ; "HOOXt{4K$L$L$L < #X__i5N%O%O%OXrc#nK|j |jV|j |jV|j |jVdSdSrbrrSrTr+s r rjz If.__iter__S 9 )OOO ; "+    < #,      $ #rrrbrkrrr rQrQLEI JJJrrQc*eZdZdZddZdZdZdZdS)InitListrNc"||_||_dSrbrrs r rczInitList.__init__rrcg}t|jpgD]\}}|d|z|f t|Srrrs r r,zInitList.children rrc#*K|jpgD]}|VdSrbrrs r rjzInitList.__iter__rrrrbrkrrr rbrbrrrbc*eZdZdZddZdZdZdZdS)Label)r(rr@r`Nc0||_||_||_dSrb)r(rr@)r$r(rr@s r rczLabel.__init__rrcjg}|j|d|jft|S)Nr)rrerfrgs r r,zLabel.children3 9 (//6492E"F"F"FXrc#.K|j |jVdSdSrb)rr+s r rjzLabel.__iter__#% 9 )OOOOO ! rrrbrkrrr rgrgsL8I  JJJrrgc*eZdZdZddZdZdZdZdS)NamedInitializer)r(rr@r`Nc0||_||_||_dSrb)r(rr@)r$r(rr@s r rczNamedInitializer.__init__+rrcg}|j|d|jft|jpgD]\}}|d|z|f t |S)Nrzname[%d])rrerr(rfrs r r,zNamedInitializer.children0sr 9 (//6492E"F"F"F!$)/r22 5 5HAu OOZ!^U3 4 4 4 4Xrc#JK|j |jV|jpgD]}|VdSrb)rr(rs r rjzNamedInitializer.__iter__7sC 9 )OOOio2  EKKKK  rrrbrkrrr rnrn)sL8I  JJJrrnc*eZdZdZddZdZdZdZdS) ParamList)paramsr@r`Nc"||_||_dSrb)rtr@)r$rtr@s r rczParamList.__init__A  rcg}t|jpgD]\}}|d|z|f t|S)Nz params[%d])rrtrerfrs r r,zParamList.childrenEsT!$+"344 7 7HAu OO\A-u5 6 6 6 6Xrc#*K|jpgD]}|VdSrb)rtrs r rjzParamList.__iter__Ks1k'R  EKKKK  rrrbrkrrr rsrs?sL2I JJJrrsc*eZdZdZddZdZdZdZdS)PtrDecl)rr]r@r`Nc0||_||_||_dSrb)rr]r@)r$rr]r@s r rczPtrDecl.__init__Ss   rcjg}|j|d|jft|SNr]r]rerfrgs r r,zPtrDecl.childrenXrjrc#.K|j |jVdSdSrbr]r+s r rjzPtrDecl.__iter__]rlr)rrbrkrrr rzrzQsL9I  JJJrrzc*eZdZdZddZdZdZdZdS)Return)rr@r`Nc"||_||_dSrb)rr@)r$rr@s r rczReturn.__init__erArcjg}|j|d|jft|SNrrrerfrgs r r,zReturn.childrenirjrc#.K|j |jVdSdSrbrr+s r rjzReturn.__iter__nrlrrrbrkrrr rrcsL0I JJJrrc*eZdZdZddZdZdZdZdS) StaticAssert)rmessager@r`Nc0||_||_||_dSrb)rrr@)r$rrr@s r rczStaticAssert.__init__vs   rcg}|j|d|jf|j|d|jft|S)Nrr)rrerrfrgs r r,zStaticAssert.children{sS 9 (//6492E"F"F"F < #X__i5N%O%O%OXrc#NK|j |jV|j |jVdSdSrb)rrr+s r rjzStaticAssert.__iter__s= 9 )OOO < #,      $ #rrrbrkrrr rrtsL;I   JJJrrc*eZdZdZddZdZdZdZdS)Structr(rr@r`Nc0||_||_||_dSrbr(rr@r$r(rr@s r rczStruct.__init__rrcg}t|jpgD]\}}|d|z|f t|Srrrs r r,zStruct.childrenrrc#*K|jpgD]}|VdSrbrrs r rjzStruct.__iter__rrrrbrkrrr rrL9I  JJJrrc*eZdZdZddZdZdZdZdS) StructRef)r(r]fieldr@r`Nc>||_||_||_||_dSrb)r(r]rr@)r$r(r]rr@s r rczStructRef.__init__s"    rcg}|j|d|jf|j|d|jft|S)Nr(r)r(rerrfrgs r r,zStructRef.childrenrrc#NK|j |jV|j |jVdSdSrb)r(rr+s r rjzStructRef.__iter__rrrrbrkrrr rrsLAI   JJJrrc*eZdZdZddZdZdZdZdS)SwitchrNc0||_||_||_dSrbrrs r rczSwitch.__init__rrcg}|j|d|jf|j|d|jft|Srrrgs r r,zSwitch.childrenrrc#NK|j |jV|j |jVdSdSrbrr+s r rjzSwitch.__iter__rrrrbrkrrr rrrrrc*eZdZdZddZdZdZdZdS) TernaryOprRNc>||_||_||_||_dSrbrVrWs r rczTernaryOp.__init__rXrcg}|j|d|jf|j|d|jf|j|d|jft |SrZr[rgs r r,zTernaryOp.childrenr\rc#nK|j |jV|j |jV|j |jVdSdSrbr^r+s r rjzTernaryOp.__iter__r_rrrbrkrrr rrr`rrc*eZdZdZddZdZdZdZdS)TypeDecl)declnamerrr]r@r`NcL||_||_||_||_||_dSrb)rrrr]r@)r$rrrr]r@s r rczTypeDecl.__init__s)      rcjg}|j|d|jft|Sr}r~rgs r r,zTypeDecl.childrenrjrc#.K|j |jVdSdSrbrr+s r rjzTypeDecl.__iter__rlr)rrrrbrkrrr rrsLNI 2JJJrrc*eZdZdZddZdZdZdZdS)Typedef)r(rrr]r@r`NcL||_||_||_||_||_dSrb)r(rrr]r@)r$r(rrr]r@s r rczTypedef.__init__s)     rcjg}|j|d|jft|Sr}r~rgs r r,zTypedef.childrenrjrc#.K|j |jVdSdSrbrr+s r rjzTypedef.__iter__rlr)r(rrrbrkrrr rrsLLI 0JJJrrc*eZdZdZddZdZdZdZdS)Typename)r(rrr]r@r`NcL||_||_||_||_||_dSrb)r(rrr]r@)r$r(rrr]r@s r rczTypename.__init__ s)     rcjg}|j|d|jft|Sr}r~rgs r r,zTypename.childrenrjrc#.K|j |jVdSdSrbrr+s r rjzTypename.__iter__rlr)r(rrrbrkrrr rrsLJI .JJJrrc*eZdZdZddZdZdZdZdS)UnaryOp)rtrr@r`Nc0||_||_||_dSrb)rtrr@)r$rtrr@s r rczUnaryOp.__init__s  rcjg}|j|d|jft|Srrrgs r r,zUnaryOp.children#rjrc#.K|j |jVdSdSrbrr+s r rjzUnaryOp.__iter__(rlrrzrbrkrrr rrsL6I  JJJrrc*eZdZdZddZdZdZdZdS)UnionrNc0||_||_||_dSrbrrs r rczUnion.__init__0rrcg}t|jpgD]\}}|d|z|f t|Srrrs r r,zUnion.children5rrc#*K|jpgD]}|VdSrbrrs r rjzUnion.__iter__;rrrrbrkrrr rr.rrrc*eZdZdZddZdZdZdZdS)WhilerNc0||_||_||_dSrbrrs r rczWhile.__init__Crrcg}|j|d|jf|j|d|jft|Srrrgs r r,zWhile.childrenHrrc#NK|j |jV|j |jVdSdSrbrr+s r rjzWhile.__iter__Nrrrrbrkrrr rrArrrc*eZdZdZddZdZdZdZdS)Pragma)stringr@r`Nc"||_||_dSrb)rr@)r$rr@s r rczPragma.__init__Xrvrc$g}t|Srbrrgs r r,zPragma.children\rrc# KdSrbrr+s r rjzPragma.__iter__`rr)rrbrkrrr rrVsL2IJJJrr)6rKrobjectrrNr\rmrsr|rrrrrrrrrrrrrrrrr rrr#r)r/r4r<rFrKrQrbrgrnrsrzrrrrrrrrrrrrrrrr rs& L*L*L*L*L*6L*L*L*^88888&888t!!!!!!!!,t*,d"t,     D   4,4*t$d*%%%%%t%%%"     t   EEEEE4EEE<t$d$d*     D        T   4$$T$t$d$$:t*t*d44  T 2t$D$t,$d$T"4*T&,T*222222t222(00000d000(.....t...(d$D&D*Tr