
    Kwgj                         d Z dZddlmZmZ ddl ddl ddl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  G d
 de      Z G d de      Z G d de      Z G d d      Z G d de      Zg dfdZedk(  r e        yy)z3.3.0zGenerate ReportLab logo in a variety of sizes and formats.


This module includes some reusable routines for ReportLab's
 'Corporate Image' - the logo, standard page backdrops and
 so on - you are advised to do the same for your own company!    )inchcm)*)DecimalFormatter)
definePathGroupDrawingRectPolyLineString)Widget)ColorblackwhiteReportLabBlue)stringWidthc                      e Zd ZdZ ed5i d eed      d eed      d eed      d eed	      d
 eed      d eed      d eed      d eed      d eed      d eed      d eed      d eed      d eed      d eed      d e e	e
 ee
d d !      f      d"      d# ee
d$      d% ee
d&      d' e e e	e eed d !      f            d(      d) e e e	e eed d !      f            d*      d+ e ee      d,      Zd- Zd. Zd/d/d0d1ed0d0fd2Zed3        Zd4 Zy0)6RL_CorpLogoz;Dinu's fat letter logo as hacked into decent paths by RobinxzLogo x-coordyzLogo y-coordanglezLogo rotationstrokeColorzLogo lettering stroke color	fillColorzLogo lettering fill colorstrokeWidthzLogo lettering stroke width
backgroundzLogo background color)descborderzLogo border colorborderWidthzLogo border width (1)shadowz,None or fraction of background for shadowingwidthz)width in points of the logo (default 129)heightz)height in points of the logo (default 86)skewXzx-skew of the logo (default 10)skewYzy-skew of the logo (default 0)showPage   )lohiz7If true or (true(top),true(bottom)) show the page linesxFlipzIf true do x reversalyFlipzIf true do y reversaloColorsz1None or fill/stroke colors for the o in ReportLab
pageColorsz/None or fill/stroke colors for the page outlineprecz-None or precision negative means strip excessc                 ,   t         | _        d | _        d| _        t        | _        d | _        d| _        d| _        d| _	        d| _
        dx| _        x| _        x| _        x| _        | _        d| _        d| _        d| _        d | _        d | _        d | _        y )	N皙?         ?V      r   
   g     A@)r   r   r   r   r   r   r   r   r   r!   r    r   r   r   r#   _dxr"   _dyr$   r*   r+   r,   selfs    I/var/www/horilla/myenv/lib/python3.12/site-packages/reportlab/lib/corp.py__init__zRL_CorpLogo.__init__.   s    '
?@@@@$*@tzDH
	    c                 h    t        | j                  | j                        }|j                  |        |S Nr	   r    r!   addr7   Ds     r8   demozRL_CorpLogo.demo@   &    DJJ,	dr:   r   Nr.   c	           
      j   g d}	g d}
