o
    à’Ojv  ã                   @   s
  d Z dZddlmZ ddlT ddlT ddlmZmZm	Z	m
Z
mZmZmZmZ ddlmZ ddlmZ ddlZdd	lmZmZmZ edd
dddddddddddddddddddddd d!d"d#d$d%ƒZd&ZG d'd(„ d(eƒZG d)d*„ d*eƒZd+d,„ Zd-d.„ Zed/krƒeƒ  dS dS )0z3.3.0aÂ  This file is a collection of flag graphics as widgets.

All flags are represented at the ratio of 1:2, even where the official ratio for the flag is something else
(such as 3:5 for the German national flag). The only exceptions are for where this would look _very_ wrong,
such as the Danish flag whose (ratio is 28:37), or the Swiss flag (which is square).

Unless otherwise stated, these flags are all the 'national flags' of the countries, rather than their
state flags, naval flags, ensigns or any other variants. (National flags are the flag flown by civilians
of a country and the ones usually used to represent a country abroad. State flags are the variants used by
the government and by diplomatic missions overseas).

To check on how close these are to the 'official' representations of flags, check the World Flag Database at
http://www.flags.ndirect.co.uk/

The flags this file contains are:

EU Members:
United Kingdom, Austria, Belgium, Denmark, Finland, France, Germany, Greece, Ireland, Italy, Luxembourg,
Holland (The Netherlands), Spain, Sweden

Others:
USA, Czech Republic, European Union, Switzerland, Turkey, Brazil

(Brazilian flag contributed by Publio da Costa Melo [publio@planetarium.com.br]).
é    )Úcolors)Ú*)ÚLineÚRectÚPolygonÚDrawingÚGroupÚStringÚCircleÚWedge)Ú	renderPDF)Ú_SymbolN)ÚsinÚcosÚpiÚUKÚUSAÚAfghanistanÚAustriaÚBelgiumÚChinaÚCubaÚDenmarkÚFinlandÚFranceÚGermanyÚGreeceÚIrelandÚItalyÚJapanÚ
LuxembourgÚHollandÚ	PalestineÚPortugalÚRussiaÚSpainÚSwedenÚNorwayÚCzechRepublicÚTurkeyÚSwitzerlandÚEUÚBrazilç      Y@c                   @   s@   e Zd ZdZeeeedd�d�ZdZ	dd„ Z
dd	„ Zd
d„ ZdS )ÚStarzyThis draws a 5-pointed star.

        possible attributes:
        'x', 'y', 'size', 'fillColor', 'strokeColor'

        zangle in degrees©Údesc)ÚBASEÚangler-   c                 C   s(   t  | ¡ d| _tj| _d | _d| _d S )Néd   r   )r   Ú__init__Úsizer   ÚyellowÚ	fillColorÚstrokeColorr2   ©Úself© r;   úf/var/www/html/pharmsmart-cdr-gen/venv/lib/python3.10/site-packages/reportlab/graphics/widgets/flags.pyr4   W   s
   

zStar.__init__c              
   C   sd   t ddƒ}tƒ }d|_d|_| |¡ d}| t|j|jd  |jd|  |jjt	j
d|d	�¡ |S )
NéÈ   r3   é2   r   é
   ç       @ç333333ó?Úmiddle©r7   Ú
textAnchorÚfontSize)r   r.   ÚxÚyÚaddr	   r5   Ú	__class__Ú__name__r   Úblack)r:   ÚDÚetÚlabelFontSizer;   r;   r<   Údemo^   s   

 þz	Star.democ                 C   sì   t | jƒ}tƒ }t | jƒd }|tdtd  ƒ tdtd  ƒ }g }d}tdƒD ]%}||fD ]}|td  }	| |t|	ƒ ¡ | |t|	ƒ ¡ |d }q/q)t|| j	| j
