§
    £”j¢°  ã                   ó
  — d Z dZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
 ddlmZmZ ddlmZ ddlmZ ddlmZmZ d	d
lmZmZmZmZ ddlmZ  G d„ d¦  «        Z e¦   «         Z	 ddlZ ej        ¦   «         dk    Z n	#  dZ Y nxY wd„ Z! G d„ d¦  «        Z" e#e"j$        ¦  «        fd„Z%["d„ Z&e'e(ffd„Z)d„ Z* e#d¦  «        Z+e,e-fZ.d„ Z/d“d„Z0d“d„Z1d“d„Z2d“d„Z3d„ Z4d„ Z5d„ Z6d „ Z7d!„ Z8d"„ Z9d#„ Z:d“d$„Z;d%„ Z<d&„ Z=d'„ Z>d(„ Z?ddl@Z@ eAe@d)¦  «        ZB[@d*„ ZCd”d+„ZDd,„ ZEd”d-„ZFd•d/„ZG G d0„ d1eH¦  «        ZIejJ        d2k    rddlKZKddlLZLd3d4d4d5d6d6d7d7d8d9d:d:d;d<d=œZMd–d?„ZNnd—d@„ZNddlOZOejP         Q                    eOjR        ¦  «        ZSejP         T                    eS¦  «        reSpejP         U                    eS¦  «        ZV[O	 eR n#  ejW        d         ZRY nxY wddlXZXddlYZY	 eZZ[e[ Z\ eFe[¬A¦  «        s e]dBe[z  ¦  «        ‚ejP         ^                    ejP         _                    e[j`        ¦  «        ¦  «        Zaeaejb        z   ZcejP         Q                    ea¦  «        Zdedejb        z   Ze efec¦  «        Zg efee¦  «        ZheceeeaedejP        j_        ejP        j^        eji        ejb         efejb        ¦  «        f	dC„ZjdD„ ZkeXjX        eYjY        eVejP        jl        fdE„Zmn0#  ejP         n                    eR¦  «        Z\dZ[dF„ ZkeXjX        fdG„ZmY nxY w[X[Ye\o:ejP         n                    ejP         o                    eR¦  «        d         dHz   ¦  «        ZpdI„ ZqdJ„ ZrdK„ ZsdL„ Zt eAedMdN„ ¦  «        Zud˜dO„ZveduZw G dP„ dQ¦  «        ZxdR„ Zyd”dS„ZzdT„ Z{d™dV„Z|ddWl}m~Z~mZ ddXl€m�Z�m‚Z‚ d”dY„Zƒd™dZ„Z„d™d[„Z…dšd]„Z†ejP        jn        fd^„Z‡ejP        jˆ        ejP        j_        fd_„Z‰ejP        jˆ        ejP        j_        ejŠ        fd`„Z‹ejP        jn        ejP        j_        ejP        jŒ        ej�        fda„ZŽddblm�Z� dc„ Z‘dd„ Z’de„ Z“ G df„ dg¦  «        Z” G dh„ die”¦  «        Z•dj„ Z– G dk„ dl¦  «        Z—dm„ Z˜dn„ Z™d›do„Zš G dp„ dq¦  «        Z› G dr„ ds¦  «        Zœdt„ Z�du„ Zždv„ ZŸdw„ Z ddl¡Z¡dx„ Z¢dy„ Z£dz„ Z¤dœd|„Z¥d�d„Z¦d€„ Z§ G d�„ d‚e,¦  «        Z¨ G dƒ„ d„e,¦  «        Z©d…„ Zª G d†„ d‡ej«        ¦  «        Z¬ G dˆ„ d‰¦  «        Z­d”dŠ„Z®d‹„ Z¯dŒ„ Z°d�„ Z±dŽ„ Z² G d�„ d�¦  «        Z³ G d‘„ d’¦  «        Z´ e´¦   «         Z´dS )žz3.5.34z6Gazillions of miscellaneous internal utility functionsé    N)Úliteral_eval)ÚdecodebytesÚencodebytes)ÚBytesIO)Úmd5)Úget_rl_tempfileÚget_rl_tempdiré   )Úrl_safe_execÚrl_safe_evalÚsafer_globalsÚrl_extended_literal_eval)ÚImagec                   ó>   — e Zd Zed„ ¦   «         Zed„ ¦   «         ZeZdS )Ú	__UNSET__c                  ó   — dS )NF© r   ó    úb/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/reportlab/lib/utils.pyÚ__bool__z__UNSET__.__bool__   s   € àˆur   c                  ó   — dS )Nr   r   r   r   r   Ú__str__z__UNSET__.__str__   s   € àˆ{r   N)Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr   r   Ú__repr__r   r   r   r   r      sE   € € € € € Øðð ñ „\ðàðð ñ „\ðà€H€H€Hr   r   ÚPyPyFc                 óL   — t          | ¦  «        t          t          ¦  «        k    S ©N)ÚtypeÚ
isFunction©Úvs    r   r"   r"   !   s   € Ý�‰7Œ7•d�:Ñ&Ô&Ò&Ð&r   c                   ó   — e Zd Zd„ ZdS )Úcc                 ó   — d S r    r   ©Úselfs    r   Úmzc.m%   s   € € € r   N)r   r   r   r*   r   r   r   r&   r&   $   s   € € € € € ØÐÐÐÐr   r&   c                 ó(   — t          | ¦  «        |k    S r    )r!   )r$   Úmts     r   ÚisMethodr-   '   s   € Ý�‰7Œ7�bŠ=Ðr   c                 óL   — t          | ¦  «        t          t          ¦  «        k    S r    )r!   Úsysr#   s    r   ÚisModuler0   +   s   € Ý�‰7Œ7•d�3‘i”iÒÐr   c                 ó"   — t          | |¦  «        S r    )Ú
isinstance)r$   Ú_sts     r   ÚisSeqr4   .   s   € Ý�a˜ÑÔÐr   c                 ó,   — t          | t          ¦  «        S r    ©r2   Ústrr#   s    r   ÚisNativer8   1   ó   € Ý�a�ÑÔÐr   c                 ó�   — t          t          | ¦  «        r| n|                      d¦  «        d¬¦  «                             ¦   «         S )NÚutf8F)Úusedforsecurity)r   ÚisBytesÚencodeÚ	hexdigest©Úss    r   Ú	_digesterrB   9   s<   € Ý•G˜A‘J”JÐ4ˆqˆq A§H¢H¨VÑ$4Ô$4ÀUÐKÑKÔK×UÒUÑWÔWÐWr   r;   c           	      óÌ   — t          | t          ¦  «        r| S 	 |                      |¦  «        S #  t          dt	          | ¦  «        ›dt	          |¦  «        ›d�¦  «         Y d S xY w)NzasBytes(ú,enc=ú	) error: )r2   Úbytesr>   ÚannotateExceptionÚascii©r$   Úencs     r   ÚasBytesrK   <   si   € Ý�!•EÑÔÐ$ 1˜HðPØ�xŠx˜‰}Œ}ÐøðPÝÐ½%À¹(¼(¸(¸(Å5ÈÁ:Ä:À:À:ÐNÑOÔOÐOÐOÐOÐOøøøó	   ™. ®2A#c           	      óÌ   — t          | t          ¦  «        r| S 	 |                      |¦  «        S #  t          dt	          | ¦  «        ›dt	          |¦  «        ›d�¦  «         Y d S xY w)Nz
asUnicode(rD   rE   )r2   r7   ÚdecoderG   rH   rI   s     r   Ú	asUnicoderO   C   si   € Ý�!•CÑÔÐ" ˜(ðRØ�xŠx˜‰}Œ}ÐøðRÝÐ½EÀ!¹H¼H¸H¸HÅUÈ3ÁZÄZÀZÀZÐPÑQÔQÐQÐQÐQÐQøøørL   c           	      ó  — t          | t          ¦  «        r| S 	 t          | t          ¦  «        r|                      |¦  «        nt          | ¦  «        S #  t	          dt          | ¦  «        ›dt          |¦  «        ›d�¦  «         Y d S xY w)NzasUnicodeEx(rD   rE   )r2   r7   rF   rN   rG   rH   rI   s     r   ÚasUnicodeExrQ   J   s‚   € Ý�!•CÑÔÐ" ˜(ðTÝ *¨1­UÑ 3Ô 3Ð?ˆq�xŠx˜‰}Œ}ˆ}½¸Q¹¼Ð?øðTÝÐ½eÀA¹h¼h¸h¸hÅuÈSÁzÄzÀzÀzÐRÑSÔSÐSÐSÐSÐSøøøs   ™8A Á2Bc                 ó$   — t          | |¬¦  «        S )N)rJ   )rO   rI   s     r   ÚasNativerS   Q   s   € Ý�Q˜3ÐÑÔÐr   c                 ó"   — t          | g¦  «        S r    )rF   )Úis    r   Úint2ByterV   T   s   € Ý�!�‰:Œ:Ðr   c                 ó:   — t          | t          t          f¦  «        S r    )r2   r7   rF   r#   s    r   ÚisStrrX   W   s   € Ý�a�#�e˜Ñ%Ô%Ð%r   c                 ó,   — t          | t          ¦  «        S r    )r2   rF   r#   s    r   r=   r=   Z   s   € Ý�a�ÑÔÐr   c                 ó,   — t          | t          ¦  «        S r    r6   r#   s    r   Ú	isUnicoder[   ]   r9   r   c                 ó,   — t          | t          ¦  «        S r    ©r2   r!   r#   s    r   ÚisClassr^   `   s   € Ý�a�ÑÔÐr   c                 óè  — t          | t          t          t          t          t
          t          t          t          t          t          t          t          t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        f¦  «         S r    )r2   ÚfloatÚintr!   ÚtupleÚlistÚdictr7   rF   ÚcomplexÚboolÚsliceÚ_rl_NoneTypeÚtypesÚFunctionTypeÚ
LambdaTypeÚCodeTypeÚMappingProxyTypeÚSimpleNamespaceÚGeneratorTypeÚ
MethodTypeÚBuiltinFunctionTypeÚBuiltinMethodTypeÚ
ModuleTypeÚTracebackTypeÚ	FrameTypeÚGetSetDescriptorTypeÚMemberDescriptorType)Úxs    r   ÚisNonPrimitiveInstancery   c   sˆ   € Ý˜!�U¥3¥t­Eµ$µt½CÅÅgÍdÕSXÕYeÝÔ�5Ô+­E¬NÝÔ�uÔ4ÝÔ�EÔ,­UÔ-FÝÔ¥Ô 0µÔ1DÝŒ�Ô2µ5Ô3MðOñ Pô Pð Pð Pr   c                 ó.   — t          | t          ¦  «         S r    r]   r#   s    r   Úinstantiatedr{   k   s   € Ý˜!�DÑ!Ô!Ð!Ð!r   c                 óÈ   — t          | t          ¦  «        r|                      |¦  «        S t          | t          ¦  «        r| S t          | ¦  «                             |¦  «        S r    )r2   r7   r>   rF   )rx   rJ   s     r   Úbytestrr}   n   sS   € Ý�!•CÑÔð "Ø�xŠx˜‰}Œ}ÐÝ	�A•eÑ	Ô	ð "Øˆå�1‰vŒv�}Š}˜SÑ!Ô!Ð!r   c                 óª   — t          t          | ¦  «                             d¦  «        ¦  «                             ¦   «                              d¦  «        S ©NrH   )Úbase64_encodebytesrH   r>   ÚstriprN   )Úargss    r   Úencode_labelrƒ   v   s>   € Ý�e D™kœk×0Ò0°Ñ9Ô9Ñ:Ô:×@Ò@ÑBÔB×IÒIÈ'ÑRÔRÐRr   c                 ó†   — t          t          |                      d¦  «        ¦  «                             d¦  «        ¦  «        S r   )r   Úbase64_decodebytesr>   rN   )Úlabels    r   Údecode_labelr‡   y   s3   € ÝÕ*¨5¯<ª<¸Ñ+@Ô+@ÑAÔA×HÒHÈÑQÔQÑRÔRÐRr   c                 óZ   — t          | t          ¦  «        s|                      d¦  «        n| S ©zconverts first 256 unicodes 1-1Úlatin1)r2   r7   rN   r@   s    r   Ú
rawUnicoder‹   |   s(   € å%/°µ#Ñ%6Ô%6Ð=ˆ1�8Š8�HÑÔÐ¸AÐ=r   c                 óZ   — t          | t          ¦  «        r|                      d¦  «        n| S r‰   )r2   r7   r>   r@   s    r   ÚrawBytesr�   €   s(   € å!+¨A­cÑ!2Ô!2Ð9ˆ1�8Š8�HÑÔÐ¸Ð9r   Úexecc                 ó¢   — t          | t          ¦  «        r| n8t          t          | t          ¦  «        r| n|                      d¦  «        ¦  «        S )NrŠ   )r2   ra   Úordr7   rN   r@   s    r   Úchar2intr‘   †   sC   € Ý˜A�cÑ"Ô"Ð[ˆAˆA­µ¸A½cÑ1BÔ1BÐ,Z¨A¨AÈÏÊÐQYÑHZÔHZÑ([Ô([Ð[r   c                 óB   — |j         |ur|                     |¦  «        ‚|‚r    )Ú__traceback__Úwith_traceback)Útr$   Úbs      r   Ú
rl_reraiser—   ˆ   s(   € Ø„˜aÐÐØ×Ò˜qÑ!Ô!Ð!Ø
€Gr   c                  ód   — dd l }|                      ¦   «         D ]\  }}t          |||¦  «         Œd S ©Nr   )ÚbuiltinsÚitemsÚsetattr)Úkwdrš   Úkr$   s       r   Úrl_add_builtinsrŸ   Œ   sE   € Ø€O€O€OØ�yŠy‰{Œ{ð ð ‰ˆˆ!Ý�˜˜1ÑÔÐÐðð r   c                 ó²   — 	 | st          j        d¦  «        j        d         } ddlm} t          | |¦  «        rt          | j        ¦  «        r| nd S #  Y d S xY w)Nr
   Ú
