PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i WWWWWW
Current Directory: /usr/share/authconfig
Viewing File: /usr/share/authconfig/authconfig-tui.pyo
� �8�Yc@s�ddlZddlZddlZddlZddlZddlZejZddlm Z m Z ddl Z ye j e j d�Wn$e jk r�ejjd�nXd�Zed�r�ddlZnde fd��YZd e fd ��YZd fd ��YZd efd��YZedkr�ejejej�ejd�ed�rqe�Zn e�Zejej��ndS(i����N(t OptionParsertIndentedHelpFormatterts%Warning: Unsupported locale setting. cCstjdj|�dkS(Ni(tsystargvtfind(tname((s'/usr/share/authconfig/authconfig-tui.pytrunsAs%ssauthconfig-tuitUnihelpOptionParsercBseZdd�ZRS(cCs~|dkrtj}ntj�}t|dd�}| sI|dkrR|}n|j|j�j|�j |d��dS(Ntencodingtasciitreplace( tNoneRtstdouttlocaletgetpreferredencodingtgetattrtwritet format_helptdecodetencode(tselftfilet srcencodingR ((s'/usr/share/authconfig/authconfig-tui.pyt print_help,s    N(t__name__t __module__R R(((s'/usr/share/authconfig/authconfig-tui.pyR+stNonWrapFormattercBseZd�ZRS(cCsg}|j|}|j|jd}t|�|kr[d|jd|f}|j}n8d|jd||f}d|jd||f}d}|j|�|jr�|j|�}|jd|d|f�n |ddkr�|jd�ndj|�S(Nis%*s%s Rs %*s%-*s ii����s (toption_stringst help_positiontcurrent_indenttlentappendthelptexpand_defaulttjoin(Rtoptiontresulttoptst opt_widtht indent_firstt help_text((s'/usr/share/authconfig/authconfig-tui.pyt format_option6s     (RRR*(((s'/usr/share/authconfig/authconfig-tui.pyR5st AuthconfigcBs}eZd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z d �Z d �Z d �Z d �ZRS( cCsCt|_t|_t|_t|_t|_t|_d|_dS(Ni(tFalset nis_availtkerberos_availt ldap_availt sssd_availt cache_availt fprintd_availtretval(R((s'/usr/share/authconfig/authconfig-tui.pyt__init__Zs      cCsdS(Nt authconfig((R((s'/usr/share/authconfig/authconfig-tui.pytmodulecscCs$tjjd|j�|f�dS(Ns%s: %s (RtstderrRR6(Rterror((s'/usr/share/authconfig/authconfig-tui.pyt printErrorfscCsud}d}xX|D]P}|dkr2|d7}n|rO|t|�d7}n||7}|d7}qW|d7}|S(Nit<t|t=it>(tstr(RtltaddidxtidxR!titem((s'/usr/share/authconfig/authconfig-tui.pytlistHelpis     c CsBtd�|j�}|j�dkr5|d7}nt|dtdt��}|jdddd d td ��|jd d dd d td��|jddd d td��|jdddd d td��|jddd d td��|jdd|jtjt�d td��|jddd d td��|jddd d td��|jddtd�d td��|jd dtd!�d td"��|jd#dd d td$��|jd%dd d td&��|jd'dd d td(��|jd)dd d td*��|jd+dtd!�d td,��|jd-dtd.�d td/��|jd0d1dd d td2��|jd3d4dd d td5��|jd6dd d td7��|jd8dd d td9��|jd:dtd;�d td<��|jd=dd d td>��|jd?dd d td@��|jdAdd d tdB��|jdCdd d tdD��|jdEdtdF�d tdG��|jtj �t �}|jdHd|d tdI��|jdJdd d tdK��|jdLdd d tdM��|jdNdd d tdO��|jdPdd d tdQ��|jdRdd d tdS��|jdTdd d tdU��|jdVdtd!�d tdW��|jdXdtd!�d tdY��|jdZdtd[�d td\��|jd]dd d td^��|jd_dd d td`��|jdadd d tdb��|jdcdd d tdd��|jdedd d tdf��|jdgdd d tdh��|jdidd d tdj��|jdkdd d tdl��|jdmddnd tdo��|jdpdtd[�d tdq��|jdrdtds�d tdt��|jdudtdv�d tdw��|jdxdydzdtd{�d td|��|jd}dd~d td��|jd�dd�d td���|jd�dd�d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd�d td���|jd�dd d td���|jd�dd d td���|jd�dtd�d td���|jd�dtd[�d td���|jd�dtds�d td���|jd�dd d td���|jd�dd d td���|jd�dd�d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd�d td���|jd�dd�d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dtd��d td���|jd�dtd��d td���|jd�dtd��d td���|jd�dtd��d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dd d td���|jd�dtd��d td���|jd�dd d td���|jd�dd d td���|j�dkr�|jddd d td��|jddd d td��n"|jdddd d td��|jddd d td��|jd dd d td ��|jd dtd �d td ��|jddtd �d td��|jddd d td��|j �\|_ }|r�|j td��tjd�n|j�dk r>|j j r>|j j r>|j j r>|j j r>|j j r>|j j r>|j j r>|j�tjd�ndS(Nsusage: %s [options]R5se {--update|--updateall|--test|--probe|--restorebackup <name>|--savebackup <name>|--restorelastbackup}tadd_help_optiont formatters-hs--helptactionR!sshow this help message and exits--enableshadows --useshadowt store_trues$enable shadowed passwords by defaults--disableshadows%disable shadowed passwords by defaults --enablemd5s--usemd5senable MD5 passwords by defaults --disablemd5s disable MD5 passwords by defaults --passalgotmetavars&hash/crypt algorithm for new passwordss --enableniss*enable NIS for user information by defaults --disableniss+disable NIS for user information by defaults --nisdomains<domain>sdefault NIS domains --nisservers<server>sdefault NIS servers --enableldaps+enable LDAP for user information by defaults --disableldaps,disable LDAP for user information by defaults--enableldapauths)enable LDAP for authentication by defaults--disableldapauths*disable LDAP for authentication by defaults --ldapservers#default LDAP server hostname or URIs --ldapbasedns<dn>sdefault LDAP base DNs--enableldaptlss--enableldapstarttlss&enable use of TLS with LDAP (RFC-2830)s--disableldaptlss--disableldapstarttlss'disable use of TLS with LDAP (RFC-2830)s--enablerfc2307bissBenable use of RFC-2307bis schema for LDAP user information lookupss--disablerfc2307bissCdisable use of RFC-2307bis schema for LDAP user information lookupss--ldaploadcacerts<URL>s load CA certificate from the URLs--enablesmartcards0enable authentication with smart card by defaults--disablesmartcards1disable authentication with smart card by defaults--enablerequiresmartcards0require smart card for authentication by defaults--disablerequiresmartcards7do not require smart card for authentication by defaults--smartcardmodules<module>s default smart card module to uses--smartcardactions(action to be taken on smart card removals--enablefingerprints9enable authentication with fingerprint readers by defaults--disablefingerprints:disable authentication with fingerprint readers by defaults--enableecryptfss"enable automatic per-user ecryptfss--disableecryptfss#disable automatic per-user ecryptfss --enablekrb5s)enable kerberos authentication by defaults --disablekrb5s*disable kerberos authentication by defaults --krb5kdcsdefault kerberos KDCs--krb5adminserversdefault kerberos admin servers --krb5realms<realm>sdefault kerberos realms--enablekrb5kdcdnss'enable use of DNS to find kerberos KDCss--disablekrb5kdcdnss(disable use of DNS to find kerberos KDCss--enablekrb5realmdnss)enable use of DNS to find kerberos realmss--disablekrb5realmdnss*disable use of DNS to find kerberos realmss--enablewinbinds.enable winbind for user information by defaults--disablewinbinds/disable winbind for user information by defaults--enablewinbindauths,enable winbind for authentication by defaults--disablewinbindauths-disable winbind for authentication by defaults --smbsecuritys<user|server|domain|ads>s*security mode to use for samba and winbinds --smbrealms5default realm for samba and winbind when security=adss --smbserverss <servers>s(names of servers to authenticate againsts--smbworkgroups <workgroup>s'workgroup authentication servers are ins--smbidmapranges --smbidmapuids --smbidmapgids<lowest-highest>s4uid range winbind will assign to domain or ads userss--winbindseparators<\>s�the character which will be used to separate the domain and user part of winbind-created user names if winbindusedefaultdomain is not enableds--winbindtemplatehomedirs </home/%D/%U>sGthe directory which winbind-created users will have as home directoriess--winbindtemplateshells </bin/false>sDthe shell which winbind-created users will have as their login shells--enablewinbindusedefaultdomains[configures winbind to assume that users with no domain in their user names are domain userss --disablewinbindusedefaultdomains_configures winbind to assume that users with no domain in their user names are not domain userss--enablewinbindofflines)configures winbind to allow offline logins--disablewinbindofflines+configures winbind to prevent offline logins--enablewinbindkrb5s+winbind will use Kerberos 5 to authenticates--disablewinbindkrb5s2winbind will use the default authentication methods --winbindjoins<Administrator>s>join the winbind domain or ads realm now as this administrators --enableipav2s?enable IPAv2 for user information and authentication by defaults--disableipav2s@disable IPAv2 for user information and authentication by defaults --ipav2domains-the IPAv2 domain the system should be part ofs --ipav2realmsthe realm for the IPAv2 domains --ipav2serversthe server for the IPAv2 domains--enableipav2nontps-do not setup the NTP against the IPAv2 domains--disableipav2nontps0setup the NTP against the IPAv2 domain (default)s --ipav2joins <account>s%join the IPAv2 domain as this accounts --enablewinss#enable wins for hostname resolutions --disablewinss$disable wins for hostname resolutions--enablepreferdnss3prefer dns over wins or nis for hostname resolutions--disablepreferdnss:do not prefer dns over wins or nis for hostname resolutions--enablehesiods-enable hesiod for user information by defaults--disablehesiods.disable hesiod for user information by defaults --hesiodlhss<lhs>sdefault hesiod LHSs --hesiodrhss<rhs>sdefault hesiod RHSs --enablesssdsOenable SSSD for user information by default with manually managed configurations --disablesssdsVdisable SSSD for user information by default (still used for supported configurations)s--enablesssdauthsMenable SSSD for authentication by default with manually managed configurations--disablesssdauthsTdisable SSSD for authentication by default (still used for supported configurations)s--enableforcelegacys;never use SSSD implicitly even for supported configurationss--disableforcelegacys4use SSSD implicitly if it supports the configurations--enablecachecredss5enable caching of user credentials in SSSD by defaults--disablecachecredss6disable caching of user credentials in SSSD by defaults --enablecachesXenable caching of user information by default (automatically disabled when SSSD is used)s--disablecaches.disable caching of user information by defaults--enablelocauthorizes1local authorization is sufficient for local userss--disablelocauthorizes1authorize local users also through remote services--enablepamaccesss.check access.conf during account authorizations--disablepamaccesss5do not check access.conf during account authorizations--enablesysnetauths0authenticate system accounts by network servicess--disablesysnetauths0authenticate system accounts by local files onlys--enablemkhomedirs6create home directories for users on their first logins--disablemkhomedirs=do not create home directories for users on their first logins --passminlens<number>sminimum length of a passwords--passminclasss1minimum number of character classes in a passwords--passmaxrepeats;maximum number of same consecutive characters in a passwords--passmaxclassrepeatsDmaximum number of consecutive characters of same class in a passwords--enablereqlowers6require at least one lowercase character in a passwords--disablereqlowers1do not require lowercase characters in a passwords--enablerequppers6require at least one uppercase character in a passwords--disablerequppers1do not require uppercase characters in a passwords--enablereqdigits(require at least one digit in a passwords--disablereqdigits#do not require digits in a passwords--enablereqothers2require at least one other character in a passwords--disablereqothers-do not require other characters in a passwords--enablefaillocksNenable account locking in case of too many consecutive authentication failuress--disablefaillocksGdisable account locking on too many consecutive authentication failuress--faillockargss <options>sthe pam_faillock module optionss --nostarts+do not start/stop portmap, ypbind, and nscds--tests>do not update the configuration files, only print new settingssauthconfig-tuis--backs<display Back instead of Cancel in the main dialog of the TUIs --kickstarts1do not display the deprecated text user interfaces--updatesDopposite of --test, update configuration files with changed settingss --updateallsupdate all configuration filess--probes)probe network for defaults and print thems --savebackups<name>s(save a backup of all configuration filess--restorebackups)restore the backup of configuration filess--restorelastbackupsXrestore the backup of configuration files saved before the previous configuration changesunexpected argumenti(t_R6RR,Rt add_optionRCtauthinfotpassword_algorithmstgetSmartcardActionstTruet parse_argstoptionsR9Rtexittprobettesttupdatet updateallt savebackupt restorebackuptrestorelastbackupR(Rtusagetparsertactshelptargs((s'/usr/share/authconfig/authconfig-tui.pyt parseOptionsvs�                                                                                                                        '  cCs�tj|j�}|j�|jrF|jrFd|j|jfGHn|jrp|jrpd|j|jfGHn|jr�d|j|j p�d|j p�dfGHndS(Ns hesiod %s/%ss ldap %s/%s skrb5 %s/%s/%s R( RKtAuthInfoR9RRt hesiodLHSt hesiodRHSt ldapServert ldapBaseDNt kerberosRealmt kerberosKDCtkerberosAdminServer(Rtinfo((s'/usr/share/authconfig/authconfig-tui.pyRR�s     cCsLtj|j�|_|jj�|_|jjdkrHt|j_ndS(N( RKtreadR9Rftcopyt pristineinfotenableLocAuthorizeR RN(R((s'/usr/share/authconfig/authconfig-tui.pyt readAuthInfo�scCs�tjtjtj�o-tjtjtj�|_tjtjtj�|_tjtj tj�o{tjtj tj�|_ tjtj tj�o�tjtj tj�|_tjtjtj�|_tjtjtj�|_dS(N(tostaccessRKt PATH_YPBINDtX_OKtPATH_LIBNSS_NISR-t PATH_PAM_KRB5R.t PATH_PAM_LDAPtPATH_LIBNSS_LDAPR/t PATH_PAM_SSStPATH_LIBNSS_SSSR0t PATH_NSCDR1tPATH_PAM_FPRINTDR2(R((s'/usr/share/authconfig/authconfig-tui.pyttestAvailableSubsys�scCs�i%dd6dd6dd6dd6d d 6d d 6d d6dd6dd6dd6dd6dd6dd6dd6dd6dd 6d!d"6d#d$6d%d&6d'd(6d)d*6d+d,6d-d.6d/d06d1d26d3d46d5d66d7d86d9d:6d;d<6d=d>6d?d@6dAdB6dCdD6dEdF6dGdH6dIdJ6}idKdL6dMdN6dOdP6dQdR6dSdT6dUdV6dWdX6dYdZ6d[d\6d]d^6d_d`6dadb6dcdd6dedf6dgdh6didj6dkdl6dmdn6dodp6dqdr6dsdt6dudv6dwdx6dydz6d{d|6d}d~6dd�6d�d�6d�d�6}xr|j�D]d\}}t|jd�|�rt|j|t�nt|jd�|�r�t|j|t�q�q�Wy+|jjrmd|j_n d�|j_Wnt k r�nX|jj r�|jj |jj kr�|jj |jj �|j_ |jj|jj �|j_nyb|jj}|dkrRt|�}|d�krR|jtd���d|j_d�|_qRnWn9tk r�|jtd���d|j_d�|_nXy�|jj}|dkr't|�}|d�kr�|jtd���d|j_d�|_n|d�kr'|jtd���d|j_d�|_q'nWn9tk rc|jtd���d|j_d�|_nXyb|jj}|dkr�t|�}|d�kr�|jtd���d|j_d�|_q�nWn9tk r|jtd���d|j_d�|_nXyb|jj}|dkrct|�}|d�krc|jtd���d|j_d�|_qcnWn9tk r�|jtd���d|j_d�|_nXxT|j�D]F\}}t|j|�dkr�t|j|t|j|��q�q�W|jjrS|jjjd�d��}|d�|j_t|�d�krS|d�|j_qSn|jjdkrz|jj|j_n|jj r�y,t|jj �}t!j"�||j_#Wq�tt$fk r�|jtd���d�|j_#q�Xn|jj%r.|jj&d8kr.|jtd���t|j_%n|jj'ss|jj(rUd�|j_)n|jj*r�d�|j_)q�n@|jj't!j+kr�|jtd���d�|j_)d�|_ndS(�Nt enableShadowtshadowRjt locauthorizetenablePAMAccesst pamaccesstenableSysNetAutht sysnetauthtenableMkHomeDirt mkhomedirt enableCachetcachetenableEcryptfstecryptfst enableHesiodthesiodt enableLDAPtldapt enableLDAPStldaptlstenableRFC2307bist rfc2307bistenableLDAPAuthtldapauthtenableKerberostkrb5t enableNIStnistkerberosKDCviaDNSt krb5kdcdnstkerberosRealmviaDNSt krb5realmdnstenableSmartcardt smartcardt enableFprintdt fingerprinttforceSmartcardtrequiresmartcardt enableWinbindtwinbindtenableWinbindAutht winbindauthtwinbindUseDefaultDomaintwinbindusedefaultdomaintwinbindOfflinetwinbindofflinet winbindKrb5t winbindkrb5t enableIPAv2tipav2t ipav2NoNTPt ipav2nontpt enableWINStwinst enableSSSDtsssdtenableSSSDAuthtsssdauthtenableForceLegacyt forcelegacytenableCacheCredst cachecredstpreferDNSinHostst preferdnst passReqLowertreqlowert passReqUppertrequppert passReqDigittreqdigitt passReqOthertreqothertenableFaillocktfaillocktpasswordAlgorithmtpassalgoR_t hesiodlhsR`t hesiodrhsRat ldapserverRbt ldapbasednt ldapCacertURLtldaploadcacertRct krb5realmRdtkrb5kdcRetkrb5adminservertsmartcardModuletsmartcardmoduletsmartcardActiontsmartcardactiont nisDomaint nisdomaint nisServert nisservert smbWorkgroupt smbworkgroupt smbServerst smbserverst smbSecurityt smbsecuritytsmbRealmtsmbrealmt smbIdmapRanget smbidmaprangetwinbindSeparatortwinbindseparatortwinbindTemplateHomedirtwinbindtemplatehomedirtwinbindTemplateShelltwinbindtemplateshellt ipav2Domaint ipav2domaint ipav2Realmt ipav2realmt ipav2Servert ipav2servert passMinLent passminlent passMinClasst passminclasst passMaxRepeatt passmaxrepeattpassMaxClassRepeattpassmaxclassrepeatt faillockArgst faillockargstenabletdisableRis!The passminlen minimum value is 6is-The passminlen option value is not an integeris+The passminclass value must not be negativeis0The passminclass value must not be higher than 4s/The passminclass option value is not an integers,The passmaxrepeat value must not be negatives0The passmaxrepeat option value is not an integers1The passmaxclassrepeat value must not be negatives5The passmaxclassrepeat option value is not an integert%is(Bad smart card removal action specified.sO--enablerequiresmartcard is not supported for module 'sssd', option is ignored.tmd5tdescrypts;Unknown password hashing algorithm specified, using sha256.tsha256(,t iteritemsRRPtsetattrRfRNR,R�t ldapSchematAttributeErrorR�RctgetKerberosKDCRdtgetKerberosAdminServerReR�R tintR9RIR3t ValueErrorR�R�R�t winbindjointsplittjoinUserRt joinPasswordt ipav2joinR�RKRMR�t IndexErrortenablerequiresmartcardR�R�t enablemd5R�t disablemd5RL(Rt bool_settingststring_settingstopttaivaltvaltlstRA((s'/usr/share/authconfig/authconfig-tui.pytoverrideSettings�sB      $!                                   &      cCstS(N(RN(R((s'/usr/share/authconfig/authconfig-tui.pytdoUIgscCsht}|jjr'|jjt�}n|jjdkrd|jjt�r[|jj�qdt }n|S(N( RNRPRRft joinDomainRR t joinIPADomaintwriteSysconfigR,(Rtret((s'/usr/share/authconfig/authconfig-tui.pyRjs  cCs�|jj�|jjr7|jj�s7d|_q7n|jj�|jjrn|jj�s�d|_q�n!|jj |j �s�d|_n|j �s�d|_n|jj |jj �dS(Niiii(RfttestLDAPCACertsR�tdownloadLDAPCACertR3trehashLDAPCACertsRPRURt writeChangedRiRtposttnostart(R((s'/usr/share/authconfig/authconfig-tui.pyt writeAuthInfoxs       cCs�|j�|jjr0|j�tjd�n|jj rrtj�dkrr|jt d��tjd�n|j �|jj r�|j j �}tjt| ��n|jjr�|j j|jj�}tjt| ��n|jjr$|j j|jj�}tjt| ��n|j�|j�|j�sv|jjrf|jt d��ntjd�n|jjr�|j j�n |j�|jS(Niscan only be run as rootisdialog was cancelledi(R]RPRRRRQRSRltgetuidR9RIRkRXRft restoreLastRRWt restoreBackupRVt saveBackupRxRRt printInfoRR3(Rtrv((s'/usr/share/authconfig/authconfig-tui.pytrun�s6             (RRR4R6R9RCR]RRRkRxRRRRR%(((s'/usr/share/authconfig/authconfig-tui.pyR+Ys   �$  �   t AuthconfigTUIcBs�eZd�Zd�Zd�Zd�Zddd�Zd�Zd�Z d�Z d�Z d �Z d �Z d �Zd �Zd �Zd�ZRS(cCsdS(Nsauthconfig-tui((R((s'/usr/share/authconfig/authconfig-tui.pyR6�scCs/|jjr+|jjr+|jjt�ndS(N(RPt kickstartRRfRRN(R((s'/usr/share/authconfig/authconfig-tui.pyR�scCs�|s dSx�|r�|d}|d}t|�tkrv|jj�r_|d}|d}qv|d}|d}ntj|tj�s�td�||d|f}tj |j td�|td�g�n|d}q WdS(Niiis�The %s file was not found, but it is required for %s support to work properly. Install the %s package, which provides this file.tWarningtOki( ttypettupleRft sssdSupportedRlRmtR_OKRItsnacktButtonChoiceWindowtscreen(Rttoggletwarningtpathtpackagettext((s'/usr/share/authconfig/authconfig-tui.pytwarn�s         +c# CsEtjtd�ddg}tjtd�ddg}tjtjftd�d6dg}tjtjftd�d7dg}tjtj ftd �d8dg}tj td �d dg}tj td�ddg}tj td�ddg}tj td�d|g} tjtd�d| g} tjdd�} tjtd��} | j| dddddd�tjtd�t|jj��} }| j|dddddd�tjtd�t|jj��}}| j|dddddd�tjtd�t|jj��}}| j|dddddd�tjtd�t|jj��}}| j|dd dddd�tjtd!�t|jj��}}| j|dd"dddd�tjdd#�}tjtd$��} |j| dddddd�tjtd%�t|jjd&k��}}|j|dddddd�tjtd'�t|jj��}}|j|dddddd�tjtd(�t|jj��}}|j|dddddd�tjtd)�t|jj��}}|j|dd dddd�tjtd*�t|jj��}}|j|dd"dddd�tjtd+�t|jj ��}}|j|dddddd�tjtd,�t|jj!��}}|j|dd-dddd�tjdd�}|j| ddddd.dd/d9�|j|ddd0dd.dd/d:�tjdd�}tj"|j#j$r�td1�p�td2��}tj"td3��}|j|dd�|j|dd�tjdd�}|j|dddd�|j|dddd�tj%�} |j&j'|td4��| j(|�| j)�} | |kr.| j*�|j_|j*�|j_|j*�|j_|j*�|j_|j*�|j_|j*�|j_|j*�r�d&|j_n!|jjd&krd5|j_n|j*�|j_|j*�|j_|j*�|j_ |j*�|j_!|j*�|j_|jj|f|jj|f|jj|f|jj| f|jj|f|jj|f|jj|f|jj|f|jj | fg }!x)|!D]}"|j+|"d|"d�q Wn|j&j,�| |kS(;NtcachingtnscdsFingerprint readert pam_fprintdtKerberostpam_krb5s sssd-clientsLDAP authenticationtpam_ldaptLDAPs nss-pam-ldapdtNIStypbindsshadow passwords shadow-utilstWinbinds samba-clientsWinbind authentications samba-winbindiisUser Informationit anchorLefttgrowxsCache InformationsUse LDAPisUse NISis Use IPAv2is Use WinbindiitAuthenticationsUse MD5 PasswordsR�sUse Shadow PasswordssUse LDAP Authentications Use KerberossUse Fingerprint readersUse Winbind Authentications!Local authorization is sufficientit anchorToptpaddingt anchorRighttBacktCanceltNextsAuthentication ConfigurationR�(R;s sssd-client(R<s sssd-client(s nss-pam-ldapds sssd-client(iiii(iiii(-RKRvRIR RwRqRtRrRsRuRnt PATH_PWCONVtPATH_WINBIND_NETtPATH_PAM_WINBINDtPATH_LIBNSS_WINBINDR.tGridtLabeltsetFieldtCheckboxtboolRfR�R�R�R�R�R�RyR�R�R�R�RjtButtonRPtbacktFormR0tgridWrappedWindowtaddR%tselectedR6t popWindow(#Rt warnCachet warnFprintdt warnKerberost warnLDAPAuthtwarnLDAPtwarnNISt warnShadowtwarnWinbindNettwarnWinbindAutht warnWinbindtinfoGridtcompR�tcbR�R�R�R�tauthGridR�RztldapaR�tfprintdR�R{tmechGridt buttonGridtcanceltoktmainGridtformt allwarningsR2((s'/usr/share/authconfig/authconfig-tui.pytgetMainChoices�s�$$$(((((.((((((%%-       cCs�t|�}tjd|�}d} g} xn|D]f\} } } }| dkr�tj| tt|j| ���}| j|�|jtj d�d| dd�|j|d| dd�n�| dkrEtj | �}|j|d| d ddd�tj d t|j| �d |�}| j|�|j|d| d d�nH| d kr:tj | �}|j|d| d ddddd�y#t|j| �}|j |�Wnt k r�|d}nXd}g}x*|D]"}|j||||kf�q�Wtjd|�}| j|�|j|d| dd�nS| dkr�tjd| dddd�}| j|�|j|d| dd�n| d7} q1Wtj|r�dp�dd�}tj|�}tj|�}|r�tj|�p�d}|j|dd�|r!|j|dd�n|j||r6dp9dd�tjdd�}|j|ddd dd d�|j|ddd dd d�tj�}|jj||�|j|�xtr�|j�}||kr�Pn| }x�|D]�\} } } }| dkr2t|j| |jd�j��q�| dkrct|j| |jd�j��q�| d kr�t|j| |jd�j��q�| dkr�|jd�q�q�W||kr�Pn|r�|�q�q�W|jj�||kS(NiittfvalueRRFiRAtsvalueREi(thiddenRBtrvalueRDtlvaluei2tflexDowntflexUpi(iiii(iiii(iiii(iiii(RR.RNRQRRRRfR RPROtEntrytindexRR tRadioBartTextboxReflowedRSRUR0RVRWRNR%R�tpopRXtvaluet getSelectionRY(Rtdtitletitemst canceltxttoktxtt anothertxtt anothercbtrowst questionGridtrowtwidgetstttdesctattrRRfRetselt buttonlisttvtradioBarRkRlRmtanotherRnRotwcopy((s'/usr/share/authconfig/authconfig-tui.pytgetGenericChoices6s�  $ " $  %            % % %   c Cs�dtd�ddfdtd�ddfdtd�ddfg}|jtd �|td �|rrtd �p{td �d td�d|j�S(NRssDomain:R�isRealm:R�sServer:R�sIPAv2 SettingsRGRIR)R�s Join DomainR�(RIR�tmaybeGetJoinSettings(Rtnextt questions((s'/usr/share/authconfig/authconfig-tui.pytgetIPAv2Settings�s *cCsdtd�ddfdtd�ddfdtd�d dfg}|jtd �|td �|rrtd �p{td ��S(NRrsUse TLSR�RssServer:RaisBase DN:Rbs LDAP SettingsRGRIR)(RIR R�(RR�R�((s'/usr/share/authconfig/authconfig-tui.pytgetLDAPSettings�s cCsjdtd�ddfdtd�ddfg}|jtd�|td�|r]td �pftd ��S( NRssDomain:R�isServer:R�s NIS SettingsRGRIR)(RIR�(RR�R�((s'/usr/share/authconfig/authconfig-tui.pytgetNISSettings�scCs�dtd�ddfdtd�ddfdtd�ddfd td �d dfd td �d dfg}|jtd�|td�|r�td�p�td��S(NRssRealm:RcisKDC:Rds Admin Server:ReRrs"Use DNS to resolve hosts to realmsR�s!Use DNS to locate KDCs for realmsR�sKerberos SettingsRGRIR)(RIR R�(RR�R�((s'/usr/share/authconfig/authconfig-tui.pytgetKerberosSettings�scCs�dtd�ddfdtd�ddfg}|jjsKd|j_n|jtd �|td �td ��r�|jj�|jj�|jjr�|jjt �n|jj r�|jj t �n|jj �nt S( NRssDomain Administrator:Ris Password:Rit Administrators Join SettingsRHR)( RIRfRR�R0tsuspendRTR�RRNR�Rtresume(RR�((s'/usr/share/authconfig/authconfig-tui.pytgetJoinSettings�s     cCs�dtd�ddfg}tj|j�}|j�|jj�t}|jj|�r�|j td�|td�td��}n|r�|jj �n|j �t S(NRvs�Some of the configuration changes you've made should be saved to disk before continuing. If you do not save them, then your attempt to join the domain may fail. Save changes?s Save SettingstNotYes( RIR RKRgR9RTRfR,tdiffersR�RR�RN(RR�t orig_infoR((s'/usr/share/authconfig/authconfig-tui.pyR��s    c Cs�ddg}ddddddg}d �}t||�}d td �d |fd td�ddfd td�ddfd td�ddfd td�d|fg}|jtd�|td�|r�td�p�td�dtd�d|j�S(Ntadstdomains /sbin/nologins/bin/shs /bin/bashs /bin/tcshs/bin/kshs/bin/zshcSstj|tj�S(N(RlRmRo(tshell((s'/usr/share/authconfig/authconfig-tui.pyt shellexists�sRusSecurity Model:R�RssDomain:R�isDomain Controllers:R�s ADS Realm:R�sTemplate Shell:R�sWinbind SettingsRGRIR)R�s Join DomainR�(tfilterRIR�R�(RR�tsecuritytshellsR�R�((s'/usr/share/authconfig/authconfig-tui.pytgetWinbindSettings�s   *cCs:d}t}x!|dkr/|dkr/|jj�|dkrO|j�}n�|dkr�|jjr|jjp�|jjp�|jjp�|jjp�|jj p�|jj }|j |�}qn>|dkr-|jjs�|jjr|jjp|jjp|jj p|jj }|j |�}qn�|dkr~|jjr|jjpf|jj pf|jj }|j |�}qn�|dkr�|jjr|jj p�|jj }|j|�}qn?|dkr|jj s�|jj rt}|j|�}qn|jj�|r"|d7}q|d8}qW|dkS( Niiiiiiii(R,RfRTRqR�R�R�R�R�R�R�R�R�R�R�R�(RR�trctmore((s'/usr/share/authconfig/authconfig-tui.pyt getChoices�sT                           cCsBtd�|jj}tj|jtd�|td�g�dS(Ns�To connect to a LDAP server with TLS protocol enabled you need a CA certificate which signed your server's certificate. Copy the certificate in the PEM format to the '%s' directory. Then press OK.R(R)(RIRft ldapCacertDirR.R/R0(RR5((s'/usr/share/authconfig/authconfig-tui.pytdisplayCACertsMessages  cCs�|jjrtSz�tj�|_|j�}|jjtd��|jj dd|d�|j �s{|jj �t S|j jr�|j j�r�|j�nWd|jj �XtS(NsN <Tab>/<Alt-Tab> between elements | <Space> selects | <F12> next screenis - (c) 1999-2005 Red Hat, Inc.(RPR'RNR.t SnackScreenR0R6t pushHelpLineRIt drawRootTextR�tfinishR,RfR�RR�(Rtpackageversion((s'/usr/share/authconfig/authconfig-tui.pyRs    N(RRR6RR6RqR R�R�R�R�R�R�R�R�R�R�R(((s'/usr/share/authconfig/authconfig-tui.pyR&�s    r_       - t__main__R5(RKtacutiltgettextRltsignalRtlgettextRItoptparseRRRt setlocaletLC_ALLtErrorR7RRR.RRR+R&RtSIGINTtSIG_DFLt textdomainR6RQR%(((s'/usr/share/authconfig/authconfig-tui.pyt<module>s20     $��P��