|d d�}
| | j¡ | | j| j | j| j ¡ | |
¡ |S )	Né   é   g     €f@é$   éZ   é   r>   ©r7   r8   ÚstrokeWidth)Úfloatr5   r   r   r   r   ÚrangeÚappendr   r7   r8   Úrotater2   ÚshiftrF   ÚdxrG   ÚdyrH   )r:   ÚsÚgÚRÚrÚPr2   ÚiÚradiusÚthetaÚstarr;   r;   r<   Údrawj   s,   
$
üý
z	Star.drawN)rJ   Ú
__module__Ú__qualname__Ú__doc__ÚAttrMapr   ÚAttrMapValueÚisNumberÚ_attrMapÚ_sizer4   rO   rg   r;   r;   r;   r<   r.   K   s    
ÿr.   c                   @   sR  e Zd ZdZeeeedd�eedƒee	dd�d�Z
i Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Zd#d$„ Zd%d&„ Zd'd(„ Zd)d*„ Zd+d,„ Zd-d.„ Zd/d0„ Z d1d2„ Z!d3d4„ Z"d5d6„ Z#d7d8„ Z$d9d:„ Z%d;d<„ Z&d=d>„ Z'd?d@„ Z(dAdB„ Z)dCdD„ Z*dEdF„ Z+dGdH„ Z,dIdJ„ Z-dKdL„ Z.dMS )NÚFlaga   This is a generic flag class that all the flags in this file use as a basis.

        This class basically provides edges and a tidy-up routine to hide any bits of
        line that overlap the 'outside' of the flag

        possible attributes:
        'x', 'y', 'size', 'fillColor'
    zBackground colorr/   zWhether a background is drawnz
Which flag)r1   r7   ÚborderÚkindc                 K   s2   t  | ¡ d | _d| _tj| _d| _|  |¡ d S )Nr3   é   )	r   r4   rr   r5   r   Úwhiter7   rq   ÚsetProperties)r:   Úkwr;   r;   r<   r4   –   s   
zFlag.__init__c                 C   s   dd„ | j d jjD ƒS )z*return a list of the things we can displayc                 S   s   g | ]}|d ur|‘qS ©Nr;   )Ú.0rF   r;   r;   r<   Ú
<listcomp>    s    z+Flag.availableFlagNames.<locals>.<listcomp>rr   )rn   ÚvalidateÚ_enumr9   r;   r;   r<   ÚavailableFlagNamesž   s   zFlag.availableFlagNamesc                 C   s2   t }tƒ }| tdd|d |tjtjdd�¡ |S )Nr   rP   rU   )ro   r   rH   r   r   ÚpurplerK   ©r:   r^   r_   r;   r;   r<   Ú
_Flag_None¢   s   $zFlag._Flag_Nonec                 C   s¬   | j }tƒ }| |¡ | j| j | j| j | jd }}}| dt	| | t
| dd| ƒd|  t
| d|ƒd|  d | j|d d�¡ | ||¡ | |t |t ¡ |S )Nr@   r   Ú_widthrP   é   Ú_height©ÚwidthÚheightr7   r8   rV   )r5   r   rH   rF   r\   rG   r]   rV   Úinsertr   Úgetattrr8   r[   Úscalero   )r:   Úfr^   r_   rF   rG   ÚsWr;   r;   r<   Ú_borderDraw¨   s   
&8ÿzFlag._borderDrawc                 C   sB   | j pd}| j |¡}|st| d| ƒƒ }| ¡ | j|< |  |¡S )NÚNoneÚ_Flag_)rr   Ú_cacheÚgetr‡   Ú_exploder‹   )r:   rr   r‰   r;   r;   r<   rg   ³   s   

z	Flag.drawc                 C   s
   t   | ¡S rw   )Úcopyr9   r;   r;   r<   Úclone»   s   
z
Flag.clonec                 C   sÎ   t ddƒ}|  ¡ }dd l}|t| ¡ ƒt|ƒ  }tƒ }||_d|_d|_| 	|¡ d}| 	t
|j|jd  |jd|  |tjd|d�¡ t|jd	 ƒ}| 	t
|j|j |j|jd  d
tjd|dd�¡ |S )Nr=   r3   r   r?   r@   rA   rB   rC   ç      @ÚSAMPLEúHelvetica-Bold)r7   rD   rE   ÚfontName)r   r|   ÚtimeÚintÚlenrp   rr   rF   rG   rH   r	   r5   r   rK   Úgold)r:   rL   Únamer—   ÚfxrN   r;   r;   r<   rO   ¾   s(   

 þþz	Flag.democ                 C   sž  t }tƒ }|d }| tdd||tjtjdd�¡ | tdd|d d||d ||||d  |d|d gtjd dd�¡ | td|d d||d |||d |d||d  dgtjd dd�¡ | td||d  ||d d	  |d
 ||d d  |d
 d|gtj	d dd�¡ | tdd||d d  |d ||d d  |d |d dgtj	d dd�¡ | t||||d d  |d
 ||d d  |d
 ||d  |gtj	d dd�¡ | t||d ||d d	  |d ||d d  |d |dgtj	d dd�¡ | t|d d dd| d |tjd dd�¡ | td|d ||d tjd dd�¡ | t|d d dd| d |tj	d dd�¡ | td|d ||d tj	d dd�¡ |S )NrP   r   rU   çÍÌÌÌÌÌÌ?gffffffì?gÍÌÌÌÌÌ¼?g      .@ç      $@é   gÍÌÌÌÌÌä?r�   çffffffÖ?gáz®GáÚ?g{®GázÄ?rƒ   ç333333Ó?çÍÌÌÌÌÌÜ?çš™™™™™¹?çš™™™™™Ù?çš™™™™™É?)
