Ë
    ¡ëiü4  ã            
       ó¢  — 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?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	<   Œ$ [	[.[-e0d.k(  rœdd l1Z1dd l2Z2djg                  d/j	                  «       «      Z4d0D ]o  \  Z5Z6d1D ]e  Z7d2jg                  d3d4d5e7› d6e4› �fe6z   «      Z8e7d7k7  rd8e8z   Z8 e9d9e7› d:e5› �«        e$d;«      D ]#  Z: e2jv                  e1jx                  d<d=e8e5g«       Œ% Œ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      úV/var/www/html/chat/reports/venv/lib/python3.12/site-packages/reportlab/lib/rl_accel.pyú<lambda>r   '   s   € ±C¸³F¸9Ñ4D€ ó    )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   gH¯¼šò×z>Ú0é   ú.Nú )
Úlenr   ÚappendÚabsÚminÚmaxÚintÚ_log_10Ú_fp_fmtsÚjoin)ÚaÚsÚAÚiÚsaÚlÚnÚjs           r   Ú
_py_fp_strr,   )   s  € äˆq‹6�1Š9œ˜q ™tœ¨!¨A©$ aØˆØ�H‰HˆØò 	;ˆAÜ�A“ˆBØ�4Šx™˜3�à˜‘E’K˜aÒE¤3¤s¨1¨a´´G¸B³KÓ0@Ñ.@Ó'BÀ1Ó#E�Ü˜Q‘K ‘M�ÙÜ˜A›�AÙØ˜Q™˜Ø˜Q™4 š9Ø  ™t Sšy¨!¨q©&¨!Ø!ò	 ð
 ˜"˜1˜�AÙ�1�Q‘4˜‘9Ò)¤ A£¨¡	Ò0¨qÒ9°A°a°b°EÕ:ð	;ð �x‰x˜‹{Ðr   ú,g      Ð?c                  ó2   — t        | Ž j                  dd«      S )Nr-   r   )Ú_FP_STRÚreplace)r$   s    r   Ú__py_fp_strr1   B   s   € Ü˜A�;×&Ñ& s¨3Ó/Ð/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ÚextendÚ_py_unicode2T1Ú_notdefFontÚ_notdefChar)	ÚutextÚfontsÚRÚfontÚencr%   ÚeÚi0Úils	            r   r<   r<   G   s  € àˆØ˜A‘h  a b 	ˆeˆØ�l‰lˆØ�c‰>ØˆCÙð#Ü˜UÔ#ØŸ™ SÓ)‘Aà�AØ—‘˜$˜q˜Ô"Øð ˆˆqˆøô &ò #ØŸ™  !˜‘��BÙØ—H‘H˜d 5¨¨" :×#4Ñ#4°SÓ#9Ð:Ô;ÙØ—H‘Hœ^¨E°"°R¨L¸Ó?Õ@à—H‘H˜d×.Ñ.¨t×/?Ñ/?ÀÀBÁÑ/GÐHÔIØ˜b˜c˜
