mň vüľDc@sdkZdkZdklZlZlZlZlZhdd<dd<dd<dd%\((?P(?P[A-Za-z0-9]+)(?:_(?P[A-Za-z0-9]+))?)\))cCs ||_dS(N(t patternMapR(RR((RR!scCsŃ|}|ii|ƒ|_g}|iD] }||q)~|_x{|iD]p}|i ƒ}|i i |dƒoG|i|d|dƒ}d|d|fGH|i|d|ƒ}qLqLW|i|ƒdS(NtpatnametfullnamesReplacing %s with %stsubstr(tpatternt regexStringRt patternRegextfinditertmatchest_[1]tit matchlistRRtmdRthas_keytgeneratePatternRegextrepltreplacet saveRegex(RR R(R&RR%R+R!((RR $s'  cCsd||i|fS(Ns (?P<%s>%s)(RRRR(RRR((RR*0scCs0ttd|ƒ||_ti|ƒ|_dS(NsSaving regex; %s(RRR!RtretcompileR(RR!((RR-3s ( RRR.R/R"RR R*R-(((RR s   t__main__sU%(HOST) %(PROG)\[\d+\]: error: PAM: authentication error for %(USER) from %(HOST_SRC)i(tsysR.tdebuglibRtDEBUGRtWARNtFATALR tobjectRR RtlinetpmtgtstdintreadlinetlR(RR4R9R RRR<R1R.R3R R5R7R8((Rt?s  %* *