| j                   }g }|r?t        |      s||f}|d   r|j                  g d       |d   r|j                  g d       |rC| j                  |	| j                        }	|j                  t        |	|d   ||d   ||             n|
|	z  }
| j                   rE|rC| j                  || j                        }|j                  t        ||d   ||d   ||             n|
|z  }
| j                  |
| j                        }
|j                  t        |
|||||             y )N))moveTo"O@
cA@)curveTorE   gT@gCQON@gG8-xW@gı.nN@g:]?)rG   ga wM@gn?gM2rL@BѿgyK@rH   )rG   g7~J@rH   g7l[٨I@
ϛ?gǺ	I@cbqm?)rG   gO@akH@g+	@)^H@<7@rK   {丳@)rG   rK   g3.!@gK7mH@g㈵ %@gףp=
I@Ƒ'@)rG   gCVI@3'*@gPfJ@m9r+@gh|?K@rP   )rG   gDL@rP   gdCM@g}y)*@gDN@g '@)rG   gʉvN@gfL2r%@rE   gEɀ!@rE   rF   	closePath)rD   ]L@rM   )rG   rR   gT:X@gw/YL@gZK}@gVeOL@gmn @)rG   gXeSFL@g%: @gx]8L@g_YiR!@gqm'L@g͒ 5"@)rG   gJhL@gŧ "@g+ L@g* #@gmK@7T7q#@)rG   g̯K@g#@g<K@b('#@gΪVK@rT   )rG   g	8XK@rT   rm'K@goeQ#@jjZK@gVy"@)rG   f,J@gy!@[ɎJ@g9@0@rX   'o|@)rG   rX   gj+@rW   gZ!@rV   gNw(
t@)rG   rU   gR"@g)^XK@	@g'1K@rZ   )rG   grPLK@rZ   g:]K@g@g4R%L@g,H3Mg@)rG   gףp=
KL@g/n@rR   gW	3@rR   rM   rQ   ))rD   g\mr/@r   )lineTogME*"@r   )r[   gDL$z@gE$]3Y@)rG   gZ{,}@gǺ@gc#K@g"Tm@gۊe@g.Q50@)rG   g =@g_@g7g@g`@gWCK@6T@)r[   a)@rY   )r[   r]   r   )r[   U7?r   )r[   r^   13@)r[   gSr@r_   )rG   gEB"@r_   g<	%@g&kԻ2@gʉv(@g|a2U1@)rG   geI+@g{Fw0@"u|-@g4)-@r`   g_M)@)rG   r`   gŬC9$@gU+~I+@g#J{/!@g4Op&@r\   rQ   )rD   KhF@`$@)r[   göE@rb   )rG   gsx@rb   g,`@gpB!%@gg @gm%@)rG   g!@gSW>&@"uq"@g/
(@rc   gӂ}u)@)rG   rc   gBS,@g 6qb @WV-@gWf,@rd   )r[   ra   rd   rQ   )rD   .9@?2@)r[   gnLOXy>@gwN#@)rG   g; >@gQy@g70V=@ge6H?gT7<@gԕ<?)rG   g~W[;@g|wJ?gx#9@rH   "uq7@rH   )rG   g'kC45@rH   g0r.4@gpZ?gt2@gNё\C?)rG   g41@gk,	@aۢ0@g0AC@rh   gcz@)rG   rh   gJ+6!@g{1@gUMu$@gE_2@gܝ^'@)rG   g|=4@gvR~*@gՐ5@\tYLl+@gFv7@ri   )rG   gSW>:@ri   g
p;@gs,&6*@gW2<@g0''@)rG   g)t^>@gBs$@; >@gm!@rj   g8m4@)r[   g+p>@aۢ@)r[   gTƿϸ6@rk   )rG   gS:6@g+@gg7@@rg   rl   )rG   gZwgu8@rl   gM8@gB	\@re   rf   rQ   )rD   rCQ/9@L$z @)rG   rm   g}8g4!@gb'9@g~7!@gW>9@gnض("@)rG   gX0_9@g=$@}"@gs.Ue8@Fv"@gd,8@gx@$#@)rG   gKu8@rS   ge18@g#@gui8@g|~!<#@)rG   g}˜.A8@g$@g8@>"D$@g7@rp   )rG   gk) ƃ7@rp   g$37@gZd#@guV6@g	(#@)rG   gS
c6@g1"@bg6@ght!@rq   rn   rQ   )rD   tgy.C@bg
)r[   _i@@rs   )r[   rt    dF*@)r[   rr   ru   )r[   {IcC@gQy'@)rG   g3<C@gYni5$'@g U+ZC@g^/(@g"DxC@gE$]3)@)rG   gx]C@g,eX)@N^C@g{Nz*@g]ʾC@2ZGUt*@)rG   gV	C@ge-*@g%D@g"2+@g`MD@g.16+@)rG   gtYLlvD@gXV^+@g+ٱD@rP   gE*-D@rP   )rG   g>E@rP   g"F@rO   g U+F@rN   )rG   g~nG@gg?R%@AG@g:!@ry   +j0@)rG   ry   rL   g\m
G@gIh˹@ga2U0*F@rJ   )rG   g1F@rI   gsE@rH   g4cD@rH   )rG   g4R5D@rH   g&SC@g8P?rv   g[K<?)rG   gꕲq$C@y?gy@e'C@gϸp ?giW!')C@g	h"lx?)rG   gd,C@g)"*?rr   g//>:?rr   gR!uٿrQ   )rD   k+cD@KRe@)rG   r|   gU+~@gekUD@gRDU @g)8D@g'UH!@)rG   gĬD@gQfL2"@g,`C@'IL>#@g:C@r~   )rG   g=
PC@r~   p1=C@g[닄\!@r   gPp3@)rG   r   gʾ+@gCVzNNC@Oz1S@rw   r   )rG   geC@r   g0ACD@gDذ@gڧ5D@gW}W@)rG   g[ɎTD@ge-@r|   g_v@r|   r}   rQ   )rD   JRrQ@r   )r[   p=
P@r   )r[   r   ru   )r[   r   ru   )r[   gH_Q@gP%@)rG   g$#gaQ@gn)@gBQ@焁Å+@OIiR@r   )r[   r   gʡU @)rG   gt^BR@g	c @g!R@Bxq:!@gT gR@r   )rG   gaQ@r   gbgQ@gXL @g}iƘQ@g[B>ٌ@)rG   gZ Q@g*g@r   ga@r   gQy@rQ   )rD   (ycT@r   )r[   R, S@r   )r[   r   ro   )r[   MbXR@ro   )r[   r   ru   )r[   r   ru   )r[   r   |~!d1@)r[   r   r   )r[   r   ru   )r[   	T@ru   )r[   r   ro   )r[   r   ro   rQ   )rD   ZW@r   )r[   2}EU@r   )r[   r   r_   )r[   <IfV@r_   )r[   r   4ir@)r[   r   r   rQ   )rD   ',[@r   )r[   }"Z@r   )rG   gU0* Z@g~?gao"Z@g|,}?gn4$Z@g?ܵ|?)rG   g%Z@g?g'Z@gec] @gd)Z@g䠄@)rG   gg67Y@g[tYL?gRY@rH   g"2Y@rH   )rG   gŊLX@rH   g dFX@g?g	]X@gz6>W?)rG   gWL)X@gTގ@Nw(
X@g1%e@r   gr?@)rG   r   g-#!@g7*X@godC%@glV}`X@gj+'@)rG   gR,X@gdp4*@gH.X@rP   g<;Y@rP   )rG   g鲘Y@rP   g!A	3Y@gIh˹)@gME*!Z@grm&@)rG   g
.V` Z@g0G&@g9}Z@g?'@gw;SZ@gh~'@)rG   gMZ@gXeS'@g<Z@gޓZ'@r   ge(@)r[   k}ЖZ@g\mŮ)@)r[   g?Z@ru   )r[   r   ru   rQ   )rD   r   	h"@)rG   r   gN@g<DZ@gCK:@gJ8Z@g0ACO @)rG   gEaZ@gQ|!@gqtZ@g7̒!@g[%XZ@gP0A"@)rG   g鷯Z@gs"@g3P>Y@g1PN"@g$bJ$Y@gh"@)rG   gt{IcY@gؙB%#@g"-Y@r~   gpWY@r~   )rG   gA&9Y@r~   0r.uY@g(\ @r   g,C@)rG   r   g6ُ@g2Y@_)Ǻ@guY@r   )rG   gPkY@r   r   g7l@r   r   rQ   )rD   gypw]@r   )r[   Ǻ$\@r   )r[   r   W}W4@)r[   #]@r   )r[   r   gJF+@)rG   r   gd**@gɎ@]@g{Nz(@g,g~5]@gs^&@)rG   g*5{]@gs,&6(@g|S]@g_)@g:KT]@rx   )rG   gQ^@g|+@g1|DL0^@rP   gOed^@rP   )rG   g^@rP   gHK_@g[rP2*@g{1D_@gĔH'@)rG   gK8y_@gi:;5%@lV}_@g2r!@r   gvZ@)rG   r   gOGɫ@gmy_@gbb@gIB_@g=\rܩ?)rG   gGɫs_@K7?gpn^@rH   gm/`^@rH   )rG   g}"O2^@rH   gX
^@g=~oӿg<If]@gBsF?)rG   g0|]@r   g	h"]@g4)^?g|гY]@ga?)rG   gq>?]@g$+?g ]@r{   r   g,&6?)rG   g{]@gR?gV-]@g{Ic*?g|G]@gK7A`?)rG   gu݈]@gf?gZBs]@g ?g!7]@gP?rQ   )rD   }iƢ%^@rz   )rG   r   g;f?!@g_^@痐z6+#@g֨ht]@r   )rG   g-l]@r   5{]@g\Z!@r   gm9r@)rG   r   g%#gaO@gHIO]@rCQ@g\r)]@r   )rG   g#Jv^@r   r   g@r   rz   rQ   r   ))rD   WVZ@@%e-@)r[   r   GG@)r[   gr3܀	T@r   )r[   /
ҌV@g$]3B@)r[   r   X94@)r[   玒WJU@r   )r[   r   bg>@)r[   .jR@r   )r[   r   ;)E@)r[   W	3'C@r   )r[   r   r   rQ   )rD   rhS@%ǝ)B@)r[   r   r   )r[   r   r   rQ   r/   )	)rD   r   VC")r[   r   LqUw9)r[   r   r   )r[   r   箞7>)r[   r   r   )r[   r   Բ&?)r[   r   r   )r[   r   r   rQ   )r   r   r   dxdy)r$   isSeqextend	applyPrecr,   r>   r   )r7   gr   r   r   r   r   _ocolors_pagecolorsOPPr$   PPs                r8   
_paintLogozRL_CorpLogo._paintLogoE   s1    q	 ==?$X.{		  s  t{		  U  V499-BEE*RHQKKZbcdZejlqstuGA==[499-BEE*RKN{]hij]kprwyz{GANN1TYY'	j{{U^cejlmnr:   c                    || S g j                   }t        |      }| D ]]  }t        |      rHg j                   }|D ]+  }t        |t              rt	         ||            } ||       - |j
                  } ||       _ |j
                  S )N)places)appendr   r   
