
    Kwgv                     &   d Z dZddlmZ ddl ddl 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(e      Z G d) d*e      Zd+ Zd, Zed-k(  r e        yy).z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                   J    e Zd ZdZ ee eed            ZdZ	d Z
d Zd Zy	)
StarzyThis draws a 5-pointed star.

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

        zangle in degreesdesc)BASEangler.   c                     t        j                  |        d| _        t        j                  | _        d | _        d| _        y )Nd   r   )r   __init__sizer   yellow	fillColorstrokeColorr4   selfs    W/var/www/horilla/myenv/lib/python3.12/site-packages/reportlab/graphics/widgets/flags.pyr7   zStar.__init__W   s1    	
    c           
      L   t        dd      }t               }d|_        d|_        |j	                  |       d}|j	                  t        |j                  |j                  dz  z   |j                  d|z  z
  |j                  j                  t        j                  d|	             |S )
N   r6   2   r   
          @333333?middler:   
textAnchorfontSize)r   r0   xyaddr
   r8   	__class____name__r   black)r=   DetlabelFontSizes       r>   demoz	Star.demo^   s    CV	b		fRTT2773;'s=/@)ALL11V\\V^%24 	5 r?   c                    t        | j                        }t               }t        | j                        dz  }|t        dt        dz  z        z  t        dt        dz  z        z  }g }d}t        d      D ]V  }||fD ]M  }|t        dz  z  }	|j                  |t        |	      z         |j                  |t        |	      z         |dz   }O X t        || j                  | j                  |dz        }
|j                  | j                         |j                  | j                  | j                  z   | j                   | j"                  z          |j%                  |
       |S )	N      g     f@$   Z      rB   r:   r;   strokeWidth)floatr8   r	   r   r   r   rangeappendr   r:   r;   rotater4   shiftrJ   dxrK   dyrL   )r=   sgRrPr4   iradiusthetastars              r>   drawz	Star.drawj   s3   $))G $))Qc"bh-  RE]!33q 	#AQ$ #r%x(E
*+E
*+
	#	# q $"&"2"2 !"& 	
	twwtvvdgg~.	dr?   N)rN   
__module____qualname____doc__AttrMapr   AttrMapValueisNumber_attrMap_sizer7   rS   rl    r?   r>   r0   r0   K   s6     G 0BCH E
r?   r0   c            	       ,   e Zd ZdZ ee eed       eed       ee	d            Z
i 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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-d) Z.y*)+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 colorr1   zWhether a background is drawnz
Which flag)r3   r:   borderkindc                     t        j                  |        d | _        d| _        t        j
                  | _        d| _        | j                  |       y )Nr6      )	r   r7   ry   r8   r   whiter:   rx   setProperties)r=   kws     r>   r7   zFlag.__init__   s>    		2r?   c                 t    | j                   d   j                  j                  D cg c]  }||	 c}S c c}w )z*return a list of the things we can displayry   )rs   validate_enum)r=   rJ   s     r>   availableFlagNameszFlag.availableFlagNames   s/    ==099??Qa1=QQQs   55c                     t         }t               }|j                  t        dd|dz  |t        j
                  t        j                  d             |S )Nr   rU   rZ   )rt   r	   rL   r   r   purplerO   r=   rc   rd   s      r>   
