§
    £”jp  ã                   óü  — d Z dZddlmZ ddlmZmZmZmZm	Z	m
Z
mZmZmZmZ ddlT ddlmZ ddlmZmZmZ ddlmZmZmZmZmZmZ dd	lmZ dd
lm Z m!Z!m"Z"m#Z# ddl$m%Z% ddl&m'Z'm(Z(m)Z) ddl*m+Z+ ddl,m-Z- ddl.m/Z/  G d„ de¦  «        Z0 G d„ de+¦  «        Z1 G d„ de1¦  «        Z2 G d„ de2¦  «        Z3d„ Z4 G d„ d¦  «        Z5 G d„ de3¦  «        Z6 G d„ de3¦  «        Z7d „ Z8 G d!„ d"e3¦  «        Z9d#„ Z:d$„ Z;d%„ Z<d&„ Z=d'S )(z3.3.0z;This modules defines a very preliminary Line Chart example.é    )Úcolors)
ÚisNumberÚisNumberOrNoneÚisColorOrNoneÚisListOfStringsOrNoneÚ	isBooleanÚNoneOrÚisListOfNumbersOrNoneÚisStringOrNoneÚOneOfÚ
Percentage)Ú*)Úflatten)ÚTypedPropertyCollectionÚ
PropHolderÚ
tpcGetItem)ÚLineÚRectÚGroupÚDrawingÚPolygonÚPolyLine)ÚNoEntry)ÚXCategoryAxisÚ
YValueAxisÚYCategoryAxisÚ
XValueAxis)ÚLabel)ÚuSymbol2SymbolÚisSymbolÚ
makeMarker)ÚPlotArea)Ú_objStré   )ÚFillPairedDatac                   ór  — e Zd Z e eed¬¦  «         eed¬¦  «         eed¬¦  «         eed¬¦  «         e ee	¦  «        dd¬¦  «         ed	d
d¬¦  «         ed	dd¬¦  «         ee
d¬¦  «         e e eddd¦  «        ¦  «        dd¬¦  «         eedd¬¦  «         eedd¬¦  «        ¬¦  «        Zd	S )ÚLineChartPropertieszWidth of a line.©ÚdesczColor of a line or border.zfill color of a bar.zDash array of a line.zWidget placed at data points.r$   ©r)   ÚadvancedUsageNzShader Class.zFiller Class.zName of the line.ÚlineÚ
joinedLineÚbarzWhat kind of plot this line isz2Percentage of available width to be used for a barzIf true flood fill to x axis)ÚstrokeWidthÚstrokeColorÚ	fillColorÚstrokeDashArrayÚsymbolÚshaderÚfillerÚnameÚ	lineStyleÚbarWidthÚinFill)Ú__name__Ú
__module__Ú__qualname__ÚAttrMapÚAttrMapValuer   r   r
   r	   r    r   r   r   r   Ú_attrMap© ó    ús/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/reportlab/graphics/charts/linecharts.pyr'   r'      s3  € € € € € ØˆwØ"�l 8Ð2DÐEÑEÔEØ"�l =Ð7SÐTÑTÔTØ �L Ð5KÐLÑLÔLØ&˜,Ð'<ÐCZÐ[Ñ[Ô[Ø�˜f˜f XÑ.Ô.Ð5TÐcdÐeÑeÔeØ�˜d¨ÀqÐIÑIÔIØ�˜d¨ÀqÐIÑIÔIØˆ|˜NÐ1DÐEÑEÔEØ �L  ¨¨¨f°\À%Ñ(HÔ(HÑ!IÔ!IÐPpð  @Að  Bñ  Bô  BØ�< Ð4hÐwxÐyÑyÔyØ�˜iÐ.LÐ[\Ð]Ñ]Ô]ð
ñ 
ô 
€H€H€HrA   r'   c                   ó   — e Zd Zd„ Zdd„ZdS )ÚAbstractLineChartc                 óp  — | j         }|t          |¦  «        z  }||         }|j        }	||dz  z   }
t          |dd ¦  «        }|dk    rht          |dt          |dd ¦  «        ¦  «        }t          |dt          |dd ¦  «        ¦  «        }t	          ||||||	d|t          |d|	¦  «        ¬¦	  «	        }nz| j        s|d	k    rkt          |dt          |dd ¦  «        ¦  «        }t          |dt          |dd ¦  «        ¦  «        }t          ||
||z   |
|	d¬
¦  «        }|r||_        |r||_        nd }t          |d¦  «        r|j
        }nt          |d¦  «        r|j
        }nd }|rt          |||dz  z   |
