o
    à’Ojü4  ã                
   @   sp  i Z i Zeed d ¡ ƒƒZdd lZeeddƒZ[eD ](Z	i Z
zede	 e
ƒ e
d e e	< er2d ee	< W n ey@   d ee	< Y nw [
qer_ddlmZmZmZmZmZ ddlmZ dd	lmZ d
ev r‚eedƒfdd„ZdZdd„ Zdedƒv r~eZdd„ Zeed
< dev rŽdd„ Zeed< dev r›dLdd„Zeed< dev r¨dLdd„Zeed< dev r´d d!„ Z e ed< d"ev rÀd#d"„ Z!e!ed"< d$ev rÌd%d&„ Z"e"ed$< d'ev �ri Z#e$d(ƒD ]-Z%e%d)k sáe%d*krèd+e% e#e%< q×e%e&d,ƒe&d-ƒe&d.ƒfv rþd,e'e%ƒ e#e%< q×e'e%ƒe#e%< q×[%d/d0„ Z(e(ed'< d1ev �rd2d3„ Z)e)ed1< d4ev �r(d5d6„ Z*e*ed4< d7ev �r6dMd9d:„Z+e+ed7< e,ƒ Z-eD ]Z	e	e v �rFe e	 nee	 Z.e.�sSe/d;e	 ƒ‚e.e-e	< �q;[	[.[-e0d<k�r´dd l1Z1dd l2Z2d 3d= ¡ ¡Z4d>D ]C\Z5Z6d?D ]9Z7d@ 3dAdBdCe7› dDe4› �fe6 ¡Z8e7dEk�r“dFe8 Z8e9dGe7› dHe5› �ƒ e$dIƒD ]Z:e2 ;e1j<dJdKe8e5g¡ �q¡�qx�qrd S d S )NNzð
        fp_str
        unicode2T1
        instanceStringWidthT1
        instanceStringWidthTTF
        asciiBase85Encode
        asciiBase85Decode
        escapePDF
        sameFrag
        calcChecksum
        add32
        hex32
        é    Ú_rl_testingFzfrom _rl_accel import %s as fÚf)Ú	isUnicodeÚisSeqÚrawBytesÚasNativeÚasBytes)Úlog)ÚunpackÚfp_strg      $@c                 C   s   || ƒ| S ©N© )Úxr	   Ú	_log_e_10r   r   ú\/var/www/html/pharmsmart-cdr-gen/venv/lib/python3.10/site-packages/reportlab/lib/rl_accel.pyÚ<lambda>'   s    r   )z%.0fz%.1fz%.2fz%.3fz%.4fz%.5fz%.6fc                  G   s  t | ƒdkrt| d ƒr| d } g }|j}| D ]d}t|ƒ}|dkr&|dƒ q|dkr,dp9ttddtt|ƒƒ ƒdƒ}t| | }|ret |ƒ}|r_|d8 }|| dkr]|| dkr\|d7 }n|sH|d|… }||d dksrt |ƒdkrt|py|dd… ƒ qd 	|¡S )	zXconvert separate arguments (or single sequence arg) into space separated numeric stringsé   r   gH¯¼šò×z>Ú0é   Ú.Nú )
Úlenr   ÚappendÚabsÚminÚmaxÚintÚ_log_10Ú_fp_fmtsÚjoin)ÚaÚsÚAÚiÚsaÚlÚnÚjr   r   r   Ú
_py_fp_str)   s&    (ü.
r(   ú,g      Ð?c                  G   s   t | Ž  dd¡S )Nr)   r   )Ú_FP_STRÚreplace)r    r   r   r   Ú__py_fp_strB   ó   r,   Ú
unicode2T1c           	   
   C   s   g }|d |dd… }}|j }d|v rd}| r~zt| ƒr#|  |¡}n| }| ||f¡ W |S  ty{ } zA|jdd… \}}|rO| || d|…  |¡f¡ |r^| t| ||… |ƒ¡ n| |j|j	||  f¡ | |d… } W Y d}~nd}~ww | s|S )zBreturn a list of (font,string) pairs representing the unicode textr   r   NzUCS-2ÚUTF16é   é   )