_Flag_NonezFlag._Flag_None   s=    G	d1a1aV]]&,,defgr?   c                    | j                   }t               }|j                  |       | j                  | j                  z   | j
                  | j                  z   | j                  dz  }}}|j                  dt        | | t        | dd|z        d|z  z   t        | d|      d|z  z   d | j                  |dz               |j                  ||       |j                  |t        z  |t        z         |S )NrD   r   _widthrU      _heightwidthheightr:   r;   r[   )r8   r	   rL   rJ   ra   rK   rb   r[   insertr   getattrr;   r`   scalert   )r=   frc   rd   rJ   rK   sWs          r>   _borderDrawzFlag._borderDraw   s    IIG	a66$''>466$''>43C3CB3Fb1	4bSXac(B1R4(GPWX\]fghPijklnjnPn 0@0@bQRdT 	U	!	%5!r?   c                     | j                   xs d}| j                  j                  |      }|s1 t        | d|z                }|j	                         | j                  |<   | j                  |      S )NNone_Flag_)ry   _cachegetr   _exploder   )r=   ry   r   s      r>   rl   z	Flag.draw   s_    yy"FKKOOD!+Xd]+-A !

DKK""r?   c                 ,    t        j                   |       S N)copyr<   s    r>   clonez
Flag.clone   s    yyr?   c                    t        dd      }| j                         }dd l}|t        |j                               t	        |      z     }t               }||_        d|_        d|_        |j                  |       d}|j                  t        |j                  |j                  dz  z   |j                  d|z  z
  |t        j                  d|             t        |j                  d	z        }|j                  t        |j                  |j                  z   |j                  |j                  dz  z   d
t        j                  d|d             |S )NrA   r6   r   rC   rD   rE   rF   rG         @SAMPLEHelvetica-Bold)r:   rH   rI   fontName)r   r   timeintlenrw   ry   rJ   rK   rL   r
   r8   r   rO   gold)r=   rP   namer   fxrR   s         r>   rS   z	Flag.demo   s   C&&(C		$s4y01V	b		fRTT2773;'s=/@)A FLLX%24 	5 BGGCK(	fRTT277^RTTBGGCK%9$%2=MO 	P r?   c                 
   t         }t               }|dz  }|j                  t        dd||t        j
                  t        j                  d             |j                  t        dd|dz  d||dz  ||||dz  z
  |d|dz  gt        j                  d d             |j                  t        d|dz  d||dz  |||dz  |d||dz  z
  dgt        j                  d d             |j                  t        d||dz  z
  ||dz  d	z  z
  |d
z  ||dz  dz  z
  |d
z  d|gt        j                  d d             |j                  t        dd||dz  dz  z
  |dz  ||dz  dz  z
  |dz  |dz  dgt        j                  d d             |j                  t        ||||dz  dz  z   |d
z  ||dz  dz  z   |d
z  ||dz  z
  |gt        j                  d d             |j                  t        ||dz  ||dz  d	z  z   |dz  ||dz  dz  z   |dz  |dgt        j                  d d             |j                  t        |dz  dz  dd|z  dz  |t        j                  d d             |j                  t        d|dz  ||dz  t        j                  d d             |j                  t        |dz  dz  dd|z  dz  |t        j                  d d             |j                  t        d|dz  ||dz  t        j                  d d             |S )NrU   r   rZ   ?gffffff?g̼?g      .@      $@   g?r   ffffff?gzG?g{Gz?r   333333??皙?皙?皙?)
rt   r	   rL   r   r   navyrO   r   	mintcreamredr=   rc   rd   ws       r>   _Flag_UKzFlag._Flag_UK   sg   GaC	d1aA6;;fll`abc	gqAdF1a7Qq!AdF(1a5Q_e_o_o  ~B  PQ  R  	S	gqGaAdF1a5!Aq4xPQR`f`p`p  C  QR  S  	T	gq!QtV*q1T61*~41afaZ<STUYSY\]_`aouoyoy  JN  \]  ^  	_	gq!a!D&!n$!afaZ.AdFVWX\V\_`aouoyoy  JN  \]  ^  	_	gq!a!D&!n$!afaZ.AdFUVXYZ^X^U_abcqwq{q{  LP  ^_  `  	a	gq1T6Q4
^qvQtVQJSTUYSY\]_`aouoyoy  JN  \]  ^  	_	dQtVQJ461*QFL\L\lp~  A  	B	d1qva#6CSCScguvwx	dQtVQJ3q5!)A6::eiwxyz	d1quQqu&**\`nopqr?   c           
      N   t         }t               }t        dd|dz  |t        j                  t        j
                  d      }|j                  |       t        ddd      D ]\  }|dz  }|dz  dk(  st        j                  }nt        j                  }t        d|||z  z
  |dz  ||d d      }|j                  |       ^ t        d|d	z  z
  d
|z  |d	z  t        j                  d d      }|j                  |       |dz  }	|	dz  }
|dz  }|dz  }t        d      D ]x  }t        d      D ]h  }t               }|	|_        d|dz  z
  |	dz  z   |z   ||z  z   |_        t        j                  |_        ||dz   |z  z
  |
z   |_        |j                  |       j z t        d      D ]  }t        d      D ]q  }t               }|	|_        d|dz  z
  |	dz  z   |dz  z   ||z  z   |_        t        j                  |_        ||dz   |z  z
  |dz  z   |
z   |_        |j                  |       s  |S )Nr   rU   rZ      g      *@   r      g?g
ףp=
?rD         "@g      @rY   r   g      6@r{            ,@g      2@)rt   r	   r   r   r   rO   rL   r]   r   darkbluer0   r8   rJ   r:   rK   )r=   rc   rd   boxstripecounterstripeheightstripecolorredorwhitelineblueboxlsslss2s9s7starxcounterstarycounterlss                   r>   	_Flag_USAzFlag._Flag_USA   sC   G1a1aV-=-=V\\ghi	c
"Bq"- 	"MT6L!!Oq($jj$..!!am)C&DQqSYe'tMNEE.!	" q1l1n-c!eLQRNtL	gg3wsUsU!!H 	L %a V4xC'*<?:%//,q.",,T1b		 "!H 	L %a V!D&z#c')!D&0b@%//,q.",,af5d:b		 r?   c           	         t         }t               }t        dd|dz  |t        j                  t        j
                  d      }|j                  |       t        d|dz  dz  |dz  |dz  t        j                  d d      }|j                  |       t        dd|dz  |dz  t        j
                  d d      }|j                  |       |S Nr   rU   rZ         @rD   r   )rt   r	   r   r   r   rO   rL   	limegreen)r=   rc   rd   r   greenboxblackboxs         r>   _Flag_AfghanistanzFlag._Flag_Afghanistan  s    G1a1a((RSU	c
QsUCK#ae",,DaQ	h1AcE!C%"LL!M	hr?   c           	         t         }t               }t        dd|dz  |t        j                  t        j
                  d      }|j                  |       t        dd|dz  |dz  t        j                  d d      }|j                  |       t        d|dz  dz  |dz  |dz  t        j                  d d      }|j                  |       |S Nr   rU   rZ   rD   r   r   )rt   r	   r   r   r   rO   rL   r   )r=   rc   rd   r   redbox1redbox2s         r>   _Flag_AustriazFlag._Flag_Austria   s    G1a1aV-=-= ,,A7	c
 q!1S53

$AG	gqAcE3;quQsU

$AG	gr?   c           	         t         }t               }t        dd|dz  |t        j                  t        j                  d      }|j                  |       t        dd|dz  dz  |t        j                  d d      }|j                  |       t        |dz  dz  d|dz  dz  |t        j                  d d      }|j                  |       t        |dz  dz  d|dz  dz  |t        j                  d d      }|j                  |       |S Nr   rU   rZ   r   rD   r   r   )rt   r	   r   r   rO   rL   r   r   )r=   rc   rd   r   box1box2box3s          r>   _Flag_BelgiumzFlag._Flag_Belgium2  s    G1a1aFLLaQ	c
 Aq3ADaI	daeS[1QsUCK4QH	daeS[1QsUCK

$AG	dr?   c                 &   t         }t               }|dz  x| _        }|j                  t	        dd||t
        j                  d d             ||dz  d|dz  fd} |dddd        |d	d
d
d        |ddd
d        |ddd
d        |d	dd
d       |S )N      ?r   rZ   g      4@rD   c                     t               }t        j                  |_        ||_        ||z  dz  |_        | |z  |z   |_        ||z  |z   |_        |j                  |       y )NrU   )	r0   r   r9   r:   r4   r8   rJ   rK   rL   )	rJ   rK   r8   r4   rd   r   x0y0rc   s	            r>   addStarz!Flag._Flag_China.<locals>.addStarN  sS    AAKAG!VAXAFA#b&ACA#b&ACEE!Hr?   rY   r   rC   r{   gbXoB@   g~ )m @r   g '0@   g01J@)rt   r	   r   rL   r   r   r   )r=   rc   rd   r   r   s        r>   _Flag_ChinazFlag._Flag_ChinaH  s    GC%a	d1aASTUV%&41# 	 	!Aq1Q{#1Q{#1Q{#1Q{#r?   c           
      v   t         }t               }t        d      D ]U  }t        d||z  dz  |dz  |dz  t        j
                  t        j                  g|dz     d d      }|j                  |       W t        ddd|z  dz  |dz  d|gt        j                  d d      }|j                  |       t               }d	|z  d
z  |_        |dz  |_        d|z  d
z  |_        t        j                  |_        |j                  |       t        dd|dz  |d t        j                   d      }|j                  |       |S )NrY   r         @rU   r   r   rD   pointsr:   r;   r[         @r   r   rZ   )rt   r	   r]   r   r   r   r   rL   r   r   r0   rJ   rK   r8   r|   r:   rO   )r=   rc   rd   rh   striperedwedgerk   r   s           r>   
_Flag_CubazFlag._Flag_Cuba^  s*   Gq 	A!QqSWAaC##__f.>.>?!D"F EE&M	 aAaCGaea$C &

$AO	hvQt3aCH		d1a1a ,, 	
c
r?   c           	         t         }t               }|dz  x| _        }t        dd||t        j
                  t        j                  d      }|j                  |       t        |dz  dz  d|dz  |t        j                  d d      }|j                  |       t        d|dz  |d	z  z
  ||dz  t        j                  d d      }|j                  |       |S 
Nffffff?r   rZ   r   rU   g      @r   rD   g      (@)	rt   r	   r   r   r   r   rO   rL   r   )r=   rc   rd   r   r   	whitebox1	whitebox2s          r>   _Flag_DenmarkzFlag._Flag_Denmark|  s    GC%a1aA

&,,AO	c
1S5!)aquQ((!M		iaeaf-a#((!M		ir?   c           	         t         }t               }t        dd|dz  |t        j                  t        j
                  d      }|j                  |       t        |dz  dd|z  |t        j                  d d      }|j                  |       t        d|dz  |dz  |dz  t        j                  d d      }|j                  |       |S )Nr   rU   rZ   g333333?r   r   r   )rt   r	   r   r   
ghostwhiterO   rL   r   )r=   rc   rd   r   	blueline1	blueline2s         r>   _Flag_FinlandzFlag._Flag_Finland  s    G 1a1a))STV	c
!C%!3q5tL		iQsU1Q3qutL		ir?   c           	         t         }t               }t        dd|dz  |t        j                  t        j
                  d      }|j                  |       t        dd|dz  dz  |t        j                  d d      }|j                  |       t        |dz  dz  d|dz  dz  |t        j                  d d      }|j                  |       t        |dz  dz  d|dz  dz  |t        j                  d d      }|j                  |       |S r   )
rt   r	   r   r   r   rO   rL   bluer   r   )r=   rc   rd   r   r   whiteboxredboxs          r>   _Flag_FrancezFlag._Flag_France  s    G1a1aV[[bcd	c
q!QsUCK4QH	g!C%q!C%a((!M	h#s{Q#s{A

 	
fr?   c           	         t         }t               }t        dd|dz  |t        j                  t        j
                  d      }|j                  |       t        d|dz  dz  |dz  |dz  t        j
                  d d      }|j                  |       t        d|dz  |dz  |dz  t        j                  d d      }|j                  |       |S r   )rt   r	   r   r   r   rO   rL   	orangered)r=   rc   rd   r   	blackbox1r   s         r>   _Flag_GermanyzFlag._Flag_Germany  s    G1a1a"KKv||QRT	c
aeS[3quDaI		iq1S53qu((!M	gr?   c           
         t         }t               }t        dd|dz  |t        j                  t        j
                  d      }|j                  |       t        ddd      D ]\  }|dz  }|dz  dk(  st        j                  }nt        j                  }t        d|||z  z
  |dz  ||d d      }|j                  |       ^ t        d|d	z  z
  |d	z  |d	z  t        j                  d d      }|j                  |       t        d||d
z  z
  |d	z  |t        j                  d d      }	|j                  |	       t        |dz  ||d	z  z
  ||d	z  t        j                  d d      }
|j                  |
       |S )Nr   rU   rZ   	   r   r   r   r   rY   r   )
rt   r	   r   r   r   rO   rL   r]   deepskybluer   )r=   rc   rd   r   r   r   r   blueorwhitelinebluebox1
whiteline1
whiteline2s              r>   _Flag_GreecezFlag._Flag_Greece  sw   G1a1aV[[&,llC	c
"Aa_ 		#MS5L!!Oq($00$.."1q,}*D'EaPQcZf'tMOEE/"		# QQ.QP\]^P^**$AO	h!q,q.0aP\((!M
	j<>aa-?]ijk]k((!M
	jr?   c           	         t         }t               }t        dd|dz  |t        j                  t        j
                  d      }|j                  |       t        |dz  dz  dd|dz  z  dz  |t        j                  d d      }|j                  |       t        d|dz  z  dz  d|dz  dz  |t        j                  d d      }|j                  |       |S r   )	rt   r	   r   r   forestgreenrO   rL   r   
darkorange)r=   rc   rd   r   r   	orangeboxs         r>   _Flag_IrelandzFlag._Flag_Ireland  s    G1a1a**&,,TUW	c
!C%qaeS!",,DaQ	h3#;s?a#s{1))1N		ir?   c                 v   t         }t               }|j                  t        dd|dz  |t        j
                  d d             |j                  t        d|z  dz  d|dz  dz  |t        j                  d d             |j                  t        d|z  dz  d|dz  dz  |t        j                  d d             |S )Nr   rU   rZ   r   r   r   )rt   r	   rL   r   r   r  r   r   r   s      r>   _Flag_ItalyzFlag._Flag_Italy  s    G	d1Qqs1v'9'9dXYZ[	dAaC9a!SyHXHXhlz{|}	dAaC9a!Sy

bftuvwr?   c                 
   t         }t               }|dz  x}| _        |j                  t	        dd||t
        j                  d d             |j                  t        |dz  |dz  d|z  t
        j                  d d             |S )Nr   r   rZ   rD   r   cxcyrf   r:   r;   r[   )	rt   r	   r   rL   r   r   r   r   r   r   s       r>   _Flag_JapanzFlag._Flag_Japan  st    GC%DK	d1QqV%5%5$TUVW	f#3QPTbcder?   c           	         t         }t               }t        dd|dz  |t        j                  t        j
                  d      }|j                  |       t        d|dz  dz  |dz  |dz  t        j                  d d      }|j                  |       t        dd|dz  |dz  t        j                  d d      }|j                  |       |S r   )	rt   r	   r   r   r   rO   rL   r   
dodgerbluer=   rc   rd   r   r  r   s         r>   _Flag_LuxembourgzFlag._Flag_Luxembourg	  s    G1a1a((RSU	c
a1S5#+aeAcE"JJdK	fq!1S53"--TqR	gr?   c           	         t         }t               }t        dd|dz  |t        j                  t        j
                  d      }|j                  |       t        d|dz  dz  |dz  |dz  t        j                  d d      }|j                  |       t        dd|dz  |dz  t        j                  d d      }|j                  |       |S r   )	rt   r	   r   r   r   rO   rL   r   r   r  s         r>   _Flag_HollandzFlag._Flag_Holland  s    G1a1a((RSU	c
a1S5#+aeAcE"JJdK	fq!1S53"OO4QP	gr?   c                     t               S r   )r	   r<   s    r>   _Flag_PortugalzFlag._Flag_Portugal+  s	    wr?   c                 h   t         }t               }|dz  x}| _        |dz  }|j                  t	        dd||t
        j                  d d             |j                  t	        d|||t
        j                  d d             |j                  t	        dd|z  ||t
        j                  d d             |S )Nr   r   r   r   rU   )	rt   r	   r   rL   r   r   r   r   r   )r=   rc   rd   r   ts        r>   _Flag_RussiazFlag._Flag_Russia.  s    GC%DKcE	d1aq

RVdefg	d1aqSWefgh	d1ac1&:J:JZ^lmnor?   c                    t         }t               }|dz  x}| _        |j                  t	        dd||t
        j                  d d             |j                  t	        d|dz  ||dz  t
        j                  d d             |S )Nr   r   r   r   rD   )rt   r	   r   rL   r   r   r   r9   r   s       r>   _Flag_SpainzFlag._Flag_Spain8  sq    GC%DK	d1aq

RVdefg	d1quQqu&--_cqrstr?   c           	         t         }t               }|dz  | _        t        dd| j                  |t        j
                  t        j                  d      }|j                  |       t        |dz  dz  d|dz  |t        j                  d d      }|j                  |       t        d|dz  |d	z  z
  | j                  |dz  t        j                  d d      }|j                  |       |S r   )	rt   r	   r   r   r   r  rO   rL   r   )r=   rc   rd   r   r   r   s         r>   _Flag_SwedenzFlag._Flag_Sweden@  s    Ge1aa))STV	c
aeQY!C%"KKtL	dA34(QsU 	
dr?   c           	      J   t         }t               }|dz  | _        t        dd| j                  |t        j
                  t        j                  d      }|j                  |       t        dd| j                  |t        j
                  t        j                  d      }|j                  |       t        |dz  dz  d|dz  |t        j                  d d      }|j                  |       t        d|dz  | j                  |dz  t        j                  d d      }|j                  |       t        |dz  dz  dd	|z  |t        j                  d d      }|j                  |       t        d|d
z  | j                  |d	z  t        j                  d d      }|j                  |       |S )Nr   r   rZ   r   rU   r   r   r   r   r   )
rt   r	   r   r   r   r   rO   rL   r   r   )r=   rc   rd   r   r  r  r   r   s           r>   _Flag_NorwayzFlag._Flag_NorwayS  s^   Ge1aa"JJfllPQS	c
1aa"JJfllPQS	c
AcE19q#a"--TqR
	j!aeDKK#"--TqR
	j1U7A+Qq"OO4QP		iQtVDKK#"OO4QP		ir?   c           	         t         }t               }t        dd|dz  |t        j                  t        j
                  d      }|j                  |       t        dd|dz  |dz  t        j                  d d      }|j                  |       t        dd||dz  d|gt        j                  d d      }|j                  |       |S )Nr   rU   rZ   rD   r   r   )
rt   r	   r   r   r   rO   rL   r   r   r   )r=   rc   rd   r   r  	bluewedges         r>   _Flag_CzechRepubliczFlag._Flag_CzechRepublicq  s    G1a1a((&,ll 	
c
a!A#ae

 	
fq!Q3A%> &tQRT		ir?   c           	         t         }t               }t        d|dz  |dz  |dz  t        j                  d d      }|j                  |       t        dd|dz  |dz  t        j                  d d      }|j                  |       t        dd|z  dz  |dz  |dz  t        j                  d d      }|j                  |       t        ddd|z  dz  |dz  d|gt        j                  d d      }|j                  |       |S )Nr   r   rU   rZ   r   rD   r   )
rt   r	   r   r   r   rL   r   rO   r   r   )r=   rc   rd   r   r   r   r   s          r>   _Flag_PalestinezFlag._Flag_Palestine  s    G1aeQqS!C%((&* 	
c
1AaC#(( 	
h1Q3s7!A#ae 	
haAaCGaea$C &

$AO	hr?   c           	      x   t         }t               }t        dd|dz  |t        j                  t        j
                  d      }|j                  |       t        |dz  dz  |dz  |dz  t        j                  d d      }|j                  |       t        |dz  dz  |dz  |d	z  t        j                  d d      }|j                  |       t               }d
|_
        |dz  |_        |dz  dz  |j                  dz  z   |_        |dz  |_        t        j                  |_        d |_        |j                  |       |S )Nr   rU   rZ   r   rD   r   r  g(\?gQ?   r         ?)rt   r	   r   r   r   rO   rL   r   r   r0   r4   r8   rJ   rK   r:   r;   )r=   rc   rd   r   whitecircle	redcirclewss          r>   _Flag_TurkeyzFlag._Flag_Turkey  s   G1a1a

&,ll 	
c
!D&!3!C%(( 	
k$zqu$

	 	
iVC%#qy$#''	b	r?   c                    t         }t               }|| _        |j                  t	        dd||t
        j                  t
        j                  d             |j                  t        |dz  |dz  |dz  ||dz  z
  t
        j                  t
        j                  |dz               |j                  t        |dz  |dz  ||dz  z
  |dz  t
        j                  t
        j                  |dz               |S )Nr   rZ   rD   g      @rU   r   )
rt   r	   r   rL   r   r   r   rO   r   r   r   s      r>   _Flag_SwitzerlandzFlag._Flag_Switzerland  s    G	d1aA6::V\\_`ab	dAcEQsUacQ#Y((8H8HWXY\W\_ 	`	dAcEQsUa3i1S5((8H8HVWX[V[] 	^r?   c                    t         }t               }d|z  x}| _        |j                  t	        dd||t
        j                  d d             |dz  }|dz  }|dz  }|}|}d}	dt        z  |	z  }