•ûð#úò ø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,_py_instanceStringWidthT1.<locals>.<genexpr>f   s*   è ø€ Òt¹¸¸A”Cœ˜AŸH™H×0Ñ0°Ó3×4Ñtùs   ‚68çü©ñÒMbP?)r   ÚdecoderJ   r<   ÚsubstitutionFonts)ÚselfÚtextÚsizeÚencodings       r   Ú_py_instanceStringWidthT1rX   c   sU   € ä˜Œ t§{¡{°8Ó'< ÜÑtÄÐPTÐVZÐU[Ð\`×\rÑ\rÑUrÓAsÔtÓuÐv{Ñ{ð  }Añ  Að  	A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Úutf8rQ   c              3   óB   •K  — | ]  } ‰t        |«      ‰«      –— Œ y ­wr   )Úord)rN   ÚuÚdwÚgs     €€r   rP   z-_py_instanceStringWidthTTF.<locals>.<genexpr>p   s   øè ø€ Ò:°™q¤ Q£¨Ÿ|Ñ:ùs   ƒ)r   rR   ÚfaceÚ
charWidthsÚgetÚdefaultWidthrJ   )rT   rU   rV   rW   r_   r`   s       @@r   Ú_py_instanceStringWidthTTFre   j   s[   ù€ ä˜ŒØ—;‘;˜xÒ1¨6Ó2ˆDØ�I‰I× Ñ ×$Ñ$ˆØ�Y‰Y×#Ñ#ˆØ�T‰zœ#Ô:°TÔ:Ó;Ñ;Ð;r   Úhex32c                 ó$   — dt        | «      dz  z  S )Nz0X%8.8Xì   ÿÿ )r    )r'   s    r   Ú	_py_hex32ri   t   s   € ØœC ›F :Ñ-Ñ.Ð.r   Úadd32c                 ó   — | |z   dz  S )zCalculate (x + y) modulo 2**32rh   r   )r   Úys     r   rj   rj   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é   r6   ó    z>%dlr5   rh   )r   r   rJ   r   )Údatas    r   Ú_py_calcChecksumrr      sT   € ä˜‹~ˆÜˆt‹9�QŠ;˜t q¬#¨d«)°A©+¡¸Ñ&=Ñ=˜Ü”6˜&¤C¨£I¨q¡LÑ1°4Ó8Ó9¸JÑFÐFr   Ú	escapePDFé   é    é   z\%03oú\ú(ú)c                 óž   — g }| D ]6  }t        |«      t        urt        |«      }|j                  t        |   «       Œ8 dj                  |«      S )NÚ )Útyper    r]   r   Ú_ESCAPEDICTr#   )r%   ÚrÚcs      r   Ú_py_escapePDFr€   ‘   sJ   € ØˆØò 	%ˆAÜ˜“7œc‘>Ü˜“F�Ø�H‰H”[ ‘^Õ$ð	%ð �w‰w�q‹zÐ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 )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.r6   r   Nr   r5   ro   é€   é   é   é   rt   ÚzéU   é±„éí^	 é9  údodgy code!é!   ú rp   ú~>r{   )	r   Údivmodr   r   Úranger]   Ú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   Ú_py_asciiBase85Encoder©   ›   s#  € ô ˜5Ó!ˆä+1´#°e³*¸aÓ+@Ñ(Ð˜.ØÐ"Ñ"ˆØ˜a ˜ e¨C¨D kˆgˆà�i‰iˆÜÐ'Ó(ó 	 ˆAØ�q‘SˆFØ�f‘ˆBØ�f˜Q‘h‘ˆBØ�f˜Q‘h‘ˆBØ�f˜Q‘h‘ˆBÙÜ˜“W�Ü˜“W�Ü˜“W�Ü˜“W�à�#ŠvØ˜q™5 "™* q™¨"Ñ,¨qÑ0°"Ñ4‘à ‘m e¨b¡jÑ0°3¸±8Ñ;¸bÑ@�à�aŠxá�C•ô " # r›?‘��bÜ! $¨Ó+‘��bÜ! $¨Ó+‘��bÜ  bÓ)‘��BØ "™¨%°2©Ñ6¸5ÀB¹,ÑGÈ2ÈbÉ5ÑQÐTVÑVÐZ]Ò]ÐlÐ_lÓlÐ]Ù”C˜˜2™“J”Ù”C˜˜2™“J”Ù”C˜˜2™“J”Ù”C˜˜2™“J”Ù”C˜˜2™“J–ð?	 ðL ˜AÓØ˜œ#˜g›,™±©¸GÑDÑDˆGØ˜‘ˆBØ˜‘ˆBØ˜‘ˆBØ˜‘ˆBÙÜ˜“W�Ü˜“W�Ü˜“W�Ü˜“W�à˜R‘- %¨"¡*Ñ,¨s°R©xÑ7¸"Ñ<ˆCô ˜c 2“‰HˆD�"Ü˜d BÓ'‰HˆD�"Ü˜d BÓ'‰HˆD�"Ü˜D "Ó%‰FˆB�ô ˜2˜b™5“z¤C¨¨2©£JÑ.´°R¸±U³Ñ;¼cÀ"ÀRÁ%»jÑHÌ3ÈrÐRTÉuË:ÑUˆHá�˜˜>¨AÑ-Ð.Ô/ñ 	ˆDŒ	Ø�w‰w�s—|‘|Ó$Ð$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 )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.r{   éþÿÿÿNr�   z+Invalid terminator for Ascii Base 85 Streamr‡   z!!!!!é   r   r�   r   r5   ro   r6   r‰   rŠ   r‹   rˆ   rt   r…   r†   rŒ   ú!)r   r   iÿÿÿ iÿÿ  éÿ   Úlatin1)rC   )r#   r   Úsplitr0   r�   r   r   r‘   r]   r’   r“   r	   )r”   Ústrippedr–   r—   r˜   r™   rš   r›   r'   rœ   r¦   r§   r¥   r¤   r£   r¡   r¢   r    rŸ   r�   rž   r¨   r~   s                          r   Ú_py_asciiBase85Decoder³   î   sr  € ð —7‘7œ8 E›?×0Ñ0Ó2Ó3ˆà˜˜ˆ} Ò$ÐSÐ&SÓSÐ$Ø˜C˜R�=ˆð ×#Ñ# C¨Ó0ˆä+1´#°h³-ÀÓ+CÑ(Ð˜.ð Ð"Ñ"ˆØ   3˜¨°#°$¨ˆgˆà�i‰iˆÜÐ'Ó(ó 	ˆAØ�q‘SˆFÜ�T˜&‘\Ó" RÑ'ˆBÜ�T˜& ™(‘^Ó$ rÑ)ˆBÜ�T˜& ™(‘^Ó$ rÑ)ˆBÜ�T˜& ™(‘^Ó$ rÑ)ˆBÜ�T˜& ™(‘^Ó$ rÑ)ˆBà˜R‘< U¨b¡LÑ1°e¸r±\ÑBÀbÈÁeÑLÈrÑQˆCä˜c #“‰HˆD�"Ü˜d 3Ó'‰HˆD�"Ü˜D #Ó&‰FˆB�à˜8 b™=¨5°2©:Ñ5¸¸b¹Ñ@À2ÑEÒEÐTÀ}ÓTÐEÙ”�B“ŒLÙ”�B“ŒLÙ”�B“ŒLÙ”�B“ŽLð%	ð* ˜AÓÜ�g“, Ò"Ø! C™-�ô �g“, Ó"ä�W˜Q‘Z“ 2Ñ%ˆBÜ�W˜Q‘Z“ 2Ñ%ˆBÜ�W˜Q‘Z“ 2Ñ%ˆBÜ�W˜Q‘Z“ 2Ñ%ˆBÜ�W˜Q‘Z“ 2Ñ%ˆBØ˜‘U˜2‘X˜r‘M "Ñ$ bÑ(¨Ñ+¨RÑ/°2Ø0°Ñ@ñ4Añ BˆCä˜c #“‰HˆD�"Ü˜d 3Ó'‰HˆD�"Ü˜D #Ó&‰FˆB�Ø˜8 b™=¨5°2©:Ñ5¸¸b¹Ñ@À2ÑEÒEÐTÀ}ÓTÐEð  Ò"Ü˜r›7‘Ø 1Ò$Ü˜r›7¤S¨£WÑ,‘Ø 1Ò$Ü˜r›7¤S¨£WÑ,¬s°2«wÑ6‘à�Ù�ŒMà�G‰G�C—L‘LÓ!ˆÜ�q˜XÔ&Ð&r   ÚsameFragc                 óò   — | j                   }|j                   }d|v sd|v sd|v sd|v ry|j                  }|j                  }|D �cg c]
  } ||«      ‘Œ c}|D �cg c]
  } ||«      ‘Œ c}k(  S c c}w c c}w )NÚcbDefnÚ	lineBreakr   )Ú__dict__rc   )r   r`   Ú_cmpÚfdictÚgdictÚfgÚggÚks           r   Ú_py_sameFragr¿   ;  sv   € Ø—
