
    Kwg4              
          i Z i Z e ed dj	                                     Zdd lZ eedd      Z[eD ]!  Z	i Z
	  ede	z  e
       e
d   e e	<   erd ee	<   [
# 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ZdZd Zd ed      v reZd Zeed
<   dev r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 Zeed<   dev rd Z e ed<   dev rd Z!e!ed<   dev r^i Z" e#d      D ]H  Z$e$d k  se$d!k\  r	d"e$z  e"e$<   e$ e%d#       e%d$       e%d%      fv rd# e&e$      z   e"e$<   > e&e$      e"e$<   J [$d& Z'e'ed<   d'ev rd( Z(e(ed'<   d)ev rd* Z)e)ed)<   d+ev rd, Z*e*ed+<    e+       Z,eD ]"  Z	e	e v re e	   nee	   Z-e-s e.d-e	z        e-e,e	<   $ [	[-[,e/d.k(  rdd l0Z0dd l1Z1dje                  d/j	                               Z3d0D ]o  \  Z4Z5d1D ]e  Z6d2je                  d3d4d5e6 d6e3 fe5z         Z7e6d7k7  rd8e7z   Z7 e8d9e6 d:e4         e#d;      D ]#  Z9 e1jt                  e0jv                  d<d=e7e4g       % g q y y # e$ r	 d ee	<   Y w xY w)@Nz
        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                      ||       |z  S N )xr
   	_log_e_10s      M/var/www/horilla/myenv/lib/python3.12/site-packages/reportlab/lib/rl_accel.py<lambda>r   '   s    CF94D     )z%.0fz%.1fz%.2fz%.3fz%.4fz%.5fz%.6fc                     t        |       dk(  rt        | d         r| d   } g }|j                  }| D ]  }t        |      }|dk  r	 |d       |dk  xr dxs+ t	        t        ddt        t        |            z
        d      }t        |   |z  }|r0t        |      }|r|dz  }||   dk7  r||   dk7  r|dz  }n|r|d| } ||d   dk7  xs t        |      dk(  xr |xs |dd         dj                  |      S )	zXconvert separate arguments (or single sequence arg) into space separated numeric strings   r   gHz>0   .N )
lenr   appendabsminmaxint_log_10_fp_fmtsjoin)asAisalnjs           r   r   r   )   s   q619qt!A$aHH 	;AAB4x3EKaE3s1aGBK0@.@'B1#EQKMAAQQ49 tSy!q&!!	 
 "1A1Q49)A	0q9AabE:	; xx{r   ,g      ?c                  2    t        |  j                  dd      S )Nr,   r   )_FP_STRreplace)r$   s    r   _fp_strr0   B   s    A;&&s3//r   
unicode2T1c                    g }|d   |dd }}|j                   }d|v rd}| r6	 t        |       r| j                  |      }n| }|j                  ||f       	 |S |S # t        $ r}|j
                  dd \  }}|r%|j                  || d| j                  |      f       |r|j                  t        | || |             n-|j                  |j                  |j                  ||z
  z  f       | |d } Y d}~nd}~ww xY w| r݌)zBreturn a list of (font,string) pairs representing the unicode textr   r   NzUCS-2UTF16      )
encNamer   encoder   UnicodeEncodeErrorargsextendr1   _notdefFont_notdefChar)	utextfontsRfontencr%   ei0ils	            r   r1   r1   G   s   Ahab	ellc>C#U#S)AA$q" q & #!BHHd5":#4#4S#9:;HHZbU;<HHd..t/?/?B/GHIbc
# s   2A 	C8"BC33C8instanceStringWidthT1c                     t        |      s|j                  |      }t        d t        || g| j                  z         D              dz  |z  S )z&This is the "purist" approach to widthc              3   t   K   | ]0  \  }}t        t        |j                  j                  |             2 y wr   )summapwidths__getitem__).0r   ts      r   	<genexpr>z(instanceStringWidthT1.<locals>.<genexpr>f   s*     pACAHH0034ps   68MbP?)r   decoderH   r1   substitutionFonts)selftextsizeencodings       r   rE   rE   c   sJ    t{{8'<pDRVQWX\XnXnQnAopqrwwx|||r   instanceStringWidthTTFc                     t        |      s|j                  |xs d      }| j                  j                  j                  | j                  j
                  d|z  t        fd|D              z  S )zCalculate text widthutf-8rO   c              3   B   K   | ]  } t        |              y wr   )ord)rL   udwgs     r   rN   z)instanceStringWidthTTF.<locals>.<genexpr>p   s     :qQ|:s   )r   rP   face