__loader__r   )Úzipimporter)r/   Ú	_getframeÚ	f_globalsÚ	zipimportr¢   r2   ÚlenÚ_files)Úldrr¢   s     r   ÚzipImportedr©   ‘   sn   € ðØð 	;Ý”- Ñ"Ô"Ô,¨\Ô:ˆCØ)Ð)Ð)Ð)Ð)Ð)Ý   [Ñ1Ô1ÐOµc¸#¼*±o´oÐOˆsˆsÈ4ÐOøðØˆtˆtøøøs   ‚AA ÁAú.ttfc                 ó4  — ddl m}m}m} ddlm} |                     ¦   «         }g }|j        }| D ]g} ||¦  «        sŒ ||¦  «        D ]M}	 |||	¦  «        }	 ||	¦  «        r4|r'|	                     ¦   «                              |¦  «        r ||	¦  «         ŒNŒh|S )Nr   )ÚisfileÚisdirÚjoin)Úlistdir)	Úos.pathr¬   r­   r®   Úosr¯   ÚlowerÚappendÚendswith)
ÚdirListÚextr¬   r­   Ú	path_joinr¯   ÚRÚAÚDÚfns
             r   Ú
_findFilesr¼   š   sÜ   € Ø8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ð8ØÐÐÐÐÐØ
�)Š)‰+Œ+€CØ
€AØ	Œ€AØð Kð KˆØˆu�Q‰xŒxÐ!˜Ø�'˜!‘*”*ð 	Kð 	KˆBØ�˜1˜R‘”ˆBØˆv�b‰zŒzÐJ 3ÐJ¨"¯(ª(©*¬*×*=Ò*=¸cÑ*BÔ*BÐJÀQÀQÀrÁUÄUÀUøð	Kð €Hr   c                   óF   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zdd„Zd„ Z	d	„ Z
d
„ ZdS )ÚCIDictc                 ód   — |D ]}|                       |¦  «         Œ|                       |¦  «         d S r    )Úupdate)r)   r‚   ÚkwdsÚas       r   Ú__init__zCIDict.__init__¨   s5   € ØÐ%Ð%ˆA�t—{’{ 1‘~”~�~�~Ø�Š�DÑÔÐÐÐr   c                 óD   — |                      ¦   «         D ]
\  }}|| |<   Œd S r    )r›   )r)   rº   rž   r$   s       r   rÀ   zCIDict.update¬   s)   € Ø—7’7‘9”9Ð)Ð)‰CˆAˆa¨˜d 1™g˜gÐ)Ð)r   c                 óx   — 	 |                      ¦   «         }n#  Y nxY wt                               | ||¦  «         d S r    )r²   rd   Ú__setitem__©r)   rž   r$   s      r   rÆ   zCIDict.__setitem__¯   sB   € ð	Ø—’‘	”	ˆAˆAøð	ØˆDøøøÝ×Ò˜˜a Ñ"Ô"Ð"Ð"Ð"ó   ‚ —c                 ór   — 	 |                      ¦   «         }n#  Y nxY wt                               | |¦  «        S r    )r²   rd   Ú__getitem__©r)   rž   s     r   rÊ   zCIDict.__getitem__¶   ó:   € ð	Ø—’‘	”	ˆAˆAøð	ØˆDøøøÝ×Ò  QÑ'Ô'Ð'rÈ   c                 ór   — 	 |                      ¦   «         }n#  Y nxY wt                               | |¦  «        S r    )r²   rd   Ú__delitem__rË   s     r   rÎ   zCIDict.__delitem__½   rÌ   rÈ   Nc                 ó8   — 	 | |         S # t           $ r |cY S w xY wr    )ÚKeyError)r)   rž   Údvs      r   Úgetz
CIDict.getÄ   s4   € ð	Ø˜”7ˆNøÝð 	ð 	ð 	ØˆIˆIˆIð	øøøs   ‚
 Š˜c                 ó(   — 	 | |          dS #  Y dS xY w)NTFr   rË   s     r   Ú__contains__zCIDict.__contains__Ê   s%   € ð	Ø�ŒGˆGØ�4øð	Ø�5�5øøøs   ‚ Œc                 ób   — 	 |                      ¦   «         }n#  Y nxY wt          j        | |f|z   Ž S r    )r²   rd   Úpop©r)   rž   rÂ   s      r   rÖ   z
CIDict.popÑ   s9   € ð	Ø—’‘	”	ˆAˆAøð	ØˆDøøøÝŒx˜4 ˜( 1™*Ð&Ð&rÈ   c                 ób   — 	 |                      ¦   «         }n#  Y nxY wt          j        | |f|z   Ž S r    )r²   rd   Ú
setdefaultr×   s      r   rÙ   zCIDict.setdefaultØ   s9   € ð	Ø—’‘	”	ˆAˆAøð	ØˆDøøøÝŒ $ q ¨!¡Ð-Ð-rÈ   r    )r   r   r   rÃ   rÀ   rÆ   rÊ   rÎ   rÒ   rÔ   rÖ   rÙ   r   r   r   r¾   r¾   §   s    € € € € € ðð ð ð*ð *ð *ð#ð #ð #ð(ð (ð (ð(ð (ð (ðð ð ð ðð ð ð'ð 'ð 'ð.ð .ð .ð .ð .r   r¾   Úmac)ÚoglezBMP )rÛ   ÚEPSF)rÛ   ÚGIFf)rÛ   ÚJPEG)ÚttxtÚPICT)rÛ   ÚPNGf)rÛ   z.PPM)rÛ   ÚTIFF)ÚCAROzPDF )ÚMSIEÚTEXT)ÚBMPÚEPSrÜ   ÚGIFÚJPGrÞ   ÚPCTrà   ÚPNGÚPPMÚTIFrâ   ÚPDFÚHTMLrî   c                 óô   — 	 |�|€.|�,	 t           |                     ¦   «                  \  }}n#  Y d S xY wt          j        | ¦  «                             ||¦  «         t          j        | ¦  «         d S #  Y d S xY wr    )Ú_KNOWN_MAC_EXTÚupperÚmacfsÚFSSpecÚSetCreatorTypeÚ
macostoolsÚtouched)ÚfilenameÚcreatorcodeÚfiletyper¶   s       r   Úmarkfilenamerû   ô   s‹   € ð		ØÐ" hÐ&6¸3¸?ðÝ,:¸3¿9º9¹;¼;Ô,GÑ)�K  øðØ�F�FøøøÝŒL˜Ñ"Ô"×1Ò1°+¸hÑGÔGÐGÝÔ˜xÑ(Ô(Ð(Ð(Ð(øð	ØˆDˆDøøøs"   ‚A2 ‰", «A2 ¬1®A2 ±?A2 Á2A7c                 ó   — d S r    r   )rø   rù   rú   s      r   rû   rû      s   € Øˆr   )r¨   z#can't handle compact distro type %rc
                 ó2  —  ||                       d|¦  «        ¦  «        }  || ¦  «        }
|
||fv rdS |
                     |¦  «        rd| t          d…         fS |
                     |¦  «        rd| t          d…         fS  | |¦   «         ¦  «        }t	          |¦  «        }|
                     |¦  «        rA| |d…                              |¦  «        rd| ||	z   d…         fS |t	          | ¦  «        k    rdS t
          j                             | ¦  «         | fS )z3if the name starts with a known prefix strip it offú/)r
   Ú r
   N)ÚreplaceÚ
startswithÚ_archivepfxlenÚ_archivedirpfxlenr¦   r±   ÚpathÚisabs)r»   Ú_archivepfxÚ_archivedirpfxÚ_archiveÚ_archivedirÚos_path_normpathÚos_path_normcaseÚ	os_getcwdÚos_sepÚ
os_sep_lenÚnfnÚcwdÚns                r   Ú__startswith_rlr    s*  € ð Ð˜bŸjšj¨¨VÑ4Ô4Ñ5Ô5ˆØÐ˜rÑ"Ô"ˆØ�;˜xÐ(Ð(Ð(°°Ø�>Š>˜+Ñ&Ô&ÐD¨q°µN°O°OÔ1DÐ/DÐ(DØ�>Š>˜.Ñ)Ô)ÐJ°!°BÕ7HÐ7IÐ7IÔ4JÐ2JÐ+JØÐ˜y˜y™{œ{Ñ+Ô+ˆÝ�‰HŒHˆØ�>Š>˜#ÑÔð 	'Ø�!�"�"Œv× Ò  Ñ(Ô(ÐE°°B°q¸±|°}°}Ô4EÐ1EÐ*EØ•#�b‘'”'Šzˆz $ $Ý”7—=’= Ñ$Ô$Ð$ RÐ'Ð'r   c                 ó,   — t          | ¦  «        d         S )Nr
   )r  ©r»   s    r   Ú_startswith_rlr  3  s   € Ý˜rÑ"Ô" 1Ô%Ð%r   c                 ó2  — t          | ¦  «        \  }} ||¦  «        }|s|g k    rq|t          t          t          |fd„t          t	          ||fd„t          t
          j                             ¦   «         ¦  «        ¦  «        ¦  «        ¦  «        ¦  «        z  }|S )Nc                 ó$   —  |t           | ¦  «        S r    )r  )rx   rº   Úpjoins      r   ú<lambda>zrl_glob.<locals>.<lambda>:  s   € ¸e¸eÅKÐPQÑ>RÔ>R€ r   c                 ó   —  || |¦  «        S r    r   )rx   ÚpfnÚfnmatchs      r   r  zrl_glob.<locals>.<lambda>:  s.   € ð  BIð  BIð  JKð  LOñ  BPô  BP€ r   )r  rc   Úmapr  ÚfilterÚ__rl_loader__r§   Úkeys)ÚpatternÚglobr  Ú_RL_DIRr  r&   r  Úrs           r   Úrl_globr%  6  sæ   € Ý  Ñ)Ô)‰ˆˆ3ØˆD�‰IŒIˆØð 	v��2’�Ø••c¥[°uÐRÐRÐRÕSWÕX^ÐloÐxð  `Pð  `Pð  `Põ  QUõ  Vcô  Vj÷  Voò  Voñ  Vqô  Vqñ  Qrô  Qrñ  Ysô  Ysñ  Ttô  Ttñ  uô  uñ  vô  vñ  vˆAØˆr   c                 ó   — | S r    r   r  s    r   r  r  ?  s   € Øˆ	r   c                 ó   —  || ¦  «        S r    r   )r!  r"  s     r   r%  r%  A  s   € Øˆt�G‰}Œ}Ðr   ú.pyc                  ó   — t           S )z*return truth if a file system distribution©Ú_isFSDr   r   r   ÚisFileSystemDistror,  F  s   € å€Mr   c                  ó   — t            S )z.return truth if not a file system distributionr*  r   r   r   ÚisCompactDistror.  J  s
   € åˆ:Ðr   c                  ó   — t           S )z1return truth if a source file system distribution)Ú_isFSSDr   r   r   ÚisSourceDistror1  N  s   € å€Nr   c                 ó´   — t           j                             t           j                             t           j                             | ¦  «        ¦  «        ¦  «        S r    )r±   r  ÚnormcaseÚabspathÚnormpath)Úps    r   Únormalize_pathr7  R  s6   € ÝŒ7×Ò�BœGŸOšO­B¬G×,<Ò,<¸QÑ,?Ô,?Ñ@Ô@ÑAÔAÐAr   Úinvalidate_cachesc                  ó   — d S r    r   r   r   r   r  r  U  s   € ÈT€ r   c                 ó  — d„ t           j        D ¦   «         }|rOt          |t          t          f¦  «        r|n|fD ]-}|r)t          |¦  «        }||vr|                     d|¦  «         Œ.|rGddt          d¦  «        fD ]3}||v r-|rt          d|z  ¦  «         |                     |¦  «         ||v °-Œ4n-t          j
        ¦   «         }||vr|                     d|¦  «         t           j        }	 |t           _        t          ¦   «          |�rt          ¦   «          t          d¦  «         t          dt          | ¦  «        z  ¦  «         t          dt          t          j
        ¦   «         ¦  «        z  ¦  «         t          d	t          t           j        ¦  «        z  ¦  «         t          d
t          d| z  ¦  «        ›dt          t          j                             d| z  ¦  «        ¦  «        ›�¦  «         t          dt          |¦  «        z  ¦  «         t          d¦  «         t          j        | ¦  «        |t           _        t          ¦   «          |r t          dt!          |¦  «        z  ¦  «         S S # t"          $ r6 t%          d| ›dt           j        ›dt          j
        ¦   «         ›�¦  «         Y n` t%          dt'          t          j        ¦   «         d         ¦  «        ›d| ›dt           j        ›dt          j
        ¦   «         ›�¦  «         Y nxY w|t           _        t          ¦   «          |r!t          dt!          |¦  «        z  ¦  «         dS dS # |t           _        t          ¦   «          |r t          dt!          |¦  «        z  ¦  «         w w xY w)zEDynamically imports possible packagized module, or raises ImportErrorc                 ó,   — g | ]}t          |¦  «        ‘ŒS r   )r7  )Ú.0r6  s     r   ú
<listcomp>z#recursiveImport.<locals>.<listcomp>Y  s    € Ð0Ð0Ð0 !�N˜1ÑÔÐ0Ð0Ð0r   r   rÿ   ú.zremoved "%s" from pathz++++++++++++++++++++z+++++ modulename=%sz+++++ cwd=%sz+++++ sys.path=%sz+++++ os.paths.isfile(z./%s.pyz)=z+++++ opath=%sz--------------------z===== restore sys.path=%szCould not import z
using sys.path z in cwd=z
Exception r
   z while importing N)r/   r  r2   rc   rb   r7  ÚinsertÚprintÚremover±   ÚgetcwdÚ_importlib_invalidate_cachesrH   r¬   Ú	importlibÚimport_moduleÚreprÚImportErrorrG   r7   Úexc_info)Ú
modulenameÚbaseDirÚnoCWDÚdebugr  r6  Úopaths          r   ÚrecursiveImportrN  W  s£  € à0Ð0¥s¤xÐ0Ñ0Ô0€DØð 3Ý& wµµU¨|Ñ<Ô<ÐL��À7À*ð 	3ð 	3ˆAØð 3Ý" 1Ñ%Ô%�Ø˜D�=�= $§+¢+¨a°Ñ"2Ô"2Ð"2øØð Ø�S�¨Ñ,Ô,Ð-ð 	ð 	ˆAØ�t�)�)ØÐ=�%Ð 8¸1Ñ <Ñ=Ô=Ð=Ø—’˜A‘”�ð �t�)�)øð	õ
 ŒI‰KŒKˆØ�Dˆ=ˆ=Ø�KŠK˜˜!ÑÔÐõ ŒH€Eð=Ø�ŒÝ$Ñ&Ô&Ð&Øñ 	Ý‰GŒGˆGÝ�&‰MŒMˆMÝÐ'­%°