ro   r   rH   r   r   ÚnavyrK   r   Ú	mintcreamÚred©r:   r^   r_   Úwr;   r;   r<   Ú_Flag_UKÒ   s    DDPLPL.&.&zFlag._Flag_UKc              
   C   sØ  t }tƒ }tdd|d |tjtjdd�}| |¡ tdddƒD ])}|d }|d dks/tj}ntj}td|||  |d ||d dd�}| |¡ qtd||d	  d
| |d	 tj	d dd�}| |¡ |d }	|	d }
|d }|d }tdƒD ]4}tdƒD ]-}t
ƒ }|	|_d|d  |	d  | ||  |_tj|_||d |  |
 |_| |¡ q|qvtdƒD ]:}tdƒD ]3}t
ƒ }|	|_d|d  |	d  |d  ||  |_tj|_||d |  |d  |
 |_| |¡ qµq¯|S )Nr   rP   rU   é   éÿÿÿÿg      *@é   rƒ   é   gš™™™™™é?g
×£p=
§?r@   ç      "@g      @rT   rŸ   g      6@rs   é   ç      ,@g      2@)ro   r   r   r   r§   rK   rH   rX   r¨   Údarkbluer.   r5   rF   r7   rG   )r:   r^   r_   ÚboxÚstripecounterÚstripeheightÚstripecolorÚredorwhitelineÚblueboxÚlssÚlss2Ús9Ús7ÚstarxcounterÚstarycounterÚlsr;   r;   r<   Ú	_Flag_USAã   sP   
ÿÿ
"ú&úzFlag._Flag_USAc              	   C   s’   t }tƒ }tdd|d |tjtjdd�}| |¡ td|d d |d |d tjd dd�}| |¡ tdd|d |d tjd dd�}| |¡ |S ©Nr   rP   rU   ç      @r@   rƒ   )ro   r   r   r   r§   rK   rH   Ú	limegreen)r:   r^   r_   r´   ÚgreenboxÚblackboxr;   r;   r<   Ú_Flag_Afghanistan  ó   
ÿ
ÿ
ÿ
zFlag._Flag_Afghanistanc              	   C   s’   t }tƒ }tdd|d |tjtjdd�}| |¡ tdd|d |d tjd dd�}| |¡ td|d d |d |d tjd dd�}| |¡ |S ©Nr   rP   rU   r@   rÃ   rƒ   )ro   r   r   r   r§   rK   rH   r¨   )r:   r^   r_   r´   Úredbox1Úredbox2r;   r;   r<   Ú_Flag_Austria   s   ÿ
ÿ
ÿ
zFlag._Flag_Austriac              	   C   sÄ   t }tƒ }tdd|d |tjtjdd�}| |¡ tdd|d d |tjd dd�}| |¡ t|d d d|d d |tjd dd�}| |¡ t|d d d|d d |tjd dd�}| |¡ |S ©Nr   rP   rU   rÃ   r@   rƒ   r“   )ro   r   r   r   rK   rH   rš   r¨   )r:   r^   r_   r´   Úbox1Úbox2Úbox3r;   r;   r<   Ú_Flag_Belgium2  s&   
ÿ
ÿ
ÿ
ÿ
zFlag._Flag_Belgiumc                 C   sš   t }tƒ }|d  | _}| tdd||tjd dd�¡ ||d d|d fdd„}|ddd	dƒ |d
dddƒ |dd	ddƒ |ddddƒ |d
dddƒ |S )Nç      ø?r   rU   g      4@r@   c           	      S   sL   t ƒ }tj|_||_|| d |_| | | |_|| | |_| |¡ d S )NrP   )	r.   r   r6   r7   r2   r5   rF   rG   rH   )	rF   rG   r5   r2   r_   rª   Úx0Úy0r^   r;   r;   r<   ÚaddStarN  s   z!Flag._Flag_China.<locals>.addStarrT   r�   r?   rs   gÏbÎXoB@é   g‘~ ô)m @r±   g ì’'ÿ™0@é   gþ0�1§�J@)ro   r   r€   rH   r   r   r¨   )r:   r^   r_   rª   rÕ   r;   r;   r<   Ú_Flag_ChinaH  s   	zFlag._Flag_Chinac              
   C   sô   t }tƒ }tdƒD ]"}td|| d |d |d tjtjg|d  d dd�}| |¡ q	tddd| d |d d|gtj	d dd�}| |¡ t