charWidthsgetdefaultWidthrH   )rR   rS   rT   rU   r\   r]   s       @@r   rV   rV   j   s[    ;;x273DII  $$YY##Tz#:T:;;;r   hex32c                 $    dt        |       dz  z  S )Nz0X%8.8X    )r    )r'   s    r   rb   rb   t   s    CF:-..r   add32c                     | |z   dz  S )zCalculate (x + y) modulo 2**32rd   r   )r   ys     r   re   re   y   s    !z!!r   calcChecksumc                     t        |       } t        |       dz  r| dt        |       dz  z
  dz  z   } t        t        dt        |       dz	  z  |             dz  S )zCalculates TTF-style checksums   r5       z>%dlr4   rd   )r   r   rH   r   )datas    r   rh   rh      sT    ~t9Q;tq#d)A+&==6&CIqL1489JFFr   	escapePDF          z\%03o\()c                     g }| D ]6  }t        |      t        urt        |      }|j                  t        |          8 dj                  |      S )N )typer    rZ   r   _ESCAPEDICTr#   )r%   rcs      r   rm   rm      sJ     	%A7c>FHH[^$	% wwqzr   asciiBase85Encodec                    t        |       }t        t        |       d      \  }}d|z  }| d| | |d }}g j                  }t	        |      D ]S  }|dz  }	||	   }
||	dz      }||	dz      }||	dz      }|r,t        |
      }
t        |      }t        |      }t        |      }|
dk  r|
dz  |z  dz  |z  dz  |z  }nd	|
z  d
|z  z   d|z  z   |z   }|dk(  r	 |d       t        |d      \  }}t        |d      \  }}t        |d      \  }}t        |d      \  }}d|z  d|z  z   d|z  z   d|z  z   |z   |k(  sJ d        |t        |dz                 |t        |dz                 |t        |dz                 |t        |dz                 |t        |dz                V |dkD  r|dt        |      z
  |rdndz  z  }|d   }
|d   }|d   }|d   }|r,t        |
      }
t        |      }t        |      }t        |      }d	|
z  d
|z  z   d|z  z   |z   }t        |d      \  }}t        |d      \  }}t        |d      \  }}t        |d      \  }}t        |dz         t        |dz         z   t        |dz         z   t        |dz         z   t        |dz         z   } ||d|dz            |d       dj                  |j                        S )zEncodes 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.r5   r   Nr   r4   rj               rn   zU   鱄^	 9  dodgy code!!    rk   ~>ru   )	r   divmodr   r   rangerZ   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lastwords                         r   rz   rz      s#    5!+1#e*a+@(.""aeCDkgii'( 	 AqSFfBfQhBfQhBfQhBWWWW#vq5"*q",q0"4mebj038;b@axC "#r?b!$+b!$+bb)B"%265B,G2b5QTVVZ]]l_ll]C2JC2JC2JC2JC2J?	 L A#g,GDDGBBBBWWWWR-%"*,sRx7"<C c2HD"dB'HD"dB'HD"D"%FB 2b5zC2J.RU;c"R%jH3rRTu:UH>A-./ 	D	wws||$$r   asciiBase85Decodec                 (   dj                  t        |       j                               }|dd dk(  sJ d       |dd }|j                  dd      }t	        t        |      d      \  }}d|z  }|d	| ||d }}g j                  }t        |      D ]  }|dz  }	t        ||	         d
z
  }