|	¦  «        }|r<|r:t          ¦   «         }|                     |¦  «         |                     |¦  «         |S |p|S )Ng       @r7   r.   r2   r/   r   r1   )r/   r0   ÚstrokeLineCapr2   r1   r-   )r0   rF   r3   )ÚlinesÚlenr0   Úgetattrr   ÚjoinedLinesr   r/   r2   Úhasattrr3   r   r   Úadd)ÚselfÚrowNoÚxÚyÚwidthÚheightÚ	baseStyleÚstyleIdxÚstyleÚcolorÚyh2r7   Údashr/   ÚLÚSÚgs                    rB   ÚmakeSwatchSamplez"AbstractLineChart.makeSwatchSample)   s  € Ø”Jˆ	Ø�3˜y™>œ>Ñ)ˆØ˜(Ô#ˆØÔ!ˆØ��r‘	‰kˆÝ˜E +¨dÑ3Ô3ˆ	Ø�eÒÐÝ˜5Ð"3µW¸YÐGXÐY]Ñ5^Ô5^Ñ_Ô_ˆDÝ  ¨µw¸uÀmÐTXÑ7YÔ7YÑZÔZˆKÝ�Q�q˜˜v°+È%Ð^_Ðptõ  @Gð  HMð  NYð  Z_ñ  @`ô  @`ð  añ  aô  aˆAˆAØÔð 	 ¨LÒ!8Ð!8Ý˜5Ð"3µW¸YÐGXÐY]Ñ5^Ô5^Ñ_Ô_ˆDÝ  ¨µw¸uÀmÐTXÑ7YÔ7YÑZÔZˆKÝ�Q�s˜1˜U™7 3°5ÀqÐIÑIÔIˆAØÐ7¨K˜AœMØÐ-¨�QÔ&øàˆAå�5˜(Ñ#Ô#ð 	Ø”ˆAˆAÝ�Y Ñ)Ô)ð 	ØÔ ˆAˆAàˆAàÐ8•.  1 U¨2¡X¡:¨c°%Ñ8Ô8ˆaØð 	�ð 	Ý‘”ˆAØ�EŠE�!‰HŒHˆHØ�EŠE�!‰HŒHˆHØˆHØˆv�AˆrA   Nc                 óT   — t          t          | j        |         d|¦  «        ¦  «        S )zreturn series name i or defaultr6   )r#   rI   rG   )rM   ÚiÚdefaults      rB   ÚgetSeriesNamezAbstractLineChart.getSeriesNameL   s"   € å•w˜tœz¨!œ}¨V°GÑ<Ô<Ñ=Ô=Ð=rA   ©N)r:   r;   r<   r\   r`   r@   rA   rB   rD   rD   '   s8   € € € € € ð!ð !ð !ðF>ð >ð >ð >ð >ð >rA   rD   c                   ó   — e Zd ZdS )Ú	LineChartN)r:   r;   r<   r@   rA   rB   rc   rc   P   s   € € € € € Ø€DrA   rc   c            
       ó   — e Zd ZdZdZ ed-i de“d eedd¬¦  «        “d eed	d¬¦  «        “d
 edd¬¦  «        “d edd¬¦  «        “d edd¬¦  «        “d eed¬¦  «        “d eed¬¦  «        “d edd¬¦  «        “d edd¬¦  «        “d edd¬¦  «        “d ee	d¬¦  «        “d edd¬¦  «        “d  ee
d!d¬¦  «        “d" ee
d#d¬¦  «        “d$ edd%d¬¦  «        “ŽZd&„ Zd'„ Zd(„ Zd)„ Zd*„ Zd+„ Zd,„ ZdS ).ÚHorizontalLineCharta±  Line chart with multiple lines.

    A line chart is assumed to have one category and one value axis.
    Despite its generic name this particular line chart class has
    a vertical value axis and a horizontal category one. It may
    evolve into individual horizontal and vertical variants (like
    with the existing bar charts).

    Available attributes are:

        x: x-position of lower-left chart origin
        y: y-position of lower-left chart origin
        width: chart width
        height: chart height

        useAbsolute: disables auto-scaling of chart elements (?)
        lineLabelNudge: distance of data labels to data points
        lineLabels: labels associated with data values
        lineLabelFormat: format string or callback function
        groupSpacing: space between categories

        joinedLines: enables drawing of lines

        strokeColor: color of chart lines (?)
        fillColor: color for chart background (?)
        lines: style list, used cyclically for data series

        valueAxis: value axis object
        categoryAxis: category axis object
        categoryNames: category names

        data: chart data, a list of data series of equal length
    r   ÚBASEÚuseAbsolutez$Flag to use absolute spacing values.r$   r*   ÚlineLabelNudgez,Distance between a data point and its label.Ú
lineLabelsNz(Handle to the list of data point labels.r(   ÚlineLabelFormatz9Formatting string or function used for data point labels.ÚlineLabelArrayzHexplicit array of line label values, must match size of data if present.ÚgroupSpacingz? - Likely to disappear.rJ   z.Display data points joined with lines if true.rG   zHandle of the lines.Ú	valueAxiszHandle of the value axis.ÚcategoryAxiszHandle of the category axis.ÚcategoryNameszList of category names.Údataz/Data to be plotted, list of (lists of) numbers.r9   z!Whether infilling should be done.ÚreversePlotOrderzIf true reverse plot order.Úannotationsz<list of callables, will be called with self, xscale, yscale.c                 ó²  — t                                | ¦  «         d | _        d | _        | j        r't          ¦   «         | _        t          ¦   «         | _        n&t          ¦   «         | _        t          ¦   «         | _        ddg| _        d| _        t          t          ¦  «        | _        d| j        _        t"          j        | j        d         _        t"          j        | j        d         _        t"          j        | j        d         _        d| _        d| _        t          t.          ¦  «        | _        d | _        d | _        d| _        d| _        d| _        d| _        d S )N©éd   én   éx   é‚   )éF   éP   rz   éZ   )ÚNorthÚSouthÚEastÚWestr$   r   é   é
   )rc   Ú__init__r0   r1   Ú_flipXYr   rn   r   rm   r   r   rp   ro   r   r'   rG   r/   r   ÚredÚgreenÚbluerg   rl   r   ri   rj   rk   rh   rJ   r9   rq   ©rM   s    rB   r‚   zHorizontalLineChart.__init__Œ   s   € Ý×Ò˜4Ñ Ô Ð ð  ˆÔØˆŒð Œ<ð 	*Ý -¡¤ˆDÔÝ'™\œ\ˆDŒNˆNå -¡¤ˆDÔÝ'™\œ\ˆDŒNð 'Ø%ð'ˆŒ	à<ˆÔå,Õ-@ÑAÔAˆŒ
Ø!"ˆŒ
ÔÝ$*¤JˆŒ
�1ŒÔ!Ý$*¤LˆŒ
�1ŒÔ!Ý$*¤KˆŒ
�1ŒÔ!ð ˆÔØˆÔå1µ%Ñ8Ô8ˆŒØ#ˆÔØ"ˆÔð !ˆÔð
 ˆÔØˆŒØ !ˆÔÐÐrA   c                 óì   — t          dd¦  «        }ddg}t          ¦   «         }d|_        d|_        d|_        d|_        ||_        t          d	¦  «        |j        _	        | 
                    |¦  «         |S )
ú Shows basic use of a line chart.éÈ   ru   ©é   é   é   é   é%   é-   é   é   ©é   r�   é   é   é&   é.   é   r�   rŽ   r�   éU   éª   ÚCircle)r   re   rO   rP   rR   rQ   rp   r!   rG   r3   rL   ©rM   Údrawingrp   Úlcs       rB   ÚdemozHorizontalLineChart.demoÀ   sw   € õ ˜#˜sÑ#Ô#ˆð /Ø/ðˆõ
 !Ñ"Ô"ˆàˆŒØˆŒØˆŒ	ØˆŒØˆŒÝ$ XÑ.Ô.ˆŒŒà�Š�B‰ŒˆàˆrA   c                 ó°  — t          | j        ¦  «        | _        t          t	          t          t           | j        ¦  «        ¦  «        ¦  «        | _        | j        rd}n,| j        }| j	         
                    d¦  «        d         }||z  }|| _        | j         
                    d¦  «        x| _        }d| j        z  |z  x| _        }t          ¦   «         }g j        }| j	        j
        }| j        j
        }	| j        }
| j        }t          |
¦  «        }t%          |
¦  «        D ]ô\  }}t'          |t(          ¦  «        rz|j        }d|cxk    r|k     rQn nN||k    rt-          d|z  ¦  «        ‚||f}|                     t1          |¦  «        t          |¦  «        f¦  «         nt-          d|›d|›�¦  «        ‚g j        }t%          |¦  «        D ]9\  }}|�2 ||¦  «        \  }} |	|¦  «        } ||r|||z   fn||z   |f¦  «         Œ: ||j        ¦  «         Œõ|j        }|D ]\  }}t)          ||         |¦  «        ||<   Œt          |¦  «        | _        || _        dS )	z…Works out where they go.

        Sets an attribute _positions which is a list of
        lists of (x, y) matching the data.
        g      ð?r   r$   ç      à?z)data row %r may not be paired with itselfz	data row z! is paired with invalid data row N)rH   rp   Ú_seriesCountÚmaxÚlistÚmapÚ
_rowLengthrg   rl   rn   ÚscaleÚ_normFactorrm   Ú_vzeroÚ_hngsÚsetÚappendrƒ   Ú	enumerateÚ
isinstancer%   ÚotherÚ
ValueErrorrL   ÚminÚ__self__Ú_pairInFillsÚ
_positions)rM   Ú
normFactorÚ	normWidthÚ
availWidthÚvzeroÚhngsÚpairsÚPÚcscaleÚvscalerp   ÚflipXYÚnrN   Úrowr±   Útr,   ÚcolNoÚdatumÚcr[   Úvs                          rB   ÚcalcPositionsz!HorizontalLineChart.calcPositions×   s~  € õ   ¤	™NœNˆÔÝ�d¥3¥s¨4¬9Ñ#5Ô#5Ñ6Ô6Ñ7Ô7ˆŒàÔð 	0àˆJˆJð Ô)ˆIØÔ*×0Ò0°Ñ3Ô3°AÔ6ˆJØ# iÑ/ˆJØ%ˆÔØ"œn×2Ò2°1Ñ5Ô5Ð5ˆŒ�eØ $Ô"3Ñ3°jÑ@Ð@ˆŒ
�Tå‘”ˆØŒIˆØÔ"Ô(ˆØ”Ô%ˆØŒyˆØ”ˆÝ�‰IŒIˆÝ" 4™œð 	ð 	‰IˆE�#Ý˜#�~Ñ.Ô.ð hØœ	�Ø�e�:�:’:�:˜A’:�:�:�:�:Ø˜e’|�|Ý(Ð)TÐW\Ñ)\Ñ]Ô]Ð]Ø˜u˜�AØ—I’I�s 1™vœv¥c¨!¡f¤f˜oÑ.Ô.Ð.Ð.å$˜*ÐY^ÐY^ÐY^Ð`eÐ`eÐ%fÑgÔgÐgØ”9ˆDÝ(¨™~œ~ð Að A‘��eØÐ$Ø!˜6 %™=œ=‘D�A�qØ˜˜u™œ�AØ�D¨Ð?˜!˜Q˜t™V˜˜°Q°t±V¸Q°KÑ@Ô@Ð@øØˆAˆdŒmÑÔÐÐØŒJˆð "ð 	6ð 	6‰LˆE�5Ý% a¨¤h¨uÑ5Ô5ˆAˆe‰HˆHÝ ™JœJˆÔØˆŒˆˆrA   c                 ó
  — | j         }| j        |         |         }|€d}nnt          |¦  «        t          u r*|dk    r	 | j        |         |         }n=#  d}Y n7xY w||z  }n.t          |d¦  «        r ||¦  «        }nt          d|z  ¦  «        ‚|rq| j        ||f         }|j        sdS |dk    r| 	                    ||| j
        z   ¦  «         n| 	                    ||| j
        z
  ¦  «         |                     |¦  «         nd}|S )z*Draw a label for a given item in the list.NÚvaluesÚ__call__z6Unknown formatter type %s, expected string or functionr   )rj   rp   ÚtypeÚstrrk   rK   r²   ri   ÚvisibleÚ	setOriginrh   ÚsetText)	rM   rN   rÄ   rO   rP   ÚlabelFmtÚ
labelValueÚ	labelTextÚlabels	            rB   Ú_innerDrawLabelz#HorizontalLineChart._innerDrawLabel  s=  € ð Ô'ˆØ”Y˜uÔ% eÔ,ˆ
àÐØˆIˆIÝ�(‰^Œ^�sÐ"Ð"Ø˜8Ò#Ð#ð%Ø $Ô 3°EÔ :¸5Ô A�I�Iøð%Ø $�I�I�Iøøøà$ zÑ1�	�	Ý�X˜jÑ)Ô)ð 	`Ø ˜ Ñ,Ô,ˆIˆIåÐUÐV^Ñ^Ñ_Ô_Ð_àð 
	Ø”O U¨E NÔ3ˆEØ”=Ð( & &à�1ŠuˆuØ—’  1 tÔ':Ñ#:Ñ;Ô;Ð;Ð;à—’  1 tÔ':Ñ#:Ñ;Ô;Ð;Ø�MŠM˜)Ñ$Ô$Ð$Ð$àˆEØˆs   ½A ÁAc                 ó\   — |                      |                      ||||¦  «        ¦  «         dS )zLDraw a label for a given item in the list.
        G must have an add methodN)rL   rÕ   )rM   ÚGrN   rÄ   rO   rP   s         rB   Ú	drawLabelzHorizontalLineChart.drawLabel/  s0   € ð 	
