
    `iR!                    (   d dl mZ d dlZd dlZd dlZd dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZmZ d dlZer
d d	lmZmZmZ 	 	 d.d/dZd0dZd1dZd2d!Zd3d#Zd4d$Z G d% d&ej                  Zd5d)Z d6d7d,Z!e"d-k    r e!             dS dS )8    )annotationsN)	b64decode)encodebytes)Sequence)Path)default_timer)TYPE_CHECKINGAny)DecodeEncodeEncodeBytesFdurationfloatdatabytesencr   decr   encbytesr   altcharsbytes | NonevalidateboolreturnNonec           
     j   | dz  } |s|d}t                      }	  ||          }	|dz  }t                      |z
  | k    rn'|}
t                      }|
dk    r ||          }	|
dz  }
|
dk    t                      |z
  }t          d                    |j        dz   |j        z   dz   |t          |          z  dz  |z  t          |          t          |	                               d}t                      }	  |||	          }	|dz  }t                      |z
  | k    rn)|}
t                      }|
dk    r |||	          }	|
dz  }
|
dk    t                      |z
  }t          d                    |j        dz   |j        z   dz   |t          |          z  dz  |z  t          |          t          |	                               d}t                      }	  ||	||
          }|dz  }t                      |z
  | k    rn*|}
t                      }|
dk    r ||	||
          }|
dz  }
|
dk    t                      |z
  }t          d                    |j        dz   |j        z   dz   |t          |          z  dz  |z  t          |	          t          |                               ||k    sJ d S )Ng       @r   T   z1{:<32s} {:9.3f} MB/s ({:,d} bytes -> {:,d} bytes).:g      0A)r   )r   r   )timerprintformat
__module____name__len)r   r   r   r   r   r   r   numbertimeencodedcontentiterdecodedcontents               e/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pybase64/__main__.py	bench_oner+      s5    #~H 
(ww	%Xd^^NaKFww~((		
 wwQhh%Xd^^NAID Qhh ww~?FF#c)H,==C3t99$9TAD		N##	 	
 	
 	
 F77DTH555!77T>H$$	
 D77D
((TH555	 (( 77T>D	;BBNS 3</#5s4yy _5=II		
 	
   F77D^hRRR!77T>H$$	
 D77D
((^hRRR	 (( 77T>D	;BBNS 3</#5s4yy _5=II		
 	
   T!!!!!!    filestrc                    | dk    r#t           j        j                                        S t	          |                                           S N-)sysstdinbufferreadr   
read_bytes)r-   s    r*   readallr7   c   s:    s{{y$$&&&::  """r,   c                    | dk    r&t           j        j                            |           d S t	          |                               |           d S r0   )r2   stdoutr4   writer   write_bytes)r-   r   s     r*   writeallr<   i   sJ    s{{
%%%%%T

t$$$$$r,   inputc                t   t          t          dz   t          j                    z              t	          |          }dD ]z}dD ]u}t          d|dd|d           t          | |t          j        t          j        t          j        ||           t          | |t          j        t          t          ||           v{d S )N )N   -_)FTzbench: altchars=sz, validate=)r    __package__pybase64get_versionr7   r+   	b64encoder   r   base64b64decodeValidateb64encodebytes)r   r=   r   r   r   s        r*   	benchmarkrI   p   s    	+
h244
45555>>D!  % 	 	HLXLLLhLLLMMM""$    !   	 r,   outputc                n    t          |           }t          j        ||          }t          ||           d S N)r7   rC   rE   r<   )r=   r   rJ   r   s       r*   encoderM      s5    5>>DdH--DVTr,   c                p    t          |           }t          j        |||          }t          ||           d S rL   )r7   rC   r   r<   )r=   r   r   rJ   r   s        r*   decoderO      s7    5>>DdHh77DVTr,   c                  2     e Zd Z	 	 dd fd
Z	 dddZ xZS )LicenseActionN!show license information and exitoption_stringsSequence[str]destr.   license
str | Nonehelpc                v    t                                          ||t          j        d|           || _        d S )Nr   )rS   rU   defaultnargsrX   )super__init__argparseSUPPRESSrV   )selfrS   rU   rV   rX   	__class__s        r*   r]   zLicenseAction.__init__   sE     	)% 	 	
 	
 	
 r,   parserargparse.ArgumentParser	namespaceargparse.Namespacevaluesstr | Sequence[Any] | Noneoption_stringr   r   c                V    t          | j                   |                                 d S rL   )r    rV   exit)r`   rb   rd   rf   rh   s        r*   __call__zLicenseAction.__call__   s%     	dlr,   )NrR   )rS   rT   rU   r.   rV   rW   rX   rW   rL   )