t        |	      D ]m  }||
z  }t               }t        |      |z  |z   |_        t        |      |z  |z   |_        |dz  |_        t
        j                  |_        |j                  |       o |S )	Nr   r   rZ   rD   r   r   rU   r   )rt   r	   r   rL   r   r   r   r   r]   r0   r   rJ   r   rK   r8   r   r:   )r=   rc   rd   r   centerxcenteryri   yradiusxradiusnStarsdeltarh   radgss                 r>   _Flag_EUzFlag._Flag_EU  s    Ga%DK	d1aA6??$\]^_##u"Vv 	AE'CBS&(BDS&(BDdFBGBLEE"I	 r?   c                 j   t         }t               }|dz  }|dz  x| _        }||||fd}|j                  t	        dd||t
        j                  d d             |j                  t        d|z  |dz  |dz  |d|z  z
  |d|z  z
  |dz  |dz  d|z  gt
        j                  d d             |j                  t        |dz  |dz  d	|z  t
        j                  d d
             |j                  t        |dz  d|z  z
  dd|z  ddd|z  t
        j                  d d	             |j                  t        |dz  |dz  d|z  ddd|z  t
        j                  d d	             |j                  t        |dz  d|z  z
  dd|z  ddd|z  t
        j                  d d	             |j                  t	        dd||dz  d|z  z   t
        j                  d d             |j                  t        d|z  |dz  |dz  |dz  d|z  z
  |d|z  z
  |dz  |dz  d|z  gt
        j                  d d             |j                  t        |dz  |dz  d|z  ddd|z  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/d%        |d0d1d%        |d2d3d4        |dd d4        |d5d d4        |d+dd4        |d+d d4        |d6d d4        |d7d/d4        |d8d9d4        |d:d/d;        |d<d=d;        |dd>d?       d@}t        |      }dA|z  }dB|z  }	|dz  d|z  z
  }