‘
ˆØ—
‘
ˆØ�uÑ ¨uÑ 4¸ÀEÑ8IÈ[Ð\aÑMaÐjkØ�Y‰YˆØ�Y‰YˆØ#Ö$˜!‘�1•Ò$°dÖ&;°¡r¨!¥uÒ&;Ñ;Ð;ùÒ$ùÒ&;s   ÁA/ÁA4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   r5   z-mtimeitz-s)r[   ))ÚfontNameÚfontSizeÚ	textColorÚriseÚus_linesÚlinkÚ	backColorÚnobr)=Ú_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/   r1   r<   rX   re   ri   rj   rr   r}   r‘   r   r]   r’   r€   r©   r³   r¿   ÚglobalsÚGr   ÚRuntimeErrorÚ__name__ÚsysÚ
subprocessr#   ÚfunclistÚcmdÚxsÚmodnamer%   Úprintr'   Ú
check_callÚ
executabler   r   r   ú<module>ré      s¨  ðà€Ø€	ñ ‰v�dð ÷ ‰E‹Góó €ó Ù
�)˜M¨%Ó
0€Øà
ò 
€BØ€AðÙÐ,¨rÑ1°!Ô4Ø˜‘vˆ�‰Ù D�I˜b‘Mñ 	
ð
ñ ßQÕQÝÝàˆyÑØ©¨T«ÒD€GØE€Hòð. ‰j˜ÓÑØˆò	0à$€IˆhÑà�9Ñòð2 -€IˆlÑà˜iÑ'óAð *C€IÐ%Ñ&à˜yÑ(ó<ð +E€IÐ&Ñ'à
ˆiÑò/à"€IˆgÑà
ˆiÑò"ð €IˆgÑà�YÑòGð
 !1€IˆnÑà�)ÑØ€KÙ�3‹Zò $ˆØˆRŠ4�1�c’6Ø$ q™LˆK˜ŠNØ‘3�t“9™S ›X¡c¨#£hÐ/Ñ/Ø!¡# a£&™[ˆK˜ŠNá  ›VˆK˜ŠNð$ð 	
òð +€IˆkÑà˜)Ñ#òO%ð` &;€IÐ!Ñ"à˜)Ñ#òI'ðT &;€IÐ!Ñ"à�Ñó<ð )€IˆjÑá	ƒ)€Ø
ò €BØ˜h™ˆ�Š¨I°b©M€AÙÙÐ@À2ÑEÓFÐFØ€A€b‚Eð	ð
 ˆˆ1àˆZÒßØ�x‰xð +÷ ,1©5«7ó4€Hðò N‰ˆˆBð <ò 
	NˆGØ—‘ØBØ>Ø˜�y ¨¨
Ð3ðð ñ	ó ˆAð
 ˜Ò#Ø?ÀÑA�Ù�G˜G˜9 A c UÐ+Ô,Ù˜1“Xò N�Ø%�
×%Ñ% s§~¡~°jÀÀaÈÐ&LÕMñNñ
	NñNð øð_	 ò Øˆ	�"Œðús   ¹I É 
IÉI