Ë
    ¡ëiµ;  ã                   óˆ  — d Z dZddlmZ ddl­ ddlmZ ddlmZ ddl	m
Z
 ddlmZmZmZmZ e
j                   fd	„Z G d
„ de«      ZddlmZ  G d„ de«      Zde
j                   dfd„Zde
j                   dfd„Zdd„Zedk(  r? ed¬«       ddlZ eej8                  «      dkD  rej8                  d   ZndZ eed¬«       yy)z3.3.0z¼Render Drawing objects within others PDFs or standalone

Usage::
    
    import renderpdf
    renderpdf.draw(drawing, canvas, x, y)

Execute the script to see some test drawings.
changed
é    )ÚBytesIO)Ú*)ÚCanvas)ÚstringWidth)Ú	rl_config)ÚRendererÚgetStateDeltaÚrenderScaledDrawingÚSTATE_DEFAULTSc                 óV   — t        «       }|j                  t        | «      ||||¬«       y)z
As it says©ÚshowBoundaryN)Ú_PDFRendererÚdrawr
   )ÚdrawingÚcanvasÚxÚyr   ÚRs         ú\/var/www/html/chat/reports/venv/lib/python3.12/site-packages/reportlab/graphics/renderPDF.pyr   r      s%   € ä‹€AØ‡F�FÔ˜wÓ'¨°°AÀL€FÕQó    c                   ój   — e 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d„ Zy)r   z±This draws onto a PDF document.  It needs to be a class
    rather than a function, as some PDF-specific state tracking is
    needed outside of the state info in the SVG model.c                 ó    — d| _         d| _        y ©Nr   )Ú_strokeÚ_fill©Úselfs    r   Ú__init__z_PDFRenderer.__init__%   s   € ØˆŒØˆ�
r   c                 ó¤  — t        |t        «      r|j                  s| j                  j	                  «        t        |«      }| j                  j                  |«       | j                  |i «       | j                  |«       | j                  j                  «        t        |t        «      r|j                  s| j                  j                  «        yy)zEThis is the recursive method called for each node
        in the treeN)Ú
isinstanceÚPathÚ
isClipPathÚ_canvasÚ	saveStater	   Ú_trackerÚpushÚapplyStateChangesÚdrawNodeDispatcherÚpopÚrestoreState)r   ÚnodeÚdeltass      r   ÚdrawNodez_PDFRenderer.drawNode)   s—   € ô
 ˜4¤Ô&¨4¯?ª?Ø�L‰L×"Ñ"Ô$ô ˜tÓ$ˆØ�‰×Ñ˜6Ô"Ø×Ñ˜v rÔ*ð 	×Ñ Ô%à�‰×ÑÔÜ˜4¤Ô&¨4¯?ª?Ø�L‰L×%Ñ%Õ'ð ,;r   c           	      óÔ  — |j                   |j                  cxk(  rdk(  ran n^| j                  j                  |j                  |j
                  |j                  |j                  | j                  | j                  ¬«       y | j                  j                  |j                  |j
                  |j                  |j                  |j                   | j                  | j                  ¬«       y )Nr   ©ÚstrokeÚfill©r2   r1   )ÚrxÚryr$   Úrectr   r   ÚwidthÚheightr   r   Ú	roundRect)r   r6   s     r   ÚdrawRectz_PDFRenderer.drawRect=   s�   € Ø�7‰7�d—g‘gÔ" Õ"à�L‰L×ÑØ—F‘F˜DŸF™FØ—J‘J §¡ØŸ<™<ØŸ™ð	 õ ð �L‰L×"Ñ"Ø—F‘F˜DŸF™FØ—J‘J §¡¨T¯W©WØŸ™ØŸ<™<ð	 #õ r   c                 ó  — |j                   }|r~t        |d«      s)t        j                   j                  |j                   «      rH| j                  j                  ||j                  |j                  |j                  |j                  «       y y y )NÚmode)