Ñ*;Ô*;Ñ;Ñ<Ô<Ð<Ý�.¥5­¬©¬Ñ#5Ô#5Ñ5Ñ6Ô6Ð6ÝÐ%­­c¬h©¬Ñ7Ñ8Ô8Ð8ÝˆEµE¸)ÀJÑ:NÑ4OÔ4OÐ4OÐ4OÕQVÕWYÔW^×WeÒWeÐfoÐpzÑfzÑW{ÔW{ÑQ|ÔQ|ÐQ|Ð}Ñ~Ô~Ð~ÝÐ"¥U¨5¡\¤\Ñ1Ñ2Ô2Ð2Ý�&‰MŒMˆMÝÔ& zÑ2Ô2ð �ŒÝ$Ñ&Ô&Ð&Øð 	=ÝÐ-µ°U±´Ñ;Ñ<Ô<Ð<Ð<ð	=øõ ð ð ð ÝÐØ�
�
�3œ8˜8˜8¥B¤I¡K¤K Kð1ñ 	ô 	ð 	ð 	ð 	ðJÝÐÝ•C”L‘N”N 1Ô%Ñ&Ô&Ð&Ð&¨
¨
¨
µ3´8°8°8½B¼I¹K¼K¸KðIñ 	Jô 	Jð 	Jð 	Jð 	Jøøøð �ŒÝ$Ñ&Ô&Ð&Øð 	=ÝÐ-µ°U±´Ñ;Ñ<Ô<Ð<Ð<Ð<ð	=ð 	=øð �ŒÝ$Ñ&Ô&Ð&Øð 	=ÝÐ-µ°U±´Ñ;Ñ<Ô<Ð<Ð<ð	=øøøs&   Ã+EI- É-=L	Ê*M Ê,AL	ÌM Í>N	c                   ó   — e Zd ZdZd„ ZdS )ÚArgvDictValuezGA type to allow clients of getArgvDict to specify a conversion functionc                 ó"   — || _         || _        d S r    )ÚvalueÚfunc)r)   rR  rS  s      r   rÃ   zArgvDictValue.__init__‰  s   € ØˆŒ
ØˆŒ	ˆ	ˆ	r   N)r   r   r   Ú__doc__rÃ   r   r   r   rP  rP  ‡  s)   € € € € € ØQÐQðð ð ð ð r   rP  c                  óž  — d„ }t           j        dd…         }i }|                      ¦   «         D ]ž\  }}t          |t          ¦  «        r|j        |j        }}nd}d}|dz   }|D ]W}	|	                     |¦  «        r@|	t          |¦  «        d…         }
| 	                    |	¦  «          |||
|¦  «        ||<   d} nŒX|s ||||¦  «        ||<   ŒŸ|S )zæ Builds a dictionary from its keyword arguments with overrides from sys.argv.
        Attempts to be smart about conversions, but the value can be an instance
        of ArgDictValue to allow specifying a conversion function.
    c                 óê  — |r ||¦  «        } nät          | ¦  «        r|} nÒt          | t          ¦  «        rt          |¦  «        } n­t          | t          ¦  «        rt          |¦  «        } nˆt          | t          ¦  «        rt	          t          |¦  «        i ¦  «        } nUt          | t          ¦  «        rt          t          |¦  «        i ¦  «        } n"t          d|›dt          | ¦  «        ›�¦  «        ‚| S )NzCan't convert string z to )	rX   r2   r`   ra   rc   r   rb   Ú	TypeErrorr!   )r$   ÚavrS  s      r   ÚhandleValuez getArgvDict.<locals>.handleValue’  sî   € Øð 	PØ��R‘”ˆAˆAå�Q‰xŒxð PØ��Ý˜A�eÑ$Ô$ð 	PÝ˜"‘I”I��Ý˜A�cÑ"Ô"ð PÝ˜‘G”G��Ý˜A�dÑ#Ô#ð PÝ� bÑ)Ô)¨"Ñ-Ô-��Ý˜A�eÑ$Ô$ð PÝ�, rÑ*Ô*¨2Ñ.Ô.��å�iÀ2À2À2ÅdÈ1ÁgÄgÀgÐ NÑOÔOÐOØˆr   r
   Nr   ú=)
r/   Úargvr›   r2   rP  rR  rS  r  r¦   rA  )ÚkwrY  r¹   r¸   rž   r$   rS  ÚhandledÚkerÂ   rX  s              r   ÚgetArgvDictr_  �  s  € ð
ð ð õ$ 	Œ���Œ€AØ
€AØ—’‘
”
ð 5ð 5‰ˆˆ1Ý�a�Ñ&Ô&ð 	Ø”g˜qœvˆtˆAˆAàˆDØˆØˆs‰UˆØð 	ð 	ˆAØ�|Š|˜BÑÔð Ø•s˜2‘w”w�x�x”[�Ø—’˜‘”�Ø"�{ 1 R¨Ñ-Ô-��!‘Ø�Ø�ðð Ð4˜{˜{¨1¨Q¨tÑ4Ô4˜˜!™øà€Hr   c                 ó  — 	 ddl m} | €Bt          j                             t          j                             t          ¦  «        d¦  «        }  || ¦  «        S # t          $ r}t          |¦  «        dk    r‚ Y d }~d S d }~ww xY w)Nr   )ÚHyphenzhyphen.mashedzNo module named pyHnj)	Úreportlab.lib.pyHnjra  r±   r  r®   ÚdirnameÚ__file__rG  r7   )ÚhDictra  ÚerrMsgs      r   ÚgetHyphenaterrg  ¹  sŽ   € ðØ.Ð.Ð.Ð.Ð.Ð.Øˆ=¥¤§¢­R¬W¯_ª_½XÑ-FÔ-FÀÑ WÔ W˜%Øˆv�e‰}Œ}ÐøÝð ð ð Ýˆv‰;Œ;Ð/Ò/Ð/°Øˆtˆtˆtˆtˆtøøøøðøøøs   ‚AA Á
B Á!A;Á;B c                 ó®   — 	 | j         j        }|                     d¦  «        }|dk    r||dz   d…         S |S # t          $ r t	          | ¦  «        cY S w xY w)zReturn a shortened class namer>  r   r
   N)Ú	__class__r   ÚrfindÚAttributeErrorr7   )r)   ÚnamerU   s      r   Ú
_classNamerm  Â  sl   € ðØŒ~Ô&ˆØ
�*Š*�S‰/Œ/ˆØˆaŠ4ˆ4˜˜Q˜q™S˜T˜Tœ
Ð"ØˆøÝð ð ð Ý�4‰yŒyÐÐÐðøøøs   ‚38 ¶8 ¸AÁAr–   c                 óL  — d|vrd|z   }	 t          | |¦  «        S # t          $ r~ t          st          €‚ t	          | ¦  «        } t                               | ¦  «        }d|vr0t          j        dk    r |                     t          j        d¦  «        }t          |¦  «        cY S w xY w)Nr$  r–   ú
)
ÚopenÚIOErrorr+  r  r  Úget_datar±   Úlinesepr   r   )rl  ÚmoderA   s      r   Úopen_for_read_by_nameru  Ì  s«   € Ø
�$€€˜s 4™x˜ð	Ý�D˜‰ŒÐøÝð ð ð ÝÐ1•]Ð*¨Eõ ˜dÑ#Ô#ˆÝ×"Ò" 4Ñ(Ô(ˆØ�dˆ?ˆ?�rœz¨4Ò/Ð/°Q·Y²Y½r¼zÈ$Ñ5OÔ5O°Ý�q‰zŒzÐÐÐðøøøs   ‹ ›BB#Â"B#)ÚunquoteÚurlparse)ÚurlopenÚRequestc                 óž   — |d k    ri }|                      dd¦  «         t          t          | |¬¦  «        ¦  «                             ¦   «         S )Nz
User-AgentÚReportLabAgent)Úheaders)rÙ   rx  ry  Úread)rl  r|  s     r   Ú	rlUrlReadr~  Û  sM   € Ø�‚}€} �gØ×Ò�|Ð$4Ñ5Ô5Ð5Ý•7˜4¨Ð0Ñ0Ô0Ñ1Ô1×6Ò6Ñ8Ô8Ð8r   c                 ó.  ‡‡‡‡— t           fd„ŠddlmŠmŠ ‰rYdd l}dd lŠˆfd„}|                     d                     dd                     t          |‰¦  «        ¦  «        df¦  «        ¦  «        Šdˆˆˆfd
„	}|t          ¦   «         d<    || |¦  «        S )Nc                 ó�  — 	 |                       dd¦  «        \  }}n# t          $ r t          dd¦  «        ‚w xY w|sd}|                     d¦  «        }|dk    r$d||d	…         vr||dz   d	…         }|d	|…         }nd
}|dk    r#t	          |                     d¦  «        ¦  «        }n ||¦  «                             d¦  «        }|S )zUse "data" URL.ú,r
   z
data errorzbad data URLztext/plain;charset=US-ASCIIú;r   rZ  Nrÿ   Úbase64rH   zlatin-1)ÚsplitÚ
ValueErrorrq  rj  r…   r>   )Úurlrv  ÚtypÚdataÚsemiÚencodings         r   Ú
datareaderz!open_for_read.<locals>.datareaderå  sí   € ð	8ØŸ	š	 # qÑ)Ô)‰IˆC��øÝð 	8ð 	8ð 	8Ý˜,¨Ñ7Ô7Ð7ð	8øøøàð 	0Ø/ˆCØ�yŠy˜‰~Œ~ˆØ�1Š9ˆ9˜ C¨¨¨¤JÐ.Ð.Ø˜4 ™6˜7˜7”|ˆHØ�e�t�e”*ˆCˆCàˆHØ�xÒÐå% d§k¢k°'Ñ&:Ô&:Ñ;Ô;ˆDˆDà�7˜4‘=”=×'Ò'¨	Ñ2Ô2ˆDØˆs   ‚ œ7r   )ÚtrustedHostsÚtrustedSchemesc                 óv   •—  ‰j         | ¦  «        } |                      d¦  «        r
| dd…         n	| d d…         S )Nz(?s:é   éýÿÿÿiùÿÿÿ)Ú	translater  )rA   r  s    €r   Úxrezopen_for_read.<locals>.xre  s@   ø€ Ø!�Ô! !Ñ$Ô$ˆAØŸlšl¨6Ñ2Ô2Ð>�1�Q�r�T”7�7¸¸#¸2¸#¼Ð>r   rÿ   z^(?:ú|z)\Zr–   c                 ó´  •— t          | d¦  «        r| S 	 t          | |¦  «        S #  	 ‰�Ut          | ¦  «        }|d         r>|d         dv s‰                     |d         ¦  «        r
|d         ‰v st	          d¦  «        ‚t           | dd…                              ¦   «         dk    r‰nt          | ¦  «        ¦  «        cY S #  t          d	| z  ¦  «        ‚xY wxY w)
z)attempt to open a file or URL for readingr}  Nr   )rˆ  Úfiler
   zAttempted untrusted host accessé   zdata:zCannot open resource "%s")	Úhasattrru  rw  Úmatchr…  r   r²   r~  rq  )rl  rt  Úpurlr‹  rŒ  r�  s      €€€r   Úopen_for_readz$open_for_read.<locals>.open_for_read	  s  ø€ å�4˜ÑÔÐ,¨ ð
	BÝ(¨¨dÑ3Ô3Ð3øð	BðBØÐ+Ý# D™>œ>�DØ˜A”wð L¨¨a¬°OÐ)CÐ)CÀ|×GYÒGYÐZ^Ð_`ÔZaÑGbÔGbÐ)CÐimÐnoÔipð  uCð  jCð  jCÝ(Ð)JÑKÔKÐKÝÐ V¨d°2°A°2¬h¯nªnÑ.>Ô.>ÀÒ.GÐ.G 
 
ÍYÐX\Ñ]Ô]Ñ^Ô^Ð^Ð^Ð^øðBÝÐ9¸DÑ@ÑAÔAÐAøøøøøøs!   •% ¥C¨BC Â=CÃ CÃCrš  ©r–   )
rv  Úreportlab.rl_configrŒ  r�  Úrer  Úcompiler®   r  Úglobals)	rl  rt  r�  r’  rš  r‹  r  rŒ  r�  s	        @@@@r   rš  rš  à  s  øøøø€ õ
 !(ð ð ð ð ð6 AÐ@Ð@Ð@Ð@Ð@Ð@Ð@Øð *ØÐÐÐÐÐÐÐð	?ð 	?ð 	?ð 	?ð 	?ð —z’z "§'¢'¨6Ø #§¢­¨S°Ñ)>Ô)>Ñ ?Ô ?Ø &ð+(ñ #)ô #)ñ *ô *ˆðBð Bð Bð Bð Bð Bð Bð Bð "/…G�I„IˆoÑØˆ=˜˜dÑ#Ô#Ð#r   c                 óÒ   — t          | |¦  «        }| |ur@t          |d¦  «        r0|5  |                     ¦   «         cd d d ¦  «         S # 1 swxY w Y   d S |                     ¦   «         S )NÚ__exit__)rš  r—  r}  )rl  rt  Úfs      r   Úopen_and_readr£    s¬   € Ý�d˜4Ñ Ô €AØ�1€}€}�  :Ñ.Ô.€}Øð 	ð 	Ø—6’6‘8”8ð	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	ð �vŠv‰xŒxˆs   §AÁAÁAr•   c                 óH   — t          | |¦  «                             d¦  «        S ©Nro  )r£  r„  )rl  rt  s     r   Úopen_and_readlinesr¦  "  s    € Ý˜˜dÑ#Ô#×)Ò)¨$Ñ/Ô/Ð/r   c                 óØ   — t          | d¦  «        rdS  || ¦  «        rdS t          st          €dS t          | ¦  «        } | t	          t          j                             ¦   «         ¦  «        v S )Nr}  TF)r—  r+  r  r  rc   r§   r   )r»   Úos_path_isfiles     r   Ú	rl_isfiler©  %  sh   € Ýˆr�&ÑÔÐ& $ $Ø€~�bÑÔÐ& $ $ÝÐ4•Ð&¨u¨uÝ	˜Ñ	Ô	€BØ••mÔ*×/Ò/Ñ1Ô1Ñ2Ô2Ð2Ð2r   c                 ó|  —  || ¦  «        rdS t           st          €dS t           || ¦  «        ¦  «        } |                      t          j        ¦  «        s| t          j        z  } t          t          t          | fd„t          t          j	         
                    ¦   «         ¦  «        ¦  «        ¦  «        ¦  «        dk    S )NTFc                 ó,   — |                       |¦  «        S r    )r  )rx   Úpns     r   r  zrl_isdir.<locals>.<lambda>1  s   € ¨1¯<ª<¸Ñ+;Ô+;€ r   r   )r+  r  r  r´   r±   Úsepr¦   rc   r  r§   r   )r¬  Úos_path_isdirr
  s      r   Úrl_isdirr¯  ,  s¢   € Ø€}�RÑÔÐ%  ÝÐ4•Ð&¨u¨uÝ	Ð(Ð(¨Ñ,Ô,Ñ	-Ô	-€BØ�;Š;•r”vÑÔÐ, ¥b¤f¡ Ý�t•F rÐ;Ð;Ð;½DÅÔAU×AZÒAZÑA\ÔA\Ñ<]Ô<]Ñ^Ô^Ñ_Ô_Ñ`Ô`ÐabÒbÐbr   c                 ó,  ‡ —  |‰ ¦  «        st           st          € |‰ ¦  «        S t           |‰ ¦  «        ¦  «        Š ‰                      t          j        ¦  «        s‰ t          j        z  Š ˆ fd„t          j                             ¦   «         D ¦   «         S )Nc                 óh   •— g | ].}|                      ‰¦  «        ¯|t          ‰¦  «        d …         ‘Œ/S r    )r  r¦   )r<  rx   r¬  s     €r   r=  zrl_listdir.<locals>.<listcomp>7  s8   ø€ ÐQÐQÐQ˜AÀÇÂÈRÑ@PÔ@PÐQˆA�c�"‰gŒgˆhˆhŒKÐQÐQÐQr   )r+  r  r  r´   r±   r­  r§   r   )r¬  r®  r
  Ú
