+
    	i                     R    R t ^ RIHtHtHt ^RIHtHt R tR t	R t
R tR tR tR	# )
zDraw simple shapes.)atan2pisqrt)	normalizepointc           	     V   V P                  VP                  R4      V4      pV'       g   R# V\        \        4      ,          pV P	                  VP                  R4      VP                  R4      V4      w  rVV P
                  P                  WS,           V4       V P
                  P                  WS,           Wd,           WT,           Wc,           WVV,           4       V P
                  P                  WT,
          Wc,           WS,
          Wd,           WS,
          V4       V P
                  P                  WS,
          Wd,
          WT,
          Wc,
          WVV,
          4       V P
                  P                  WT,           Wc,
          WS,           Wd,
          WS,           V4       V P
                  P                  4        R# )zDraw circle tag.rNcxcy)	lengthgetr   r   r   streammove_tocurve_toclose)svgnode	font_sizer   ratior	   r
   s   &&&    [/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/weasyprint/svg/shapes.pycircler      s   

488C=),ARLEYYtxx~txx~yAFBJJrvr"JJ
BJFKJJ
BFBFBJKJJ
BJFKJJ
BFBFBJKJJ    c           	        V P                  VP                  R4      VP                  R4      V4      w  r4V'       d	   V'       g   R# V\        \        4      ,          pV\        \        4      ,          pV P                  VP                  R4      VP                  R4      V4      w  rxV P                  P                  Ws,           V4       V P                  P                  Ws,           W,           Wu,           W,           WxV,           4       V P                  P                  Wu,
          W,           Ws,
          W,           Ws,
          V4       V P                  P                  Ws,
          W,
          Wu,
          W,
          WxV,
          4       V P                  P                  Wu,           W,
          Ws,           W,
          Ws,           V4       V P                  P                  4        R# )zDraw ellipse tag.rxryNr	   r
   )r   r   r   r   r   r   r   r   )	r   r   r   r   r   ratio_xratio_yr	   r
   s	   &&&      r   ellipser      s:   YYtxx~txx~yAFBR48mG48mGYYtxx~txx~yAFBJJrw#JJ
r|RWbr'CJJ
bgrwbgrCJJ
r|RWbr'CJJ
bgrwbgrCJJr   c           	        V P                  VP                  R4      VP                  R4      V4      w  r4V^ 8:  g   V^ 8:  d   R# V P                  VP                  R4      VP                  R4      V4      w  rVVP                  R4      pVP                  R4      pV'       d   Vf   TpMV'       d   Vf   TpV P                  WxV4      w  rxV^ 8X  g   V^ 8X  d   V P                  P                  WVW44       R# Ws^,          8  d
   V^,          pW^,          8  d
   V^,          pRp	W,          W,          rV P                  P	                  WW,           V4       V P                  P                  WS,           V,
          V4       V P                  P                  WS,           V,
          V
,           WeV,           Wk,           WS,           Wh,           4       V P                  P                  WS,           Wd,           V,
          4       V P                  P                  WS,           Wd,           V,
          V,           WS,           V
,           V,
          Wd,           WS,           V,
          Wd,           4       V P                  P                  WW,           Wd,           4       V P                  P                  WW,           V
,
          Wd,           WVV,           V,
          WVV,           V,
          4       V P                  P                  WVV,           4       V P                  P                  WVV,           V,
          WW,           V
,
          WeV,           V4       V P                  P                  4        R# )	zDraw rect tag.widthheightNxyr   r   g#JSQ?)r   r   r   	rectangler   line_tor   r   )r   r   r   r   r    r!   r"   r   r   arc_to_bezierc1c2s   &&&         r   rectr(   -   s[   IIdhhw/(1CYOMEzVq[99TXXc]DHHSM9=DA	$B	$B	bj	
YYry)FB	Qw"'

Q51	AI~QY	QJaZ *M!3JJqvq!JJqy2~q)JJ		BQE	1619afFJJqy!*r/2JJ		1:?R'R")<aj		B
$ JJqvqz*JJ	QZJOQF
RIJJqb&!JJr6B;QBBJJr   c                   V P                  VP                  R4      VP                  R4      V4      w  r4V P                  VP                  R4      VP                  R4      V4      w  rVV P                  P                  W44       V P                  P	                  WV4       \        Wd,
          WS,
          4      pW43\        V,
          V3WV3.Vn        R# )zDraw line tag.x1y1x2y2N)r   r   r   r   r$   r   r   vertices)r   r   r   r*   r+   r,   r-   angles   &&&     r   liner0   [   s    YYtxx~txx~yAFBYYtxx~txx~yAFBJJrJJr"'27#EXU
E2RH=DMr   c                R    \        WV4       V P                  P                  4        R# )zDraw polygon tag.N)polyliner   r   )r   r   r   s   &&&r   polygonr3   e   s    S	"JJr   c                   \        VP                  R4      4      pV'       d   \        WV4      w  rEpV P                  P	                  WE4       WE3.Vn        V'       d   YErv\        WV4      w  rEp\        WF,
          WW,
          4      pVP
                  P                  \        V,
          V34       V P                  P                  WE4       VP
                  P                  WE34       K  R# R# )zDraw polyline tag.pointsN)
r   r   r   r   r   r.   r   appendr   r$   )	r   r   r   r5   r!   r"   x_oldy_oldr/   s	   &&&      r   r2   r2   k   s    txx)*FS)4f

1 5 i8LA&!)QY/EMM  "u*e!45JJq$MM  !( 	 r   N)__doc__mathr   r   r   utilsr   r   r   r   r(   r0   r3   r2    r   r   <module>r=      s0         # *+\>)r   