ÚpathÚhasattrÚosÚexistsr$   ÚdrawInlineImager   r   r7   r8   )r   Úimager=   s      r   Ú	drawImagez_PDFRenderer.drawImageP   sa   € Ø�z‰zˆá”W˜T &Ô)¬R¯W©W¯^©^¸E¿J¹JÔ-GØ�L‰L×(Ñ(ØØ—G‘G˜UŸW™WØ—K‘K §¡õð .Hˆ4r   c                 óª   — | j                   rG| j                  j                  |j                  |j                  |j
                  |j                  «       y y ©N)r   r$   ÚlineÚx1Úy1Úx2Úy2)r   rF   s     r   ÚdrawLinez_PDFRenderer.drawLineZ   s6   € Ø�<Š<Ø�L‰L×Ñ˜dŸg™g t§w¡w°·±¸¿¹ÕAð r   c                 ó¨   — | j                   j                  |j                  |j                  |j                  | j
                  | j                  ¬«       y ©Nr3   )r$   ÚcircleÚcxÚcyÚrr   r   )r   rN   s     r   Ú
drawCirclez_PDFRenderer.drawCircle^   s:   € Ø�L‰L×ÑØ—I‘I˜vŸy™y¨&¯(©(ØŸ™ØŸ<™<ð  õ r   c                 óž  — | j                   rÁt        |j                  «      dk\  sJ d«       ‚|j                  dd |j                  dd  }}| j                  j	                  «       }|j                  |d   |d   «       t        dt        |«      d«      D ]  }|j                  ||   ||dz      «       Œ | j                  j                  |«       y y )Né   ú#Polyline must have 2 or more pointsr   é   )	r   ÚlenÚpointsr$   Ú	beginPathÚmoveToÚrangeÚlineToÚdrawPath)r   ÚpolylineÚheadÚtailr=   Úis         r   ÚdrawPolyLinez_PDFRenderer.drawPolyLinee   sº   € Ø�<Š<Ü�x—‘Ó'¨1Ò,ÐSÐ.SÓSÐ,Ø!Ÿ™¨¨1Ð-¨x¯©¸q¸rÐ/B�$ˆDØ—<‘<×)Ñ)Ó+ˆDØ�K‰K˜˜Q™  a¡Ô)Ü˜1œc $›i¨Ó+ò 0�Ø—‘˜D ™G T¨!¨A©#¡YÕ/ð0à�L‰L×!Ñ! $Õ'ð r   c                 óÜ  — |j                   r | j                  |j                  «       «       y |j                  |j                  |j
                  |j                  |j                  f\  }}}}}|j                  «       \  }}}	|€|}||z
  }
| j                  j                  «       }|dk(  s|€<|	dk(  s|	€5|j                  ||«       |j                  ||z
  ||z
  ||z   ||z   ||
«       nE|j                  ||z
  ||z
  ||z   ||z   ||
«       |j                  ||z
  ||	z
  ||z   ||	z   ||
 «       |j                  «        | j                  j                  || j                  | j                   ¬«       y )Nr   r3   )Úannularr]   Ú	asPolygonÚcenterxÚcenteryÚradiusÚstartangledegreesÚendangledegreesÚ
