PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  $^c@sOddlZedZeedZedZedZedZdS(iNcCstjdtj}tjdtj}| s=|dkrT|tkrMtStSn|j}|jdd}y|\}}Wntk rtSX|j |stS|j |stStS(sDo some basic validation of an e-mail address. Return True if ok Return False if not If notEmpty is True the this will return an error if the field is "" or None. s^[^ \t\n\r@<>()]+$s ^[a-z0-9][a-z0-9\.\-_]*\.[a-z]+$t@iN( tretcompiletItNonetTruetFalsetstriptsplitt ValueErrortsearch(tmailtnotEmptyt usernameREtdomainREtstusernametdomain((s9/usr/lib/python2.7/site-packages/ipapython/ipavalidate.pytEmails"   cCsn|dks|j r0|tkr)tStSn|rHtjd}ntjd}|j|sjtStS(sDo some basic validation of a plain text field Return True if ok Return False if not If notEmpty is True the this will return an error if the field is "" or None. s^[a-zA-Z_\-0-9\'\ ]*$s^[a-zA-Z_\-0-9\']*$N(RRRRRRR (ttextR t allowSpacesttextRE((s9/usr/lib/python2.7/site-packages/ipapython/ipavalidate.pytPlain4s cCs4|dks|j r0|tkr)tStSntS(s?A string type. This is much looser in what it allows than plainN(RRRR(RR ((s9/usr/lib/python2.7/site-packages/ipapython/ipavalidate.pytStringKs  cCs`tjd}| r&|tkr&tS|dkrI|tkrBtStSn|j|s\tStS(sDo some basic validation of a path Return True if ok Return False if not If notEmpty is True the this will return an error if the field is "" or None. s^[a-zA-Z_\-0-9\\ \.\/\\:]*$N(RRRRRR (RR R((s9/usr/lib/python2.7/site-packages/ipapython/ipavalidate.pytPathVs  cCs|tjd}| r&|tkr&tS|dkrI|tkrBtStSn|j|}| st||jdkrxtStS(s&From shadow-utils: User/group names must match gnu e-regex: [a-zA-Z0-9_.][a-zA-Z0-9_.-]{0,30}[a-zA-Z0-9_.$-]? as a non-POSIX, extension, allow "$" as the last char for sake of Samba 3.x "add machine script" Return True if ok Return False if not s3^[a-zA-Z0-9_.][a-zA-Z0-9_.-]{0,30}[a-zA-Z0-9_.$-]?$iN(RRRRRtmatchtgroup(RR Rtm((s9/usr/lib/python2.7/site-packages/ipapython/ipavalidate.pytGoodNamens   (RRRRRRRR(((s9/usr/lib/python2.7/site-packages/ipapython/ipavalidate.pyts