t        ||	dz            d
z
  }t        ||	dz            d
z
  }t        ||	dz            d
z
  }t        ||	dz            d
z
  }d|
z  d|z  z   d|z  z   d|z  z   |z   }t	        |d      \  }}t	        |d      \  }}t	        |d      \  }}|d|z  d|z  z   d|z  z   |z   k(  sJ d        |t        |              |t        |              |t        |              |t        |              |d	kD  rCt        |      dk  r|dz   }t        |      dk  rt        |d	         d
z
  }
t        |d         d
z
  }t        |d         d
z
  }t        |d         d
z
  }t        |d         d
z
  }d|
z  |z   dz  |z   dz  |z   dz  |d|   z   z   }t	        |d      \  }}t	        |d      \  }}t	        |d      \  }}|d|z  d|z  z   d|z  z   |z   k(  sJ d       |dk(  rt        |      }nH|dk(  rt        |      t        |      z   }n+|dk(  r$t        |      t        |      z   t        |      z   }nd} ||       dj                  |j                        }t        |d      S )zDecodes input using ASCII-Base85 coding.

        This is not normally used - Acrobat Reader decodes for you
        - but a round trip is essential for testing.ru   Nr   z+Invalid terminator for Ascii Base 85 Streamr   z!!!!!   r   r   r   r4   rj   r5   r   r   r   r   rn   r~   r   r   !)r   r   i i     latin1)rA   )r#   r   splitr/   r   r   r   r   rZ   r   r   r	   )r   strippedr   r   r   r   r   r   r'   r   r   r   r   r   r   r   r   r   r   r   r   r   rx   s                          r   r   r      sr    778E?0023}$S&SS$CR= ##C0+1#h-+C(. "" 3#$gii'( 	AqSFT&\"R'BT&(^$r)BT&(^$r)BT&(^$r)BT&(^$r)BR<UbL1er\BbeLrQCc#HD"d3'HD"D#&FB8b=52:5b@2EET}TEBLBLBLBL%	* Ag,"!C- g,"WQZ2%BWQZ2%BWQZ2%BWQZ2%BWQZ2%BU2XrM"$b(+R/20@4A BCc#HD"d3'HD"D#&FB8b=52:5b@2EET}TE "r71$r7SW,1$r7SW,s2w6MGGCLL!qX&&r   sameFragc                     t        | d      s$t        |d      st        | d      st        |d      rydD ]  }t        | |d      t        ||d      k7  s y y)z+returns 1 if two ParaFrags map out the samecbDefn	lineBreakr   )fontNamefontSize	textColorriseus_lineslink	backColornobrNr   )hasattrgetattr)r   r]   r$   s      r   r   r   ;  sX    Ah71X#61[)WQ{-CQg 	>Aq4 '!Ad"33A	>r   z#function %s is not properly defined__main__zadd32 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   r4   z-mtimeitz-s)utf8)rX   )<_c_funcs	_py_funcslistfilterr   __all__	reportlabr   testingfnDexecImportErrorreportlab.lib.utilsr   r   r   r   r	   mathr
   structr   r!   r"   r   r0   r.   r1   rE   rV   rb   re   rh   rw   r   ry   rZ   r   rm   rz   r   r   globalsGr   RuntimeError__name__sys
subprocessr#   funclistcmdxsmodnamer%   printr'   
check_call
executabler   r   r   <module>r      s  	 vd  EG  
)M%
0
 
BA,r1!4vDIbM 	

 QQyTDGEH. fTl	0 Ih92 )Ili'} *?I%&y(< +AI&'
i/Ig
i" IgYG
 !-In)K3Z $R41c6$qLKN3t9SXc#h//!#a&[KN VKN$ 	
 'Ik)#O%` &7I!")#I'T &7I!" %Ij	)
 BhIbMA@2EFFAbE	
 1Zxx + ,1574H NB < 
	NGB>y
3 	 A
 #?AGG9AcU+,1X N%
%%s~~ja&LMN
	NN _	  	"s   H??
II