ƒ }d	| d
 |_|d |_d| d
 |_tj|_| |¡ tdd|d |d tjdd�}| |¡ |S )NrT   r   ç      @rP   rƒ   rŸ   r@   ©Úpointsr7   r8   rV   ç      @rž   r�   rU   )ro   r   rX   r   r   r³   r§   rH   r   r¨   r.   rF   rG   r5   rt   r7   rK   )r:   r^   r_   rc   ÚstripeÚredwedgerf   r´   r;   r;   r<   Ú
_Flag_Cuba^  s4   ýÿ


ý
zFlag._Flag_Cubac              	   C   s    t }tƒ }|d  | _}tdd||tjtjdd�}| |¡ t|d d d|d |tjd dd�}| |¡ td|d |d	  ||d tjd dd�}| |¡ |S ©
Nçffffffö?r   rU   rÙ   rP   g      @rƒ   r@   g      (@)	ro   r   r€   r   r   r¨   rK   rH   r§   )r:   r^   r_   rª   r´   Ú	whitebox1Ú	whitebox2r;   r;   r<   Ú_Flag_Denmark|  s    

ÿ
ÿ
ÿ
zFlag._Flag_Denmarkc              	   C   sŽ   t }tƒ }tdd|d |tjtjdd�}| |¡ t|d dd| |tjd dd�}| |¡ td|d |d |d tjd dd�}| |¡ |S )Nr   rP   rU   g333333ã?r¡   rƒ   r¤   )ro   r   r   r   Ú
ghostwhiterK   rH   r³   )r:   r^   r_   r´   Ú	blueline1Ú	blueline2r;   r;   r<   Ú_Flag_FinlandŽ  s   
ÿ
ÿ
ÿ
zFlag._Flag_Finlandc              	   C   sÄ   t }tƒ }tdd|d |tjtjdd�}| |¡ tdd|d d |tjd dd�}| |¡ t|d d d|d d |tjd dd�}| |¡ t|d d d|d d |tj	d dd�}| |¡ |S rÍ   )
ro   r   r   r   r¦   rK   rH   Úbluer§   r¨   )r:   r^   r_   r´   r¹   ÚwhiteboxÚredboxr;   r;   r<   Ú_Flag_France   s&   
ÿ
ÿ
ý
zFlag._Flag_Francec              	   C   s–   t }tƒ }tdd|d |tjtjdd�}| |¡ td|d d |d |d tjd dd�}| |¡ td|d |d |d tjd dd�}| |¡ |S rÂ   )ro   r   r   r   rš   rK   rH   Ú	orangered)r:   r^   r_   r´   Ú	blackbox1rÊ   r;   r;   r<   Ú_Flag_Germany¶  s   
ÿ
ÿ
ÿ
zFlag._Flag_Germanyc              
   C   s(  t }tƒ }tdd|d |tjtjdd�}| |¡ tdddƒD ])}|d }|d dks/tj}ntj	}td|||  |d ||d dd�}| |¡ qtd||d	  |d	 |d	 tjd dd�}| |¡ td||d
  |d	 |tj	d dd�}	| |	¡ t|d ||d	  ||d	 tj	d dd�}