os_listdirs   `   r   Ú
rl_listdirr³  3  sŠ   ø€ Ø€}�RÑÔÐR�FÐR¥mÐ&;ÀJÀJÈrÁNÄNÐ=RÝ	Ð(Ð(¨Ñ,Ô,Ñ	-Ô	-€BØ�;Š;•r”vÑÔÐ, ¥b¤f¡ ØQÐQÐQÐQ¥Ô!5×!:Ò!:Ñ!<Ô!<ÐQÑQÔQÐQr   c                 óh  —  || ¦  «        st           st          € || ¦  «        S t           || ¦  «        ¦  «        }	 t          j        |         }n# t          $ r  || ¦  «        cY S w xY w|d         }|d         } ||dz	  dz  dz   |dz	  dz  |dz  |dz	  dz  |dz	  d	z  |dz  d
z  dddf	¦  «        S )Nr–  é   é	   é   i¼  é   é   é   é?   r
   r   )r+  r  r  r§   rÐ   )	r¬  r¨  r
  Úos_path_getmtimeÚtime_mktimer6  ÚerA   Úds	            r   Úrl_getmtimerÀ  9  sü   € Ø€~�bÑÔÐY�VÐY¥}Ð'<ÐEUÐEUÐVXÑEYÔEYÐ>YÝÐ'Ð'¨Ñ+Ô+Ñ,Ô,€Að$ÝÔ  Ô#ˆˆøÝð $ð $ð $ØÐ Ñ#Ô#Ð#Ð#Ð#ð$øøøà	ˆ!Œ€AØ	ˆ!Œ€AØˆ;˜!˜Q™$ ™ dÑ*¨A¨q©D°#©:°a¸±f¸aÀ¹eÀT¹\È1ÈaÉ4ÐQUÉ+ÐWXÐY]ÑW]Ð`aÑVaÐbcÐdeÐfgÐhÑiÔiÐis   ¾A ÁA)Á(A))Úutilc                 ó<  — dD ]‹}t           j                             || |z   ¦  «        }t           j                             |¦  «        rGt	          j        | |¦  «        }t	          j        |¦  «        }|j                             |¦  «         |c S ŒŒt          d¦  «        ‚)N)r(  z.pywz.pyoz.pycz.pydzno suitable file found)
r±   r  r®   r¬   Úimportlib_utilÚspec_from_file_locationÚmodule_from_specÚloaderÚexec_modulerG  )rl  Údirr¶   r  ÚspecÚmodules         r   Ú__rl_get_module__rË  E  s—   € Ø2ð ð ˆÝŒw�|Š|˜C  S¡Ñ)Ô)ˆÝŒ7�>Š>˜$ÑÔð 	Ý!Ô9¸$¸tÑDÔDˆDÝ#Ô4°TÑ:Ô:ˆFØŒK×#Ò# FÑ+Ô+Ð+ØˆMˆMˆMð		õ
 Ð.Ñ
/Ô
/Ð/r   c                 ón  — | t           j        v r t           j        |          }t           j        | = nd }	 	 t          | |¦  «        |r|t           j        | <   S S #  t          ¦   «         r¤dd l}t          |¦  «        }|dk    s| rt          pBt          j         	                    t          | 
                    dt          j        ¦  «        ¦  «        }|                     |¦  «        }|                     | ¦  «        cY |r|t           j        | <   S S t          | ›d|›d�¦  «        ‚xY w# |r|t           j        | <   w xY w)Nr   r>  rþ   ú[ú])r/   ÚmodulesrË  r.  r¥   r  r  r±   r  r®   r   r­  r¢   Úload_modulerG  )rl  rÈ  Úomr¥   Úzis        r   Úrl_get_modulerÓ  O  sI  € Ø�sŒ{ÐÐÝŒ[˜ÔˆÝŒK˜ÐÐàˆð&ð
	5Ý$ T¨#Ñ.Ô.ð Ð% 2�sŒ{˜4Ñ Ð Ð%øð	5ÝÑ Ô ð ,à Ð Ð Ð Ý$ SÑ)Ô)�Ø˜C’xÐ* s 7Ð8µÐj½B¼G¿LºLÍÐRU×R]ÒR]Ð^aÕbdÔbhÑRiÔRiÑ<jÔ<j�Ø×*Ò*¨3Ñ/Ô/�Ø—~’~ dÑ+Ô+Ð+Ð+ð Ð% 2�sŒ{˜4Ñ Ð Ð%õ ¨$¨$¨$¨s¨s¨sÐ3Ñ4Ô4Ð4øøøøàÐ% 2�sŒ{˜4Ñ Ð%Ð%Ð%Ð%s$   ³A ÁB DÃ5D! Ä	DÄD! Ä!D4c                 óZ   — 	 t          | t          j        ¦  «        S # t          $ r Y dS w xY wr™   )r2   r   rk  )Úims    r   Ú_isPILImagerÖ  d  s;   € ðÝ˜"�Uœ[Ñ)Ô)Ð)øÝð ð ð Øˆqˆqðøøøs   ‚ œ
*©*c                   ó€   — e Zd ZdZi ZdZdd„Zd„ Zd„ Ze	d„ ¦   «         Z
e	dd„¦   «         Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ ZdS )ÚImageReaderz%Wraps up PIL to get data from bitmapsNc                 óþ  — t          |t          ¦  «        r|j        | _        d S || _        || _        d | _        d | _        d | _        d | _        d | _	        t          |¦  «        rY|| _        t          |dd ¦  «        | _        	 | j        j        | _        d S # t          $ r dt          | ¦  «        z  | _        Y d S w xY w	 ddlm} |dk    rt#          d¦  «        ‚t%          |d¦  «        }t          |t&          ¦  «        s8|t'          |                     ¦   «         ¦  «        }}|                     ¦   «          ~|| _        |                      | j        ¦  «        | _        t          |t.          ¦  «        r|nt1          |¦  «        | j        _        |                      | j        ¦  «         t          | j        dd ¦  «        dk    r| j        | _        d S d S #  t9          d	|›d
|                      ¦   «         ›�¦  «         Y d S xY w)NÚfpzPILIMAGE_%dr   )ÚimageReaderFlagszYimageReaderFlags values other than 0 are no longer supported; all images are interned nowr–   ÚformatrÞ   z

fileName=z
 identity=)r2   rØ  Ú__dict__Ú_identÚfileNameÚ_imageÚ_widthÚ_heightÚ_transparentÚ_datarÖ  ÚgetattrrÚ  rk  Úidrœ  rÛ  r…  rš  r   r}  ÚcloseÚ_read_imager7   rF  Úcheck_pil_image_sizeÚ_jpeg_fhÚjpeg_fhrG   Úidentity)r)   rß  ÚidentrÛ  rÚ  Útfps         r   rÃ   zImageReader.__init__n  s  € Ý�h�{Ñ+Ô+ð 	Ø$Ô-ˆDŒMØˆFØˆŒð !ˆŒØˆŒØˆŒØˆŒØ ˆÔØˆŒ
Ý�xÑ Ô ð 	ZØ"ˆDŒKÝ˜h t¨DÑ1Ô1ˆDŒGð9Ø $¤Ô 4�”��øÝ!ð 9ð 9ð 9Ø -µ°4±´Ñ 8�”���ð9øøøðZØ@Ð@Ð@Ð@Ð@Ð@Ø# qÒ(Ð(Ý$ð  &Añ  Bô  Bð  BÝ" 8¨CÑ0Ô0�Ý! "¥gÑ.Ô.ð Ø ¥'¨"¯'ª'©)¬)Ñ"4Ô"4˜�CØ—I’I‘K”K�KØØ�”Ø"×.Ò.¨t¬wÑ7Ô7�”Ý3=¸hÅsÑ3KÔ3KÐ'_ x xÕQUÐV^ÑQ_ÔQ_�”Ô$Ø×)Ò)¨$¬+Ñ6Ô6Ð6Ý˜4œ; x°Ñ5Ô5°vÒ=Ð=Ø#'¤=�D”L�L�Lð >Ð=øðZÝ!Ð!¸x¸x¸xÈÏÊÉÌÈÐ"XÑYÔYÐYÐYÐYÐYøøøs   ÂB Â!B:Â9B:Â>DG Ç)G<c                 óú   — | j         }t          |¦  «        s t          t          | dd¦  «        dd¦  «        }| j        }d| j        j        ›dt          t          | ¦  «        ¦  «        ›|rd|z  pd›|rd|z  pd›d	�S )
z9try to return information that will identify the instancerÚ  Nrl  rÍ  ú@z	 ident=%rrÿ   z filename=%rrÎ  )rß  rX   rå  rÞ  ri  r   Úhexræ  )r)   r»   rí  s      r   rì  zImageReader.identity•  s¹   € àŒ]ˆÝ�R‰yŒyð 	>Ý�  d¨4Ñ0Ô0°¸Ñ=Ô=ˆBØ”ˆˆØ $¤Ô 7Ð 7Ð 7½½B¸t¹H¼H¹¼¸ÀeÐFeÐQ\Ð_dÑQdÐFkÐikÐFkÐlnð  mIð  uCð  FHñ  uHð  mOð  MOð  mOð  mOð  Pð  	Pr   c                 ó*   — t          j        |¦  «        S r    )r   rp  ©r)   rÚ  s     r   rè  zImageReader._read_image�  s   € ÝŒz˜"‰~Œ~Ðr   c                 óê   — | j         }|€d S |j        \  }}|j        }t          d|dk    rdndt	          |¦  «        z  |z  |z  dz	  ¦  «        }||k    rt          d|›d|›d|›d|›d	|›d
�¦  «        ‚d S )Nr
   Ú1é   é   zPIL ú z x z image would use z > z bytes)Ú_max_image_sizeÚsizert  Úmaxr¦   ÚMemoryError)ÚclsrÕ  Úmax_image_sizeÚwÚhr*   rú  s          r   ré  z ImageReader.check_pil_image_size   s©   € àÔ,ˆØÐ! 6 6ØŒw‰ˆˆ1ØŒGˆÝ�1˜A˜sšF˜F�q�q¨­#¨a©&¬&©°!Ñ3°AÑ5¸Ñ9Ñ:Ô:ˆØ�ÒÐÝ�+Ø./¨a¨a°°°°!°!°!°D°D°D¸¸¸ðIñ Jô Jð Jð Ðr   c                 óH   — || _         |�ddlm}  || j        ¦  «         d S d S )Nr   ©Úregister_reset)rù  rœ  r  Úset_max_image_size)rý  rþ  r  s      r   r  zImageReader.set_max_image_sizeª  sC   € à,ˆÔØÐ%Ø:Ð:Ð:Ð:Ð:Ð:ØˆN˜3Ô1Ñ2Ô2Ð2Ð2Ð2ð &Ð%r   c                 ó>   — | j         }|                     d¦  «         |S r™   )rÚ  Úseekró  s     r   rê  zImageReader._jpeg_fh±  s   € ØŒWˆØ
�Š�‰
Œ
ˆ
Øˆ	r   c                 ó   — d S r    r   r(   s    r   rë  zImageReader.jpeg_fh¶  s   € Øˆtr   c                 ól   — | j         �| j        €| j        j        \  | _         | _        | j         | j        fS r    )rá  râ  rà  rú  r(   s    r   ÚgetSizezImageReader.getSize¹  s3   € ØŒKÐ 4¤<Ð#7Ø(,¬Ô(8Ñ%ˆDŒK˜œØ”˜Tœ\Ð*Ð*r   c                 ól  — 	 | j         �€yd| _        | j        }|j        x}| _        |dv r˜t	          t
          dd¦  «                             d¦  «        r|                     ¦   «          t          | 	                    ¦   «         |dk    rdnd         ¦  «        | _        |dd	…         }| 
                    |¦  «        }|| _        n–|d