isinstancefloat__self__)r   r,   Rfpnes          r8   r   zRL_CorpLogo.applyPrecj   s    <IID) 	AQxII A!!E*!!A$KaD JJaD	 zzr:   c                 r   | j                   }| j                  }t               }| j                  }| j                  }| j
                  }| j                  }| j                  | j                  }	}|rY|Bd|cxk  rdk  r7n n4t        |j                  |z  |j                  |z  |j                  |z        }| j                  |dd|       | j                  |||| j                  xs d | j                  xs d        |j!                  | j"                  | j$                         |j'                  | j(                  | j*                         t               }
|
j-                  |       d\  }}| j.                  | j0                  }}|s|r$|r"|
j3                  dt5        dd|||||	             ||k7  s||k7  r*|
j7                  |t9        |      z  |t9        |      z         | j:                  }| j:                  rA|d
z  |d
z  }}|
j'                  | |        |
j=                  |       |
j'                  ||       t?        | dd      xr dxs d}t?        | dd      xr dxs d}|s|rE|xs d}|xs d}|
j'                  ||z  ||z  z   ||	z  ||z  z          t        |
|dd|ddf      }
|
S |
j'                  ||	       |
S )Nr   r/         r%   )r   r   r   )r   r   r   r   kxky)r2   r1   )r   r   r   g       @r(   r)   )	transform) r   r   r   r   r   r   r   r   r   r   redgreenbluer   r*   r+   skewr"   r#   shiftr4   r5   r>   r    r!   insertr
   scaler   r   rotategetattr)r7   r   r   r   bgbdbdwr   r   r   G_w_hwhr   r(   r)   sxsys                       r8   drawzRL_CorpLogo.drawz   sd   NN	&&G__[[vvtvv1!akkrvvf}RXXf_RWWV^LOOA!fO=I+-$//:QT 	 	S	$**,	"G	aBzz4;;1"HHQtAa2rcRSb5ArE1771U2Y;qr{;

::R42qAGGQBrNHHUOGGAaLWQ'.B3!WQ'.B3!E!B!BGGBqD5LAeAg.a2a"Qq/2A  GGAaLr:    )__name__
__module____qualname____doc__AttrMapAttrMapValueisNumberisColorOrNoneisNumberOrNoneEitherOr	isBoolean
SequenceOfNoneOrisColorisInt_attrMapr9   rA   r   r   staticmethodr   r   r   r:   r8   r   r      s   E 
.1
.1
 Xo6
 #=2OP	

 !0KL
 #8,IJ
 "-5LM
 m1DE
 #81HI
 n2`b
 X,WX
 h-XY
 X,MN
 X,LM
  )JyAQR4S)T U  ]V  W
  Y-DE!
" Y-DE#
$ vh
=TUYZ8[/\&]^  eX  Y%
& "&7:mWX\];^2_)`"a  hY  Z'
( F5M/^_)
H.$
  !QDcUZeiw{ #oJ  (r:   r   c                       e Zd Zd Zy)RL_CorpLogoReversedc                 Z    t         j                  |        t        | _        t        | _        y r<   )r   r9   r   r   r   r   r6   s    r8   r9   zRL_CorpLogoReversed.__init__   s    T"&r:   N)r   r   r   r9   r   r:   r8   r   r      s    'r:   r   c            
           e Zd ZdZ e ee       ee       ee       ee       ee       ee            Z	dZ
dZdZdZdZd Zd	 ZddZddZddZd Zy
)RL_CorpLogoThinzThe ReportLab Logo.

    New version created by John Precedo on 7-8 August 2001.
    Based on bitmapped imaged from E-Id.
    Improved by Robin Becker.)r   r   r!   r    r   r   g     V@g     a@zR e p o r t L a bHelvetica-Bold   c                     t         | _        t        | _        d| _        d| _        | j                  | _        | j                  | _	        y Nr   )
