RIFFWEBPVP8X ALPHz)NaصE.̱nmwww H5uΜa~ˆ~oeW|aV_:]\iVۦ6ؿ÷i]65b%ymniU]^^|ŇdOZV˗/_V_\nP\Qu<_+*m߮'O$C_}QǹQjEZ;\Q<=)?U(Qc_,Vޛr^˷6Uq(Lߡ9e ;R*7lLݰqkcA׫$O`l^Xlک}jRm*;^~W^\$%W^~_/"^H@G5KIJ A  p)Ax9A+sF+Vd\kUz#\׹*@Γ<:/gTtեiqs$)XҚq臒Q(InDRZj$aKtS.IQ}.2>EX҂OqDIҍ`)X8 qܭDI~Pe'R8 !4XRAubIn38NJ$:xG)Vdw;sEbxP O{h~<3JR@ޑt.Z<)(XJ/W,)/M8Aqi CuJZQ JRjII)VŒKm"I~nBN+$bI4"Œj<8T"AEE&OǨ*%)RjI;SEbQkMw]|LUJR+7J}VW '/h:Krly(WHI4<_XREQKwҜF2$XRU]ၔ(ߩ:o*$)(Thx H˃fU$s\X+[jNWXvť1O DII@ c'Q 3S gDO(Jġ/*RfR#UFxCq9=Y.(H0z~7BREQHn8SJIqq,)z9IaI`ZaE+d&QŒ*fSSG&m)*(SUQbV媬*GIz1.zMo\'8r=+>kpJI&`>JR)5v)(}R{qyr<ٗ=~t$-^  ˦;p :~ɗtgФwٴ'۽.` ]؍4'OpDGyנI'L9MU5jtF:hE&xڍv4ud'bzRw轑߼@ H:{OUw: 6O^0r\GqwU7s>pFU{w9Q\;j;=Γ;-A˶mo[+K;dxLw7. -fK2lII;̧wLI6[͖d/ ͖d٬w:W8oF~@GחRuO&4ҍ(Zmꎽ:c:6fcLsM{ X 4ߴ&y1b9Xۍb8ڏ;N8V@fkTK]f9d]c^,Ǒk;pl8Gߥ0M r6e\)Pu~> Gfܣwv?B?}l3GEmRk;r›k^]0,9jRrIO\ ,desfƳ۽sF8j_Щ`ݝdX2;gJm 𜴰yg `d^rͰ_h&wο6So&?W>sωZAbұu~zqزfOOAI?=Jw}?%Mꆒ pW-;r;Yx=L]s/%e|q'Va:9FY'%2 3b>{|YVYۺ6<6,n@-0{.59>n?>}w||%YV: #ֶ.}7wcuBZ?X޾:1pv]o#sIْL|,9ΞϔOYyQJ9L WȃE)ǯqPc_Oɗ4e4 (M۔@ h跬c5kY W맲×6 Ok`{xzyA;0 hYRS-ál7||s<{RNZ|[f=Y@k88neAK:RN<5;l?7ݹu^]q#Gv%z ÀqD׵/#44/8wl_]1?ω[!0.eYƪF|NQp/9r< !#ӟ3x~+5-qꦴ ~7 [4ß`,PΥN{aE+Nz캡/ qu-=,P54 wjNN>xުQz<ߟ2u킚}7wú< 8m}h_(0:oƭˑ=WO|}lmk<߄ ^7gowCw&}-ꂲoKʎv068zϞOx0u{'ׇ&{vwk@>j^+Cs{ g>p-cyo<-xvXtQt>czLv< O0oG={î[Ÿ_{{j)kgdA_e`C{RuF##׌b:r T#Q|#ՌT]`a93p c y08y9pΜ3Rp 3ͼox7;x;o]8ü<`FfF)`C>RT<`TT3r͠04h~s/\V#׌6R]o.VP8 9*>Q(F#$p Mi%kU~n>{^`?e+;w@{Q'V_?ߵ_?a=;|2u'J 9¨_bōޱ7zXcwnޱ!\59h'B|qY:L!F޵!%t^/'}f_Xԅ]=S~ DŽaP&\q`fv ; D-dYt w%BGPo}7_$|Fq%?)t^n5+WCXF|CNO.'{|[xxkGDV0YvBjx]rw˱|Б݀7gZ#6o ۈ/>Uh8\d< ߭ .gS#H+`#ՒUF4/7۳7\:R8f!*P* OP0LHw͢h>q2}+vO Fxrt3,. |N8PrKi#͑SG}%+$ bQȟ2F_qU ʩG |uZe7~LK.DUN'..M}ґGNݳiwksDxce{/pk 7ރ P*P1A ֨.I=͠#PLuV 1-+$$-?4 At1jS>s}?rU?K>7N8d7=I%_B.)tN0VUӇaP'\ꈱqBC!=r_ ]da_~Uu4 xP$wr)Ǯ&vP-"A"ˏzIʡZe<lyؔvѶRWD%6*v}U^|r5g$Ut朹Zd ٩9ӹvܒ-m"o6NaZ?¯0;_# $6B$nEyCΓN}Qi~5z }[foQ6Ped z0鱫 }g,n&aM>hj89So1Mxx]Qe? FbPB28eJZ^sjFYk~4WUj1fx[܏H8k*1tMҐ%bo Zl];MS򐋋0eBk2L2owS@z MgʔKNJ7=<,̏Udpg\fI9ZEE7PW$Z6 (0{k f/@\7q'_Yg$QII 1fj\jX dxi0}a$XWIIaԢpHI"HM6"doJoUvsB4 )ZlEc˝r=ݢ$/:yX4owQʖ# axӦ7?$W:+Gm)80Bj&"r_p*rᣤF>>e'q|H~20^pSx=Ŗ_( wdê0oBG]$-#|YzWrF<V?m^и/J:5.7c'~AL^['uz (CeI}MK!x.|u>\Օ>sbTKB(OGs{h+gAtW&ߧ?6<1 yE2q|5?*_FӒڻw S :̽b%h,r*A&0;@2j+rteΠEXIFExifII*V^(ifHH02100100XMP a z f @s:dZdZddlZddlZddlZddlZddlZddlZzejej fZ Wne ybe e fZ Yn0edZGdddeZGdddeZGd d d eZGd d d eZGd ddZddZddZddZddZddZddZGdddeZdddddeejddddf dd Z d%d!d"Z!d#d$Z"e"Z#dS)&z3.11z3.10Nz^[a-zA-Z0-9_]+$c@seZdZddZdS)LexErrorcCs|f|_||_dSN)argstext)selfmessagesr 0/usr/lib/python3.9/site-packages/sepolgen/lex.py__init__:szLexError.__init__N)__name__ __module__ __qualname__r r r r r r9src@seZdZddZddZdS)LexTokencCsd|j|j|j|jfS)NzLexToken(%s,%r,%d,%d))typevaluelinenolexposrr r r __str__AszLexToken.__str__cCst|Sr)strrr r r __repr__DszLexToken.__repr__N)r r rrrr r r r r@src@s4eZdZddZddZddZddZeZeZd S) PlyLoggercCs ||_dSrf)rrr r r r LszPlyLogger.__init__cOs|j||ddS)N rwritermsgrkwargsr r r criticalOszPlyLogger.criticalcOs|jd||ddS)Nz WARNING: rrrr r r warningRszPlyLogger.warningcOs|jd||ddS)NzERROR: rrrr r r errorUszPlyLogger.errorN) r r rr r!r"r#infodebugr r r r rKs rc@seZdZddZddZdS) NullLoggercCs|Srr )rnamer r r __getattribute__^szNullLogger.__getattribute__cOs|Srr )rrr r r r __call__aszNullLogger.__call__N)r r rr(r)r r r r r&]sr&c@s|eZdZddZdddZdddZd d Zd d Zd dZddZ ddZ ddZ ddZ ddZ ddZddZeZdS)LexercCsd|_d|_i|_i|_i|_d|_g|_d|_i|_i|_ i|_ d|_ d|_ d|_ d|_d|_d|_d|_d|_d|_d|_d|_d|_dS)NINITIALrF)lexre lexretext lexstaterelexstateretextlexstaterenameslexstate lexstatestack lexstateinfolexstateignorelexstateerrorf lexstateeoff lexreflagslexdatarlexlen lexerrorflexeoff lextokens lexignore lexliterals lexmoduler lexoptimizerr r r r ts.zLexer.__init__Nc Cst|}|ri}|jD]t\}}g}|D]L\}}g} |D]:} | rL| dsX| | q<| t|| dj| dfqintr9r@r5r0rEzipr1r2rF_funcs_to_namesr6r7r r8)rlextab outputdirZ basetabmodulefilenameZtfZtabre statenamelretitempatfuncZretextrenamesZtaberrrKZtabeofr r r writetabs6 & zLexer.writetabc CsBt|tjr|}ntd|tj|}t|ddtkr@td|j |_ |j |_ |j |_|j t|jB|_|j|_|j|_i|_i|_|jD]P\}}g}g}|D]&\}} |t||j t| |fq||j|<||j|<qi|_|jD]\}} || |j|<qi|_|j D]\}} || |j|<q|!ddS)N import %sZ _tabversionz0.0zInconsistent PLY versionr+)"rPrQrRexecsysmodulesrGr[ ImportErrorZ _lextokensr>Z _lexreflagsr9Z _lexliteralsr@set lextokens_allZ _lexstateinfor5Z_lexstateignorer6r0r1Z _lexstatererErFrecompile_names_to_funcsr7Z_lexstateerrorfr8Z _lexstateeoffbegin) rZtabfilefdictrardrerfZtxtitemrgZ func_namerKr r r readtabs8       z Lexer.readtabcCs8|dd}t|tstd||_d|_t||_dS)Nr-zExpected a stringr)rP StringTypes ValueErrorr:rlenr;)rrrIr r r inputs   z Lexer.inputcCsd||jvrtd|j||_|j||_|j|d|_|j|d|_ |j |d|_ ||_ dS)NzUndefined stater,) r0ryr.r1r/r6getr?r7r<r8r=r3rstater r r rus   z Lexer.begincCs|j|j||dSr)r4rFr3rur}r r r push_stateszLexer.push_statecCs||jdSr)rur4poprr r r pop_stateszLexer.pop_statecCs|jSr)r3rr r r current_state!szLexer.current_statecCs|j|7_dSr)r)rnr r r skip'sz Lexer.skipc Cs~|j}|j}|j}|j}||kr|||vr8|d7}q|jD]\}}|||}|sXq>t}||_|j |_ ||_|j } || \} |_ | s|j r| |_|S| }q| }||_ ||_||_| |} | s|j}|j}q|js(| j |jvr(td| jj| jj| j| j f||d| S|||jvrtt}|||_|j |_ |j|_ ||_|d|_|S|jrt}|j|d|_|j |_ d|_ ||_ ||_||_||} ||jkrtd||||d|j}| sq| S||_td|||f||dq|jr\t}d|_ d|_|j |_ ||_||_ ||_||} | S|d|_|jdurztddS) Nr-z4%s:%d: Rule '%s' returned an unknown token type '%s'r#z&Scanning error. Illegal character '%s'z"Illegal character '%s' at index %deofr,z"No input string given with input())rr;r?r:r.matchrgrouprr lastindexrendlexerZlexmatchrBrqr__code__ co_filenameco_firstlinenor r@r<r= RuntimeError) rrr;r?r:r. lexindexfuncmtokirhZnewtokr r r token1s               z Lexer.tokencCs|Srr rr r r __iter__szLexer.__iter__cCs|}|durt|Sr)r StopIteration)rtr r r nextsz Lexer.next)N)r,)r r rr rLrjrwr{rurrrrrrr__next__r r r r r*ss  %(   nr*cCst|d|jS)Nregex)rG__doc__)rhr r r _get_regexsrcCs0t|}|j}|j|jkr,||j|Sr)rm _getframe f_globalsrDf_localsupdate)Zlevelsrldictr r r get_caller_module_dicts     rcCsFg}t||D]2\}}|r6|dr6|||dfq||q|SrC)r_rF)Zfunclistnamelistresultrr'r r r r`s   r`cCsDg}|D]6}|r4|dr4|||d|dfq||q|SrC)rF)rrvrrr r r rts   rtcCsd|sgSd|}zt||}dgt|jd}|dd}|jD]z\}} ||d} t| t j t j fvr| ||f|| <||| <qN| durN||| <| ddkrd|| <qNd||f|| <qN||fg|g|gfWSt y^tt|d} | dkr d} t|d| |||\} } }t|| d|||\}}}| || |||fYS0dS)N|r-ignore_r)NN)rWrrrsmax groupindexvaluesrEr|rrQ FunctionType MethodTypefind Exceptionr^rz_form_master_re)Zrelistreflagsrtoknamesrr.rZ lexindexnamesrrZhandlerZllistreZlnamesZrlistZrreZrnamesr r r rs2       rcCs|d}t|dddD]\}}||vr|dkrq:q|dkrTt|d|}nd}d|vrht|}d||d}||fS)N_r-ANY)r+)rT enumerater\rW)rnamespartsrpartstatesZ tokennamer r r _statetokens rc@sfeZdZdddZddZddZd d Zd d Zd dZddZ ddZ ddZ ddZ ddZ dS) LexerReflectNrcCsL||_d|_g|_||_ddi|_t|_d|_|durBtt j n||_ dS)Nr+ inclusiveF) rZ error_functokensr stateinforprnr#rrmstderrlog)rrrrr r r r .s zLexerReflect.__init__cCs$||||dSr) get_tokens get_literals get_states get_rulesrr r r get_all9szLexerReflect.get_allcCs||||jSr)validate_tokensvalidate_literalsvalidate_rulesr#rr r r validate_all@szLexerReflect.validate_allcCsp|jdd}|s(|jdd|_dSt|ttfsL|jdd|_dS|sf|jdd|_dS||_dS)NrzNo token list is definedTztokens must be a list or tupleztokens is empty)rr|rr#rPlistr\r)rrr r r rGs   zLexerReflect.get_tokenscCsPi}|jD]@}t|s,|jd|d|_||vrB|jd|d||<q dS)NzBad token name '%s'TzToken '%s' multiply definedr-)r_is_identifierrrr#r")rZ terminalsrr r r r[s  zLexerReflect.validate_tokenscCs |jdd|_|jsd|_dS)Nliteralsr,)rr|rrr r r rfszLexerReflect.get_literalscCshz>|jD]2}t|tr"t|dkr|jdt|d|_qWn$tyb|jdd|_Yn0dS)Nr-z.Invalid literal %s. Must be a single characterTzIInvalid literals specification. literals must be a sequence of characters)rrPrxrzrr#rZ TypeError)rrIr r r rls    zLexerReflect.validate_literalscCs|jdd|_|jrt|jttfs:|jdd|_n|jD]}t|trZt|dkrt|jdt |d|_q@|\}}t|t s|jdt |d|_q@|dks|dks|jd |d|_q@||j vr|jd |d|_q@||j |<q@dS) Nrz)states must be defined as a tuple or listTrzMInvalid state specifier %s. Must be a tuple (statename,'exclusive|inclusive')zState name %s must be a stringr exclusivez:State type for state %s must be 'inclusive' or 'exclusive'zState '%s' already defined) rr|rrPr\rrr#rzrZrxr)rrr'Z statetyper r r rws0    zLexerReflect.get_statesc Cs,dd|jD}i|_i|_i|_i|_i|_i|_|jD]}g|j|<g|j|<q:t|dkrv|j dd|_ dS|D]d}|j|}t ||j\}}||j|<t |drD|dkr|D]}||j|<qnt|dkr|D]}||j|<qnV|d kr"|j j}|j j}|j d |||jd|_ n |D]}|j|||fq&qzt|tr|d kr|D]}||j|<q^d |vr|j d |n@|dkr|j d |d|_ n |D]}|j|||fqqz|j d|d|_ qz|jD]}|jdddq|jD]}|jddddqdS)NcSs g|]}|dddkr|qS)NrZt_r ).0rr r r z*LexerReflect.get_rules..rz+No rules of the form t_rulename are definedTr)r#rignorez,%s:%d: Rule '%s' must be defined as a string\z#%s contains a literal backslash '\''Rule '%s' must be defined as a functionz&%s not defined as a function or stringcSs |djjSNr-)rrxr r r rz(LexerReflect.get_rules..)rJcSs t|dSr)rzrr r r rr)rJreverse)rrfuncsymstrsymrerrorfeoffrrzrr#rhasattrrrrr rFrPrxr"rsort) rZtsymbolsrrrrtoknamelinefiler r r rsb              zLexerReflect.get_rulesc Cs~|jD]X}|j|D]n\}}|jj}|jj}t|}|j||j |}t |t j rbd}nd}|jj } | |kr|jd|||jd|_q| |kr|jd|||jd|_qt|s|jd|||jd|_qzDtd|t|f|j} | dr|jd |||jd|_Wqtjy} zJ|jd |||j| d t|vrj|jd |||jd|_WYd} ~ qd} ~ 00q|j|D]\} } |j | }|d kr|jd| d|_q||jvr|ddkr|jd| |d|_qz:td| | f|j} | dr4|jd| d|_WnVtjy} z:|jd| | d | vrr|jd| d|_WYd} ~ n d} ~ 00q|j|s|j|s|jd|d|_|j|d}|r|}|jj}|jj}t|}|j|t |t j rd}nd}|jj } | |kr>|jd|||jd|_| |kr|jd|||jd|_q|jD]}||qhdS)Nrr-z'%s:%d: Rule '%s' has too many argumentsTz%%s:%d: Rule '%s' requires an argumentz2%s:%d: No regular expression defined for rule '%s' (?P<%s>%s)r,z<%s:%d: Regular expression for rule '%s' matches empty stringz3%s:%d: Invalid regular expression for rule '%s'. %s#z6%s:%d. Make sure '#' in rule '%s' is escaped with '\#'r#rrrz-Rule '%s' defined for an unspecified token %sz5Regular expression for rule '%s' matches empty stringz,Invalid regular expression for rule '%s'. %sz/Make sure '#' in rule '%s' is escaped with '\#'zNo rules defined for state '%s')rrrrrinspectZ getmodulernaddrrPrQr co_argcountrr#r rrrrsrrrrrrr|validate_module)rr~fnamerrrmodulerZreqargsnargsrIer'rZefuncr r r rs                 zLexerReflect.validate_rulesc Cszt|\}}Wnty&YdS0td}td}i}|d7}|D]n}||}|sh||}|r|d} || } | s||| <n$t|} |j d| || | d|_ |d7}qLdS)Nz\s*def\s+(t_[a-zA-Z_0-9]*)\(z\s*(t_[a-zA-Z_0-9]*)\s*=r-z7%s:%d: Rule %s redefined. Previously defined on line %dT) rZgetsourcelinesrSrrrsrrr|Z getsourcefilerr#) rrlinesZlinenZfreZsreZ counthashrrr'prevrcr r r r?s*         zLexerReflect.validate_module)Nr)r r rr rrrrrrrrrrr r r r r-s   BgrFrac # sv|dur d}d} ddi} t} || _| dur6ttj} |rL|durLttj}|rT|rfddtD} t| } d| vrtj| dj| d<nt d} | d }|rt |t rd |vr|d |}t | | |d }||s|rtd |r6|r6z"| || | ja| ja| a| WSty4Yn0|rf|d |j|d|j|d|jt| _|jD]}| j|qtt |jttfrt|jd |j| _!n|j| _!| jt| j!B| _"|j} i}| D]}g}|j#|D]:\}}|$d|t%|f|r|d|t%||q|j&|D]2\}}|$d||f|r6|d|||q6|||<q|r|d|D]h}t'|||| |j(\}}}|| j)|<|| j*|<|| j+|<|rt,|D]\}}|d|||qԐq| -D]`\}}|dkr|dkr| j)|.| j)d| j*|.| j*d| j+|.| j+dq| | _/| j)d| _0| j*d| _1|| _2|j3| _4| j4 dd| _5|j6| _7|j6 dd| _8| j8s| 9d|j:| _;|j: dd| _<| -D]\}}|dkr0||j6vr| 9d|||j3vrz| j5rz| 9d|nJ|dkr||j6vrZ|j6 dd|j6|<||j3vr|j3 dd|j3|<q| ja| ja| a|rr|rr|durt |t=j>r|j}nNd |vr| d}n:|?d } d | dd}!t@d|!tAtj|!dd}tBjCD|}z$| E|||tjvr6tj|=Wn8tFyp}"z| 9d||"fWYd}"~"n d}"~"00| S)Nrar+rcsg|]}|t|fqSr )rG)rkrr r ryrzlex..__file__r r __package__rM)rrzCan't build lexerzlex: tokens = %rzlex: literals = %rzlex: states = %rrrz(lex: Adding rule %s -> '%s' (state '%s')z#lex: ==== MASTER REGEXS FOLLOW ====z"lex: state '%s' : regex[%d] = '%s'r,zNo t_error rule is definedrz1No error rule is defined for exclusive state '%s'z2No ignore rule is defined for exclusive state '%s'rNrkz#Couldn't write lextab module %r. %s)Gr*rBrrmrdirdictrnrrr|rPrrrr SyntaxErrorrwrr{rror$rrrrpr>rrr\rrWr@rqrrFrrrrr0r1r2rrEextendr5r.r/r9rr6r?rr7r<r"rr8r=rQrRrTrlrGrUrVdirnamerjrS)#rrHr%optimizerarZnowarnrbZdebuglogZerrorlogrrZlexobjZ_itemspkgZlinforZregexsr~Z regex_listrrr'rr.Zre_textZre_namesrrstyperZsrcfilerZpkgnamerr rr lex^s                               (rcCs|sTz&tjd}t|}|}|Wn(tyRtjdtj}Yn0|r`|j }nt }|||rx|j }nt }|}|sqtjd|j |j |j |jfq|dS)Nr-z/Reading from standard input (type EOF to end): z(%s,%r,%d,%d) )rmargvrXreadclose IndexErrorstdoutrstdinr{rrrrr)rdatarcrZ_inputZ_tokenrr r r runmains(    rcsfdd}|S)Ncs tdrt|_n|_|S)Nr))rrrrrr r set_regexAs  zTOKEN..set_regexr )rrr rr TOKEN@s r)NN)$rYr[rrrmrQrDrUrZ StringTypeZ UnicodeTyperxAttributeErrorrbytesrsrrrrHrrr&r*rrr`rtrrrr^VERBOSErrrTokenr r r r "sF   F  (3  A "