d}t        |      D ]  }dt        z  ||z  z
  dCz
  }t!        |      |	z  |
z   }t#        |      |	z  |z   }|d6k(  rdD|z  }ndE|z  }t        t%        ||||   dF|d t
        j                  G            }|j'                  |       |j                  |        |S )HNr   r   c                     t               }t        j                  |_        ||z  |_        |dz  | d|z  z  z   |_        |dz  |d|z  z  z   |_        |j                  |       y )NrD   r   )r0   r   r   r:   r8   rJ   rK   rL   )rJ   rK   r8   rd   r   rc   msts           r>   r   z"Flag._Flag_Brazil.<locals>.addStar  s\    B))BL1fBGcEa4!8n-BDcEa4!8n-BDEE"Ir?   r   rZ   g333333?rD   r   g      @r  rU   g      !@rB   gfffffX@g5^I@   i`  r   gH@r6   r   gjt@   gau@g	@r   g      !r   g      g      g      r   g      g      g      ?g      r{   g      r   irY   g      g      @g	igr   g      r   r   r   g!r   r3  gɿgQ?gir   zORDEM E PROGRESSOg:I%:?g@gGe@n@r   r   r   )r   rI   r;   r:   )rt   r	   r   rL   r   r   greenr   r9   r   r   r   r   r   r]   r   r   r   r
   r_   )r=   rc   rd   rF  r   r   sTmpnTmpr@  ri   r;  r<  rh   rA  rJ   rK   zg2s                     r>   _Flag_BrazilzFlag._Flag_Brazil  s   GdFr6"a !Q!q 	 	