vr’|j        dk    rk|j        dk    r`d|j        v rW| 
                    d¦  «        }t          | 	                    ¦   «         d         ¦  «        | _        | 
                    d¦  «        }n| 
                    d¦  «        }d| _         t          |d¦  «        r|j        n|j        ¦   «         | _         | j         S #  t!          d|                      ¦   «         z  ¦  «         Y dS xY w)z'Return byte array of RGB data as stringN)ÚLAÚRGBAÚVERSIONrÿ   z1.1.7r  r÷  r
   éÿÿÿÿ)ÚLÚRGBÚCMYKrë   ÚPÚtransparencyr  Útobytesz
identity=%s)rä  Ú_dataArà  rt  rå  r   r  ÚloadrØ  r„  ÚconvertrÜ  Úinfor—  r  ÚtostringrG   rì  )r)   rÕ  rt  Únms       r   Ú
getRGBDatazImageReader.getRGBData¾  s”  € ð	?ØŒzÑ!Ø"�”Ø”[�Ø#%¤7Ð*��t”yØ˜=Ð(Ð(Ý�u Y¨rÑ2Ô2×=Ò=¸gÑFÔFð "ØŸš™	œ	˜	Ý"-¨b¯hªh©j¬j¸dÀFºl¸l¸¸ÐPQÔ.RÑ"SÔ"S�D”KØ˜c˜r˜cœ�BØŸš B™œ�BØ "�D”I�IØÐ!3Ð3Ð3Ø”y %Ò'Ð'¨B¬G°SªL¨L¸^ÈrÌwÐ=VÐ=VØŸZšZ¨Ñ/Ô/˜Ý&1°"·(²(±*´*¸Q´-Ñ&@Ô&@˜œØŸZšZ¨Ñ.Ô.˜˜àŸZšZ¨Ñ.Ô.˜Ø %�D”IØS­G°B¸	Ñ,BÔ,BÐS˜bœj˜jÈÌÑVÔV�”
Ø”:Ðøð	?Ý˜o¨d¯mªm©o¬oÑ=Ñ>Ô>Ð>Ð>Ð>Ð>øøøs   ‚FF
 Æ
&F3c                 ó^   — |                       ¦   «         \  }}|||                      ¦   «         fS r    )r	  r  )r)   ÚwidthÚheights      r   ÚgetImageDatazImageReader.getImageDataÙ  s*   € ØŸš™œ‰ˆˆvØ�f˜dŸošoÑ/Ô/Ð/Ð/r   c                 óÂ   — d| j         j        v rP| j         j        d         dz  }| j         j        }	 |j        }n#  	 |j        }n	#  Y Y d S xY wY nxY w|||dz   …         S d S )Nr  r÷  )rà  r  Úpaletterˆ  )r)   r  r!  s      r   ÚgetTransparentzImageReader.getTransparentÝ  s‰   € Ø˜Tœ[Ô-Ð-Ð-Øœ;Ô+¨NÔ;¸aÑ?ˆLØ”kÔ)ˆGð Ø!œ/��øð ð Ø%œl�G�Gøð Ø˜4˜4˜4øøøð �Gøøøð ˜<¨°Q©Ð6Ô7Ð7à�4s&   ±9 ¹A¼AÁAÁA
ÁAÁ
Ar    )r   r   r   rT  Ú_cacherù  rÃ   rì  rè  Úclassmethodré  r  rê  rë  r	  r  r  r"  r   r   r   rØ  rØ  j  sö   € € € € € Ø+Ð+Ø€FØ€Oð%Zð %Zð %Zð %ZðNPð Pð Pðð ð ð ðJð Jñ „[ðJð ð3ð 3ð 3ñ „[ð3ðð ð ð
ð ð ð+ð +ð +ð
?ð ?ð ?ð60ð 0ð 0ðð ð ð ð r   rØ  c                   ó   — e Zd ZdS )ÚLazyImageReaderN)r   r   r   r   r   r   r&  r&  ì  s   € € € € € Ø€Dr   r&  c                 óŽ   — 	 |                       ¦   «         S # t          $ r$ t          | ¦  «                              ¦   «         cY S w xY w)z<Get width, height and RGB pixels from image file.  Wraps PIL)r  rk  rØ  )ÚimageFileNames    r   r  r  ï  sT   € ð9Ø×)Ò)Ñ+Ô+Ð+øÝð 9ð 9ð 9Ý˜=Ñ)Ô)×6Ò6Ñ8Ô8Ð8Ð8Ð8ð9øøøs   ‚ –+AÁAc                   ó¦   — e Zd ZdZdd„Zd„ Zd	„ Zd
„ Zd„ Zd„ Z	d„ Z
d„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZeeeedœZd„ Zd„ Zd„ Zd„ Zd„ ZdS )Ú	DebugMemoaÅ  Intended as a simple report back encapsulator

    Typical usages:
        
    1. To record error data::
        
        dbg = DebugMemo(fn='dbgmemo.dbg',myVar=value)
        dbg.add(anotherPayload='aaaa',andagain='bbb')
        dbg.dump()

    2. To show the recorded info::
        
        dbg = DebugMemo(fn='dbgmemo.dbg',mode='r')
        dbg.load()
        dbg.show()

    3. To re-use recorded information::
        
        dbg = DebugMemo(fn='dbgmemo.dbg',mode='r')
            dbg.load()
        myTestFunc(dbg.payload('myVar'),dbg.payload('andagain'))

    In addition to the payload variables the dump records many useful bits
    of information which are also printed in the show() method.
    úrl_dbgmemo.dbgrÿ  r
   r   Nc           
      óh
  ‡‡— dd l }|| _        |st          j        | _        n-t	          |d¦  «        r|| _        nt          |d¦  «        | _        |dk    rd S i x| _        }	|rVt          j        ¦   «         dk    r?dd l}
t          ¦   «         }|
 
                    d |¦  «         |                     ¦   «         |	d<   t          j        ¦   «         }t          j        |¦  «        }t          j                             |¦  «        }|rt          j        |¦  «        pd}t          j                             t          j                             t          j        d         ¦  «        ¦  «        }d}d }	 dd l}|                     t*                               d¦  «        ¦  «        }|d         }n#  Y nxY wt          j        Št1          ‰                     ¦   «         ¦  «        }|                     ¦   «          |	                     i d	t9          j        t9          j        t9          j        ¦   «         ¦  «        ¦  «        “d
t          j        “dt          j         “dtC          t          j"        ¦  «        “dt          j#        “dt          j$        “dt          j%        “dt          j        “dt          j        “d|“d| &                    ¦   «         “d|“d|“dt          j'        “dtQ          t          dd¦  «        “dtQ          t          dd¦  «        “dtQ          t          dd¦  «        “tQ          t          dd¦  «        d )                    dgˆfd„|D ¦   «         z   ¦  «        tU          t*          ¦  «        ||d œ¥¦  «         t          d!ft          d"ffD ]>\  }}|D ]6}t	          ||¦  «        r$	  tQ          ||¦  «        ¦   «         |	|<   Œ/#  Y Œ3xY wŒ7Œ?||k    r3	 |	                     |t          j        |¦  «        d#œ¦  «         n#  Y nxY w|r~t          j                             t          j        d         ¦  «        }t          j         +                    |¦  «        r0	 |t          |d$¦  «         ,                    ¦   «         f|	d%<   n#  Y nxY wi }t          j-         .                    ¦   «         D ]w\  }Š|d&k    s"|d'k    s|d d(…         d)k    s|d d*…         d+k    rJˆfd,„d-D ¦   «         }d.„ |D ¦   «         r0|d         gd/„ |d0d …         D ¦   «         z   }t_          |¦  «        ||<   Œx||	d1<   i | j        d2<   |  0                    |¦  «         d S )3Nr   Úwriterÿ  )NNNÚ__tracebackz???zmeta_data.marÚproject_versionÚgmtÚplatformÚversionÚ
hexversionÚ
executableÚexec_prefixÚprefixr  r[  r  ÚhostnameÚlcwdÚlpcwdÚ	byteorderÚmaxintÚ
maxunicodez????Úapi_versionÚversion_infoÚwinverz
			rÿ   c                 ó*   •— g | ]}|›d ‰|         ›�‘ŒS )rZ  r   )r<  rž   Úenvs     €r   r=  z&DebugMemo.__init__.<locals>.<listcomp>C  s)   ø€ Ð<]Ð<]Ð<]ÐVWÈÈÈÈ#ÈaÌ&È&Ð=QÐ<]Ð<]Ð<]r   )r?  Úenvironmentr  Úproject_meta_datar/  )ÚgetwindowsversionÚgetfilesystemencoding)ÚunameÚctermidÚgetgidÚgetuidÚgetegidÚgeteuidÚgetloginÚ	getgroupsÚgetpgrpÚgetpidÚgetppid)ÚexedÚlexedr$  Ú__scriptÚ	reportlabÚrlextraé
   z
reportlab.rö  zrlextra.c                 ó2   •— g | ]}t          ‰|d ¦  «        ‘ŒS r    )rå  )r<  rx   r*   s     €r   r=  z&DebugMemo.__init__.<locals>.<listcomp>c  s%   ø€ ÐVÐVÐV¨1•W˜Q˜q Ñ&Ô&ÐVÐVÐVr   )Ú__version__Ú__path__rd  c                 ó   — g | ]}|¯|‘ŒS r   r   ©r<  Ú_fs     r   r=  z&DebugMemo.__init__.<locals>.<listcomp>d  s   € Ð)Ð)Ð)˜2 bÐ)�BÐ)Ð)Ð)r   c                 ó   — g | ]}|¯|‘ŒS r   r   r[  s     r   r=  z&DebugMemo.__init__.<locals>.<listcomp>e  s   € Ð!;Ð!;Ð!;¨¸Ð!; "Ð!;Ð!;Ð!;r   r
   Ú__module_versionsÚ	__payload)1Úsocketr»   r/   Ústdoutr—  rp  ÚstorerH  Ú	tracebackr   Ú	print_excÚgetvaluer±   rB  r¯   r  rc  r4  r[  ÚmarshalÚloadsr  rr  Úenvironrc   r   ÚsortrÀ   ÚtimeÚasctimeÚgmtimer1  r2  rñ  r3  r4  r5  r6  Úgethostnamer:  rå  r®   rF  r¬   r}  rÏ  r›   rb   Ú_add)r)   r»   rt  Ú	getScriptrÏ  Úcapture_tracebackra  r\  r`  rb  rc  rA   r  r8  Úpcwdr9  rQ  r/  Úmdrf  ÚKÚMr¹   rÂ   Úmodule_versionsr  r$   rA  r*   s                              @@r   rÃ   zDebugMemo.__init__  sp  øø€ ØˆˆˆØˆŒØð 	/Ýœ*ˆDŒKˆKå�v˜gÑ&Ô&ð /Ø$�”�å" 6¨#Ñ.Ô.�”Ø�Š9ˆ9�f�fØÐˆŒ
�UØð 	0¥¤¡¤Ð3CÒ!CÐ!CØÐÐÐÝ‘	”	ˆAØ×Ò  QÑ'Ô'Ð'Ø#$§:¢:¡<¤<ˆE�-Ñ ÝŒI‰KŒKˆÝŒz˜#‰ŒˆÝŒw�Š˜sÑ#Ô#ˆØÐ)�œ DÑ)Ô)Ð2¨UˆÝŒw�Š�rœwŸš­s¬x¸¬{Ñ;Ô;Ñ<Ô<ˆØˆØˆð	ØˆNˆNˆNØ�}Š}�]×3Ò3°OÑDÔDÑEÔEˆBØÐ0Ô1ˆOˆOøð	ØˆDøøøÝŒjˆÝ
ˆs�xŠx‰zŒzÑ
Ô
ˆØ	�Š‰ŒˆØ�Šð ˜�tœ|­D¬K½¼	¹¼Ñ,DÔ,DÑEÔEð Ø"¥C¤Lðà!¥3¤;ðð %¥c­#¬.Ñ&9Ô&9ðð %¥c¤nð	ð
 &¥s¤ðð !¥#¤*ðð ¥¤ðð ¥¤ðð ˜sðð # F×$6Ò$6Ñ$8Ô$8ðð  ðð   ðð $¥S¤]ðð !¥'­#¨l¸6Ñ"BÔ"Bðð &¥w­s°=ÀÑ'HÔ'Hðð  '­µ°NÀ6Ñ(JÔ(Jð!õ" #*­#¨h°vÑ">Ô">Ø'1§¢¸°tÐ<]Ð<]Ð<]Ð<]Ð[\Ð<]Ñ<]Ô<]Ñ7]Ñ'^Ô'^Ý)-­mÑ)<Ô)<Ø-/Ø+:ð+ð ð ñ 	ô 	ð 	õ0 ÐBÐCÝð ð ðð 	ð 	‰CˆAˆað ð ð �Ý˜1˜Q‘<”<ð ðØ#/¥7¨1¨Q¡<¤<¡>¤>˜˜a™˜øðØ˜øøøð	ðð �Š9ˆ9ðØ—’ dµR´ZÀÑ5EÔ5EÐGÐGÑHÔHÐHÐHøðØ�øøøØð 	Ý”—’¥¤¨!¤Ñ-Ô-ˆBÝŒw�~Š~˜bÑ!Ô!ð ðØ)+­D°°C©L¬L×,=Ò,=Ñ,?Ô,?Ð(@�E˜*Ñ%Ð%øðØ�DøøøØˆÝ”;×$Ò$Ñ&Ô&ð 	2ð 	2‰CˆAˆaØ�+Š~ˆ~  I¢ °°3°B°3´¸Ò1EÐ1EÈÈ2ÈAÈ2ÌÐPZÒIZÐIZØVÐVÐVÐVÐ0UÐVÑVÔV�Ø)Ð) Ð)Ñ)Ô)ð 2Ø˜1œ˜Ð!;Ð!;¨q°°°¬uÐ!;Ñ!;Ô!;Ñ;�AÝ).¨q©¬�O AÑ&øØ%4ˆÐ!Ñ"Ø"$ˆŒ
�;ÑØ�	Š	�"‰Œˆˆˆs0   Å'9F! Æ!F%ÎN4Î4N8Ï*O/ Ï/O3Ñ'Q/ Ñ/Q3c                 ó^   — | j         d         }|                     ¦   «         D ]
\  }}|||<   Œd S ©Nr_  )rb  r›   )r)   rº   Úpayloadrž   r$   s        r   rn  zDebugMemo._addk  s>   € Ø”*˜[Ô)ˆØ—G’G‘I”Ið 	ð 	‰DˆAˆqØˆG�A‰JˆJð	ð 	r   c                 ó0   — |                       |¦  «         d S r    )rn  )r)   r\  s     r   ÚaddzDebugMemo.addp  s   € Ø�	Š	�"‰Œˆˆˆr   c                 óš  — 	 |                      ¦   «         }t          j        | j        |¦  «         d S #  | j                             ¦   «         }t          ¦   «         }|                     ¦   «         D ],\  }}	 t          j        ||i|¦  «         Œ#  d|z  ||<   Y Œ*xY w|                     |d¦  «         t          j        ||¦  «         Y d S xY w)Nz<unpicklable object %r>r   )ÚtellÚpickleÚdumprb  Úcopyr   r›   r  )r)   r¢  ÚposÚSÚffrž   r$   s          r   Ú_dumpzDebugMemo._dumps  sÑ   € ð	Ø—’‘”ˆCÝŒK˜œ
 1Ñ%Ô%Ð%Ð%Ð%øð		ØŒj�oŠoÑÔˆAÝ‰yŒyˆBØ—w’w‘y”yð 9ð 9‘��!ð9Ý”K  1  bÑ)Ô)Ð)Ð)øð9Ø4°qÑ8�A�a‘D�D�DøøøØ�FŠF�3�q‰MŒMˆMÝŒK˜˜!ÑÔÐÐÐÐøøøs"   ‚.2 ²AC