_xtraRadiir$   rY   rZ   ÚarcToÚarcÚcloser   r   )r   Úwedgerf   rg   rh   ri   rj   ÚyradiusÚradius1Úyradius1Úangler=   s               r   Ú	drawWedgez_PDFRenderer.drawWedgeo   si  € Ø�=Š=Ø�M‰M˜%Ÿ/™/Ó+Õ,ð �]‰]˜EŸM™M¨5¯<©<¸×9PÑ9PÐRW×RgÑRgÐgñ IˆG�W˜fÐ&7¸à).×)9Ñ)9Ó);Ñ&ˆG�W˜hØˆ¨& Ø#Ð$5Ñ5ˆEØ—<‘<×)Ñ)Ó+ˆDØ˜’
˜g˜o°H¸a²KÀ8ÐCSØ—‘˜G WÔ-Ø—
‘
˜7 6™>¨7°7©?¸GÀF¹NÈGÐT[ÉOØ(¨%õ1ð —‘˜ ™¨°©¸'À&¹.È'ÐRYÉ/Ø(¨%ô1à—
‘
˜7 7™?¨G°HÑ,<¸gÀg¹oÈwÐW_ÑO_Ø&¨¨ô0à�J‰JŒLØ�L‰L×!Ñ! $Ø!ŸZ™ZØ#Ÿ|™|ð "õ r   c                 ó6  — |j                   |j                  z
  }|j                   |j                  z   }|j                  |j                  z
  }|j                  |j                  z   }| j                  j                  ||||| j                  | j                  ¬«       y rM   )rO   r4   rP   r5   r$   Úellipser   r   )r   rv   rG   rI   rH   rJ   s         r   ÚdrawEllipsez_PDFRenderer.drawEllipseˆ   sq   € à�Z‰Z˜'Ÿ*™*Ñ$ˆØ�Z‰Z˜'Ÿ*™*Ñ$ˆØ�Z‰Z˜'Ÿ*™*Ñ$ˆØ�Z‰Z˜'Ÿ*™*Ñ$ˆØ�‰×Ñ˜R  2 b¨d¯j©jÀÇÁÐÕMr   c                 óÒ  — t        |j                  «      dk\  sJ d«       ‚|j                  dd |j                  dd  }}| j                  j                  «       }|j	                  |d   |d   «       t        dt        |«      d«      D ]  }|j                  ||   ||dz      «       Œ |j                  «        | j                  j                  || j                  | j                  ¬«       y )NrT   rU   r   rV   r0   )rW   rX   r$   rY   rZ   r[   r\   rn   r]   r   r   )r   Úpolygonr_   r`   r=   ra   s         r   ÚdrawPolygonz_PDFRenderer.drawPolygon�   sÍ   € Ü�7—>‘>Ó" aÒ'ÐNÐ)NÓNÐ'Ø—^‘^ A aÐ(¨'¯.©.¸¸Ð*<ˆdˆØ�|‰|×%Ñ%Ó'ˆØ�‰�D˜‘G˜T !™WÔ%Ü�qœ#˜d›) QÓ'ò 	,ˆAØ�K‰K˜˜Q™  a¨¡c¡Õ+ð	,à�
‰
ŒØ�‰×ÑØ Ø#'§<¡<Ø!%§¡ð 	õ 	r   c           	      ó  — t        |dd«      }|dv }|dv }| j                  r|s| j                  rÞ|rÛ| j                  j	                  «       }|d   |j
                  |j                  |j                  |j                  f\  }}}}	}
|dvra|d   |d   }}t        |	|||
«      }|d	k(  r||z  }n>|d
k(  r	||dz  z  }n0|dk(  r|t        ||	||||
«      z  }nt        dt        |«      z   «      ‚| j                  j                  |||	|xs d ¬«       y y y )NÚtextRenderModer   )r   rT   é   é   )rV   rT   é   r~   Ú
textAnchor)ÚstartÚ	inheritedÚfontNameÚfontSizeÚendÚmiddleg      à?Únumericzbad value for textAnchor )r<   )Úgetattrr   r   r&   ÚgetStater   r   ÚtextÚencodingr   ÚnumericXShiftÚ
ValueErrorÚstrr$   Ú
drawString)r   Ú	stringObjr|   ÚneedFillÚ
needStrokeÚSÚtext_anchorr   r   rŠ   ÚencÚfontÚ	font_sizeÚtextLens                 r   r�   z_PDFRenderer.drawStringž   s-  € Ü  Ð+;¸AÓ>ˆØ! YÐ.ˆØ# yÐ0ˆ
à�JŠJ™8¨¯ª¹*Ø—‘×&Ñ&Ó(ˆAØ+,¨\©?¸I¿K¹KÈ	ÏÉÐT]×TbÑTbÐdm×dvÑdvÐ+vÑ(ˆK˜˜A˜t SØÐ"7Ñ7Ø"# J¡-°°:±�i�Ü% d¨D°)¸SÓA�Ø Ò%Ø˜‘L‘AØ  (Ò*Ø˜ ™Ñ$‘AØ  )Ò+Øœ {°4¸ÀÀYÈsÓSÑS‘Aä$Ð%@ÄÀ[ÓAQÑ%QÓRÐRØ�L‰L×#Ñ# A q¨$°^Ò5KÀtÐ#ÕLð ;E¨r   c                 ó@  — ddl m} | j                  j                  «       }|j                  |j
                  |j                  |j                  f}t        |dd«      }| j                  }| j                  } ||||xr |dk(  ¬«      }| j                  j                  }	|j                  r| j                  j                  n|	}
t        |dd «      }|dk(  r+|r|r|s |
||d¬	«        |	||d|¬
«       y  |
||||¬«       y |dk(  r |
||||¬«       y |sd} |
||||¬«       y )Nr   )Ú_renderPathÚ	autocloseÚ Úpdf)Ú
forceCloseÚfillModeÚsvgr3   )r1   r2   rŸ   )r2   r1   rŸ   )Úreportlab.graphics.shapesrš   r$   rY   rZ   r\   ÚcurveTorn   rˆ   r   r   r]   r#   ÚclipPath)r   r=   rš   ÚpdfPathÚ	drawFuncsr›   r2   r1   ÚisClosedÚdPÚcPrŸ   s               r   r]   z_PDFRenderer.drawPath³   s  € Ý9Ø—,‘,×(Ñ(Ó*ˆØ—^‘^ W§^¡^°W·_±_ÀgÇmÁmÐTˆ	Ü˜D ¨RÓ0ˆ	Ø�z‰zˆØ—‘ˆÙ˜t Y¸4Ò;TÀIÈuÑDTÔUˆØ�\‰\×"Ñ"ˆØ&*§o¢oˆT�\‰\×"Ò"¸2ˆÜ˜4 
¨4Ó0ˆØ�eÒÙ™¡xÙ�7 ¨aÕ0Ù�7 6°¸HÖEá�7 ¨f¸xÖHØ˜ÒÙˆw˜T¨&¸8ÖDñ Ø�Ùˆw˜T¨&¸8ÖDr   c                 ó:   — | j                   j                  |«       y rE   )r$   ÚsetStrokeColor©r   Úcs     r   rª   z_PDFRenderer.setStrokeColorÌ   s   € Ø�‰×#Ñ# AÕ&r   c                 ó:   — | j                   j                  |«       y rE   )r$   ÚsetFillColorr«   s     r   r®   z_PDFRenderer.setFillColorÏ   s   € Ø�‰×!Ñ! !Õ$r   c           
      óê  — t         j                  rt        |j                  «       «      n|j                  «       D �]¶  \  }}|dk(  r3| j                  j                  |d   |d   |d   |d   |d   |d   «       Œ?|dk(  r#|€d| _        ŒNd| _        | j                  |«       Œg|d
k(  r| j                  j                  |«       Œˆ|dk(  r| j                  j                  |«       Œ©|dk(  r| j                  j                  |«       ŒÊ|dk(  r†|rht        |t        t        f«      r2t        |«      dk(  r$t        |d   t        t        f«      r|d   }|d   }nd}| j                  j                  ||«       �Œ9| j                  j                  «        �ŒU|dk(  r%|€	d| _        �Œed| _        | j#                  |«       �Œ|dv rj|j%                  d| j                  j&                  «      }|j%                  d| j                  j(                  «      }| j                  j+                  ||«       �Œí|dk(  r!|€�Œö| j                  j-                  |«       �Œ|dk(  r!|€�Œ| j                  j/                  |«       �Œ9|dk(  r| j                  j1                  |«       �Œ[|dk(  r| j                  j3                  |«       �Œ}|dk(  r| j                  j5                  |«       �ŒŸ|dk(  s�Œ¦|| j                  _        �Œ¹ y	)z`This takes a set of states, and outputs the PDF operators
        needed to set those propertiesÚ	transformr   rV   rT   é   r}   r   ÚstrokeColorNÚstrokeWidthÚstrokeLineCapÚstrokeLineJoinÚstrokeDashArrayÚ	fillColor)r„   rƒ   rƒ   r„   ÚfillOpacityÚstrokeOpacityÚfillOverprintÚstrokeOverprintÚoverprintMaskrŸ   )r   Ú	invariantÚsortedÚitemsr$   r°   r   rª   ÚsetLineWidthÚ