ÚencNamer   Úencoder   ÚUnicodeEncodeErrorÚargsÚextendÚ_py_unicode2T1Ú_notdefFontÚ_notdefChar)	ÚutextÚfontsÚRÚfontÚencr!   ÚeÚi0Úilr   r   r   r7   G   s2   
÷€øør7   ÚinstanceStringWidthT1Úutf8c                 C   s:   t |ƒs	| |¡}tdd„ t|| g| j ƒD ƒƒd | S )z&This is the "purist" approach to widthc                 s   s&   � | ]\}}t t|jj|ƒƒV  qd S r   )ÚsumÚmapÚwidthsÚ__getitem__)Ú.0r   Útr   r   r   Ú	<genexpr>f   s   €$ z,_py_instanceStringWidthT1.<locals>.<genexpr>çü©ñÒMbP?)r   ÚdecoderD   r7   ÚsubstitutionFonts©ÚselfÚtextÚsizeÚencodingr   r   r   Ú_py_instanceStringWidthT1c   s   (rS   ÚinstanceStringWidthTTFc                    sH   t |ƒs| |p	d¡}| jjj‰| jj‰ d| t‡ ‡fdd„|D ƒƒ S )zCalculate text widthrC   rK   c                 3   s   � | ]
}ˆt |ƒˆ ƒV  qd S r   )Úord)rH   Úu©ÚdwÚgr   r   rJ   p   s   € z-_py_instanceStringWidthTTF.<locals>.<genexpr>)r   rL   ÚfaceÚ
charWidthsÚgetÚdefaultWidthrD   rN   r   rW   r   Ú_py_instanceStringWidthTTFj   s
   
 r^   Úhex32c                 C   s   dt | ƒd@  S )Nz0X%8.8Xì   ÿÿ )r   )r#   r   r   r   Ú	_py_hex32t   r-   ra   Úadd32c                 C   s   | | d@ S )zCalculate (x + y) modulo 2**32r`   r   )r   Úyr   r   r   rb   y   s   ÚcalcChecksumc                 C   sJ   t | ƒ} t| ƒd@ r| dt| ƒd@  d  } ttdt| ƒd?  | ƒƒd@ S )zCalculates TTF-style checksumsé   r1   ó    z>%dlr0   r`   )r   r   rD   r
   )Údatar   r   r   Ú_py_calcChecksum   s   $rh   Ú	escapePDFé   é    é   z\%03oú\ú(ú)c                 C   s:   g }| D ]}t |ƒturt|ƒ}| t| ¡ qd |¡S )NÚ )Útyper   rU   r   Ú_ESCAPEDICTr   )r!   ÚrÚcr   r   r   Ú_py_escapePDF‘   s   
ru   ÚasciiBase85Encodec                 C   sØ  t | ƒ}tt| ƒdƒ\}}d| }| d|… | |d… }}g j}t|ƒD ]´}|d }	||	 }
||	d  }||	d  }||	d  }|rSt|
ƒ}
t|ƒ}t|ƒ}t|ƒ}|
dk rf|
d> |B d> |B d> |B }nd	|
 d
|  d|  | }|dkr}|dƒ q%t|dƒ\}}t|dƒ\}}t|dƒ\}}t|dƒ\}}d| d|  d|  d|  | |ks±J dƒ‚|t|d ƒƒ |t|d ƒƒ |t|d ƒƒ |t|d ƒƒ |t|d ƒƒ q%|dk�rb|dt|ƒ |rédnd 7 }|d }
|d }|d }|d }|�rt|
ƒ}
t|ƒ}t|ƒ}t|ƒ}d	|
 d
|  d|  | }t|dƒ\}}t|dƒ\}}t|dƒ\}}t|dƒ\}}t|d ƒt|d ƒ t|d ƒ t|d ƒ t|d ƒ }||d|d … ƒ |dƒ d |j¡S )zñEncodes input using ASCII-Base85 coding.

        This is a compact encoding used for binary data within
        a PDF file.  Four bytes of binary data become five bytes of
        ASCII.  This is the default method used for encoding images.r1   r   Nr   r0   re   é€   é   é   é   rj   ÚzéU   é±„éí^	 é9  údodgy code!é!   ú rf   ú~>rp   )	r   Údivmodr   r   ÚrangerU   Úchrr   Ú__self__)ÚinputÚdoOrdÚwhole_word_countÚremainder_sizeÚcutÚbodyÚlastbitÚoutr#   ÚoffsetÚb1Úb2Úb3Úb4ÚnumÚtempÚc5Úc4Úc3Úc1Úc2Úlastwordr   r   r   Ú_py_asciiBase85Encode›   sf   
0
<r�   ÚasciiBase85Decodec                 C   s
  d  t| ƒ ¡ ¡}|dd… dksJ dƒ‚|dd… }| dd¡}tt|ƒdƒ\}}d| }|d	|… ||d… }}g j}t|ƒD ]‰}|d }	t||	 ƒd
 }
t||	d  ƒd
 }t||	d  ƒd
 }t||	d  ƒd
 }t||	d  ƒd
 }d|
 d|  d|  d|  | }t|dƒ\}}t|dƒ\}}t|dƒ\}}|d| d|  d|  | ks³J dƒ‚|t	|ƒƒ |t	|ƒƒ |t	|ƒƒ |t	|ƒƒ qB|d	k�ryt|ƒdk rá|d }t|ƒdk s×t|d	 ƒd
 }