r   r   r   r   r   r   r   r!   r   r    r6   s    r8   r9   zRL_CorpLogoThin.__init__   s5    & ggWW
r:   c                 h    t        | j                  | j                        }|j                  |        |S r<   r=   r?   s     r8   rA   zRL_CorpLogoThin.demo   rB   r:   Nc                 `    t        ||| j                  | j                  | j                  |      S )N)fontNamefontSizer   )r   _text	_fontName	_fontSize)r7   r   r   colors       r8   _getTextzRL_CorpLogoThin._getText   s$    a4::chiir:   c                     | j                   }|d}|t        |      }t        ||| | j                  | j                        S r   )r   lenr   r  r  )r7   r   ltexts       r8   _swzRL_CorpLogoThin._sw   s>    zz9!a9#d)a4!9T^^DNNCCr:   c                     d|z   d|z   }}d}|dz
  |dz   }
}	||dz
  ||	||	||dz
  g||dz   ||
||z
  |
||
|z
  ||d	z   g
|dz
  |
|dz
  |
|z
  ||
|z
  gg}|D ]   }|j                  t        |||d
             " y )Ng?@gGz>T@r3   "   g     @I@   r/         r   )r   r   strokeLineJoin)r>   r   )r7   r   r   r  r   r   x1x2fLy1y2Lr  s                r8   _addPagezRL_CorpLogoThin._addPage   s    r58BB4BAbRRA.2bBrE"R2bB7U2beBrE"RU+-  	]AEE(1+5YZ[\	]r:   c           
         d}| j                   }| j                  }t        |j                  |z  |j                  |z  |j
                  |z        }t               }t               }|j                  t        ||dd| j                  | j                               | j                  dz
  | j                         z  }|j                  |d       | j                  |ddd|       | j                  |d|	       |j                  d|z  d       |j                  | j                  dd|
             |j                  | j                  dd|
             |j                  |d       |j                  dd       |j!                  dd       |j                  |       |j                  | j"                  | j                  z  | j$                  | j                  z         |j!                  | j&                  | j(                         |S )Nr0   r   )r   r   r   r   r    r!   r%   r/      r   )r   r   r   r  )r   r  )r   r   r  r3   r   &   )r   r   r   r   r   r   r   r>   r
   r   r   r	  r   r  r  r   r   r    r!   r   r   )r7   r   r   r   r   r   g2s          r8   r   zRL_CorpLogoThin.draw   s   NN	&&y}}R'	(:9>>";LMGG	dYIatww_c_f_fghggai#
AbQ!t&AbQ[9
2a
t}}q16}23
t}}q1;}78
A
2!
2	b		

477"4;;tww#67	tvvr:   )r   r   N)NN)r  Nr   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r9   rA   r  r	  r  r   r   r:   r8   r   r      s    ! ""n-^, /"M2
H 
B	B
E II
jD	]r:   r   c                   4    e Zd ZdZdddez  dez  dfdZd Zy)ReportLabLogoz:vector reportlab logo centered in a 250x by 150y rectangler   g      @g      ?c                 6    ||f| _         ||f| _        || _        y r<   )origin
dimensions
powered_by)r7   atxatyr    r!   r   s         r8   r9   zReportLabLogo.__init__   s    Cj &/$r:   c                    ddl m} |j                          | j                  \  }}| j                  \  }}t               }||c|_        |_        |j                  |j                         |||d       |j                          y )Nr   )	renderPDF)reportlab.graphicsr$  	saveStater  r  r   r    r!   r   rA   restoreState)r7   canvasr$  r!  r"  r    r!   logos           r8   r   zReportLabLogo.draw   sh    0KK	S//}"'
DKtyy{6#c!4r:   N)r   r   r   r   r   r9   r   r   r:   r8   r  r     s#    D!3t8CHQR %
r:   r  c                      e Zd ZdZ edi d ee      d ee      d ee      d ee      d ee      d ee      d ee      d	 ee      d
 ee      d ee	      d ee	      d ee
      d ee
      d ee
      d ee
      d ee
      d ee
      d ee
      d ee      d ee      Zdez  Zdez  ZdZdZd Zd Zd Zy)RL_BusinessCarda  Widget that creates a single business card.
    Uses RL_CorpLogo for the logo.

    For a black border around your card, set self.border to 1.
    To change the details on the card, over-ride the following properties:
    self.name, self.position, self.telephone, self.mobile, self.fax, self.email, self.web
    The office locations are set in self.rh_blurb_top ("London office" etc), and
    self.rh_blurb_bottom ("New York office" etc).
    r   r   altStrokeColorr   r   r!   r    r   bleed	cropMarksr   nameposition	telephonemobilefaxemailwebrh_blurb_toprh_blurb_bottomgffffff@g      !@r   z,strategic reporting solutions for e-businessc                 z   t         | _        t        | _        t        | _        d| _        d| _        | j                  | _	        | j                  | _        | j                  dz  | _        dt        z  | _        d| _        d| _        d| _        d| _        d| _        d| _        d	| _        d
| _        d| _        g d| _        y )Nr   g@皙?r/   zJoe CoolzFreelance Demonstratorz020 8545 7271-z020 8544 1311zinfo@reportlab.comzwww.reportlab.com)zLondon office:zReportLab Europe LtdzMedia Housez3 Palmerston Road	WimbledonzLondon SW19 1PGzUnited Kingdom)r   r   r   r   r   r,  r   r   r   r!   r   r    r   r   r-  r.  r   r/  r0  r1  r2  r3  r4  r5  r6  r6   s    r8   r9   zRL_BusinessCard.__init__2  s    & #ggWW
::d?r6
	.& '
$'r:   c                 h    t        | j                  | j                        }|j                  |        |S r<   r=   r?   s     r8   rA   zRL_BusinessCard.demoN  rB   r:   c                 
   | j                   }| j                  }t               }|j                  t	        dd| j                   | j                   | j
                  | j                               |j                  t	        d| j                  | j
                  z
  | j                   | j                   | j                  | j
                               t               }t               }dt        z  |_        dt        z  |_        |j                          |j                  |       |j                  |       |j                  | j                  |j                  | j                  dz  z   z
  | j                  |j                  | j                  dz  z   z
         |j                  t        | j
                  dz  | j                  |j                  | j                  dz  z   z
  d|j                  z  z   d	| j                  d
d| j                               g d}| j                  | j                   | j"                  | j$                  | j&                  g}|j)                          |j)                          t+        t-        |      dd      D ]  }|j                  t        | j
                  | j
                  dz  z   | j
                  dz  |dz
  dz  z   d| j                  dd||dz
                  |j                  t        | j
                  | j
                  dz  z   | j
                  z   | j
                  dz  |dz
  dz  z   d| j                  dd||dz
                   | j                  | j
                  z
  | j
                  dz  z
  dz   }	| j.                  }
t+        dt-        |
      dz         D ]S  }|j                  t        | j                  | j
                  dz  z
  |	|dz  z
  d| j                  dd|
|dz
                  U |j                  t        | j
                  | j
                  dz  z   |	dz
  d| j                  dd| j0                               |	dz
  }|j                  t        | j
                  | j
                  dz  z   |dz
  d| j                  dd| j2                               | j4                  r8|j                  t	        ddd t6        | j                  | j                               |j                  | j8                  | j:                         |S )Nr   )r   r   r   r   r    r!   g      ?gffffff?*   )r   r   g      @g8x?   zHelvetica-BoldObliquestart)r   r   r   r   r   
textAnchorr  )zTel:zMobile:zFax:zEmail:zWeb:r   r/   g      @   	Helveticar%   endr3   g      (@   )r   r   r   r>   r
   r   r!   r    r   r   r   r   r   r,  
_strapliner1  r2  r3  r4  r5  reverseranger  r6  r/  r0  r   r   r   r   )r7   r   r   r   r  rlleftTextleftDetailsr   ty	rightTextty1s               r8   r   zRL_BusinessCard.drawS  sb   NN	&&G	dqa&*nn(,"&"2"2#';;	0 	1
 	
dqdkk$*:*::&*nn(,"&**#'#3#3	5 	6 W=G	r6
	
r
	b	
DJJ$**R- 89KK299dkk"n#=> 	 	A 	
f))#-"&++DKKN1K"LPWY[YbYbOb!c'((,(;(;'>)0#'??4 	5 ?^^DKKDHHMs8}Qr* 	6AEE&T--t/?/?/CD!%!1!1#!51u F'((,(8(8'2)0#+AaC=2 3 EE&T--t/?/?/CDTEUEUU!%!1!1#!51u F'((,(8(8'2)0#.qs#35 6	6" kk$***D,<,<S,@A!C ##	q#i.*, 	4AEE&TZZ)9)9#)=> "QK 0'((,(8(8'2).#,QqS>3 4	4 	
f))4+;+;C+?@ "2')(,(8(8'2)0#'99. 	/ i	f))4+;+;C+?@ #A'((,(8(8'2)0#'==2 	3 ;;EE$1!(,,1&*jj'+{{	4 5
 	
tvvr:   Nr   )r   r   r   r   r   r   r   r   r   r   isStringisListOfStringsOrNoner   r   r   r   r  rF  r9   rA   r   r   r:   r8   r+  r+  
  sk     
 /
"=1
 &m4
 "	

 "
 h'
 X&
 #8,
 >*
 y)
 I&
 (#
 h'
 x(
 H%
  "!
" 8$#
$ "%
& ""78'
( %%:;)
H. 
bB	RB I?J'8
`r:   r+  )pdfepsjpggifsvgc                    t               }d|_        d|_        t        |j                  |j                        }|j	                  |       d|j
                  d<   |j                  d|        t               }d|_        d|_        t        |j                  |j                        }|j	                  |       d|j
                  d<   |j                  d|        t               }t        ddd      |_	        d|_        d|_        t        |j                  |j                        }|j	                  |       d|j
                  d<   |j                  d	|        t               }d