| |
¡ |S )Nr   rP   rU   é	   r­   r°   r®   rƒ   rT   r�   )
ro   r   r   r   rš   rK   rH   rX   Údeepskybluer§   )r:   r^   r_   r´   rµ   r¶   r·   ÚblueorwhitelineÚbluebox1Ú
whiteline1Ú
whiteline2r;   r;   r<   Ú_Flag_GreeceÇ  s8   ÿ
ÿÿ
ÿ
ÿ
zFlag._Flag_Greecec              	   C   s¢   t }tƒ }tdd|d |tjtjdd�}| |¡ t|d d dd|d  d |tjd dd�}| |¡ td|d  d d|d d |tjd dd�}| |¡ |S rÉ   )	ro   r   r   r   ÚforestgreenrK   rH   r§   Ú
darkorange)r:   r^   r_   r´   rê   Ú	orangeboxr;   r;   r<   Ú_Flag_Irelandè  s   
ÿ
ÿ
ÿ
zFlag._Flag_Irelandc                 C   sŒ   t }tƒ }| tdd|d |tjd dd�¡ | td| d d|d d |tjd dd�¡ | td| d d|d d |tjd dd�¡ |S )Nr   rP   rU   rÃ   rŸ   rƒ   )ro   r   rH   r   r   r÷   r§   r¨   r~   r;   r;   r<   Ú_Flag_Italyù  s   "..zFlag._Flag_Italyc                 C   sb   t }tƒ }|d  }| _| tdd||tjd dd�¡ | t|d |d d| tjd dd�¡ |S )NrÒ   r   rU   r@   r¡   ©ÚcxÚcyra   r7   r8   rV   )	ro   r   r€   rH   r   r   r§   r
   r¨   r©   r;   r;   r<   Ú_Flag_Japan  s   (zFlag._Flag_Japanc              	   C   ó’   t }tƒ }tdd|d |tjtjdd�}| |¡ td|d d |d |d tjd dd�}| |¡ tdd|d |d tjd dd�}| |¡ |S rÂ   )	ro   r   r   r   r§   rK   rH   r¨   Ú
dodgerblue©r:   r^   r_   r´   rë   r¹   r;   r;   r<   Ú_Flag_Luxembourg	  rÈ   zFlag._Flag_Luxembourgc              	   C   r   rÂ   )	ro   r   r   r   r§   rK   rH   r¨   r³   r  r;   r;   r<   Ú_Flag_Holland  rÈ   zFlag._Flag_Hollandc                 C   s   t ƒ S rw   )r   r9   r;   r;   r<   Ú_Flag_Portugal+  s   zFlag._Flag_Portugalc                 C   s‚   t }tƒ }|d  }| _|d }| tdd||tjd dd�¡ | td|||tjd dd�¡ | tdd| ||tjd dd�¡ |S )NrÒ   rÃ   r   rƒ   rP   )	ro   r   r€   rH   r   r   r¨   ré   r§   )r:   r^   r_   rª   Útr;   r;   r<   Ú_Flag_Russia.  s   "zFlag._Flag_Russiac                 C   s`   t }tƒ }|d  }| _| tdd||tjd dd�¡ | td|d ||d tjd dd�¡ |S )NrÒ   r   rƒ   r“   r@   )ro   r   r€   rH   r   r   r¨   r6   r©   r;   r;   r<   Ú_Flag_Spain8  s   &zFlag._Flag_Spainc              	   C   s    t }tƒ }|d | _tdd| j|tjtjdd�}| |¡ t|d d d|d |tjd dd�}| |¡ td|d |d	  | j|d tjd dd�}| |¡ |S rà   )	ro   r   r€   r   r   r  rK   rH   rš   )r:   r^   r_   r´   rÎ   rÏ   r;   r;   r<   Ú_Flag_Sweden@  s$   

ÿ
ÿ
ý
zFlag._Flag_Swedenc              	   C   s  t }tƒ }|d | _tdd| j|tjtjdd�}| |¡ tdd| j|tjtjdd�}| |¡ t|d d d|d |tjd dd�}| |¡ td|d | j|d tjd dd�}| |¡ t|d d dd	| |tj	d dd�}| |¡ td|d
 | j|d	 tj	d dd�}| |¡ |S )Nrá   r   rU   r¥   rP   rƒ   r¤   r�   r£   r¢   )
ro   r   r€   r   r   r¨   rK   rH   rå   r³   )r:   r^   r_   r´   rô   rõ   ræ   rç   r;   r;   r<   Ú_Flag_NorwayS  s8   

ÿ