setLineCapÚsetLineJoinr!   ÚlistÚtuplerW   ÚsetDashr   r®   ÚgetÚ	_fontnameÚ	_fontsizeÚsetFontÚsetFillAlphaÚsetStrokeAlphaÚsetFillOverprintÚsetStrokeOverprintÚsetOverprintMaskÚ	_fillMode)r   ÚdeltaÚnewStateÚkeyÚvalueÚphaseÚfontnameÚfontsizes           r   r(   z_PDFRenderer.applyStateChangesÒ   s„  € ô 5>×4GÒ4Gœ6 %§+¡+£-Ô0ÈUÏ[É[Ë]ó <	/‰JˆC�Ø�kÒ!Ø—‘×&Ñ& u¨Q¡x°°q±¸5À¹8Ø!& q¡¨5°©8°U¸1±Xõ?à˜Ò%ð �=Ø#$�D•Là#$�D”LØ×'Ñ'¨Õ.Ø˜Ò%Ø—‘×)Ñ)¨%Õ0Ø˜Ò'Ø—‘×'Ñ'¨Õ.ØÐ(Ò(Ø—‘×(Ñ(¨Õ/ð Ð)Ò)ÙÜ! %¬¬e¨Ô5¼#¸e»*Àaº-ÌJÐW\Ð]^ÑW_ÔafÔgkÐ`lÔLmØ % a¡˜Ø % a¡™à !˜Ø—L‘L×(Ñ(¨¨uÖ5à—L‘L×(Ñ(Ö*Ø˜Ò#ð �=Ø!"�D–Jà!"�D”JØ×%Ñ% eÖ,ØÐ0Ñ0ð !Ÿ9™9 Z°·±×1GÑ1GÓH�Ø Ÿ9™9 Z°·±×1GÑ1GÓH�Ø—‘×$Ñ$ X¨xÖ8Ø�mÒ#ØÒ$Ø—L‘L×-Ñ-¨eÖ4Ø�oÒ%ØÒ$Ø—L‘L×/Ñ/°Ö6Ø�oÒ%Ø—‘×-Ñ-¨eÖ4ØÐ'Ò'Ø—‘×/Ñ/°Ö6Ø�oÒ%Ø—‘×-Ñ-¨eÖ4Ø�j”Ø).�—‘Ö&ñy<	/r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r.   r:   rC   rK   rR   rb   rt   rw   rz   r�   r]   rª   r®   r(   © r   r   r   r       sV   „ ñ:òò(ò(ò&òBòò(òò2NòòMò*Eò2'ò%ó?/r   r   )ÚFlowablec                   ó   — e Zd ZdZd„ Zd„ Zy)ÚGraphicsFlowablez'Flowable wrapper around a Pingo drawingc                 ó~   — || _         | j                   j                  | _        | j                   j                  | _        y rE   )r   r7   r8   )r   r   s     r   r   zGraphicsFlowable.__init__  s+   € ØˆŒØ—\‘\×'Ñ'ˆŒ
Ø—l‘l×)Ñ)ˆ�r   c                 óH   — t        | j                  | j                  dd«       y r   )r   r   Úcanvr   s    r   r   zGraphicsFlowable.draw  s   € ÜˆT�\‰\˜4Ÿ9™9 a¨Õ+r   N)r×   rØ   rÙ   rÚ   r   r   rÛ   r   r   rÞ   rÞ     s   „ Ù1ò*ó
,r   rÞ   rœ   rV   c                 ó¢  — t        | «      } dD ]1  }d|z   }t        | ||j                  |t        d|z      «      «      ||<   Œ3 |j                  dd«      }t	        |fi |¤Ž}	|r3|	j                  t        j                  d«       |	j                  dd|«       |	j                  |«       |r8|	j                  | j                  | j                  f«       t        | |	d	d	|¬
«       nC|	j                  t        j                  d«       d}
d}|
| j                  z
  }