d1aA6<<tYZ[\	gQ3!C%!SU)QAYPQRUPUXYZ]X]`cde`ef"(--tQRT 	U	f#!C%3q5%{{tL 	M	eQsUQqSM1c!eRs1u$..4QP 	Q	eQsUaeeAgsCq$..4QP 	Q	eQsUQqSM1ac4ac$kkdK 	L	d1aQsUc!eO%||4QP 	Q	gQ#3#!3q5	STUXSX]^_b]bdghidij"(--tQRT 	U	eAcE1S5%'3uQw$kkdK 	L 	CSR4$s$sT$$t$t"T$tBt$tT$45$s$s$s$s$sT#CT$R"S"4yt#aS51Q3-t 	AB$5.-/C#hvog%A#hvog%AAvF6vaDG6FF GBIIcNEE"I	 r?   N)/rN   rm   rn   ro   rp   r   rq   isColor	isBoolean	validFlagrs   r   r7   r   r   r   rl   r   rS   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r   r"  r%  r'  r)  r+  r.  r0  r7  r9  rC  rS  ru   r?   r>   rw   rw      s     G$W3EF!)-LM	=H FR	#("*X"$,,<$$,"B"""&<(4@
.Nr?   rw   c                 (    t               }| |_        |S r   )rw   ry   )r   flags     r>   makeFlagrY  2  s    6DDIKr?   c                     d} d}g d}dx}}d}d}|D ]  }|st        dd      }t        |      }|j                  |      }	||	d	z     |_        ||_        |j                  |       |j                  t        |j                  |j                  d
z  z   |j                  d| z  z
  |t        j                  d|              |	d	z  r|dz
  }|	d	z  r|dk  s	||d   k(  st        j                  |d|z  d|dz   z         |}|dz   }d} y)zfThis function produces three pdf files with examples of all the signs and symbols from this file.
    rC   )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  rU   rD   rE   rF   rG   }   r   zflags%02d.pdfzflags.py - Page #%dr{   )r   rY  indexrJ   rK   rL   r
   r8   r   rO   r   
drawToFile)
rR   XflagsrK   Y0r   rP   r   rX  rh   s
             r>   testrb  7  s   
 MAE6 LA	AA gc#&!~KK1Q3	d	fTVVTYYs]+TVVS5F-GM[ 	\Q3AGaCAaCD%)O  OA$57LaPQc7RSA!AAr?   __main__) __version__ro   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   OneOfrV  rt   r0   rw   rY  rb  rN   ru   r?   r>   <module>rm     s    	4 ! & # ` ` ` ( >   
9	> 	77 7rl
7 l
\
5n ZF r?   