Á5BÂC
Â
BÂ0C
c                 ó¶   — t          | j        d¦  «        }	 |                      |¦  «         |                     ¦   «          d S # |                     ¦   «          w xY w)NÚwb)rp  r»   rƒ  rç  ©r)   r¢  s     r   r~  zDebugMemo.dump‚  óJ   € Ý�”˜ÑÔˆð	Ø�JŠJ�q‰MŒMˆMà�GŠG‰IŒIˆIˆIˆIøˆA�GŠG‰IŒIˆIˆIøøøó   —A ÁAc                 óp   — t          ¦   «         }|                      |¦  «         |                     ¦   «         S r    )r   rƒ  re  r†  s     r   ÚdumpszDebugMemo.dumps‰  s(   € Ý‰IŒIˆØ�
Š
�1‰ŒˆØ�zŠz‰|Œ|Ðr   c                 ó8   — t          j        |¦  «        | _        d S r    )r}  r  rb  r†  s     r   Ú_loadzDebugMemo._loadŽ  s   € Ý”[ ‘^”^ˆŒ
ˆ
ˆ
r   c                 ó¶   — t          | j        d¦  «        }	 |                      |¦  «         |                     ¦   «          d S # |                     ¦   «          w xY w)NÚrb)rp  r»   rŒ  rç  r†  s     r   r  zDebugMemo.load‘  r‡  rˆ  c                 óJ   — |                       t          |¦  «        ¦  «         d S r    )rŒ  r   )r)   rA   s     r   rg  zDebugMemo.loads˜  s    € Ø�
Š
•7˜1‘:”:ÑÔÐÐÐr   c           
      óÎ  — |                       |dd …         ¦  «         t          |                     ¦   «         ¦  «        }|                     ¦   «          |D ]�}||         x}}t	          |t
          ¦  «        r|d         }	 t          |¦  «         t          j        |         }t          |dd ¦  «        |k    rdpd}n#  d }d}Y nxY w|                       d|›d|›d	|›d
�¦  «         Œ�d S )Né   r   rX  ÚSAMEÚ	DIFFERENTz??????unknown??????z  ú = z (ú))
Ú_writelnrc   r   ri  r2   rb   Ú
__import__r/   rÏ  rå  )r)   rž   r$   rs  ÚvkÚvk0r*   r¿  s           r   Ú_show_module_versionszDebugMemo._show_module_versions›  sø   € Ø�Š�a˜˜˜”eÑÔÐÝ�—’‘”‰NŒNˆØ	�Š‰ŒˆØð 
	7ð 
	7ˆAØ˜”tˆOˆB�Ý˜"�UÑ#Ô#Ð0¨2¨a¬5 Sð*Ý˜1‘”�Ý”K ”N�Ý˜A˜m¨DÑ1Ô1°3Ò6ÐA¸6ÐPÀ[��øð*Ø�Ø)���øøøØ�MŠMˆM¨a¨a¨a°°°°1°1°1Ð5Ñ6Ô6Ð6Ð6ð
	7ð 
	7s   Á?:B:Â:Cc                 óN   — |                       d|›d|dd …         ›d�¦  «         d S )Nz###################rø  r‘  z##################)r–  )r)   rž   Úwhats      r   Ú_bannerzDebugMemo._banner«  s1   € Ø�ŠˆÀdÀdÀdÈ1ÈQÈRÈRÌ5È5È5ÐQÑRÔRÐRÐRÐRr   c                 ó2   — |                       |d¦  «         d S )NzStart  ©r�  rË   s     r   Ú_startzDebugMemo._start®  ó   € Ø�Š�Q�yÑ!Ô!Ð!Ð!Ð!r   c                 ó2   — |                       |d¦  «         d S )NzFinish rŸ  rË   s     r   Ú_finishzDebugMemo._finish±  r¡  r   c                 ó„   — |                       |¦  «         |                      |¦  «         |                      |¦  «         d S r    )r   r–  r£  rÇ   s      r   Ú_show_lineszDebugMemo._show_lines´  s6   € Ø�Š�A‰ŒˆØ�Š�aÑÔÐØ�Š�Q‰Œˆˆˆr   c                 ó’   — |›dt           j                             |d         ¦  «        ›�}|                      ||d         ¦  «         d S )Nrø  r   r
   )r±   r  Úbasenamer¥  rÇ   s      r   Ú
_show_filezDebugMemo._show_file¹  sG   € Ø�q�q�œ×)Ò)¨!¨A¬$Ñ/Ô/Ð/Ð0ˆØ×Ò˜˜1˜Qœ4Ñ Ô Ð Ð Ð r   c                 ó    — |rKdd l }|                      |¦  «         |                      || j        ¦  «         |                      |¦  «         d S d S r™   )Úpprintr   ra  r£  )r)   rž   r$   rª  s       r   Ú_show_payloadzDebugMemo._show_payload½  sU   € Øð 	ØˆMˆMˆMØ�KŠK˜‰NŒNˆNØ�MŠM˜!˜DœKÑ(Ô(Ð(Ø�LŠL˜‰OŒOˆOˆOˆOð		ð 	r   c           
      óp  — dD ]²}	 |gj         }t          |¦  «         t          j        |         } ||j        ¦  «         dD ]0}t          ||¦  «        r ||›dt          ||¦  «        ›�¦  «         Œ1n#   |d¦  «         Y nxY w|                      dd                     |j	        ¦  «        z   ¦  «         Œ³d S )N)Ú	_rl_accelÚ	_renderPMÚsgmlopÚpyRXPÚpyRXPUÚ_imagingr   )rX  r  Ú_versionr2  rZ  z	not foundrø  )
r³   r—  r/   rÏ  rd  r—  rå  r–  r®   Ú__self__)r)   Úmnr¹   r*   Úvns        r   Ú_show_extensionszDebugMemo._show_extensionsÄ  sØ   € ØXð 	4ð 	4ˆBð	Ø�D”K�Ý˜2‘”�Ý”K ”O�Ø��!”*‘”�ØHð 8ð 8�BÝ˜q ‘}”}ð 8Ø˜ R R R­°°"©¬¨Ð6Ñ7Ô7Ð7øð8øðØ��+‘”���øøøØ�MŠM˜#˜cŸhšh q¤zÑ2Ô2Ñ2Ñ3Ô3Ð3Ð3ð	4ð 	4s   †A,A3Á3B)r^  r_  r.  rS  c                 óè  — t          | j                             ¦   «         ¦  «        }|                     ¦   «          |D ]P}|t          | j                             ¦   «         ¦  «        vr&|                      |d›d| j        |         ›�¦  «         ŒQ|D ]M}|t          | j                             ¦   «         ¦  «        v r# | j        |         | || j        |         ¦  «         ŒN|                      ¦   «          d S )NÚ15r”  )rc   rb  r   ri  Úspecialsr–  r·  )r)   rs  rž   s      r   ÚshowzDebugMemo.show×  sõ   € Ý�”—’Ñ"Ô"Ñ#Ô#ˆØ	�Š‰ŒˆØð 	dð 	dˆAØ�˜Tœ]×/Ò/Ñ1Ô1Ñ2Ô2Ð2Ð2°D·M²MÐRSÐRSÐRSÐRSÐTXÔT^Ð_`ÔTaÐTaÐBbÑ4cÔ4cÐ4cøØð 	Wð 	WˆAØ•D˜œ×+Ò+Ñ-Ô-Ñ.Ô.Ð.Ð.Ð0@°´¸aÔ0@ÀÀaÈÌ
ÐSTÌÑ0VÔ0VÐ0VøØ×ÒÑÔÐÐÐr   c                 ó(   — | j         d         |         S rw  ©rb  ©r)   rl  s     r   rx  zDebugMemo.payloadà  ó   € ØŒz˜+Ô& tÔ,Ð,r   c                 ó&   — || j         d         |<   d S rw  r½  )r)   rl  rR  s      r   rÆ   zDebugMemo.__setitem__ã  s   € Ø(-ˆŒ
�;Ô Ñ%Ð%Ð%r   c                 ó(   — | j         d         |         S rw  r½  r¾  s     r   rÊ   zDebugMemo.__getitem__æ  r¿  r   c                 ó@   — | j                              |dz   ¦  «         d S r¥  )ra  r-  )r)   Úmsgs     r   r–  zDebugMemo._writelné  s"   € ØŒ×Ò˜#˜d™(Ñ#Ô#Ð#Ð#Ð#r   )r+  rÿ  r
   r   r
   N)r   r   r   rT  rÃ   rn  rz  rƒ  r~  rŠ  rŒ  r  rg  rš  r�  r   r£  r¥  r¨  r«  r·  rº  r»  rx  rÆ   rÊ   r–  r   r   r   r*  r*  ö  s�  € € € € € ðð ð2Yð Yð Yð Yðvð ð ð
ð ð ðð ð ðð ð ðð ð ð
$ð $ð $ðð ð ðð ð ð7ð 7ð 7ð Sð Sð Sð"ð "ð "ð"ð "ð "ðð ð ð
!ð !ð !ðð ð ð4ð 4ð 4ð &;Ø*Ø*Ø&ðð €Hð
 ð  ð  ð-ð -ð -ð.ð .ð .ð-ð -ð -ð$ð $ð $ð $ð $r   r*  c                 óf   — | D ]-}t          |¦  «        rt          ||¦  «         Œ" ||¦  «         Œ.d S r    )r4   Ú_flatten)r  rÂ   rx   s      r   rÅ  rÅ  ì  sF   € Øð ð ˆÝ�‰8Œ8ð 	•X˜a ‘]”]�]�]Øˆa�‰dŒdˆdˆdðð r   c                 ó4   — g }t          | |j        ¦  «         |S )z'recursively flatten the list or tuple L)rÅ  r³   )r  r¸   s     r   ÚflattenrÇ  ñ  s   € à
€AÝˆQˆqŒxÑÔÐØ€Hr   c                 ó\   — 	  | t          j        |¦  «        j        ¦  «        }|r|S |dz  }Œ,)zPapply func to the locals at each stack frame till func returns a non false valuer
   )r/   r£   Úf_locals)rS  ÚdepthÚ_s      r   Úfind_localsrÌ  ÷  s:   € ðØˆD•”˜uÑ%Ô%Ô.Ñ/Ô/ˆØˆ�QˆhØ�‰
ˆðr   c                   ó   — e Zd Zd„ Zd„ ZdS )Ú_FmtSelfDictc                 ó"   — || _         || _        d S r    )ÚobjÚ_overrideArgs)r)   rÐ  ÚoverrideArgss      r   rÃ   z_FmtSelfDict.__init__ÿ  s   € ØˆŒØ)ˆÔÐÐr   c                 ó²   — 	 | j         |         S # t          $ r= 	 | j        j        |         cY S # t          $ r t	          | j        |¦  «        cY cY S w xY ww xY wr    )rÑ  rÐ   rÐ  rÝ  rå  rË   s     r   rÊ   z_FmtSelfDict.__getitem__  s„   € ð	+ØÔ% aÔ(Ð(øÝð 	+ð 	+ð 	+ð+Ø”xÔ(¨Ô+Ð+Ð+Ð+øÝð +ð +ð +Ý˜tœx¨Ñ*Ô*Ð*Ð*Ð*Ð*Ð*ð+øøøð	+øøøs)   ‚ �
Aš.«A®AÁAÁAÁAN)r   r   r   rÃ   rÊ   r   r   r   rÎ  rÎ  þ  s2   € € € € € ð*ð *ð *ð+ð +ð +ð +ð +r   rÎ  c                   ó   — e Zd ZdZd„ ZdS )ÚFmtSelfDictz mixin to provide the _fmt methodc                 ó,   — t          | |¦  «        }||z  S r    )rÎ  )r)   ÚfmtrÒ  rº   s       r   Ú_fmtzFmtSelfDict._fmt  s   € Ý˜˜|Ñ,Ô,ˆØ�Q‰wˆr   N)r   r   r   rT  rØ  r   r   r   rÕ  rÕ    s)   € € € € € Ø*Ð*ðð ð ð ð r   rÕ  c                 ó„  — g } |d¦  «        }g }| }|                       ¦   «         D ]j} ||¦  «        }||z   |z   |k    s|g k    r|                     |¦  «         ||z   |z   }Œ=|                     d                     |¦  «        ¦  «         |g}|}Œk|g k    r(|                     d                     |¦  «        ¦  «         |S )Nrø  )r„  r³   r®   )	ÚtxtÚmWÚSWr  ÚwsÚOrÿ  r•   Últs	            r   Ú_simpleSplitrà    sÎ   € Ø
€AØ	ˆˆC‰Œ€BØ
€AØ	ˆ€AØ�YŠY‰[Œ[ð ð ˆØˆR�‰UŒUˆØˆR‰4�‰7�BŠ;ˆ;˜!˜Rš%˜%Ø�HŠH�Q‰KŒKˆKØ�B‘˜‘ˆAˆAà�HŠH�S—X’X˜a‘[”[Ñ!Ô!Ð!Ø�ˆAØˆAˆAØˆ"‚u€uˆa�hŠh�s—x’x ‘{”{Ñ#Ô#Ð#Ø€Hr   c                 óÆ   ‡— ddl mŠ t          | ¦  «                             d¦  «        }||fˆfd„	}|r-g }|D ]&}|                     t          |||¦  «        ¦  «         Œ'|}|S )Nr   )ÚstringWidthro  c                 ó   •—  ‰| ||¦  «        S r    r   )ÚtextÚfNÚfSrâ  s      €r   r  zsimpleSplit.<locals>.<lambda>%  s   ø€ °°¸DÀ"ÀbÑ0IÔ0I€ r   )Úreportlab.pdfbase.pdfmetricsrâ  rO   r„  Úextendrà  )	rä  ÚfontNameÚfontSizeÚmaxWidthÚlinesrÜ  r  Úlrâ  s	           @r   ÚsimpleSplitrî  "  s‹   ø€ Ø8Ð8Ð8Ð8Ð8Ð8Ý�d‰OŒO×!Ò! %Ñ(Ô(€EØ! hÐ	IÐ	IÐ	IÐ	IÐ	I€BØð ØˆØð 	2ð 	2ˆAØ�HŠH•\ ! H¨RÑ0Ô0Ñ1Ô1Ð1Ð1ØˆØ€Lr   c                 óü   — ddl m} | €| S t          | ¦  «        r|                      d¦  «        } || ¦  «        } |                      dd¦  «        } |                      dd¦  «        } |                      d	d
¦  «        } | S )zEscapes once onlyr   )ÚescapeNr;   ú	&amp;amp;ú&amp;ú&amp;gt;ú&gt;ú&amp;lt;ú&lt;)Úxml.sax.saxutilsrð  r=   rN   r   )rä  rð  rA   s      r   ÚescapeTextOncerø  -  s…   € à'Ð'Ð'Ð'Ð'Ð'Ø€|ØˆÝˆt�}„}Ð-˜$Ÿ+š+ fÑ-Ô-�aØˆ6�$‰<Œ<€DØ�<Š<˜ XÑ.Ô.€DØ�<Š<˜ WÑ-Ô-€DØ�<Š<˜ WÑ-Ô-€DØ€Kr   c                 ó˜   — t          | ¦  «        r| S t          D ] }	 |                      |¦  «        c S #  Y ŒxY wt          d| z  ¦  «        ‚)Nz(cannot convert %r to filesystem encoding)r[   ÚfsEncodingsrN   r…  )r»   rJ   s     r   ÚfileName2FSEncrû  9  sa   € Ý��}„}ð Øˆ
åð 	ð 	ˆCðØ—y’y ‘~”~Ð%Ð%Ð%øðØ�øøøÝ
Ð?À"ÑDÑ
EÔ
EÐEs   œ3³7c                 óì   — t          j        dg| dg¦  «        }t          j        |d¦  «        \  }}}	  ||¦  «          ||¦  «          ||¦  «         n# t          $ r Y nw xY wt	          |||¦  «        S )a¸  
    Loop over a collection with look-ahead and look-back.
    
    From Thomas Guest, 
    http://wordaligned.org/articles/zippy-triples-served-with-python
    
    Seriously useful looping tool (Google "zippy triples")
    lets you loop a collection and see the previous and next items,
    which get set to None at the ends.
    
    To be used in layout algorithms where one wants a peek at the
    next item coming down the pipe.

    Nr÷  )Ú	itertoolsÚchainÚteeÚStopIterationÚzip)r›   rè  ÚprevÚthisÚnexts        r   Úprev_this_nextr  E  s“   € õ  Œ_˜d˜V U¨T¨FÑ3Ô3€FÝ ”} V¨QÑ/Ô/Ñ€Dˆ$�ðØˆˆT‰