�Šˆd×"Ò" 5¨¨q°Ñ3Ô3Ñ4Ô4Ð4Ð4Ð4rA   c                 óN	  ‡&‡'— t          ¦   «         }| j        }| j        }| j        r|                     ¦   «          | j        Š&t          ‰&¦  «        Š'| j        }| j        }| j	        }| j
        }|s0| j        s)ˆ&ˆ'fd„t          t          |¦  «        ¦  «        D ¦   «         rD|r|j        }|j        }	|	|j        z   }
n|j        }|j        }	|	|j        z   }
t!          | d|¦  «        }| j        }d }t%          | j        rt'          |¦  «        n|¦  «        D �]“\  }}|‰'z  }‰&|         }|j        }t!          |d|¦  «        }t!          |d|¦  «        }t!          |dd ¦  «        }t!          |dd ¦  «        }t+          |d¦  «        r|j        }nt+          ‰&d¦  «        r‰&j        }nd }|dk    �r|€g|r3t/          |j        |¦  «        }t1          |j        |j        z   |¦  «        }n2t/          |j        |¦  «        }t1          |j        |j        z   |¦  «        }t!          |d	t3          d
¦  «        ¦  «        }t5          |t2          ¦  «        r| j        |z  dz  }n|dz  }|D ][\  }}|r||k     r|n|}|||z
  ||z
  d|z  f}n||k     r|n|}||z
  |d|z  ||z
  f}|                     t;          ||||dœŽ¦  «         Œ\�n4| j        s|dk    �r&t?          |¦  «        }|st5          |t@          ¦  «        r¸t!          |dd ¦  «        } t5          |t@          ¦  «        r+|t?          t'          ||j!                 ¦  «        ¦  «        z   }!n|r||	g|z   ||