ÿ
ÿ
ÿ
ÿ
ÿ
zFlag._Flag_Norwayc              	   C   sŒ   t }tƒ }tdd|d |tjtjdd�}| |¡ tdd|d |d tjd dd�}| |¡ tdd||d d|gtj	d dd�}| |¡ |S )Nr   rP   rU   r@   rƒ   rÚ   )
ro   r   r   r   r§   rK   rH   r¨   r   r³   )r:   r^   r_   r´   rë   Ú	bluewedger;   r;   r<   Ú_Flag_CzechRepublicq  s&   ý
ý
ÿ
zFlag._Flag_CzechRepublicc              	   C   sÌ   t }tƒ }td|d |d |d tjd dd�}| |¡ tdd|d |d tjd dd�}| |¡ tdd| d |d |d tjd dd�}| |¡ tddd| d |d d|gtj	d dd�}| |¡ |S )Nr   rÃ   rP   rU   rƒ   r@   rÚ   )
ro   r   r   r   r§   rH   rÄ   rK   r   r¨   )r:   r^   r_   r´   rÅ   rÆ   rÞ   r;   r;   r<   Ú_Flag_Palestine…  s2   ý
ý
ý
ÿ
zFlag._Flag_Palestinec              	   C   sæ   t }tƒ }tdd|d |tjtjdd�}| |¡ t|d d |d |d tjd dd�}| |¡ t|d d |d |d	 tjd dd�}| |¡ t	ƒ }d
|_
|d |_|d d |jd  |_|d |_tj|_d |_| |¡ |S )Nr   rP   rU   r    r@   r¡   rü   gö(\�ÂõØ?g¸…ëQ¸Î?é   rÙ   ç      à?)ro   r   r   r   r¨   rK   rH   r
   r§   r.   r2   r5   rF   rG   r7   r8   )r:   r^   r_   r´   ÚwhitecircleÚ	redcircleÚwsr;   r;   r<   Ú_Flag_TurkeyŸ  s:   ý
ý
ý



zFlag._Flag_Turkeyc                 C   s¤   t }tƒ }|| _| tdd||tjtjdd�¡ | t|d |d |d ||d  tj	tj	|d d�¡ | t|d |d ||d  |d tj	tj	|d d�¡ |S )Nr   rU   r@   g      @rP   rÙ   )
ro   r   r€   rH   r   r   r¨   rK   r   r§   r~   r;   r;   r<   Ú_Flag_Switzerland¿  s    "ÿ"ÿzFlag._Flag_Switzerlandc                 C   sÆ   t }tƒ }d|  }| _| tdd||tjd dd�¡ |d }|d }|d }|}|}d}	dt |	 }
t|	ƒD ])}||
 }t	ƒ }t
|ƒ| | |_t|ƒ| | |_|d |_tj|_| |¡ q7|S )	NrÒ   r   rU   r@   rÃ   rÖ   rP   rž   )ro   r   r€   rH   r   r   r³   r   rX   r.   r   rF   r   rG   r5   rš   r7   )r:   r^   r_   rª   ÚcenterxÚcenteryrd   ÚyradiusÚxradiusÚnStarsÚdeltarc   ÚradÚgsr;   r;   r<   Ú_Flag_EUË  s(   
zFlag._Flag_EUc                 C   s  t }tƒ }|d }|d  | _}||||fdd„}| tdd||tjd dd�¡ | td| |d |d |d|  |d|  |d |d d| gtjd dd	�¡ | t	|d |d d
| tj
d dd�¡ | t|d d|  dd| ddd| tjd dd�	¡ | t|d |d d| ddd| tjd dd�	¡ | t|d d|  dd| ddd| tj
d dd�	¡ | tdd||d d|  tjd dd�¡ | td| |d |d |d d|  |d|  |d |d d| gtjd dd	�¡ | t|d |d d| ddd| tj
d dd�	¡ |dd
dƒ |dddƒ |dddƒ |d d!dƒ |dd"dƒ |d#d$dƒ |d$d%d&ƒ |dd'd&ƒ |d(d)d&ƒ |d*d+d&ƒ |d,d-d&ƒ |d.d/d&ƒ |d#d"d&ƒ |d!d0d&ƒ |d1d2d&ƒ |d3d4d5ƒ |dd!d5ƒ |d6d!d5ƒ |d,dd5ƒ |d,d!d5ƒ |d7d!d5ƒ |d8d0d5ƒ |d9d:d5ƒ |d;d0d<ƒ |d=d>d<ƒ |dd?d@ƒ dA}t|ƒ}dB| }dC| }	|d d|  }
d}t|ƒD ]E}dt ||  dD }t|ƒ|	 |
 }t|ƒ|	 | }|d7k�rédE| }ndF| }tt|||| dG|d tjdH�ƒ}| |¡ | |¡ �qÃ|S )INr²   r®   c                 S   sR   t ƒ }tj|_|| |_|d | d|   |_|d |d|   |_| |¡ d S )Nr@   r    )r.   r   r§   r7   r5   rF   rG   rH   )rF   rG   r5   r_   rª   r^   ÚmÚstr;   r;   r<   rÕ   é  s   
