
    ,hh;                     r    S SK r S SKrS SKrS/rSr\R
                  \R                  -   S-   r " S S5      rg)    NCmdz(Cmd) _c                       \ rS rSr\r\rSrSr	Sr
SrSrSrSrSrS	rSS
 jrSS jrS rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!SS jr"Sr#g) r   4   = Nz(Documented commands (type help <topic>):zMiscellaneous help topics:zUndocumented commands:z*** No help on %s   c                     Ub  X l         O[        R                   U l         Ub  X0l        O[        R                  U l        / U l        Xl        g N)stdinsysstdoutcmdqueuecompletekey)selfr   r   r   s       ,/opt/python-3.13.8/usr/lib/python3.13/cmd.py__init__Cmd.__init__L   s=     JDJ K**DK&    c                    U R                  5         U R                  (       a  U R                  (       a   SS KnUR	                  5       U l        UR                  U R                  5        UR                  S:X  a$  U R                  S:X  a  SnO SU R                   S3nOU R                   S3nUR                  U5         Ub  Xl        U R                  (       a1  U R                  R                  [        U R                  5      S-   5        S nU(       Gd  U R                  (       a  U R                  R!                  S5      nOU R                  (       a   [#        U R$                  5      nO}U R                  R                  U R$                  5        U R                  R)                  5         U R*                  R                  5       n[-        U5      (       d  S	nOUR/                  S