Œ
ˆ
ØˆˆT‰
Œ
ˆ
ØˆˆT‰
Œ
ˆ
ˆ
øÝð ð ð Øˆðøøøåˆt�T˜4Ñ Ô Ð s   ³!A Á
A"Á!A"c                 óâ  — t          | ¦  «        r|                      d¦  «        } t          | ¦  «        dz
  }| dz  } d}dg}||k    r‹| |         dk    r^| |dz            dk    r|dxx         dz  cc<   |dz  }nO|d                              ¦   «         |d<   ||k    r|                     d¦  «         n|dxx         | |         z  cc<   |dz  }||k    °‹|d                              ¦   «         |d<   |S )a  
    Splits the string s at every unescaped comma and returns the result as a list.
    To escape a comma, double it. Individual items are stripped.
    To avoid the ambiguity of 3 successive commas to denote a comma at the beginning
    or end of an item, add a space between the item seperator and the escaped comma.
    
    >>> commasplit(u'a,b,c') == [u'a', u'b', u'c']
    True
    >>> commasplit('a,, , b , c    ') == [u'a,', u'b', u'c']
    True
    >>> commasplit(u'a, ,,b, c') == [u'a', u',b', u'c']
    r;   r
   rø  r   rÿ   r�  r  )r=   rN   r¦   r�   r³   )rA   r  rU   r$  s       r   Ú