t|d ƒd
 }t|d ƒd
 }t|d ƒd
 }t|d ƒd
 }d|
 | d | d | d |d|   }t|dƒ\}}t|dƒ\}}t|dƒ\}}|d| d|  d|  | k�sIJ dƒ‚|dk�rSt	|ƒ}n"|dk�rat	|ƒt	|ƒ }n|dk�rst	|ƒt	|ƒ t	|ƒ }nd}||ƒ d  |j
¡}t|dd�S )z¡Decodes input using ASCII-Base85 coding.

        This is not normally used - Acrobat Reader decodes for you
        - but a round trip is essential for testing.rp   éþÿÿÿNrƒ   z+Invalid terminator for Ascii Base 85 Streamr{   z!!!!!é   r   r�   r   r0   re   r1   r}   r~   r   r|   rj   ry   rz   r€   ú!)r   r   iÿÿÿ iÿÿ  éÿ   Úlatin1)r>   )r   r   Úsplitr+   r„   r   r   r…   rU   r†   r‡   r   )rˆ   ÚstrippedrŠ   r‹   rŒ   r�   rŽ   r�   r#   r�   rš   r›   r™   r˜   r—   r•   r–   r”   r“   r‘   r’   rœ   rs   r   r   r   Ú_py_asciiBase85Decodeî   sd   $(
ÿ ÿ*



r¦   ÚsameFrag©ÚfontNameÚfontSizeÚ	textColorÚriseÚus_linesÚlinkÚ	backColorÚnobrc                    s`   | j }|j }d|v sd|v sd|v sd|v rdS |j‰ |j‰‡ fdd„|D ƒ‡fdd„|D ƒkS )NÚcbDefnÚ	lineBreakr   c                    ó   g | ]}ˆ |ƒ‘qS r   r   ©rH   Úk)Úfgr   r   Ú
<listcomp>A  ó    z _py_sameFrag.<locals>.<listcomp>c                    r³   r   r   r´   )Úggr   r   r·   A  r¸   )Ú__dict__r\   )r   rY   Ú_cmpÚfdictÚgdictr   )r¶   r¹   r   Ú_py_sameFrag;  s   $$r¾   z#function %s is not properly definedÚ__main__zÊadd32 asciiBase85Decode asciiBase85Encode
                    calcChecksum escapePDF fp_str hex32
                    instanceStringWidthT1 instanceStringWidthTTF
                    sameFrag unicode2T1)	)z$instanceStringWidthTTF(font,text,10))zfont=TTFont('Vera','Vera.ttf')útext='abcde fghi . jkl ; mno')z7instanceStringWidthT1(font,'abcde fghi . jkl ; mno',10))zCfonts=[getFont('Helvetica')]+getFont('Helvetica').substitutionFontszfont=fonts[0]rÀ   )zescapePDF(text))u   text='abcdefghijklÃ³')z!fp_str(1.23456,2.7891666,2,13,11)r   )zcalcChecksum(text))z.text=5*' abcdefgiijklMnoPQrstuvwxyz1234567890')zhex32(0x12345678)r   )zadd32(0x12345678,123456789)r   )zasciiBase85Encode(src))z-src=5*' abcdefgiijklMnoPQrstuvwxyz1234567890')zasciiBase85Decode(_85text))zD_85text=asciiBase85Encode(5*' abcdefgiijklMnoPQrstuvwxyz1234567890'))Ú	_rl_accelzreportlab.lib.rl_accelú;z0from reportlab.pdfbase.pdfmetrics import getFontz,from reportlab.pdfbase.ttfonts import TTFontzfrom z import rÁ   z)import sys;sys.modules['_rl_accel']=None;ztiming r   r0   z-mtimeitz-s)rC   )r¨   )=Ú_c_funcsÚ	_py_funcsÚlistÚfilterr¤   Ú__all__Ú	reportlabÚgetattrÚtestingÚfnÚDÚexecÚImportErrorÚreportlab.lib.utilsr   r   r   r   r   Úmathr	   Ústructr
   r   r   r(   Ú_fp_strr*   r,   r7   rS   r^   ra   rb   rh   rr   r…   rt   rU   r†   ru   r�   r¦   r¾   ÚglobalsÚGr   ÚRuntimeErrorÚ__name__ÚsysÚ
subprocessr   ÚfunclistÚcmdÚxsÚmodnamer!   Úprintr#   Ú
check_callÚ
executabler   r   r   r   Ú<module>   sÆ   ô€ÿ



P
J


ýýü
ÿ÷í