t        | |	d|
|¬
«       |r(d	dlm}  ||¬«      |	j                   j"                  _        |	j'                  «        |	j)                  «        t*        j,                  dk(  rIt/        |d«      s<	 d	dl}d	dl}|j5                  |«      j7                  dd«       |j9                  |«       yyy#  Y yxY w)zàMakes a one-page PDF with just the drawing.

    If autoSize=1, the PDF will be the same size as
    the drawing; if 0, it will place the drawing on
    an A4 page with a title above it - possibly overflowing
    if too big.)ÚNameÚSizeÚinitialFontr–   ÚmetadataPathNé$   éP   éî  r   r   é   éä  rV   )ÚXMP)r=   ÚmacÚwriteÚCAROzPDF )r
   rˆ   r*   r   r   rÉ   r   ÚdefaultGraphicsFontNamer�   ÚsetTitleÚsetPageSizer7   r8   r   Úreportlab.pdfbase.pdfdocrì   Ú_docÚCatalogÚMetadataÚshowPageÚsaveÚsysÚplatformr>   ÚmacfsÚ
macostoolsÚFSSpecÚSetCreatorTypeÚtouched)ÚdÚfnÚmsgr   ÚautoSizeÚkwdsr   Úaræ   r¬   r   ra   rì   rû   rü   s                  r   Ú
drawToFiler    s�  € ô 	˜AÓ€AØò DˆØ˜!‰OˆÜ˜!˜A˜dŸh™h q¬¸¸q¹Ñ)AÓBÓCˆˆQŠðDð —8‘8˜N¨4Ó0€LÜˆrÑ�DÑ€AÙ
Ø	�	‰	”)×3Ñ3°RÔ8Ø	�‰�R˜˜cÔ"Ø‡J�Jˆs„OáØ	�‰�q—w‘w §¡Ð)Ô*ÜˆQ��1�a lÖ3ð 	
�	‰	”)×3Ñ3°RÔ8ØˆØˆØ�—‘‰LˆÜˆQ��2�q |Õ4áÝ0Ù"%¨<Ô"8ˆ�‰�‰ÔØ‡J�J„LØ‡F�F„HÜ
‡|�|�UÒ¤7¨2¨wÔ#7ð	ß$Ø�L‰L˜Ó×+Ñ+¨F°FÔ;Ø×Ñ˜rÕ"ð	 $8Ðøð
	Ùús   Æ:G
 Ç