commasplitr  _  s  € õ ˆq�z„zÐ'�q—x’x Ñ'Ô'�1ÝˆA‰Œˆq‰€AØˆ�I€AØ	€AØ
€e€AØ
ˆQŠ$ˆ$ØˆQŒ4�Š:ˆ:Ø��1‘Œv�tŠ|ˆ|Ø�"��”�t‘��‘Ø�Q‘��à˜"œŸš™œ��"‘Ø�a’4�4˜Ÿš #™œ˜øàˆbˆEˆEŒE�Q�q”T‰MˆEˆE‰EØ	ˆ1‰ˆð ˆQŠ$ˆ$ð ˆbŒE�KŠK‰MŒM€A€b�EØ€Hr   c                 ó@   — d                      d„ | D ¦   «         ¦  «        S )a‘  
    Inverse of commasplit, except that whitespace around items is not conserved.
    Adds more whitespace than needed for simplicity and performance.
    
    >>> commasplit(commajoin(['a', 'b', 'c'])) == [u'a', u'b', u'c']
    True
    >>> commasplit((commajoin([u'a,', u' b ', u'c'])) == [u'a,', u'b', u'c']
    True
    >>> commasplit((commajoin([u'a ', u',b', u'c'])) == [u'a', u',b', u'c'] 
    r�  c                 ó`   — g | ]+}d t          |¦  «                             dd¦  «        z   d z   ‘Œ,S )rø  r�  z,,)rO   r   )r<  rU   s     r   r=  zcommajoin.<locals>.<listcomp>Š  s8   € ÐSÐSÐSÈ1�t�i¨™lœl×2Ò2°4¸Ñ?Ô?Ñ?À$ÑFÐSÐSÐSr   )r®   )rí  s    r   Ú	commajoinr
    s&   € ð �9Š9ÐSÐSÐPQÐSÑSÔSÑTÔTÐTr   Tc                 ó6  — |rt           j        j        pt           j        j        } || ¦  «        r| S t           j        j        }t           j                             | ¦  «        s |D ]} ||| ¦  «        } ||¦  «        r|c S Œ|rt          d| ›d|›�¦  «        ‚| S )z*search for relative files in likely placeszcannot locate z with paths=)r±   r  r¬   r­   r®   r  r…  )r»   Úpathsr¬   ÚfailÚexistsr  r6  r  s           r   ÚfindInPathsr  Œ  s«   € àÐ&�œœÐ7­"¬'¬-€FØ€vˆb�z„zÐ˜"�9ÝŒGŒL€EÝŒ7�=Š=˜ÑÔð Øð 	ð 	ˆAØ�%˜˜"‘+”+ˆCØˆv�c‰{Œ{ð Ø�
�
�
ðàÐL•:�:À"À"À"ÀUÀUÐKÑLÔLÐLØ€Ir   rÿ   rø  c                 óÂ   — t          j        ¦   «         \  }}}t          | ||                     d„ | t	          |¦  «        |fD ¦   «         ¦  «        ¦  «        |¦  «         dS )z,add msg to the args of an existing exceptionc              3   ó   K  — | ]}|¯|V — Œ	d S r    r   ©r<  rË  s     r   ú	<genexpr>z$annotateException.<locals>.<genexpr>œ  s'   è è € ÐBÐB 1ÀÐB˜QÐBÐBÐBÐBÐBÐBr   N)r/   rH  r—   r®   r7   )rÃ  rJ   ÚpostMsgr­  r•   r$   r–   s          r   rG   rG   ™  s]   € å
Œ,‰.Œ.�E€A€aˆÝˆq���3—8’8ÐBÐB¨­S°©V¬V°GÐ(<ÐBÑBÔBÑCÔCÑDÔDÀQÑGÔGÐGÐGÐGr   c                 óf  — |                       dd¦  «        } |                       dd¦  «        } |                       dd¦  «        } |                       dd¦  «        } |                       dd	¦  «        } |                       dd¦  «        } |                       dd¦  «        } |                       dd¦  «        } | S )
zÔEnsure XML output is escaped just once, irrespective of input

    >>> escapeOnce('A & B')
    'A &amp; B'
    >>> escapeOnce('C &amp; D')
    'C &amp; D'
    >>> escapeOnce('E &amp;amp; F')
    'E &amp; F'

    ú&rò  rñ  ró  rô  rõ  rö  z&amp;#z&#)r   )rˆ  s    r   Ú
escapeOncer  ž  s¥   € ð �<Š<˜˜WÑ%Ô%€Dð
 �<Š<˜ WÑ-Ô-€DØ�<Š<˜
 FÑ+Ô+€DØ�<Š<˜
 FÑ+Ô+€DØ�<Š<˜ $Ñ'Ô'€Dð �<Š<˜ WÑ-Ô-€DØ�<Š<˜
 FÑ+Ô+€DØ�<Š<˜
 FÑ+Ô+€DØ€Kr   c                   ó   — e Zd ZdZd„ ZdS )ÚIdentStrz,useful for identifying things that get splitc                 óò   — t          |t          ¦  «        r5|j        }|d dt          t	          |¦  «        ¦  «        z    …         }|dz  }nd}|d|z  z  }t                               | |¦  «        }||_        |S )Nr‘  r
   r   z[%d])r2   r  Ú_IdentStr__incr¦   r7   Ú__new__)rý  rR  Úincr)   s       r   r  zIdentStr.__new__»  s{   € Ý�e�HÑ%Ô%ð 	Ø”+ˆCØÐ-˜Q�s¥3 s¡8¤8™}œ}™_Ð-Ð-Ô.ˆEØ�1‰HˆCˆCàˆCØ�˜#‘ÑˆÝ�{Š{˜3˜uÑ%Ô%ˆØˆŒ
Øˆr   N©r   r   r   rT  r  r   r   r   r  r  ¹  s)   € € € € € Ø6Ð6ð
ð 
ð 
ð 
ð 
r   r  c                   ó   — e Zd ZdZd„ ZdS )ÚRLStringzÚallows specification of extra properties of a string using a dictionary of extra attributes
    eg fontName = RLString('proxima-nova-bold',
                    svgAttrs=dict(family='"proxima-nova"',weight='bold'))
    c                 ó’   — t                                | |¦  «        }|                     ¦   «         D ]\  }}t          |||¦  «         Œ|S r    )r7   r  r›   rœ   )rý  r$   rÁ   r)   rž   s        r   r  zRLString.__new__Ì  sJ   € Ý�{Š{˜3˜qÑ!Ô!ˆØ—:’:‘<”<ð 	ð 	‰CˆAˆaÝ�D˜˜1ÑÔÐÐØˆr   Nr  r   r   r   r   r   Ç  s-   € € € € € ðð ðð ð ð ð r   r   c                 óN   — t          | ¦  «        s|                      d¦  «        } | S )zEforce filename strings to unicode so python can handle encoding stuffr;   )r[   rN   r@   s    r   ÚmakeFileNamer#  Ò  s&   € å�Q‰<Œ<ð Ø�HŠH�VÑÔˆØ€Hr   c                   ó*   — e Zd ZdZd„ Zd„ Zd„ Zd„ ZdS )ÚFixedOffsetTZz&Fixed offset in minutes east from UTC.c                 óJ   — t          j        ||¬¦  «        | _        || _        d S )N)ÚhoursÚminutes)ÚdatetimeÚ	timedeltaÚ_FixedOffsetTZ__offsetÚ_FixedOffsetTZ__name)r)   r   r*   rl  s       r   rÃ   zFixedOffsetTZ.__init__Û  s$   € Ý Ô*°¸aÐ@Ñ@Ô@ˆŒØˆŒˆˆr   c                 ó   — | j         S r    )r+  ©r)   Údts     r   Ú	utcoffsetzFixedOffsetTZ.utcoffsetß  s
   € ØŒ}Ðr   c                 ó   — | j         S r    )r,  r.  s     r   ÚtznamezFixedOffsetTZ.tznameâ  s
   € ØŒ{Ðr   c                 ó*   — t          j        d¦  «        S r™   )r)  r*  r.  s     r   ÚdstzFixedOffsetTZ.dstå  s   € ÝÔ! !Ñ$Ô$Ð$r   N)r   r   r   rT  rÃ   r0  r2  r4  r   r   r   r%  r%  Ø  sV   € € € € € Ø0Ð0ðð ð ðð ð ðð ð ð%ð %ð %ð %ð %r   r%  c                   óB   — e Zd Zdd„Zed„ ¦   «         Zed„ ¦   «         ZdS )Ú	TimeStampNc                 ó$  — |€ddl m} t          j                             dd¦  «                             ¦   «         }|s|r3|rt          |¦  «        nd}t          j        |¦  «        }dx}}d| _	        nft          j        ¦   «         }t          j
        |¦  «        }t          |¦  «        }t          |j        dz  ¦  «        }|j        dz  d	z  }|j        | _	        || _        || _        t          |¦  «        d d
…         | _        || _        || _        d S )Nr   )Ú	invariantÚSOURCE_DATE_EPOCHrÿ   g   À¡6ÌAÚUTCg      ¬@i  é<   rµ  )rœ  r8  r±   rh  rÒ   r�   ra   rj  rl  r2  Ú	localtimerb   Ú	tm_gmtoffÚtm_zoner•   rß  ÚYMDhmsÚdhhÚdmm)r)   r8  r•   rß  r@  rA  Ú
local_times          r   rÃ   zTimeStamp.__init__é  s  € ØÐØ5Ð5Ð5Ð5Ð5Ð5ÝŒJ�NŠNÐ.¨rÑ2Ô2×8Ò8Ñ:Ô:ˆØð 	-˜ð 	-ØÐ,•�A‘”� ˆAÝ”˜Q‘”ˆBØˆMˆC�#ØˆDŒKˆKå”	‘”ˆAÝœ¨Ñ*Ô*ˆJÝ�zÑ"Ô"ˆBÝ�jÔ*¨fÑ5Ñ6Ô6ˆCØÔ'¨$Ñ.°"Ñ4ˆCØ$Ô,ˆDŒKØˆŒØˆŒÝ˜B‘i”i   ”mˆŒØˆŒØˆŒˆˆr   c                 óÒ   — | j         rCt          j                             | j        t	          | j        | j        | j         ¦  «        ¦  «        S t          j                             ¦   «         S r    )r2  r)  Úfromtimestampr•   r%  r@  rA  Únowr(   s    r   r)  zTimeStamp.datetimeÿ  sR   € àŒ;ð 	+ÝÔ$×2Ò2°4´6½-ÈÌÐQUÔQYÐZ^ÔZeÑ:fÔ:fÑgÔgÐgåÔ$×(Ò(Ñ*Ô*Ð*r   c                 ó4   — t          j        | j        ¦  «        S r    )rj  rk  rß  r(   s    r   rk  zTimeStamp.asctime  s   € åŒ|˜DœGÑ$Ô$Ð$r   r    )r   r   r   rÃ   Úpropertyr)  rk  r   r   r   r6  r6  è  s^   € € € € € ðð ð ð ð, ð+ð +ñ „Xð+ð ð%ð %ñ „Xð%ð %ð %r   r6  c                 óV  — t          |¦  «        s"t          dt          | ¦  «        ›d|›�¦  «        ‚t          |¦  «        }|                     ¦   «         }|st          dt          | ¦  «        z  ¦  «        ‚|r|d         dvrdnd}t          d|›|›�i t          | ¬¦  «        ¬	¦  «        S )
z/Can call down into e.g. object1.object2[4].attrzinvalid recursive access of r>  zempty recursive access of %sr   z[.(rÿ   rÐ  )rÐ  )Úgrí  )rX   rW  rF  rS   r�   r…  r   rd   )rÐ  rl  rI  Údots       r   ÚrecursiveGetAttrrK  
  s¬   € å�‰;Œ;Ð_�i˜iÍtÐTWÉyÌyÈyÈyÐY]ÐY]Ð(^Ñ_Ô_Ð_Ý�D‰>Œ>€DØ�:Š:‰<Œ<€DØÐM•zÐ"@Å4ÈÁ9Ä9Ñ"LÑMÔMÐMØÐ
6˜$˜qœ'¨Ð.Ð.ˆ#ˆ#°B€CÝˆ< 3 3 t tÐ,°µd¸s°m±m´mÐDÑDÔDÐDr   c                 ó  — |                      d¦  «        }t          |¦  «        dk    rt          | ||¦  «         dS d                     |dd…         ¦  «        }|d         }t	          | |¦  «        }t          |||¦  «         dS )z7Can call down into e.g. object1.object2[4].attr = valuer>  r
   Nr  )r„  r¦   rœ   r®   rK  )rÐ  rl  rR  ÚtokensÚmostÚlastÚparents          r   ÚrecursiveSetAttrrQ    s…   € ð �ZŠZ˜‰_Œ_€FÝ
ˆ6�{„{�aÒÐÝ��T˜5Ñ!Ô!Ð!Ð!Ð!à�xŠx˜˜s ˜sœÑ$Ô$ˆØ�bŒzˆÝ! # tÑ,Ô,ˆÝ�˜˜eÑ$Ô$Ð$Ð$Ð$r   c                 ó  — |                      d¦  «        }t          |¦  «        dk    rt          | |¦  «         d S d                     |d d…         ¦  «        }|d         }t	          | |¦  «        }t          ||¦  «         d S )Nr>  r
   r  )r„  r¦   Údelattrr®   rK  )rÐ  rl  rM  rN  rO  rP  s         r   ÚrecursiveDelAttrrT    s   € Ø�ZŠZ˜‰_Œ_€FÝ
ˆ6�{„{�aÒÐÝ��TÑÔÐÐÐà�xŠx˜˜s ˜sœÑ$Ô$ˆØ�bŒzˆÝ! # tÑ,Ô,ˆÝ�˜ÑÔÐÐÐr   c              #   óÜ   K  — d}t          | ¦  «        }||k     rR	 |                      d|¦  «        }| ||…         V — |dz   }| sdS n# t          $ r | |d…         V — Y dS w xY w||k     °PdS dS )z:yield sublists of L separated by None; the Nones disappearr   Nr
   )r¦   Úindexr…  )r  rU   r  Újs       r   ÚyieldNoneSplitsrX  )  s    è è € à	€AÝˆA‰Œ€AØ
ˆAŠ#ˆ#ð	Ø—’˜˜Q‘”ˆAØ�A�a�C”&ˆLˆLˆLØ�!‘ˆAØˆO�e�eˆOøÝð 	ð 	ð 	Ø�A�B�B”%ˆKˆKˆKØˆEˆEð	øøøð ˆAŠ#ˆ#ˆ#ˆ#ˆ#ˆ#s   ›)A ÁA!Á A!c                 óf   — d                      d„ |                      d¦  «        D ¦   «         ¦  «        S )Nro  c              3   ó>   K  — | ]}|                      ¦   «         V — Œd S r    )Úlstripr  s     r   r  z_rl_docdent.<locals>.<genexpr>8  s*   è è € Ð8Ð8 Q�a—h’h‘j”jÐ8Ð8Ð8Ð8Ð8Ð8r   )r®   r„  r@   s    r   Ú_rl_docdentr\  7  s-   € Ø�9Š9Ð8Ð8¨!¯'ª'°$©-¬-Ð8Ñ8Ô8Ñ9Ô9Ð9r   c                   ó0   — e Zd Zdd„Zd„ Zd„ Zd„ Zd	d„ZdS )
Ú
KlassStorer·  c                 ó"   — || _         i | _        d S r    )Úlimrb  )r)   r`  s     r   rÃ   zKlassStore.__init__;  s   € ØˆŒØˆŒ
ˆ
ˆ
r   c                 ó†  — t          |t          ¦  «        rt          |t          ¦  «        s;t          | j        j        › dt          |¦  «        t          |¦  «        f› d�¦  «        ‚| j        }|||<   t          |¦  «        | j        k    r5t          | 
                    ¦   «         ¦  «        d | j         …         D ]}||= Œd S d S )Nz%.add takes (str,type) arguments not (r•  )r2   r7   r!   r…  ri  r   rb  r¦   r`  rc   r   )r)   rž   r$   rb  rË  s        r   rz  zKlassStore.add?  sÎ   € Ý˜1�SÑ!Ô!ð 	r¥j°µ4Ñ&8Ô&8ð 	rÝ ¤Ô 7ÐpÐpÕ^bÐcdÑ^eÔ^eÕfjÐklÑfmÔfmÐ]nÐpÐpÐpÑqÔqÐqØ”
ˆØˆˆa‰Ýˆu‰:Œ:�t”xÒÐÝ˜%Ÿ*š*™,œ,Ñ'Ô'¨
¨$¬(¨¨
Ô3ð ð �Ø˜!�H�Hð  Ððð r   c                 ó   — || j         v S r    r½  rË   s     r   rÔ   zKlassStore.__contains__H  s   € Ø�D”JˆÐr   c                 ó   — | j         |         S r    r½  rË   s     r   rÊ   zKlassStore.__getitem__K  s   € ØŒz˜!Œ}Ðr   Nc                 ó8   — | j                              ||¦  «        S r    )rb  rÒ   )r)   rž   Údefaults      r   rÒ   zKlassStore.getN  s   € ØŒz�~Š~˜a Ñ(Ô(Ð(r   )r·  r    )r   r   r   rÃ   rz  rÔ   rÊ   rÒ   r   r   r   r^  r^  :  si   € € € € € ðð ð ð ðð ð ðð ð ðð ð ð)ð )ð )ð )ð )ð )r   r^  c                   ó:   — e Zd Zi Zd„ Zd„ Zd„ Zed„ ¦   «         ZdS )Úrl_warnc                 ó   — | j         | _        d S r    )Ú_rl_warn__shared_staterÝ  r(   s    r   rÃ   zrl_warn.__init__S  s   € ØÔ+ˆŒˆˆr   c                 ó¦  — | j         s3i | _        ddlm}  || j        ¦  «         dd l}dd l}|| _        || _        || j        vr| j         	                    |d¬¦  «         | j         
                    ¦   «         d         }| j                             |t          ¦   «         ¦  «                             d|j        › d|j        › d|j        › �¦  «         d S )	Nr   r  r‘  )Ú
stacklevelr
   zin z @ ú:)ri  Ú_rl_warn__warnings_seenrœ  r  Ú_rl_warn__resetÚinspectÚwarningsÚ_rl_warn__inspectÚ_rl_warn__warningsÚwarnÚstackrÙ   Úsetrz  Úfunctionrø   Úlineno)r)   Úmessager  ro  rp  Úframes         r   Ú__call__zrl_warn.__call__V  sÿ   € ØÔ"ð 	'Ø#%ˆDÔ Ø:Ð:Ð:Ð:Ð:Ð:ØˆN˜4œ<Ñ(Ô(Ð(Ø$Ð$Ð$Ð$Ð$Ð$Ð$Ð$Ø$ˆDŒNØ&ˆDŒOà˜$Ô.Ð.Ð.ØŒO× Ò  °AÐ Ñ6Ô6Ð6Ø”×$Ò$Ñ&Ô& qÔ)ˆØÔ×'Ò'¨µ±´Ñ6Ô6×:Ò:ØH�e”nÐHÐH¨¬ÐHÐH¸%¼,ÐHÐHñ	Jô 	Jð 	Jð 	Jð 	Jr   c                 ó8   — | j                              ¦   «          d S r    )rm  Úclearr(   s    r   Ú__resetzrl_warn.__resete  s   € ØÔ×"Ò"Ñ$Ô$Ð$Ð$Ð$r   c                 ó   — | j         S r    )rm  r(   s    r   Úwarnings_seenzrl_warn.warnings_seenh  s   € àÔ#Ð#r   N)	r   r   r   ri  rÃ   rz  rn  rG  r  r   r   r   rg  rg  Q  sd   € € € € € Ø€Nð,ð ,ð ,ðJð Jð Jð%ð %ð %ð ð$ð $ñ „Xð$ð $ð $r   rg  )r;   r    )rª   )NNrî   )NN)Nr   r   r›  )r•   )r   )TF)r;   rÿ   rø  )µrX  rT  r±   r}  r/   rj  ri   r)  rD  Úastr   rƒ  r   r…   r   r€   Úior   Úhashlibr   Úreportlab.lib.rltempfiler   r	   r   r   r   r   ÚPILr   r   r1  Úpython_implementationÚisPyPyr"   r&   r!   r*   r-   r0   rb   rc   r4   r8   rh   r7   rF   ÚstrTypesrB   rK   rO   rQ   rS   rV   rX   r=   r[   r^   ry   r{   r}   rƒ   r‡   r‹   r�   rš   rå  Úrl_execr‘   r—   rŸ   r©   r¼   rd   r¾   rl  ró   rö   rñ   rû   rT  r  rc  rd  Ú__RL_DIRr  r4  r#  r[  r"  r  r¡   r  r+  ÚNotImplementedErrorr3  r5  Úarchiver  r­  r  r	  r  r¦   r  r  rB  r  r  r®   r%  r¬   Úsplitextr0  r,  r.  r1  r7  rC  rN  Ú
haveImagesrP  r_  rg  rm  ru  Úurllib.parserv  rw  Úurllib.requestrx  ry  r~  rš  r£  r¦  r©  r­   r¯  r¯   r³  ÚgetmtimeÚmktimerÀ  rÁ  rÃ  rË  rÓ  rÖ  rØ  r&  r  r*  rÅ  rÇ  rÌ  rÎ  rÕ  rà  rî  rø  rû  rý  r  r  r
  r  rG   r  r  r   r#  Útzinfor%  r6  rK  rQ  rT  rX  r\  r^  rg  r   r   r   ú<module>r“     so  ðð €ØD€à 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø Ð Ð Ð Ð Ð Ø WÐ WÐ WÐ WÐ WÐ WÐ WÐ WØ Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à DÐ DÐ DÐ DÐ DÐ DÐ DÐ DØ ^Ð ^Ð ^Ð ^Ð ^Ð ^Ð ^Ð ^Ð ^Ð ^Ð ^Ð ^Ø Ð Ð Ð Ð Ð ðð ð ð ð ñ ô ð ð ˆI‰KŒK€	ðØ€O€O€OØ+ˆXÔ+Ñ-Ô-¨vÒ5€F€FøðØ€F€F€Føøøð'ð 'ð 'ðð ð ð ð ñ ô ð ð �$�q”s‘)”)ð ð ð ð àð ð  ð  ð �t�ð ð ð ð ðð ð ð ˆT�$‰ZŒZ€Ø�ˆ;€ðXð Xð XðPð Pð Pð PðRð Rð Rð RðTð Tð Tð Tð ð  ð  ð  ðð ð ð&ð &ð &ð ð  ð  ðð ð ðð ð ðPð Pð Pð"ð "ð "ð"ð "ð "ð "ðSð Sð SðSð Sð Sð>ð >ð >ð:ð :ð :ð €€€Ø
ˆ'�(˜6Ñ
"Ô
"€Øð\ð \ð \ðð ð ð ðð ð ð
ð ð ð ðð ð ð ð6.ð 6.ð 6.ð 6.ð 6.ˆTñ 6.ô 6.ð 6.ðp „7ˆeÒÐð ÐÐÐÐÐÐÐàØØØØØØØØØØØØØð
ð 
€Nð 
ð 
ð 
ð 
ð 
ðð ð ð ð Ð Ð Ð Ø	Œ�Š˜Ô+Ñ	,Ô	,€Ø
Œ�Š�hÑÔÐ, HÐI°´·²ÀÑ0IÔ0I€ØðØ€H€HøðØŒx˜Œ{€H€H€HøøøØ Ð Ð Ð Ð Ð Ð Ð ð1Ø€MØÐ€FØˆ;˜=Ð)Ñ)Ô)ð YØ!Ð!Ð"GÈ-Ñ"WÑXÔXÐXØŒw×Ò ¤× 0Ò 0°Ô1FÑ GÔ GÑHÔH€HØ˜RœVÑ#€KØ”'—/’/ (Ñ+Ô+€KØ  2¤6Ñ)€NØ�S˜Ñ%Ô%€NØ˜˜NÑ+Ô+Ðà +Ø#1Ø%Ø +Ø%'¤WÔ%5Ø%'¤WÔ%5Ø œiØœ6Ø!$  R¤V¡¤ð(ð (ð (ð (ð.&ð &ð &ð "œY¨w¬ÈÐVXÔV]ÔVbð ð ð ð ð øðØŒW�^Š^˜HÑ%Ô%€FØ€Mðð ð à!œYð ð ð ð ð ð øøøàˆ'Ø
Ð
I�R”W—^’^ B¤G×$4Ò$4°XÑ$>Ô$>¸qÔ$AÀ5Ñ$HÑIÔI€ðð ð ðð ð ðð ð ðBð Bð Bð  '˜w yÐ1DÀ\À\ÑRÔRÐ ð,=ð ,=ð ,=ð ,=ð\ ˜$Ð€
ðð ð ð ð ñ ô ð ð*ð *ð *ðXð ð ð ðð ð ðð ð ð ð +Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø +Ð +Ð +Ð +Ð +Ð +Ð +Ð +ð9ð 9ð 9ð 9ð
8$ð 8$ð 8$ð 8$ðtð ð ð ð0ð 0ð 0ð 0ð !#¤¤ð 3ð 3ð 3ð 3ð !œgœm¸R¼WÔ=Mð cð cð cð cð !#¤¤¸r¼wÔ?OÐ[]Ô[eð Rð Rð Rð Rð #%¤'¤.À"Ä'ÔBRÐdfÔdkÔdtð  BFô  BMð 	jð 	jð 	jð 	jð -Ð ,Ð ,Ð ,Ð ,Ð ,ð0ð 0ð 0ð&ð &ð &ð*ð ð ð@ð @ð @ð @ð @ñ @ô @ð @ðD	ð 	ð 	ð 	ð 	�kñ 	ô 	ð 	ð9ð 9ð 9ðt$ð t$ð t$ð t$ð t$ñ t$ô t$ð t$ðlð ð ð
ð ð ðð ð ð ð+ð +ð +ð +ð +ñ +ô +ð +ðð ð ð ð ñ ô ð ðð ð ð"	ð 	ð 	ð
ð 
ð 
ð	Fð 	Fð 	Fð Ð Ð Ð ð!ð !ð !ð4ð ð ð@Uð Uð Uðð ð ð ðHð Hð Hð Hð
ð ð ð6ð ð ð ð ˆsñ ô ð ð	ð 	ð 	ð 	ð 	ˆsñ 	ô 	ð 	ðð ð ð%ð %ð %ð %ð %�H”Oñ %ô %ð %ð  %ð  %ð  %ð  %ð  %ñ  %ô  %ð  %ðDEð Eð Eð Eð
%ð 
%ð 
%ðð ð ðð ð ð:ð :ð :ð)ð )ð )ð )ð )ñ )ô )ð )ð.$ð $ð $ð $ð $ñ $ô $ð $ð6 ˆ'‰)Œ)€€€s%   Á-B ÂBÆ?G ÇGÇC2K Ë+K?