rb   rc   rd   re   rf   rg   rh   rW   r   r   )r#   r"   __qualname__r]   rk   __classcell__)ra   s   @r*   rQ   rQ      sh        
 #>      * %)        r,   rQ   valueis_inputc                    | dk    r| S t          |           }|r#t          |                    d                    S t          |j                            d          |j        z            S )Nr1   T)strict)r   r.   resolveparentname)rn   ro   paths      r*   
check_filerv      sg    ||;;D .4<<t<,,---t{""$"//$);<<<r,   argvSequence[str] | Nonec           	        t          j        t          t          dz             }|                    dddt          dz   t	          j                    z              |                    dt          t	          j                    	           |                    d
          }|	                    dd          }|                    ddddt          dd           |                    ddd            |                    ddd           |                    t                     |	                    dd          }|                    ddd            |                    ddd            |                    ddd            |                                }|                    d!d"d#d$d%d&'           |                    d(d)d%d*+           |                    d,d-d.dd/d01           |                    t                     |	                    d2d          }|                    ddd3            |                    ddd4            |                    ddd5           |                                }|                    d!d"d#d$d%d6'           |                    d(d)d%d7+           |                    d,d-d.dd/d81           |                    d9d:d;d<=           |                    t                      | t"          j        d>d          } t'          |           d?k    rd@g} t)          |                    | A                    }|                    dB          } |dCi | d S )DNz command-line tool.)progdescriptionz-Vz	--versionversionr?   )actionr|   z	--license)r}   rV   z	tool help)rX   rI   z-h for usagez-dz
--durationDr   g      ?z4expected duration for a single encode or decode test)metavarrU   typerZ   rX   r   z
input filec                "    t          | d          S NTrv   rA   s    r*   <lambda>zmain.<locals>.<lambda>   s    jD>Q>Q r,   r=   z!input file used for the benchmark)r   rX   )funcrM   c                "    t          | d          S r   r   r   s    r*   r   zmain.<locals>.<lambda>       :a;N;N r,   zoutput filec                "    t          | d          S NFr   r   s    r*   r   zmain.<locals>.<lambda>       Jq%<P<P r,   zinput file to be encodedz-uz--urlstore_constr@   r   zuse URL encoding)r}   constrU   rX   z-az
--altcharsz'use alternative characters for encoding)rU   rX   z-oz--outputrJ   r1   z'encoded output file (default to stdout))rU   r   rZ   rX   rO   c                "    t          | d          S r   r   r   s    r*   r   zmain.<locals>.<lambda>   r   r,   c                "    t          | d          S r   r   r   s    r*   r   zmain.<locals>.<lambda>   r   r,   zinput file to be decodedzuse URL decodingz'use alternative characters for decodingz'decoded output file (default to stdout)z--no-validationr   store_falsez$disable validation of the input data)rU   r}   rX   r   r   z-h)argsr    )r^   ArgumentParserrB   add_argumentrC   rD   rQ   get_license_textadd_subparsers
add_parserr   registerset_defaultsrI   add_mutually_exclusive_grouprM   rO   r2   rw   r$   vars
parse_argspop)	rw   rb   
subparsersbenchmark_parserencode_parsergroupdecode_parserr   r   s	            r*   mainr      s    $k4I&I  F c!H$8$:$::	     M8C\C^C^___&&K&88J!,,[~,NN!!C "    fl4Q4QRRR!!l)L "    !!y!111))()HHM6<1N1NOOO6=2P2PQQQw\@Z[[[6688E	     
6	     6     F+++))()HHM6<1N1NOOO6=2P2PQQQw\@Z[[[6688E	     
6	     6     3	     F+++|x|
4yyA~~v!!t!,,--D88FDDLL4LLLLLr,   __main__r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r-   r.   r   r   )r-   r.   r   r   r   r   )r   r   r=   r.   r   r   )r=   r.   r   r   rJ   r.   r   r   )
r=   r.   r   r   r   r   rJ   r.   r   r   )rn   r.   ro   r   r   r.   rL   )rw   rx   r   r   )#
__future__r   r^   rF   r2   r   rG   r   rH   collections.abcr   pathlibr   timeitr   r   typingr	   r
   rC   pybase64._typingr   r   r   r+   r7   r<   rI   rM   rO   ActionrQ   rv   r   r#   r   r,   r*   <module>r      s   " " " " " "   



 1 1 1 1 1 1 0 0 0 0 0 0 $ $ $ $ $ $       ) ) ) ) ) ) % % % % % % % %  =<<<<<<<<<< "M" M" M" M" M"`# # # #% % % %   4          HO   8= = = =e e e e eP zDFFFFF r,   