Gc                 óX   — t        «       }t        | |f|||dœ|¤Ž |j                  «       S )z>Returns a PDF as a string in memory, without touching the disk)r  r   r  )r   r  Úgetvalue)r   r  r   r  r  Úss         r   ÚdrawToStringr
  H  s-   € ä‹	€AÜˆq�!ÐR˜¨<ÀÑRÈTÒRØ�:‰:‹<Ðr   Úpdfoutc                 ó"  — ddl m}m} ddlm} dd l}|j                  j                  | «      s|j                  | «       |j                  j                  | d«      }t        |«      }|j                  |d«       |j                  ddd«       dd	lm} g }	t        |«      D ]>  }
|
dd
 dk(  sŒt!        ||
«      } |«       }t!        |dd«      }|	j#                  ||f«       Œ@ |j                  |d«       d}d}|	D ]Ò  \  }}|€
J d|z  «       ‚|dk  r|j%                  «        d}|dz
  }|j                  |d«       |j                  d|d|z  «       |j                  |d«       |dz
  }|j'                  d|«      }|j)                  |«       |j+                  |«       |j-                  «       }||j.                  z
  }t1        ||d|«       |dz   }ŒÔ |dk7  r|j%                  «        |j3                  «        |s|dkD  rt5        dt7        |«      z  «       y y )Nr   )Ú_baseGFontNameÚ_baseGFontNameBI)ÚverbosezrenderPDF.pdfrç   rè   ré   zGraphics Test)Ú