gz   }!n|	|g|z   |
|gz   }!| r|  "                    | ||||!¦  «         n0|                     tG          |!|||k    r|nd |pd¬¦  «        ¦  «         |r|dk    s||k    r:tI          ||dd¬¦  «        }"|r||"_        |r||"_%        |                     |"¦  «         t+          |d¦  «        r|j&        }#nt+          ‰&d¦  «        r‰&j&        }#nd }#|#rTt%          |¦  «        D ]D\  }$\  }}tO          tQ          |#|$¦  «        |||j        ¦  «        }%|%r|                     |%¦  «         ŒEt%          |¦  «        D ]!\  }$\  }}|  )                    |||$||¦  «         Œ"�Œ•|S )Nc                 óH   •— g | ]}t          ‰|‰z           d d¦  «        ¯|‘ŒS )r9   F)rI   )Ú.0rN   rG   Ú
styleCounts     €€rB   ú
<listcomp>z1HorizontalLineChart.makeLines.<locals>.<listcomp>A  sJ   ø€ ð Lð Lð L˜5Ý" 5¨¨zÑ)9Ô#:¸8ÀEÑJÔJðL�ð Lð Lð LrA   Ú_inFillGr1   r9   r2   r7   r/   r.   r8   é2   g{®Gáz„?r£   r€   )r/   r0   r1   r-   r5   çš™™™™™¹?)r1   r0   r/   r   r$   )r0   rF   ÚstrokeLineJoinr3   )*r   rj   r¶   rq   ÚreverserG   rH   rƒ   rn   rm   r9   rµ   ÚrangeÚ_xÚ_yÚ_lengthrI   r«   r¯   Úreversedr0   rK   r/   r¥   r³   r   r°   r¬   rL   r   rJ   r   r%   r±   Úfillr   r   r2   r3   r   r   rØ   )(rM   r[   rÑ   r½   rÀ   ÚcAÚvAÚ_inFillÚinfillCÚinfillV0ÚinfillV1ÚinFillGrº   ÚbyposrN   rÂ   rT   ÚrowStyler0   r1   r9   rX   r7   r/   Úbynegr8   ÚhbwrO   rP   Úv0rÃ   Úpointsr5   Úfpointsr,   ÚuSymbolrÄ   r3   rG   rÜ   s(                                         @@rB   Ú	makeLineszHorizontalLineChart.makeLines4  s¸  øø€ Ý‰GŒGˆàÔ'ˆØŒOˆØÔ Ð- !§)¢)¡+¤+ +Ø”
ˆÝ˜‘Z”Zˆ
Ø”ˆØÔˆØŒ^ˆØ”+ˆØð 	1�tÔ(ð 	1ðLð Lð Lð Lð L¥E­#¨a©&¬&¡M¤Mð Lñ Lô Lð	1ð ð 1Øœ%�Øœ5�Ø# b¤jÑ0��àœ%�Øœ5�Ø# b¤jÑ0�Ý˜d :¨aÑ0Ô0ˆGØ”ˆØˆõ $°4Ô3HÐ$O¥H¨Q¡K¤K KÈaÑPÔPð K	6ñ K	6‰JˆE�3Ø˜zÑ)ˆHØ˜X”ˆHØ"Ô.ˆKÝ ¨°[ÑAÔAˆIÝ˜X h¨wÑ7Ô7ˆFÝ˜8Ð%6¸Ñ=Ô=ˆDÝ ¨°TÑ:Ô:ˆIå�x Ñ/Ô/ð #Ø&Ô2��Ý˜ Ñ.Ô.ð #Ø#Ô/��à"�ð ˜%ÒÑØ�=Øð <Ý # B¤E¨%Ñ 0Ô 0˜Ý # B¤E¨"¬*Ñ$4°UÑ ;Ô ;˜˜å # B¤E¨%Ñ 0Ô 0˜Ý # B¤E¨"¬*Ñ$4°UÑ ;Ô ;˜Ý" 8¨JµzÀ"±~´~ÑFÔF�Ý˜h¥zÑ2Ô2ð 'Øœ* XÑ-¨dÑ2�C�Cà" 3™,�CØð hð h‘D�A�qØð 0Ø&'¨¢g g˜U˜U°5˜Ø  #¡ q¨¡t¨Q¨s©UÐ2˜˜à&'¨¢g g˜U˜U°5˜Ø˜c™E " Q s¡U¨1¨R©4Ð/˜Ø—E’E�$ ¨kÀkÐ\eÐfÐfÐfÑgÔgÐgÐgñhð Ô!ð   Y°Ò%<Ñ%<Ý  ™œ�Øð e�Z¨­NÑ;Ô;ð eÝ$ X¨x¸Ñ>Ô>�FÝ! #¥nÑ5Ô5ð WØ"(­7µ8¸A¸c¼i¼LÑ3IÔ3IÑ+JÔ+JÑ"J˜˜à!ð WØ'.¨xÐ&8¸6Ñ&AÀWÈXÐDVÑ&V˜G˜Gà'/°Ð&8¸6Ñ&AÀXÈgÐDVÑ&V˜GØð eØŸš D¨°°yÀÑIÔIÐIÐIàŸš¥G¨G¸iÐcnÐpyÒcyÐcyÐT_ÐT_ð  @Dð  Q\ð  Qcð  `cð  %dñ  %dô  %dñ  eô  eð  eØð   ¨¢ ¨k¸9Ò.DÐ.DÝ# F°{ÐQRÐbcÐdÑdÔd�DØ"ð 7Ø+6˜Ô(Øð 4Ø/3˜Ô,Ø—E’E˜$‘K”K�Kå�x Ñ*Ô*ð Ø"œ/��Ý˜ Ñ)Ô)ð Øœ,��à�àð -Ý#,¨S¡>¤>ð -ð -‘K�E™%˜1˜QÝ+­J°w¸uÑ,EÔ,EÀaÈÈ(ÔJ^Ñ_Ô_�FØÐ,˜qŸušu V™}œ}˜}øõ "+¨3¡¤ð 6ð 6‘�‘v˜˜1Ø—’˜q %¨°°1Ñ5Ô5Ð5Ð5ñ6ð ˆrA   c                 óò  — | j         | j        }}| j        r'|                     | j        | j        | j        ¦  «         n&|                     | j        | j        | j        ¦  «         |r||_        |r||_        | 	                    | j
        ¦  «         | j        }| j        }| j        rH|                     d¦  «        }||| j        z   k    s||k     s|}|                     ||| j        ¦  «         nG|                     d¦  «        }||| j        z   k    s||k     s|}|                     ||| j        ¦  «         | 	                    | j
        ¦  «         |                      ¦   «          t          ¦   «         }|                     |                      ¦   «         ¦  «         | j        r-t          ¦   «         | _        |                     | j        ¦  «         |                     |¦  «         |                     |¦  «         t%          |dd¦  «        }t%          |dd¦  «        }|s|                     || |j        ¬¦  «         |s|                     || |j        ¬¦  «         |                     |                      ¦   «         ¦  «         |r|                     || |j        ¬¦  «         |r|                     || |j        ¬¦  «         t%          | dd¦  «        D ],}	|                      |	| |j        |j        ¦  «        ¦  «         Œ-|S )zDraws itself.r   ÚdrawGridLastF)ÚparentÚdimrr   r@   )rm   rn   rƒ   ÚsetPositionrO   rP   rQ   rR   ÚjoinAxisÚ	configurerp   r©   rÈ   r   rL   ÚmakeBackgroundr9   rÞ   rI   ÚmakeGridÚgetGridDimsrø   )
