f ddlZddlZddlZddlZddlZddlZdgZGddZdZ ddl Z e j ej ej ddZ dS#e$rdZ YdSwxYw)N Completerc.eZdZddZdZdZdZdZdS)rNc |r$t|tstd| d|_dSd|_||_dS)Nznamespace must be a dictionaryr) isinstancedict TypeError use_main_ns namespace)selfr s 2/opt/alt/python311/lib64/python3.11/rlcompleter.py__init__zCompleter.__init__*sZ   >Z 488 ><== =   D    D &DNNNc |jrtj|_|s:|dkr2t r)t jdt jdSdSdS|dkr9d|vr| ||_ n| ||_ |j |S#t$rYdSwxYw)Nr .) r __main____dict__r strip_readline_availablereadline insert_text redisplay attr_matchesmatchesglobal_matches IndexError)r textstates r completezCompleter.completeEs   /%.DNzz|| zz& (...&(((24t A::d{{#0066 #22488  <& &   44 s( B55 CCct|r5|dz } tj|js|dz }n#t$rYnwxYw|S)N())callableinspect signature parameters ValueError)r valwords r _callable_postfixzCompleter._callable_postfixdse C==  CKD (--8 CKD     s5 AAc g}dh}t|}tjtjzD]M}|d||kr=|||dvr|dz}n |dvr|dz}||N|jtjfD]l}| D]U\}}|d||krB||vr>|||| ||Vm|S)N __builtins__>tryfinally:>_NoneTrueelsepassFalsebreakcontinue ) lenkeywordkwlist softkwlistaddappendr builtinsritemsr,)r rrseennr+nspacer*s r rzCompleter.global_matchesos7  IINW%77 % %DBQBx4---#:DD"/// #:Dt$$$~x'89 F FF#\\^^ F F c8t##D(8(8HHTNNNNN4#9#9#t#D#DEEE Frc tjd|}|sgS|dd\}} t||j}n#t $rgcYSwxYwt t|}|dt|dr<| d| t|j g}t|}|dkrd} n |dkrd} nd} |D]} | d||kr| r| d|dz| ks|d | } tt!t#|| dt$r|| qt!|| dx} *||| | || |s| sn | dkrd} nd} ||S) Nz(\w+(\.\w+)*)\.(\w*)rr. __class__rr2__Tr)rematchgroupevalr Exceptionsetdirdiscardhasattrr?updateget_class_membersrHr;rgetattrtypepropertyr@r,sort) r rmexprattr thisobjectwordsrrDnoprefixr+rKvalues r rzCompleter.attr_matchess?  H,d 3 3 IWWQ]] d dDN33JJ   III C OO$$ n%%% :{ + + B IIk " " " LL*:+?@@ A A A II 2::HH S[[HHH  . .!H$$!%&*4AaC4jH&<&<'+ttTT2E!'$z*:*:D$"G"G"*,, ! u--- !(T4!@!@@Mt'='=eU'K'KLLLLu--- h 31 2  sA AAN)__name__ __module__ __qualname__rr!r,rrrr rr)sd''''6>   6>>>>>rc|t|}t|dr|jD]}|t|z}|S)N __bases__)rPrRrfrT)klassretbases r rTrTsJ e**Cu[!!0O 0 0D)$///CC Jrc*tjdSr`)r set_completerrdrr rlsH2488rTF)atexitrAr&r<rJr__all__rrTrrkr!registerr ImportErrorrdrr rqs>   -________B OOOH99;;/000FO88999    sA$$A/.A/