5      nU R1                  U5      nU R3                  U5      nU R5                  XE5      nU(       d  GM  U R7                  5         U R                  (       a3  U R                  (       a!   SS KnUR                  U R
                  5        g g g ! [         a     GNf = f! [&         a    S	n Nf = f! [         a     g f = f! U R                  (       aC  U R                  (       a1   SS KnUR                  U R
                  5        f ! [         a     f f = ff f = f)Nr   editlinetabzbind ^I rl_completezbind z rl_completez
: complete
EOFz
)preloopuse_rawinputr   readlineget_completerold_completerset_completercompletebackendparse_and_bindImportErrorintror   writestrr   popinputpromptEOFErrorflushr   lenrstripprecmdonecmdpostcmdpostloop)r   r%   r   command_stringstoplines         r   cmdloopCmd.cmdloopb   sb    	!1!1%-%;%;%="&&t}}5##z1''50)>+01A1A0B,)O(,(8(8'9%DN''7!	 "
zz!!#djj/$"67D====,,Q/D(()#(#5D ))$++6))+#zz224"4yy#(D#';;v#6D{{4({{4(||D/' d( MMO  T%5%5#**4+=+=> &6 =    ( )#(D)& # 	   T%5%5#**4+=+=>" 	 &6 s   BI6 =BJ) J &B8J) !J) J 6
JJJJ) JJ) 
J&%J&)#K?K-,K?-
K:7K?9K::K?c                     U$ r    r   r5   s     r   r/   
Cmd.precmd   s	    
 r   c                     U$ r   r9   )r   r4   r5   s      r   r1   Cmd.postcmd   s    r   c                     g r   r9   r   s    r   r   Cmd.preloop   s    r   c                     g r   r9   r?   s    r   r2   Cmd.postloop   s    
 	r   c                 d   UR                  5       nU(       d  S S U4$ US   S:X  a	  SUSS  -   nO(US   S:X  a  [        U S5      (       a	  SUSS  -   nOS S U4$ S[        U5      p2X#:  a0  X   U R                  ;   a  US-   o"U:  a  X   U R                  ;   a  M  US U XS  R                  5       pTXEU4$ )Nr   ?zhelp r	   !do_shellzshell )striphasattrr-   
identchars)r   r5   incmdargs         r   	parselineCmd.parseline   s    
 zz|t##!W^T!"X%D!W^tZ(($qr(*T4''#d)1e4??2!A!e4??28T"X^^-S~r   c                 ,   U R                  U5      u  p#nU(       d  U R                  5       $ Uc  U R                  U5      $ Xl        US:X  a  SU l        US:X  a  U R                  U5      $ [	        U SU-   S 5      nUc  U R                  U5      $ U" U5      $ )Nr   r   do_)rN   	emptylinedefaultlastcmdgetattr)r   r5   rL   rM   funcs        r   r0   
Cmd.onecmd   s     -$>>##;<<%%5=DL"9<<%%4d3D|||D))9r   c                 \    U R                   (       a  U R                  U R                   5      $ g r   )rT   r0   r?   s    r   rR   Cmd.emptyline   s#     <<;;t||,, r   c                 @    U R                   R                  SU-  5        g )Nz*** Unknown syntax: %s
)r   r&   r:   s     r   rS   Cmd.default   s     	4T9:r   c                     / $ r   r9   )r   ignoreds     r   completedefaultCmd.completedefault   s	     	r   c                     SU-   nU R                  5        Vs/ s H  oDR                  U5      (       d  M  USS  PM!     sn$ s  snf )NrQ      )	get_names
startswith)r   textr]   dotextas        r   completenamesCmd.completenames   s=    t#~~/H/!<<3G!"/HHHs
   A	Ac                    US:X  a  SS K nUR                  5       nUR                  5       n[        U5      [        U5      -
  nUR	                  5       U-
  nUR                  5       U-
  nUS:  a8  U R                  U5      u  pnU	S:X  a  U R                  nO [        U SU	-   5      nOU R                  nU" XXx5      U l         U R                  U   $ ! [         a    U R                  n N6f = f! [         a     g f = f)Nr   r   	complete_)r   get_line_bufferlstripr-   
get_begidx
get_endidxrN   r^   rU   AttributeErrorrg   completion_matches
IndexError)r   rd   stater   origliner5   strippedbegidxendidxrL   argsfoocompfuncs                r   r!   Cmd.complete  s    A://1H??$D8}s4y0H((*X5F((*X5Fax!%!53"9#33H8#*4s1B#C  --&.t6&JD#	**511 * 8#'#7#78  		s$   C C, C)(C),
C98C9c                 ,    [        U R                  5      $ r   )dir	__class__r?   s    r   rb   Cmd.get_names   s     4>>""r   c                    ^ [        U R                  " T6 5      n[        U4S jU R                  5        5       5      n[        X#-  5      $ )Nc              3   j   >#    U  H(  nUR                  S TS   -   5      (       d  M!  USS v   M*     g7f)help_r      N)rc   ).0rf   rw   s     r   	<genexpr>$Cmd.complete_help.<locals>.<genexpr>'  s5      9$4qWtAw%67 QqrU$4s    33)setrg   rb   list)r   rw   commandstopicss    `  r   complete_helpCmd.complete_help%  sC    t))401 9DNN$4 9 9H%&&r   c                    U(       a   [        U SU-   5      nU" 5         g U R                  5       n/ n/ n[        5       nU H"  nUS S S:X  d  M  UR                  USS  5        M$     UR                  5         Sn	U H  nUS S S:X  d  M  X:X  a  M  Un	USS  n
X;   a$  UR                  U
5        UR                  U
5        ME  [        X5      R                  (       a  UR                  U
5        Mr  UR                  U
5        M     U R
                  R                  S[        U R                  5      -  5        U R!                  U R"                  USS5        U R!                  U R$                  ['        U5      SS5        U R!                  U R(                  USS5        g ! [         a     [        U SU-   5      R                  n[        R                  " U5      nU(       a)  U R
                  R                  S[        U5      -  5         g O! [         a     Of = fU R
                  R                  S[        U R                  U4-  5      -  5         g f = f)	Nr   rQ   %s
r   r   ra      P   )rU   ro   __doc__inspectcleandocr   r&   r'   nohelprb   r   addsortappendremove
doc_leaderprint_topics
doc_headermisc_headersortedundoc_header)r   rM   rV   docnamescmds_doc
cmds_undocr   nameprevnamerL   s              r   do_helpCmd.do_help+  s    tWs]3 FNN$EHJUF8w&JJtABx(  JJLH8u$' #HQRC} ,c* ,44 ,"))#.  KKfS%99:dooRCd..2Fd//RCO " 
eck2::C!**3/C))&S/:  & !!&T[[C6-A)B"BC
s6   F 
I	!AH I	
HI	H8I	I	c           	      \   U(       a  U R                   R                  S[        U5      -  5        U R                  (       a=  U R                   R                  S[        U R                  [	        U5      -  5      -  5        U R                  X$S-
  5        U R                   R                  S5        g g )Nr   r	   r   )r   r&   r'   rulerr-   	columnize)r   headercmdscmdlenmaxcols        r   r   Cmd.print_topicsZ  sw    KKfS[01zz!!&TZZ#f+-E)F"FGNN4*KKd# r   c           	         U(       d  U R                   R                  S5        g [        [        U5      5       Vs/ s H  n[	        X   [
        5      (       a  M  UPM      nnU(       a+  [        SSR                  [        [
        U5      5      -  5      e[        U5      nUS:X  a+  U R                   R                  S[        US   5      -  5        g [        S[        U5      5       H  nXV-   S-
  U-  n/ nSn	[        U5       H]  n
Sn[        U5       H*  nXU
-  -   nX5:  a    OX   n[        U[        U5      5      nM,     UR                  U5        XS-   -  n	X:  d  M]    O   X::  d  M    O   [        U5      nSnS/n[        U5       H  n/ n[        U5       H'  n
XU
-  -   nX5:  a  S	nOX   nUR                  U5        M)     U(       a   US
   (       d  US
	 U(       a  US
   (       d  M  [        [        U5      5       H  n
X   R                  X   5      X'   M     U R                   R                  S[        SR                  U5      5      -  5        M     g s  snf )Nz<empty>
z list[i] not a string for i in %sz, r	   r   r      r   z  )r   r&   ranger-   
isinstancer'   	TypeErrorjoinmapmaxr   ljust)r   r   displaywidthrJ   
nonstringssizenrowsncols	colwidthstotwidthcolcolwidthrowxtextss                  r   r   Cmd.columnizeb  s'    KKk*!&s4y!1 9!1A)$'37 !1
 9>"iiC(<=> ? ?4y19KKfSa\121c$i(EZ\e+EIHU| <CCiAyA"8SV4H (   *qL(* $ '# )& IEEI<CEU|)O9AAQ $ b	"I b		SZ("Z--in=
 )KKfS5)9%::;  A9s   II)r   r   rp   r%   rT   r   r   r   )r   NNr   )r   )$__name__
__module____qualname____firstlineno__PROMPTr*   
IDENTCHARSrI   r   rT   r%   r   r   r   r   r   r   r   r6   r/   r1   r   r2   rN   r0   rR   rS   r^   rg   r!   rb   r   r   r   r   __static_attributes__r9   r   r   r   r   4   s     FJEGEJ;J.K+L FL',9x(4-;I<#
'-D^$7<r   )	r   stringr   __all__r   ascii_lettersdigitsr   r   r9   r   r   <module>r      s?   Z  '	!!FMM1C7
e< e<r   