rM   rê   ré   rP   rO   Ú	crossesAtr[   ÚcAdglÚvAdglÚas
             rB   ÚdrawzHorizontalLineChart.draw   s¼  € ð ” Ô!2ˆBˆØŒ<ð 	8Ø�NŠN˜4œ6 4¤6¨4¬:Ñ6Ô6Ð6Ð6à�NŠN˜4œ6 4¤6¨4¬;Ñ7Ô7Ð7ØÐ˜RˆrŒ{ØÐ˜RˆrŒ{Ø
�Š�T”YÑÔÐàŒFˆØŒFˆØŒ<ð 	-ð Ÿš ™œˆIØ  T¤Z¡Ò/Ð/°YÀ²]°]Ø�Ø�NŠN˜1˜a ¤Ñ-Ô-Ð-Ð-ð Ÿš ™œˆIØ  T¤[¡Ò0Ð0°iÀ!²m°mØ�Ø�NŠN˜1˜a ¤Ñ,Ô,Ð,Ø
�Š�T”YÑÔÐà×ÒÑÔÐå‰GŒGˆØ	�Šˆd×!Ò!Ñ#Ô#Ñ$Ô$Ð$ØŒ;ð 	!Ý!™GœGˆDŒMØ�EŠE�$”-Ñ Ô Ð à	�Šˆb‰	Œ	ˆ	Ø	�Šˆb‰	Œ	ˆ	Ý˜˜>¨%Ñ0Ô0ˆÝ˜˜>¨%Ñ0Ô0ˆØÐC�b—k’k !¨4°B´N�kÑCÔCÐCØÐC�b—k’k !¨4°B´N�kÑCÔCÐCØ	�Šˆd�nŠnÑÔÑÔÐØÐ?�"—+’+˜a t°´�+Ñ?Ô?Ð?ØÐ?�"—+’+˜a t°´�+Ñ?Ô?Ð?Ý˜˜m¨BÑ/Ô/ÐQÐQˆA°·²°q°q¸¸b¼hÀrÄxÑ7PÔ7PÑ1QÔ1QÐ1QÐ1QØˆrA   r@   )r:   r;   r<   Ú__doc__rƒ   r=   rc   r>   r   r   r   r?   r‚   r¡   rÈ   rÕ   rØ   rø   r  r@   rA   rB   re   re   V   st  € € € € € ð ð  ðB €Gàˆwð 
ð 
ð 
˜I˜Ið 
Ø"�l 8Ð2XÐghÐiÑiÔiÐið
à%˜ hÐ5cÐrsÐtÑtÔtÐtð
ð "�\ $Ð-WÐXÑXÔXÐXð
ð '˜, tÐ2mÐnÑnÔnÐnð	
ð
 &˜ dÐ1{Ð|Ñ|Ô|Ð|ð
ð $�| HÐ3MÐNÑNÔNÐNð
ð #�l 8Ð2bÐcÑcÔcÐcð
ð �˜TÐ(>Ð?Ñ?Ô?Ð?ð
ð !�L Ð,GÐHÑHÔHÐHð
ð $�| DÐ/MÐNÑNÔNÐNð
ð %˜Ð%:ÐAZÐ[Ñ[Ô[Ð[ð
ð ˆ|˜DÐ'XÐYÑYÔYÐYð
ð �˜iÐ.QÐ`aÐbÑbÔbÐbð
ð (˜<¨	Ð8UÐdeÐfÑfÔfÐfð
ð #�l 4Ð.lÐ{|Ð}Ñ}Ô}Ð}ð
€Hð$2"ð 2"ð 2"ðhð ð ð.4ð 4ð 4ðl ð  ð  ðD5ð 5ð 5ð
jð jð jðX0ð 0ð 0ð 0ð 0rA   re   c                 óB   — | d          | d         | d         | d          fS )zt, z0, z1, x, y = a[:5]r$   é   r   r“   r@   )r  s    rB   Ú_fakeItemKeyr  Ò  s%   € àˆqŒTˆE�!�A”$�q˜”t˜Q˜qœT˜EÐ"Ð"rA   c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )Ú
_FakeGroupc                 ó   — g | _         d S ra   ©Ú_datar‡   s    rB   r‚   z_FakeGroup.__init__×  s   € ØˆŒ
ˆ
ˆ
rA   c                 óB   — |r| j                              |¦  «         d S d S ra   )r  r®   )rM   Úwhats     rB   rL   z_FakeGroup.addÚ  s)   € ØÐ(�”×"Ò" 4Ñ(Ô(Ð(Ð(Ð(Ð(Ð(rA   c                 ó   — | j         S ra   r  r‡   s    rB   Úvaluez_FakeGroup.valueÝ  s
   € ØŒzÐrA   c                 óF   — | j                              t          ¬¦  «         d S )N)Úkey)r  Úsortr  r‡   s    rB   r  z_FakeGroup.sortà  s   € ØŒ
�Š�LˆÑ)Ô)Ð)Ð)Ð)rA   N)r:   r;   r<   r‚   rL   r  r  r@   rA   rB   r  r  Ö  sP   € € € € € ðð ð ð)ð )ð )ðð ð ð*ð *ð *ð *ð *rA   r  c            
       ó®   — e Zd Z ee eed¬¦  «         eed¬¦  «         eed¬¦  «         eed¬¦  «        ¬¦  «        ZdZdZ	dZ
d	Zd
„ Zd„ Zd„ Zd„ ZdS )ÚHorizontalLineChart3Dzdx/dzr(   zdy/dzzdepth of an individual serieszz gap around series)rf   Útheta_xÚtheta_yÚzDepthÚzSpacer£   r�   r
  c                 óî   — t                                | ¦  «         | j        }| j        }| j        }| j        j        dk    r||z  |dz   |z  z   }n|d|z  z   }| j        |z  | _        | j	        |z  | _
        d S )NÚparallel_3dr$   r€   )re   rÈ   r¤   r  r  rn   rU   r  Ú_3d_dxr  Ú_3d_dy)rM   ÚnSeriesr  r  Ú	_3d_depths        rB   rÈ   z#HorizontalLineChart3D.calcPositionsð  s„   € Ý×)Ò)¨$Ñ/Ô/Ð/ØÔ#ˆØ”ˆØ”ˆØÔÔ" MÒ1Ð1Ø ™¨°©	°6Ñ'9Ñ9ˆIˆIà  6¡Ñ)ˆIØ”l 9Ñ,ˆŒØ”l 9Ñ,ˆŒˆˆrA   c                 óZ   — | j         }| j        j        dk    r|| j        |z   z  |z   }n|}|S )Nr  )r  rn   rU   r  )rM   rN   r  Úz0s       rB   Ú_calc_z0zHorizontalLineChart3D._calc_z0ü  s<   € Ø”ˆØÔÔ" MÒ1Ð1Ø˜œ FÑ*Ñ+¨FÑ2ˆBˆBàˆBØˆ	rA   c                 ó6   — ||| j         z  z   ||| j        z  z   fS ra   )r  r  )rM   rO   rP   Úzs       rB   Ú_zadjustzHorizontalLineChart3D._zadjust  s#   € Ø��4”<‘Ñ  1 T¤\¡>Ñ!1Ð1Ð1rA   c                 ó~  — | j         }t          t          t          | j        ¦  «        ¦  «        ¦  «        }| j        r|                     ¦   «          | j        }|r
J d¦   «         ‚| j        }| j	        }| j
        }| j        }t          ¦   «         }ddlm}	 t          | dd ¦  «        }
|
s| j        j        dk    rd}
|D �],}| j        |         }t          |¦  «        }t          | j        ¦  «        }||z  }| j        |         }|j        }t          |dd ¦  «        }|                      |¦  «        }||z   }t+          | j        |         d¦  «        r| j        |         j        }n$t+          | j        d¦  «        r| j        j        }nd }| j        rJ|rH|d         \  }}t          d|¦  «        D ],}||         \  }} |	||||||||||d |
d d d d	¬
¦  «         ||}}Œ-t+          | j        |         d¦  «        r| j        |         j        }n$t+          | j        d¦  «        r| j        j        }nd }|r\t          |¦  «        D ]L}||         \  }} ||||¦  «        \  }}t3          ||||¦  «        }|r|                     d|||||f¦  «         ŒMt          |¦  «        D ]R}||         \  }} ||||¦  «        \  }}|                      ||||¦  «        }|r|                     d|||||f¦  «         ŒS�Œ.|                     ¦   «          t;          ¦   «         }|                     ¦   «         D ]}|                     |d         ¦  «         Œ|S )NzinFill not supported for 3d yetr   )Ú_make_3d_line_infoÚ_3d_tilewidthr  r$   r2   r/   rà   )ÚfillColorShadedÚ	tileWidthr0   r/   r2   Úshadingr3   r€   éÿÿÿÿ)rj   r¦   rã   rH   r¶   rq   râ   r9   r  r)  r  r  r  Ú!reportlab.graphics.charts.utils3dr+  rI   rn   rU   rG   r0   r&  rK   r/   rJ   r3   r   rL   rÕ   r  r   r  ) rM   rÑ   r½   r9   r  r)  r  r  ÚFr+  r.  rN   rÂ   rÁ   rÜ   rT   rñ   ÚrowColorrX   r%  Úz1r/   Úx0Úy0rÄ   Úx1Úy1r÷   r3   rY   r[   rÇ   s                                    rB   rø   zHorizontalLineChart3D.makeLines  s©  € ØÔ'ˆÝ••s˜4œ?Ñ+Ô+Ñ,Ô,Ñ-Ô-ˆØÔ Ð- !§)¢)¡+¤+ +Ø”ˆØÐ<Ð<Ð<Ñ<Ô<Ð<ð ”ˆØ”=ˆØ”,ˆØ”,ˆÝ‰LŒLˆØHÐHÐHÐHÐHÐHÝ˜D °Ñ6Ô6ˆ	ØÐR˜TÔ.Ô4°mÒCÐCÐQRÀYð ð 2	/ñ 2	/ˆEØ”/ %Ô(ˆCÝ�C‘”ˆAÝ˜TœZ™œˆJØ˜zÑ)ˆHØ”z (Ô+ˆHØÔ+ˆHÝ˜8Ð%6¸Ñ=Ô=ˆDØ—’˜uÑ%Ô%ˆBØ�f‘ˆBå�t”z (Ô+¨]Ñ;Ô;ð #Ø"œj¨Ô2Ô>��Ý˜œ ]Ñ3Ô3ð #Ø"œjÔ4��à"�ð Ôð 
(Øð 	(Ø  œV‘F�B˜Ý!& q¨¡¤ð (ð (˜Ø!$ U¤™˜˜BØ*Ð*¨A¨r°2°r¸2¸rÀ2Ø '¨Ø (¸$È)Ø,0¸dÐTXØ(+ð	-ñ -ô -ð -ð
 "$ R˜B˜˜å�t”z (Ô+¨XÑ6Ô6ð Øœ* XÔ.Ô5��Ý˜œ XÑ.Ô.ð Øœ*Ô+��à�àð =Ý" 1™XœXð =ð =�EØ  œZ‘F�B˜Ø%˜X b¨¨BÑ/Ô/‘F�B˜Ý+¨G°B°r¸(ÑCÔC�FØÐ<˜qŸušu a¨¨2¨b°°FÐ%;Ñ<Ô<Ð<øõ ˜q™œð /ð /�Ø˜Uœ‘��BØ!˜ " R¨Ñ+Ô+‘��BØ×(Ò(¨°°r¸2Ñ>Ô>�ØÐ.�a—e’e˜Q˜r " R¨¨1Ð-Ñ.Ô.Ð.øñ	/ð 	
�Š‰ŒˆÝ‰GŒGˆØ—’‘”Ð(Ð(ˆA˜AŸEšE ! B¤%™LœL˜L˜LØˆrA   N)r:   r;   r<   r=   re   r>   r   r?   r  r  r  r  rÈ   r&  r)  rø   r@   rA   rB   r  r  ä  sÎ   € € € € € ØˆwÐ/Ø�,˜x¨gÐ6Ñ6Ô6Ø�,˜x¨gÐ6Ñ6Ô6Ø�˜hÐ-LÐMÑMÔMØ�˜hÐ-BÐCÑCÔCð	
ñ 
ô 
€Hð €GØ€GØ€FØ€Fð
-ð 
-ð 
-ðð ð ð2ð 2ð 2ðLð Lð Lð Lð LrA   r  c                   ó   — e Zd ZdZdS )ÚVerticalLineChartr$   N)r:   r;   r<   rƒ   r@   rA   rB   r:  r:  U  s   € € € € € Ø€G€G€GrA   r:  c                  ó´  — t          dd¦  «        } ddg}t          ¦   «         }d|_        d|_        d|_        d|_        ||_        d|_        t          d	¦  «        |j	        _
        d
|_        d                     d¦  «        }||j        _        d|j        j        _        d|j        _        d|j        _        d|j        _        |                      |¦  «         | S )Né�  rŠ   r‹   ©r�   rŽ   r™   r˜   é   r–   é   r•   rß   é}   é,  r$   ÚFilledDiamondú%2.0fúJan Feb Mar Apr May Jun Jul Augú rÁ   r   é<   é   )r   re   rO   rP   rR   rQ   rp   rJ   r!   rG   r3   rj   Úsplitrn   ro   ÚlabelsÚ	boxAnchorrm   ÚvalueMinÚvalueMaxÚ	valueSteprL   ©rŸ   rp   r    ÚcatNamess       rB   Úsample1rP  X  sÌ   € Ý�c˜3ÑÔ€Gð +Ø*ð€Dõ
 
Ñ	Ô	€Bà€B„DØ€B„DØ€B„IØ€B„HØ€B„GØ€B„NÝ  Ñ1Ô1€B„H„OØ €BÔà0×6Ò6°sÑ;Ô;€HØ$,€B„OÔ!Ø'*€B„OÔÔ$à€B„LÔØ€B„LÔØ€B„LÔà‡K‚K��O„O€Oà€NrA   c                   ó   — e Zd ZdZd„ Zd„ ZdS )ÚSampleHorizontalLineChartzHSample class overwriting one method to draw additional horizontal lines.c                 ó  — t          dd¦  «        }ddg}t          ¦   «         }d|_        d|_        d|_        d|_        ||_        t          j        |_	        t          j
        d	¦  «        |_        |                     |¦  «         |S )
r‰   rŠ   ru   r‹   r”   rŽ   r�   r›   rœ   éÌÌÌ )r   rR  rO   rP   rR   rQ   rp   r   Úwhiter0   ÚHexColorr1   rL   rž   s       rB   r¡   zSampleHorizontalLineChart.demoz  s€   € õ ˜#˜sÑ#Ô#ˆð /Ø/ðˆõ
 'Ñ(Ô(ˆàˆŒØˆŒØˆŒ	ØˆŒØˆŒÝœˆŒÝ” xÑ0Ô0ˆŒà�Š�B‰ŒˆàˆrA   c           
      óH  — t          ¦   «         }|                     t                               | ¦  «        ¦  «         | j        }|j        }|D ]U}|                     |¦  «        }|                     t          | j        || j        | j	        z   || j
        ¬¦  «        ¦  «         ŒV|S )N)r0   )r   rL   re   r   rm   Ú_tickValuesr©   r   rO   rQ   r0   )rM   r[   ÚvalAxisÚvalTickPositionsrP   s        rB   r   z(SampleHorizontalLineChart.makeBackground’  s¨   € Ý‰GŒGˆà	�ŠÕ!×0Ò0°Ñ6Ô6Ñ7Ô7Ð7à”.ˆØ"Ô.Ðà!ð 	8ð 	8ˆAØ—’˜aÑ Ô ˆAØ�EŠE•$�t”v˜q $¤&¨¬Ñ"3°QØ%)Ô%5ð7ñ 7ô 7ñ 8ô 8ð 8ð 8ð ˆrA   N)r:   r;   r<   r  r¡   r   r@   rA   rB   rR  rR  w  s8   € € € € € ØNÐNðð ð ð0ð ð ð ð rA   rR  c                  ó  — t          dd¦  «        } ddg}t          ¦   «         }d|_        d|_        d|_        d|_        ||_        d|_        t          j	        |_
        t          j        d	¦  «        |_        t          d
¦  «        |j        _        d|_        d                     d¦  «        }||j        _        d|j        j        _        d|j        _        d|j        _        d|j        _        |                      |¦  «         | S )Nr<  rŠ   r‹   r=  rß   r@  rA  r$   rT  rB  rC  rD  rE  rÁ   r   rF  rG  )r   rR  rO   rP   rR   rQ   rp   rJ   r   rU  r0   rV  r1   r!   rG   r3   rj   rH  rn   ro   rI  rJ  rm   rK  rL  rM  rL   rN  s       rB   Úsample1ar\  ¡  sæ   € Ý�c˜3ÑÔ€Gð +Ø*ð€Dõ
 
#Ñ	$Ô	$€Bà€B„DØ€B„DØ€B„IØ€B„HØ€B„GØ€B„NÝ”\€B„NÝ”? 8Ñ,Ô,€B„LÝ  Ñ1Ô1€B„H„OØ €BÔà0×6Ò6°sÑ;Ô;€HØ$,€B„OÔ!Ø'*€B„OÔÔ$à€B„LÔØ€B„LÔØ€B„LÔà‡K‚K��O„O€Oà€NrA   c                  óø  — t          dd¦  «        } ddg}t          ¦   «         }d|_        d|_        d|_        d|_        ||_        d|_        t          d	¦  «        |j	        _
        d
|_        t          j        |_        t          j        |_        d                     d¦  «        }||j        _        d|j        j        _        d|j        _        d|j        _        d|j        _        |                      |¦  «         | S )Nr<  rŠ   r‹   r=  rß   r@  rA  r$   ÚSmileyrC  rD  rE  rÁ   r   rF  rG  )r   re   rO   rP   rR   rQ   rp   rJ   r!   rG   r3   rj   r   Úblackr0   Ú	lightbluer1   rH  rn   ro   rI  rJ  rm   rK  rL  rM  rL   rN  s       rB   Úsample2ra  Â  sß   € Ý�c˜3ÑÔ€Gð +Ø*ð€Dõ
 
Ñ	Ô	€Bà€B„DØ€B„DØ€B„IØ€B„HØ€B„GØ€B„NÝ  Ñ*Ô*€B„H„OØ €BÔÝ”\€B„NÝÔ#€B„Là0×6Ò6°sÑ;Ô;€HØ$,€B„OÔ!Ø'*€B„OÔÔ$à€B„LÔØ€B„LÔØ€B„LÔà‡K‚K��O„O€Oà€NrA   c                  óX  — t          dd¦  «        } ddg}t          ¦   «         }d|_        d|_        d|_        d|_        ||_        d|_        d	|_        t          j
        |_        t          d
¦  «        |j        d         _        t          |j        d         _        d|j        d         _        d|j        d         _        d                     d¦  «        }||j        _        d|j        j        _        d|j        _        d|j        _        d|j        _        |                      |¦  «         | S )Nr<  rŠ   r‹   r=  rß   r@  rA  r$   rC  r^  r   r€   r“   rD  rE  rÁ   rF  rG  )r   re   rO   rP   rR   rQ   rp   rJ   rj   r   r_  r0   r!   rG   r3   r   r/   rH  rn   ro   rI  rJ  rm   rK  rL  rM  rL   rN  s       rB   Úsample3rc  ã  s  € Ý�c˜3ÑÔ€Gð +Ø*ð€Dõ
 
Ñ	Ô	€Bà€B„DØ€B„DØ€B„IØ€B„HØ€B„GØ€B„NØ €BÔÝ”\€B„Nå# HÑ-Ô-€B„HˆQ„KÔÝ €B„HˆQ„KÔØ€B„HˆQ„KÔØ€B„HˆQ„KÔà0×6Ò6°sÑ;Ô;€HØ$,€B„OÔ!Ø'*€B„OÔÔ$à€B„LÔØ€B„LÔØ€B„LÔà‡K‚K��O„O€Oà€NrA   c                  ó  — ddl m}  t          dd¦  «        }t          ¦   «         }|                     |¦  «         d|_        d}d„ |D ¦   «         }d„ |D ¦   «         }d	„ |D ¦   «         }d
„ |D ¦   «         }t          j        }d}	d}
d}t          j        }d|j	        _
        t          t          |¦  «        t          |¦  «        t          |¦  «        t          |¦  «        t          |¦  «        ¦  «        |j	        _        t          t          |¦  «        t          |¦  «        t          |¦  «        t          |¦  «        t          |¦  «        ¦  «        |j	        _        |j        }d |d         _        t#          t%          |¦  «        ¦  «        }|g|_         | |||	|
||¬¦  «        x|d         _        }|D ]N}||                              t-          |||         ||         ||         ||         ||         ¬¦  «        ¦  «         ŒO|S )Nr   )ÚCandleSticksr<  rŠ   rŽ   rt   c                 ó   — g | ]}|d z   ‘ŒS ©r�   r@   ©rÛ   Úms     rB   rÝ   z%sampleCandleStick.<locals>.<listcomp>  ó   € Ð	Ð	Ð	�1ˆ!ˆB‰$Ð	Ð	Ð	rA   c                 ó   — g | ]}|d z
  ‘ŒS rg  r@   rh  s     rB   rÝ   z%sampleCandleStick.<locals>.<listcomp>  rj  rA   c                 ó   — g | ]}|d z   ‘ŒS )r?  r@   rh  s     rB   rÝ   z%sampleCandleStick.<locals>.<listcomp>  ó   € Ð!Ð!Ð!�QˆQˆq‰SÐ!Ð!Ð!rA   c                 ó   — g | ]}|d z
  ‘ŒS )r“   r@   rh  s     rB   rÝ   z%sampleCandleStick.<locals>.<listcomp>  rm  rA   r�   r£   r�   )ÚchartÚboxFillColorÚboxWidthÚ
crossWidthr/   r0   )ÚpositionÚboxMidÚcrossLoÚcrossHiÚboxLoÚboxHi)Úreportlab.graphics.widgetbasere  r   re   rL   rP   r   Úpinkr_  rm   ÚavoidBoundSpacer³   rK  r¥   rL  rG   r0   rã   rH   rp   r3   ÚsetPropertiesÚdict)re  Údro  rt  ÚhiÚlorx  rw  rp  rq  rr  ÚcandleStrokeWidthÚcandleStrokeColorrG   ÚIÚcandlesr^   s                    rB   ÚsampleCandleStickr…    s"  € Ø:Ð:Ð:Ð:Ð:Ð:Ý��SÑÔ€AÝÑ!Ô!€EØ‡E‚Eˆ%�L„L€LØ€E„GØ!€FØ	Ð	˜Ð	Ñ	Ô	€BØ	Ð	˜Ð	Ñ	Ô	€BØ!Ð!˜&Ð!Ñ!Ô!€EØ!Ð!˜&Ð!Ñ!Ô!€EÝ”;€LØ€HØ€JØÐÝœÐØ&'€E„OÔ#å"¥3 v¡;¤;­s°2©w¬wµs¸2±w´w½sÀ5¹z¼zÍ#ÈeÉ*Ì*ÑUÔU€E„OÔÝ"¥3 v¡;¤;­s°2©w¬wµs¸2±w´w½sÀ5¹z¼zÍ#ÈeÉ*Ì*ÑUÔU€E„OÔØŒK€EØ€Eˆ!„HÔÝ�c�&‰kŒkÑÔ€AØ�€E„JØ , °5À|Ð^fÐs}ð  L]ð  k|ð  !}ñ  !}ô  !}ð  }€Eˆ!„H„O�gØð  Fð  Fˆ�˜”
×(Ò(­°qÀÀqÄ	ÐRTÐUVÔRWÐ`bÐcdÔ`eÐlqÐrsÔltð  |Að  BCô  |Dð  *Eñ  *Eô  *Eñ  Fô  Fð  Fð  FØ€HrA   N)>Ú__version__r  Úreportlab.libr   Úreportlab.lib.validatorsr   r   r   r   r   r	   r
   r   r   r   Úreportlab.lib.attrmapÚreportlab.lib.utilsr   ry  r   r   r   Úreportlab.graphics.shapesr   r   r   r   r   r   Ú*reportlab.graphics.widgets.signsandsymbolsr   Úreportlab.graphics.charts.axesr   r   r   r   Ú$reportlab.graphics.charts.textlabelsr   Ú"reportlab.graphics.widgets.markersr   r    r!   Úreportlab.graphics.charts.areasr"   Ú!reportlab.graphics.charts.legendsr#   Úutilsr%   r'   rD   rc   re   r  r  r  r:  rP  rR  r\  ra  rc  r…  r@   rA   rB   ú<module>r“     sŠ  ðð
 €ØI€à  Ð  Ð  Ð  Ð  Ð  ð]ð ]ð ]ð ]ð ]ð ]ð ]ð ]ð ]ð ]ð ]ð ]ð ]ð ]ð ]ð ]ð ]ð ]ð ]ð ]ð ]ð ]ð ]ð ]ð $Ð #Ð #Ð #Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø YÐ YÐ YÐ YÐ YÐ YÐ YÐ YÐ YÐ YØ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SØ >Ð >Ð >Ð >Ð >Ð >Ø _Ð _Ð _Ð _Ð _Ð _Ð _Ð _Ð _Ð _Ð _Ð _Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SÐ SØ 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø !Ð !Ð !Ð !Ð !Ð !ð
ð 
ð 
ð 
ð 
˜*ñ 
ô 
ð 
ð'>ð '>ð '>ð '>ð '>˜ñ '>ô '>ð '>ðR	ð 	ð 	ð 	ð 	Ð!ñ 	ô 	ð 	ðzð zð zð zð z˜)ñ zô zð zðx#ð #ð #ð*ð *ð *ð *ð *ñ *ô *ð *ðoð oð oð oð oÐ/ñ oô oð oðbð ð ð ð Ð+ñ ô ð ðð ð ð>(ð (ð (ð (ð (Ð 3ñ (ô (ð (ðTð ð ðBð ð ðB"ð "ð "ðHð ð ð ð rA   