testshapesé
   Ú
getDrawingrÚ   rœ   rê   rë   rV   zDrawing %d has no docstring!i,  é   z
Drawing %dé   rT   zsaved %s)r¡   r  r  Úreportlab.rl_configr  r?   r=   ÚisdirÚmkdirÚjoinr   rÉ   r�   Úreportlab.graphicsr  Údirrˆ   Úappendr÷   Ú	beginTextÚ	textLinesÚdrawTextÚgetYr8   r   rø   ÚprintÚascii)ÚoutDirÚshoutr  r  r  r?   r  r¬   r  ÚdrawingsÚfuncnameÚfuncr   Ú	docstringr   ra   ÚtextObjs                    r   Útestr)  T  sð  € ßJÝ+ÛØ�7‰7�=‰=˜Ô Ø
�‰�ÔØ	�‰�‰�f˜_Ó	-€BÜˆr‹
€AØ‡I�Iˆn˜bÔ!Ø‡L�L��S˜/Ô*õ .Ø€HÜ˜
“Oò 2ˆØ�A�bˆ>˜\Ó)Ü˜: hÓ/ˆDÙ“fˆGÜ  Y¨rÓ2ˆIØ�O‰O˜W iÐ0Õ1ð2ð ‡I�Iˆn˜bÔ!Ø€AØ	€AØ (ò Ñˆ�)ØÐ%ÐJÐ(FÈÑ(JÓJÐ%ØˆsŠ7Ø�J‰JŒLØˆAà�‰FˆØ	�	‰	Ð" 2Ô&Ø	�‰�R˜˜L¨1Ñ,Ô-Ø	�	‰	�. Ô$Ø�‰FˆØ—+‘+˜b !Ó$ˆØ×Ñ˜)Ô$Ø	�
‰
�7ÔØ�L‰L‹NˆØ�—‘ÑˆÜˆW�a˜˜QÔØ�‰E‰ð#ð$ 	ˆ#‚vˆq�z‰zŒ|à‡F�F„HÙ�˜’	Üˆjœ5 ›9Ñ$Õ%ð r   Ú__main__T)r#  N)r  F)Ú__version__rÚ   Úior   r¡   Úreportlab.pdfgen.canvasr   Úreportlab.pdfbase.pdfmetricsr   Ú	reportlabr   Úreportlab.graphics.renderbaser   r	   r
   r   Ú_unset_r   r   Úreportlab.platypusrÜ   rÞ   r  r
  r)  r×   rù   rW   ÚargvÚoutdirrÛ   r   r   ú<module>r5     sÏ   ðð €ð		€õ ä 'Ý *Ý 4Ý ß fÓ fð .7×->Ñ->ó Rô
q/�8ô q/õf (ô,�xô ,ð ¨9×+<Ñ+<Àqó (ðT ¨×):Ñ):ÀAó ó2&ðh ˆZÒÙˆtÕÛÙ
ˆ3�8‰8ƒ}�Q‚Ø—‘˜!‘‰àˆÙˆ�dÖð r   