|_        d
|_        d|_        t        |j                  dz   |j                  dz         }|j	                  |       d|j
                  d<   |j                  d|        y)z,This function produces a pdf with examples.    r1   r/   verbosecorplogo_whiteonblue)fnRootformatscorplogo_blueonwhiter9  corplogo_grayonwhite   2   r+  N)r   r    r!   r	   r>   __dict__saver   r   r   r+  r   r   r   )r[  rI  r@   s      r8   testrb    sx    
BBHBI#AEE"IAJJyFF(F9 
	BBHBI#AEE"IAJJyFF(F9 
	Bc3'BLBHBI#AEE"IAJJyFF(F9 
	B	BD	BDBIBIIbL)AEE"IAJJyFF#GF4r:   __main__N) __version__r   reportlab.lib.unitsr   r   reportlab.lib.validatorsreportlab.lib.attrmapreportlab.lib.formattersr   reportlab.graphics.shapesr   r   r	   r
   r   r   reportlab.graphics.widgetbaser   reportlab.lib.colorsr   r   r   r   reportlab.pdfbase.pdfmetricsr   r   r   r   r  r+  rb  r   r   r:   r8   <module>rm     s    	A ( & # 5 X X 0 C C 4M& M^'+ 'Lf L\ $if iX 1 (5T ZF r:   