z"Flag._Flag_Brazil.<locals>.addStarr   rU   g333333û?r@   rÚ   g      @rü   rP   g      !@r>   gfffff†X@g5^ºI@éœ   i`  r×   gÍÌÌÌÌH@r3   r“   gj¼t“@é¦   gš™™™™au@gš™™™™™	@r¡   g      !ÀrÒ   g      Àéýÿÿÿéüÿÿÿg      Àg      Àr¯   g      Àg      à¿g      Ð?g      ø¿rs   g      Àr�   iùÿÿÿrT   g      Àg      @éûÿÿÿgš™™™™™	ÀiúÿÿÿgÍÌÌÌÌÌÀr­   g      Àr¥   rŸ   r±   gš™™™™™!ÀrÜ   r  gš™™™™™É¿gìQ¸…ëÁ?gÍÌÌÌÌÌÀéþÿÿÿiøÿÿÿr£   zORDEM E PROGRESSOg:ÓI›%:ë?gš™™™™™@gþGe×@n@r    r¢   r•   )r–   rE   r8   r7   )ro   r   r€   rH   r   r   Úgreenr   r6   r
   ré   r   r§   r™   rX   r   r   r   r	   rZ   )r:   r^   r_   r  rª   rÕ   ÚsTmpÚnTmpr  rd   r  r  rc   r  rF   rG   ÚzÚg2r;   r;   r<   Ú_Flag_Brazilâ  s–   @ÿÿ&ÿ"ÿ&ÿÿDÿ"ÿ

ÿ
zFlag._Flag_BrazilN)/rJ   rh   ri   rj   rk   r   rl   ÚisColorÚ	isBooleanÚ	validFlagrn   rŽ   r4   r|   r   r‹   rg   r’   rO   r«   rÁ   rÇ   rÌ   rÑ   rØ   rß   rä   rè   rì   rï   rö   rú   rû   rÿ   r  r  r  r  r  r	  r
  r  r  r  r  r  r+  r;   r;   r;   r<   rp   „   sV    	

ý,!
 rp   c                 C   s   t ƒ }| |_|S rw   )rp   rr   )r›   Úflagr;   r;   r<   ÚmakeFlag2  s   r0  c            
      C   sô   d} d}g d¢}d }}d}d}|D ]e}|st ddƒ}t|ƒ}| |¡}	||	d	  |_||_| |¡ | t|j|jd
  |jd|   |tj	d| d�¡ |	d	 rT|d }|	d	 r\|dk sb||d krwt
 |d| d|d  ¡ |}|d }d}qdS )zfThis function produces three pdf files with examples of all the signs and symbols from this file.
    r?   )r®   éõ   )r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r%   r&   r'   r(   r)   r*   r+   r,   i  r   NiÂ  iŠ  rP   r@   rA   rB   rC   é}   r­   zflags%02d.pdfzflags.py - Page #%drs   )r   r0  ÚindexrF   rG   rH   r	   r5   r   rK   r   Ú
drawToFile)
rN   ÚXÚflagsrG   ÚY0r‰   rL   r›   r/  rc   r;   r;   r<   Útest7  s0   

 
ÿ€òr8  Ú__main__) Ú__version__rj   Úreportlab.libr   Úreportlab.lib.validatorsÚreportlab.lib.attrmapÚreportlab.graphics.shapesr   r   r   r   r   r	   r
   r   Úreportlab.graphicsr   Ú*reportlab.graphics.widgets.signsandsymbolsr   r‘   Úmathr   r   r   ÚOneOfr.  ro   r.   rp   r0  r8  rJ   r;   r;   r;   r<   Ú<module>   sj   (ä9     37
ÿ