Ë
    £ëi¥v  ã                   ó²   — d Z ddl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mZ ddlmZ dd	lmZmZ d
Zd„ Zd„ Zd„ Zd„ Z	 dd„Zd„ Zd„ Zdd„Zd„ Zd„ Zy)zDraw borders.é    )ÚceilÚcosÚfloorÚpiÚsinÚsqrtÚtané   )Úboxes)Úreplaced)Ú
percentage)ÚMatrixé   )Ú	get_colorÚstyled_color)ÚtopÚrightÚbottomÚleftc           
      ó”  — |j                   d   d   dk(  s|j                  €y|j                  «       \  }}}}}}}}	t        ||¬«      }
|
| j                  z  }
| j                  |||||j                   d   «      }t        |||j                  |j                   d   |j                   d   |j                   d	   |j                   d
   «       y)z5Set ``box`` mask border as alpha state on ``stream``.Úmask_border_sourcer   ÚnoneN©ÚeÚfÚmask_border_modeÚmask_border_sliceÚmask_border_repeatÚmask_border_outsetÚmask_border_width)ÚstyleÚmask_border_imageÚrounded_border_boxr   ÚctmÚset_alpha_stateÚdraw_border_image)ÚstreamÚboxÚxÚyÚwÚhÚtlÚtrÚbrÚblÚmatrixÚmask_streams               úV/var/www/html/chat/reports/venv/lib/python3.12/site-packages/weasyprint/draw/border.pyÚset_mask_borderr4      sÉ   € à
‡y�yÐ%Ñ& qÑ)¨VÒ3°s×7LÑ7LÐ7TØØ!$×!7Ñ!7Ó!9Ñ€A€qˆ!ˆQ��B˜˜BÜ�a˜1Ô€FØ
ˆf�j‰jÑ€FØ×(Ñ(¨¨A¨q°!°S·Y±YÐ?QÑ5RÓS€KÜØˆ[˜#×/Ñ/°·±Ð;NÑ1OØ�	‰	Ð&Ñ'¨¯©Ð3GÑ)HØ�	‰	Ð%Ñ&õ(ó    c           
      ó¨  — ddd|j                   d   f}d}|j                  D �]   }|j                   d   dk(  rd}Œ|rd}Œ| j                  «       5  |j                   d   }|j                   d   }|j                   d   d	k(  r|j                   d
   }n.t        |j                   d   |j                   |j                  «      }|j
                  |j                   d   |z   dz  z
  }||j                  ||j                  f}	t        | ||d|	|«       t        |t        |j                   d«      d«      }
t        | |	|||
«       ddd«       �Œ# y# 1 sw Y   �Œ/xY w)z1Draw the column rules to a ``pdf.stream.Stream``.r   Úcolumn_rule_widthTÚcolumn_spanÚallFÚcolumn_rule_styleÚ
column_gapÚnormalÚ	font_sizer
   r   Úcolumn_rule_colorN)r!   ÚchildrenÚstackedr   ÚwidthÚ
position_xÚ
position_yÚheightÚclip_border_segmentr   r   Údraw_rect_border)r'   r(   Úborder_widthsÚ	skip_nextÚchildÚ
rule_widthÚ
rule_styleÚgaprB   Ú
border_boxÚcolors              r3   Údraw_column_rulesrO      s`  € à˜˜1˜cŸi™iÐ(;Ñ<Ð=€MØ€IØ—‘ó SˆØ�;‰;�}Ñ%¨Ò.ØˆIØÙØˆIØØ�^‰^Óñ 	SØŸ™Ð#6Ñ7ˆJØŸ™Ð#6Ñ7ˆJØ�y‰y˜Ñ&¨(Ò2Ø—i‘i Ñ,‘ä  §¡¨<Ñ!8¸#¿)¹)ÀSÇYÁYÓO�à× Ñ  C§I¡IÐ.AÑ$BÀSÑ$HÈAÑ#MÑMð à# U×%5Ñ%5°zÀ5Ç<Á<ÐOˆJÜØ˜
 J°¸
ÀMôSä ØœI c§i¡iÐ1DÓEÀvóOˆEä˜V Z°À
ÈEÔR÷	Sñ 	SñS÷	Sñ 	Sús   ÁC+EÅE	c                 ó*  — |j                   d   dk7  ryt        |t        j                  «      xr& |j                   d   dk7  xs |j                   d   dk7  }|r4|j                   d   r%| j	                  «       5  t        | |«       ddd«       |j                   d   d	   d
k7  ru|j                  �i| j	                  «       5  t        || |j                  |j                   d   |j                   d   |j                   d   |j                   d   «       ddd«       yt        D �cg c]  }t        |d|› d�«      ‘Œ }}t        |«      d	hk(  ryt        D �cg c]  }t        |j                   d|› d�«      ‘Œ }}t        t        «      D ��cg c])  \  }}||   j                  xr |j                   d|› d�   ‘Œ+ }}}t        |«      dhdhfv }t        t        |«      «      dk(  }	d	|v}
|r2|	r0|
r.| j	                  «       5  t        | ||d	   |d	   «       ddd«       yt!        t#        t        |||«      «      }dD ]’  }||   \  }}}}|d	k(  s|sŒ| j	                  «       5  | j%                  «       5  t'        | ||||j)                  «       dd ||j)                  «       dd «       t        | ||t+        |||«      «       ddd«       ddd«       Œ” y# 1 sw Y   �ŒFxY w# 1 sw Y   yxY wc c}w c c}w c c}}w # 1 sw Y   yxY w# 1 sw Y   ŒIxY w# 1 sw Y   ŒàxY w)zADraw the box borders and column rules to a ``pdf.stream.Stream``.Ú
visibilityÚvisibleNÚcolumn_widthÚautoÚcolumn_countr7   Úborder_image_sourcer   r   Úborder_image_sliceÚborder_image_repeatÚborder_image_outsetÚborder_image_widthÚborder_Ú_widthÚ_colorÚ_styleÚsolidÚdoubler   )r
   é   r   r   é   )r!   Ú
isinstancer   ÚBlockContainerBoxÚartifactrO   Úborder_imager&   ÚSIDESÚgetattrÚsetr   Ú	enumerateÚalphaÚlenÚdraw_rounded_borderÚtupleÚzipr@   rE   r#   r   )r'   r(   ÚcolumnsÚsideÚwidthsÚcolorsÚiÚstylesÚsimple_styleÚsingle_colorÚ
four_sidesÚvaluesÚindexrA   rN   r!   s                   r3   Údraw_borderr{   8   s.  € ð ‡y�y�Ñ )Ò+Øô 	�3œ×/Ñ/Ó0ò 	1Ø�I‰I�nÑ%¨Ñ/ò 0Ø�I‰I�nÑ%¨Ñ/ð ñ �3—9‘9Ð0Ò1Ø�_‰_Óñ 	+Ü˜f cÔ*÷	+ð ‡y�yÐ&Ñ'¨Ñ*¨fÒ4¸×9IÑ9IÐ9UØ�_‰_Óñ 	1ÜØ�V˜S×-Ñ-¨s¯y©yÐ9MÑ/NØ—	‘	Ð/Ñ0°#·)±)Ð<QÑ2RØ—	‘	Ð.Ñ/ô1÷	1ð
 	ä?DÖE°tŒg�c˜W T F¨&Ð1Õ2ÐE€FÐEä
ˆ6ƒ{�q�cÒàäGLÖM¸tŒi˜Ÿ	™	 W¨T¨F°&Ð#9Õ:ÐM€FÐMô #¤5Ó)÷+áˆQ�ð 	ˆq‰	�‰Ò=˜CŸI™I¨°¨v°VÐ&<Ñ=Ñ=ð+€Fñ +ô �v“; G 9¨x¨jÐ"9Ð9€LÜ”s˜6“{Ó# qÑ(€LØ˜&�€JÙ™©à�_‰_Óñ 	CÜ ¨¨V°A©Y¸¸q¹	ÔB÷	Càô
 ”3”u˜f f¨fÓ5Ó6€FØò VˆØ$*¨5¡MÑ!ˆˆe�U˜EØ�AŠ:™UØØ�_‰_Óñ 	V §¡Ó 0ñ 	VÜØ˜˜u d¨C×,BÑ,BÓ,DÀRÀaÐ,HØ˜×.Ñ.Ó0°°Ð4ô6ô   ¨¨U´LÀÈÈtÓ4TÔU÷		V÷ 	Vð 	Vñ	V÷I	+ñ 	+ú÷
	1ð
 	üâEùò Nùó+÷	Càú÷	Vð 	Vú÷ 	Vð 	Vús\   Á7KÂ=AKÄK!Å!K&Æ.K+Ç7K1ÉL	É(AK=Ê5L	ËKËKË1K:Ë=LÌL	Ì	L	c                 óÆ  ‡ ‡‡‡4‡5— ‰j                  ‰ j                  d   ‰ j                  d   «      \  }}}	t        j                  |||	dd‰ j	                  «       ‰ j                  «       ¬«      \  Š5Š4|dd }
|d   }d„ } ||
d   ‰4«      } ||
d   ‰5«      } ||
d	   ‰4«      } ||
d
   ‰5«      }|\  }}‰ j                  «       \  }}}}}}}}‰ j                  «       \  }}}}}} }!}"||z
  }#||z
  }$||z
  |#z
  }%||z
  |$z
  }&d„ }' |'|d   |$«      }( |'|d   |%«      }) |'|d	   |&«      }* |'|d
   |#«      }+||+z  }||(z  }||+|)z   z  }||(|*z   z  }d„ }, |,|d   |$||«      }$ |,|d   |%||«      }% |,|d	   |&||«      }& |,|d
   |#||«      }#	 	 dˆ ˆˆ4ˆ5ˆfd„	}- |-|||#|$dd||«      \  }.}/ |-||z   |%z
  ||%|$‰5|z
  d||«        |-||z   |%z
  ||z   |&z
  |%|&‰5|z
  ‰4|z
  ||«      \  }0}1 |-|||z   |&z
  |#|&d‰4|z
  ||«       ||z   ‰5k  x}2rI |-||#z   |||#z
  |%z
  |$|d‰5|z
  |z
  ||¬«	        |-||#z   ||z   |&z
  ||#z
  |%z
  |&|‰4|z
  ‰5|z
  |z
  ||¬«	       ||z   ‰4k  x}3rI |-||z   |%z
  ||$z   |%||$z
  |&z
  ‰5|z
  ||‰4|z
  |z
  |¬«	        |-|||$z   |#||$z
  |&z
  d||‰4|z
  |z
  |¬«	       |rA|2r>|3r; |-||#z   ||$z   ||#z
  |%z
  ||$z
  |&z
  ||‰5|z
  |z
  ‰4|z
  |z
  |||.xs |0|/xs |1¬«       yyyy)zHDraw ``image`` as a border image for ``box`` on ``stream`` as specified.Úimage_resolutionr=   N)Úspecified_widthÚspecified_heightÚdefault_widthÚdefault_heightrb   c                 ó    — t        | t        t        f«      rt        | |«      S | j                  dk(  sJ ‚t        d| j
                  «      dz  |z  S )Nú%éd   )rc   ÚintÚfloatÚminÚunitÚvalue)Ú	dimensionÚ	intrinsics     r3   Úcompute_slice_dimensionz2draw_border_image.<locals>.compute_slice_dimension�   sJ   € Ü�i¤#¤u Ô.Ü�y )Ó,Ð,à—>‘> SÒ(Ð(Ð(Ü�s˜IŸO™OÓ,¨sÑ2°YÑ>Ð>r5   r   r   r
   ra   c                 ór   — | j                   €| j                  |z  S | j                   dk(  sJ ‚| j                  S )NÚpx)rˆ   r‰   )rŠ   Úfrom_borders     r3   Úcompute_outset_dimensionz3draw_border_image.<locals>.compute_outset_dimension–   s7   € Ø�>‰>Ð!Ø—?‘? [Ñ0Ð0à—>‘> TÒ)Ð)Ð)Ø—?‘?Ð"r5   c                 óÂ   — | dk(  r|S t        | t        t        f«      r| |z  S | j                  dk(  r| j                  dz  |z  S | j                  dk(  sJ ‚| j                  S )NrT   rƒ   r„   rŽ   )rc   r…   r†   rˆ   r‰   )rŠ   Úoriginalr‹   Úarea_dimensions       r3   Úcompute_width_adjustmentz3draw_border_image.<locals>.compute_width_adjustment§   se   € à˜ÒØÐÜ˜	¤C¬ <Ô0Ø˜xÑ'Ð'Ø�^‰^˜sÒ"Ø—?‘? SÑ(¨>Ñ9Ð9à—>‘> TÒ)Ð)Ð)Ø—?‘?Ð"r5   c           
      ó  •— d‰||fv rd}
n~d}|
s|r|r||z  nd}
|dk(  rt        ||z  |
z  «      }nX|dk(  r#t        ||z  |
z  «      }||
z  ||z  z
  |dz   z  }n0|dk(  r$t        dt        ||z  |
z  «      «      }|||z  z  }
nd}||z  }
d‰||fv rd}n~d}|s|r|r||z  nd}|	dk(  rt        ||z  |z  «      }nX|	dk(  r#t        ||z  |z  «      }||z  ||z  z
  |dz   z  }n0|	dk(  r$t        dt        ||z  |z  «      «      }|||z  z  }nd}||z  }d|
|fv r|
|fS ‰|
z  }‰|z  }||z  ‰z  }||z  ‰z  }‰j	                  «       5  ‰j                  | |||«       ‰j                  «        ‰j                  «        ‰j                  | |z
  z   ||z
  z   ¬«       ‰j                  |
|¬«       t        «      D ]¦  }t        «      D ]–  }‰j	                  «       5  |||z   z  }|||z   z  }‰j                  ||¬«       ‰j                  ||
z  ||z  ||«       ‰j                  «        ‰j                  «        ‰j                  ‰‰‰‰j                  «       d d d «       Œ˜ Œ¨ 	 d d d «       |
|fS # 1 sw Y   Œ±xY w# 1 sw Y   |
|fS xY w)Nr   r   ÚrepeatÚspaceÚroundr   )ÚaÚd)r   r   Úmaxr˜   r@   Ú	rectangleÚclipÚendÚ	transformÚrangeÚdrawr!   )r)   r*   rA   rD   Úslice_xÚslice_yÚslice_widthÚslice_heightÚrepeat_xÚrepeat_yÚscale_xÚscale_yÚextra_dxÚn_repeats_xÚextra_dyÚn_repeats_yÚrendered_widthÚrendered_heightÚoffset_xÚoffset_yrt   ÚjÚtranslate_xÚtranslate_yr(   ÚimageÚintrinsic_heightÚintrinsic_widthr'   s                           €€€€€r3   Údraw_border_image_regionz3draw_border_image.<locals>.draw_border_image_regionÁ   sI  ø€ ð � %¨Ð5Ñ5Ø‰GàˆHÙÙ5;Á˜6 LÒ0ÐRS�Ø˜8Ò#Ü" 5¨;Ñ#6¸Ñ#@ÓA‘Ø˜WÒ$Ü# E¨KÑ$7¸'Ñ$AÓB�ð ˜W‘_ {°[Ñ'@Ñ@À[ÐSTÁ_ÑUñ à˜WÒ$Ü! !¤U¨5°;Ñ+>ÀÑ+HÓ%IÓJ�Ø ;°Ñ#<Ñ=‘à�Ø +Ñ-�àÐ! 6¨<Ð8Ñ8Ø‰GàˆHÙÙ38¹[˜5 ;Ò.Èa�Ø˜8Ò#Ü" 6¨LÑ#8¸7Ñ#BÓC‘Ø˜WÒ$Ü# F¨\Ñ$9¸GÑ$CÓD�ð ˜gÑ%¨°lÑ(BÑBÀ{ÐUVÁÑWñ à˜WÒ$Ü! !¤U¨6°LÑ+@À7Ñ+JÓ%KÓL�Ø  K°,Ñ$>Ñ?‘à�Ø  <Ñ/�à�˜'Ð"Ñ"Ø˜GÐ#Ð#à(¨7Ñ2ˆØ*¨WÑ4ˆØ! GÑ+¨oÑ=ˆØ" WÑ,Ð/?Ñ?ˆà�^‰^Óñ 	YØ×Ñ˜Q  5¨&Ô1Ø�K‰KŒMØ�J‰JŒLØ×Ñ˜q 8™|¨hÑ6¸!¸h¹,ÈÑ:QÐÔRØ×Ñ˜w¨'ÐÔ2Ü˜;Ó'ò Y�Ü˜{Ó+ò 
Y�AØŸ™Ó)ñ 	YØ&'¨;¸Ñ+AÑ&B˜Ø&'¨<¸(Ñ+BÑ&C˜Ø×(Ñ(¨;¸+Ð(ÔFØ×(Ñ(Ø$ wÑ.°¸7Ñ0BØ'¨ô7ð Ÿ™œØŸ
™
œØŸ
™
 6¨?Ð<LÈcÏiÉiÔX÷	Yð 	Yñ
YñY÷	Yð& ˜ÐÐ÷	Yð 	Yú÷	Yð& ˜ÐÐús&   ÅBI:ÇA<I.	ÉI:É.I7É3I:É:J)r¦   )r§   )r¦   r§   r¨   r©   )Ústretchr¹   NN)Úget_intrinsic_sizer!   r   Údefault_image_sizingÚborder_widthÚborder_heightr#   Úrounded_padding_box)6r(   r'   rµ   Úborder_sliceÚborder_repeatÚborder_outsetr¼   rA   rD   ÚratioÚimage_sliceÚshould_fillrŒ   Ú	slice_topÚslice_rightÚslice_bottomÚ
slice_leftr¦   r§   r)   r*   r+   r,   r-   r.   r/   r0   rŽ   ÚpyÚpwÚphÚptlÚptrÚpbrÚpblÚborder_leftÚ
border_topÚborder_rightÚborder_bottomr�   Ú
outset_topÚoutset_rightÚoutset_bottomÚoutset_leftr”   r¸   Ú
scale_leftÚ	scale_topÚscale_rightÚscale_bottomÚx_middleÚy_middler¶   r·   s6   ```                                                 @@r3   r&   r&   t   s‹  ü€ ð !×3Ñ3Ø�	‰	Ð$Ñ% s§y¡y°Ñ'=ó?Ñ€Eˆ6�5ä(0×(EÑ(EØˆv�u¨dÀTØ×&Ñ&Ó(¸×9JÑ9JÓ9Lô)NÑ%€OÐ%ð ˜r Ð"€KØ˜q‘/€Kò?ñ (¨°A©Ð8HÓI€IÙ)¨+°a©.¸/ÓJ€KÙ*¨;°q©>Ð;KÓL€LÙ(¨°Q©¸ÓI€Jà&Ñ€Hˆhà!$×!7Ñ!7Ó!9Ñ€A€qˆ!ˆQ��B˜˜BØ),×)@Ñ)@Ó)BÑ&€BˆˆB��C˜˜c 3Ø�q‘&€KØ�a‘€JØ�r‘6˜KÑ'€LØ˜‘F˜ZÑ'€Mò#ñ *¨-¸Ñ*:¸JÓG€JÙ+¨M¸!Ñ,<¸lÓK€LÙ,¨]¸1Ñ-=¸}ÓM€MÙ*¨=¸Ñ+;¸[ÓI€KàˆÑ€AØˆ�O€AØˆ�|Ñ	#Ñ#€AØˆ�mÑ	#Ñ#€Aò
#ñ" *Ø�Q‰˜ Y°ó3€Já+Ø�Q‰˜ {°Aó7€Lá,Ø�Q‰˜¨°aó9€Má*Ø�Q‰˜ j°!ó5€Kð MVØ7;÷H ñ H ñV 5Ø	ˆ1ˆk˜: q¨!¨Z¸óDÑ€J�	ñ Ø	ˆA‰�Ñ˜a ¨zØ˜+Ñ% q¨+°yôBñ !9Ø	ˆA‰�Ñ˜a !™e mÑ3°\À=Ø˜+Ñ%Ð'7¸,Ñ'FØ�\ó!#Ñ€K�ñ
 Ø	ˆ1ˆq‰5�=Ñ  +¨}Ø	Ð˜lÑ*¨J¸ôFð  Ñ+¨oÑ=Ð=€xÐ=á Ø�‰O˜Q  K¡°,Ñ >À
Ø˜˜?¨ZÑ7¸+ÑEØ õ	*ñ
 	!Ø�‰O˜Q ™U ]Ñ2Ø�‰O˜lÑ*¨MØÐ(¨<Ñ7Ø˜jÑ(¨;Ñ6¸Øõ	ð ˜|Ñ+Ð.>Ñ>Ð>€xÐ>á Ø�‰E�LÑ  ! j¡.Ø˜!˜j™.¨=Ñ8Ø˜kÑ)¨9ØÐ)¨IÑ5¸ÑDØõ	ñ 	!Øˆq�:‰~˜{¨A°
©N¸]Ñ,JØˆy˜*Ø˜yÑ(¨<Ñ7Øõ		ñ
 ‘x¡Há Ø�‰O˜Q ™^¨Q°©_¸|Ñ-KØ�
‰N˜]Ñ*¨J¸	Ø˜jÑ(¨;Ñ6Ø˜yÑ(¨<Ñ7Ø¨ØÒ- +°yÒ7PÀLö	Rð %-�x€{r5   Nc           
      ó–	  ‡ ‡‡‡;‡<‡=‡>— |\  }}}	}
|xs d\  \  }}\  }}\  }}\  }}|xs d|fz  \  }}}}d„ }d„ }dˆ ˆfd„	Š=‰dk(  r- |||||«      \  \  }}} || || |«      \  \  }}}|}d}dŠ;|Š>n£‰d	k(  r4 || || |«      \  \  }}} || | | | «      \  \  }}}|}d}d
Š;||	z   Š>nj‰dk(  r4 ||| || «      \  \  }}} || | | | «      \  \  }}}|}d}dŠ;||
z   Š>n1‰dk(  r, |||||«      \  \  }}} ||| || «      \  \  }}}|}d}dŠ;|Š>‰dv rŒ|d
z  z
  z  |d
z  z
  }!}  |d
z  z
  |z  |d
z  z
  }#}"|	|z
  |z   }$|	}%‰ j                  ||	z   ‰>«       ‰ j                  |‰>«       ‰ j                  ||z   ‰>|z   «       ‰ j                  ||	z   |z   ‰>|z   «       n‘‰dv r� z  |d
z  z
  |d
z  z
  }!} | z  |d
z  z
   |d
z  z
  }#}"|
|z
  |z   }$|
}%‰ j                  ‰>||
z   «       ‰ j                  ‰>|«       ‰ j                  ‰>|z   ||z   «       ‰ j                  ‰>|z   ||
z   |z   «       ‰dv �rk‰dk(  r|nd|z  Š<‰ j                  d¬«       ‰ j                  «        s�rT | !«      }& |"#«      }'$|&z   |'z   }%t	        |%‰<z  «      }(|rr|%|(|(d
z  z   z  Š<n|%|(|(d
z  z   dz
  z  Š<t        |&‰<d
z  z
  ‰<z  «      })t        |'‰<d
z  z
  ‰<z  «      }*t        |$‰<z  «      }+ˆ;ˆ<ˆ=ˆ>ˆˆ ˆfd„}, |,|)|+|||&«      \  }+}- |,|*|+| ||	z   ||
z   |'«      d   }+|$dkD  �r€t        d|+d
«      D ]‹  }.|.|-z  }.‰dv r+||z   |.‰<z  z   }/||z   |.dz   ‰<z  z   }0‰>|dk  r|ndz
  }1|1|z   }2n.‰dv r*||z   |.‰<z  z   }1||z   |.dz   ‰<z  z   }2‰>|dkD  r|ndz
  }/|/|z   }0 ‰=/0|/z
  d
z  z   12|1z
  d
z  z   |0|/z
  |2|1z
  |d
z  «       Œ� nät        %‰<z  d
z  «      }3|3dz   }4‰dk(  r|Š<|3r|%|4‰<z  z
  |3z  }5nd}5n‰dk(  r|%|3|4z   z  xs dx}5Š<t        |4dz   «      D ]’  }.|.5‰<z   z  }6‰dk(  r||6z   ‰<d
z  z   ||d
z  z   }8}7‰<|}:}9n\‰d	k(  r||	z   |d
z  z
  ||6z   ‰<d
z  z   }8}7|‰<}:}9n<‰dk(  r||6z   ‰<d
z  z   ||
z   |d
z  z
  }8}7‰<|}:}9n‰dk(  r||d
z  z   ||6z   ‰<d
z  z   }8}7|‰<}:}9 ‰=789:‰<d
z  «       Œ” ‰ j                  d¬«       ‰ j                  «        y)z�Clip one segment of box border.

    The strategy is to remove the zones not needed because of the style or the
    side before painting.

    )©r   r   rß   rß   rß   rb   c                 óv   — t        | «      t        |«      kD  rt        |«      t        |«      kD  r| |fdfS ||fdfS )a  Get the point use for border transition.

        The extra boolean returned is ``True`` if the point is in the padding
        box (ie. the padding box is rounded).

        This point is not specified. We must be sure to be inside the rounded
        padding box, and in the zone defined in the "transition zone" allowed
        by the specification. We chose the corner of the transition zone. It's
        easy to get and gives quite good results, but it seems to be different
        from what other browsers do.

        TF)Úabs)Úx1Úy1Úx2Úy2s       r3   Útransition_pointz-clip_border_segment.<locals>.transition_pointM  sD   € ô !$ B£¬#¨b«'Ò 1´c¸"³gÄÀBÃÒ6Gˆb�"ˆX�tÐð	$à�r�(˜EÐ"ð	$r5   c           
      ó~   — | |z
  | |z   z  }t         dz  | |z   z  dd|dz  z  dt        dd|dz  z  z
  «      z   z  z   z  S )a7  Return the length of the half of one ellipsis corner.

        Inspired by [Ramanujan, S., "Modular Equations and Approximations to
        pi" Quart. J. Pure. Appl. Math., vol. 45 (1913-1914), pp. 350-372],
        wonderfully explained by Dr Rob.

        https://mathforum.org/dr.math/faq/formulas/

        é   r   ra   r
   é
   rb   )r   r   )r™   Úbr)   s      r3   Úcorner_half_lengthz/clip_border_segment.<locals>.corner_half_length^  s[   € ð �‰U�q˜1‘uÑˆÜ�A‰v˜˜Q™ÑØ��A˜‘F‘
˜b¤4¨¨A°°Q±©J©Ó#7Ñ7Ñ8Ñ8ñ:ð 	:r5   r   c           	      óô  •— ‰dk(  rÌ|t        t        «      z  }‰j                  | |z   |«       ‰j                  | |z   ||z   | |z   ||z   | ||z   «       ‰j                  | |z
  ||z   | |z
  ||z   | |z
  |«       ‰j                  | |z
  ||z
  | |z
  ||z
  | ||z
  «       ‰j                  | |z   ||z
  | |z   ||z
  | |z   |«       ‰j	                  «        y‰dk(  r!‰j                  | |dz  z
  ||dz  z
  ||«       yy)z-Draw a single dash or dot centered on cx, cy.ÚdottedÚdashedr
   N)r   r   Úmove_toÚcurve_toÚcloserœ   )ÚcxÚcyrA   rD   ÚrrÂ   r'   r!   s         €€r3   Ú	draw_dashz&clip_border_segment.<locals>.draw_dashl  s  ø€ à�HÒØœœR›‘LˆEØ�N‰N˜2 ™6 2Ô&Ø�O‰O˜B ™F B¨¡J°°U±
¸BÀ¹FÀBÈÈQÉÔOØ�O‰O˜B ™J¨¨Q©°°Q±¸¸U¹
ÀBÈÁFÈBÔOØ�O‰O˜B ™F B¨¡J°°U±
¸BÀ¹FÀBÈÈQÉÔOØ�O‰O˜B ™J¨¨Q©°°Q±¸¸U¹
ÀBÈÁFÈBÔOØ�L‰L�NØ�hÒØ×Ñ˜R %¨!¡)™^¨R°&¸1±*©_¸eÀVÕLð r5   r   r   r   r
   r   éÿÿÿÿra   r   ©r   r   ©r   r   )rí   rî   rí   T©Úeven_oddç      à?c           	      óV  •— ‰dk(  ræ| dk(  r|dz   dfS | dk(  r|dz   dfS t        d| d«      D ]€  }d‰z  |z
  ||z  ‰z  |z  z   dz  t        z  }	‰dv r|n‰}
‰d	v r|n‰} ‰|
|z   t        |«      ‰dz  z
  t        |	«      z  z
  ||z   t        |«      ‰dz  z
  t	        |	«      z  z
  ‰dz  ¬
«       Œ‚ d‰z  |z
  dz   |z  ‰z  |z  z   dz  t        z  }|t        z  dz  ‰z
  }| dz  r|dz  }||fS | dk(  r|dz   dfS t        d| d«      D �]…  }|dz  }d‰z  |z
  ||z  ‰z  |z  z   dz  t        z  } |dkD  rt
        nt        d‰z  |z
  |dz   |z  ‰z  |z  z   dz  t        z  ‰t        z  dz  «      }‰dv rm‰j                  ||z   ‰|z   «       ‰j                  ||z   ||z  dz  t        |«      z  z
  ‰«       ‰j                  ||z   ||z  dz  t        |«      z  z
  ‰«       nj‰d	v rf‰j                  ‰|z   ||z   «       ‰j                  ‰||z   ||z  t        |«      z  z   «       ‰j                  ‰||z   ||z  t        |«      z  z   «       |‰t        z  dz  k(  s�ŒT||z
  d‰z  |z
  |dz   |z  ‰z  |z  z   dz  t        z  |z
  z  }|dz  } ||fS  d‰t        z  dz  z
  |z
  z  z
  }||fS )Nrí   r   r   rö   g      à¿r
   rb   r÷   rø   )rô   gUUUUUUÕ¿rû   )
r    r   rá   r   r   r‡   r›   rï   Úline_tor	   )ÚdashesÚlineÚwayr)   r*   rŽ   rÉ   Úchlrt   r™   rò   ró   Únext_aÚoffsetÚangle1Úangle2ÚangleÚdashrõ   Úmain_offsetrq   r'   r!   s                   €€€€€€€r3   Údraw_dashesz(clip_border_segment.<locals>.draw_dashes½  sŽ  ø€ Ø˜HÒ$Ø ’{Ø# a™x¨˜|Ð+Ø 1šØ# a™x¨˜~Ð-ä" 1 f¨aÓ0ò *˜Ø %™i¨#™o°°S±¸4±À#Ñ1EÑEÈÑJÌRÑO˜Ø"&Ð*;Ñ";™QÀ˜Ø"&Ð*;Ñ";™QÀ˜Ù!Ø ™G¤s¨2£w°¸±Ñ'9¼SÀ»VÑ&CÑCØ ™G¤s¨2£w°¸±Ñ'9¼SÀ»VÑ&CÑCØ# a™xö*ð	*ð  ! 5™y¨3™°1°q±5¸C±-À$Ñ2FÈÑ2LÑLÐPQÑQÔTVÑV�FØ#¤b™[¨1™_¨uÑ4�FØ ’zØ ™	˜Ø ˜<Ð'à˜Q’;Ø !™8 T˜>Ð)ä˜q &¨!Ó,ó G�AØ˜‘H�Aà˜e™) c™/¨Q°©W°t©^¸cÑ-AÑAØñÜñð ð 6 S¨1¢W�c´#Ø˜e™) c™/¨a°!©e°s©]¸TÑ-AÀCÑ-GÑGØñÜñà¤™
 Q™ó(�Fð Ð0Ñ0ØŸ™ q¨2¡v¨{¸RÑ/?Ô@ØŸ™Ø ™F S¨2¡X°¡\´C¸³KÑ%?Ñ?ÀôNàŸ™Ø ™F S¨2¡X°¡\´C¸³KÑ%?Ñ?ÀõNàÐ!2Ñ2ØŸ™ {°RÑ'7¸¸R¹Ô@ØŸ™Ø'¨¨R©°#¸±(¼SÀ»[Ñ2HÑ)HôJàŸ™Ø'¨¨R©°#¸±(¼SÀ»[Ñ2HÑ)HôJà ¬¡¨a¡Ô/Ø"(¨6¡/Ø %™i¨#™o°!°a±%¸3±ÀÑ1EÈÑ1KÑKØñÜ "ñ#Ø&,ñ7-ñ ".˜ð  ™	˜Øð ˜V�|Ð#ð=Gð8 Ø¤™ a™¨&Ñ0°V¸f±_ÑEñG�Fà˜V�|Ð#r5   g�íµ ÷Æ°>rî   N)r   r   r   )rï   rý   r�   rž   r˜   r   r   r    )?r'   r!   rA   rq   rM   rG   ÚradiiÚbbxÚbbyÚbbwÚbbhÚtlhÚtlvÚtrhÚtrvÚbrhÚbrvÚblhÚblvÚbtr/   Úbbr0   ræ   rë   Úpx1Úpy1Úrounded1Úpx2Úpy2Úrounded2r   Úa1Úb1Úa2Úb2Úline_lengthÚlengthÚchl1Úchl2Údash_lengthÚdashes1Údashes2rÿ   r	  r  rt   râ   rä   rã   rå   Únumber_of_spacesÚnumber_of_dashesr—   Úadvancerò   ró   Ú
dash_widthÚdash_heightr  r  rõ   r  s?   `` `                                                       @@@@r3   rE   rE   A  sÑ  þ€ ð $Ñ€Cˆˆc�3Ø5:Ò5K¸mÑ2�J€Sˆ#‘
��c™J˜S #©
¨¨cØ"Ò2 a¨5¨(¡l�N€BˆˆB�ò$ò":öMð ˆu‚}Ù/°°S¸"¸bÓAÑ‰
ˆˆc�HÙ/°°°c¸B¸3ÀÓCÑ‰
ˆˆc�HØˆØˆØˆØ‰Ø	�ŠÙ/°°°c¸B¸3ÀÓCÑ‰
ˆˆc�HÙ/°°°s°d¸R¸CÀ"ÀÓEÑ‰
ˆˆc�HØˆØˆØˆØ˜C‘i‰Ø	�Ò	Ù/°°c°T¸2À¸sÓCÑ‰
ˆˆc�HÙ/°°°s°d¸R¸CÀ"ÀÓEÑ‰
ˆˆc�HØˆØˆØˆØ˜C‘i‰Ø	�ŠÙ/°°S¸"¸bÓAÑ‰
ˆˆc�HÙ/°°c°T¸2À¸sÓCÑ‰
ˆˆc�HØˆØˆØˆØˆàÐ Ñ Ø�r˜A‘v‘˜s S™y¨5°1©9Ñ4ˆBˆØ�˜˜Q™‘  c¡	¨E°A©IÑ 5ˆBˆØ˜C‘i #‘oˆØˆØ�‰�s˜S‘y +Ô.Ø�‰�s˜KÔ(Ø�‰�s˜S‘y +°Ñ"3Ô4Ø�‰�s˜S‘y 3‘¨°cÑ(9Õ:Ø	Ð"Ñ	"Ø�˜‘˜e a™iÑ'¨¨r°A©v©ˆBˆØ�˜‘˜e a™iÑ'¨#¨°°Q±©ˆBˆØ˜C‘i #‘oˆØˆØ�‰�{ C¨#¡IÔ.Ø�‰�{ CÔ(Ø�‰�{ SÑ(¨#°©)Ô4Ø�‰�{ SÑ(¨#°©)°c©/Ô:àÐ$Ò$Ø Ò)‰u¨q°5©yˆØ�‰˜TˆÔ"Ø�
‰
ŒÙ’xá% b¨"Ó-ˆDÙ% b¨"Ó-ˆDØ  4Ñ'¨$Ñ.ˆFÜ ¨¡Ó.ˆKÙ™Hà ¨{¸Q©Ñ!>Ñ?‘ð  ¨{¸Q©Ñ!>ÀÑ!DÑE�Ü˜D 4¨!¡8™O¨tÑ3Ó4ˆGÜ˜D 4¨!¡8™O¨tÑ3Ó4ˆGÜ˜ tÑ+Ó,ˆD÷6$ò 6$ñp ' w°°c¸3ÀÀSÈ#ÈtÓT‰LˆD�&ÙØ˜ ˜t S¨3¡Y°°c±	¸3ÀÀTóKØKLñNˆDð ˜TÓ!Ü˜q $¨Ó*ò 5�AØ˜‘K�AØÐ0Ñ0Ø  3™Y¨¨T©Ñ1˜Ø  3™Y¨!¨a©%°4©Ñ7˜Ø(°S¸1²W©EÀ!ÑD˜Ø %™Z™ØÐ!2Ñ2Ø  3™Y¨¨T©Ñ1˜Ø  3™Y¨!¨a©%°4©Ñ7˜Ø(°S¸1²W©EÀ!ÑD˜Ø %™Z˜ÙØ˜b 2™g¨™]Ñ*¨B°"°r±'¸Q±Ñ,>Ø˜R™  b¡¨%°!©)õ5ñ5ô"  % V¨d¡]°QÑ%6Ó7ÐØ/°!Ñ3ÐØ˜Ò Ø�Ù#Ø#Ð&6¸Ñ&=Ñ=ÐAQÑQ‘Eà‘EØ˜(Ò"Ø%Ð)9Ð<LÑ)LÑMÒRÐQRÐR�˜ÜÐ+¨aÑ/Ó0ò E�Ø˜u t™|Ñ,�Ø˜5’=Ø  7™]¨T°A©XÑ5°s¸UÀQ¹Y±˜�BØ.2°E ‘JØ˜W’_Ø  3™Y¨°©Ñ2°C¸'±MÀDÈ1ÁHÑ4L˜�BØ.3°T ‘JØ˜XÒ%Ø  7™]¨T°A©XÑ5°s¸S±yÀ5È1Á9Ñ7L˜�BØ.2°E ‘JØ˜V’^Ø  5¨1¡9™_¨c°G©m¸dÀQ¹hÑ.F˜�BØ.3°T �JÙ˜"˜b *¨k¸4À!¹8ÕDðEð ‡K�K˜€KÔØ
‡J�J…Lr5   c                 óž  — |dv r·| j                  |d   «       t        | |j                  «       «       t        | |j                  d«      «       | j	                  d¬«       | j                  |d   «       t        | |j                  d«      «       t        | |j                  «       «       | j	                  d¬«       y | j                  |«       t        | |j                  «       «       |dk(  r6t        | |j                  d«      «       t        | |j                  d	«      «       t        | |j                  «       «       | j	                  d¬«       y )
N©ÚridgeÚgroover   rû   Trù   r   r`   gUUUUUUÕ?gUUUUUUå?)Ú	set_colorÚrounded_boxr¾   Úrounded_box_ratioÚfillr#   )r'   r(   r!   rN   s       r3   rm   rm   (  s  € ØÐ#Ñ#Ø×Ñ˜˜q™Ô"Ü�F˜C×3Ñ3Ó5Ô6Ü�F˜C×1Ñ1°%Ó8Ô9Ø�‰˜TˆÔ"Ø×Ñ˜˜q™Ô"Ü�F˜C×1Ñ1°%Ó8Ô9Ü�F˜C×2Ñ2Ó4Ô5Ø�‰˜TˆÔ"ØØ
×Ñ�UÔÜ�˜×/Ñ/Ó1Ô2Ø�ÒÜ�F˜C×1Ñ1°%Ó8Ô9Ü�F˜C×1Ñ1°%Ó8Ô9Ü�˜×.Ñ.Ó0Ô1Ø
‡K�K˜€KÕr5   c                 óŽ  — |\  }}}}|\  }	}
}}|dv ræ| j                  |d   «        | j                  |Ž  | j                  ||dz  z   ||	dz  z   |||
z   dz  z
  ||	|z   dz  z
  «       | j                  d¬«       | j                  ||dz  z   ||	dz  z   |||
z   dz  z
  ||	|z   dz  z
  «       | j                  ||z   ||	z   ||z
  |
z
  ||	z
  |z
  «       | j                  |d   «       | j                  d¬«       y | j                  |«        | j                  |Ž  |dk(  rp| j                  ||dz  z   ||	dz  z   |||
z   dz  z
  ||	|z   dz  z
  «       | j                  ||dz  dz  z   ||	dz  dz  z   |||
z   dz  dz  z
  ||	|z   dz  dz  z
  «       | j                  ||z   ||	z   ||z
  |
z
  ||	z
  |z
  «       | j                  d¬«       y )	Nr0  r   r
   Trù   r   r`   ra   )r3  rœ   r6  )r'   r(   rr   r!   rN   r  r  r  r  r  r/   r  r0   s                r3   rF   rF   <  s)  € ØÑ€Cˆˆc�3Ø�N€BˆˆB�ØÐ#Ñ#Ø×Ñ˜˜q™Ô"Øˆ×Ñ˜#ÑØ×ÑØ�"�q‘&‰L˜#  Q¡™,Ø�2˜‘7˜a‘-Ñ ¨¨R©°1¡}Ñ!4ô	6ð 	�‰˜TˆÔ"Ø×ÑØ�"�q‘&‰L˜#  Q¡™,Ø�2˜‘7˜a‘-Ñ ¨¨R©°1¡}Ñ!4ô	6ð 	×Ñ˜˜r™ 3¨¡8¨S°2©X¸©]¸CÀ"¹HÀr¹MÔJØ×Ñ˜˜q™Ô"Ø�‰˜TˆÔ"ØØ
×Ñ�UÔØ€F×Ñ�cÑØ�ÒØ×ÑØ�"�q‘&‰L˜#  Q¡™,Ø�2˜‘7˜a‘-Ñ ¨¨R©°1¡}Ñ!4ô	6ð 	×ÑØ�"�q‘&˜1‘*Ñ˜c B¨¡F¨Q¡JÑ.Ø�2˜‘7˜a‘- !Ñ#Ñ# S¨B°©G°q©=¸1Ñ+<Ñ%<ô	>ð ×Ñ�S˜2‘X˜s R™x¨¨r©°B©¸¸b¹À2¹ÔFØ
‡K�K˜€KÕr5   c	           
      ót  — ||k(  s||k(  sJ ‚| j                  «       5  |dvr| j                  |d¬«       |dk(  r| j                  d|z  g|«       n-|dk(  r(| j                  d«       | j                  dd	|z  g|«       |d
k(  rã| j	                  |dz  «       ||k(  rb| j                  ||dz  z
  |«       | j                  ||dz  z
  |«       | j                  ||dz  z   |«       | j                  ||dz  z   |«       �n—||k(  �r‘| j                  |||dz  z
  «       | j                  |||dz  z
  «       | j                  |||dz  z   «       | j                  |||dz  z   «       �n/|dv �r*| j	                  |d	z  «       | j                  |d   d¬«       ||k(  r1| j                  ||dz  z   |«       | j                  ||dz  z   |«       n5||k(  r0| j                  |||dz  z   «       | j                  |||dz  z   «       | j                  «        | j                  |d   d¬«       ||k(  r2| j                  ||dz  z
  |«       | j                  ||dz  z
  |«       �n8||k(  �r2| j                  |||dz  z
  «       | j                  |||dz  z
  «       �n |dk(  rÆ||k(  sJ ‚d}	d|z  }
| j                  ||d	|
z  z
  ||z
  d|
z  «       | j                  «        | j                  «        ||z
  }| j                  ||«       ||k  r‘| j	                  |«       | j                  ||
d	z  z   ||	|
z  z   |d|
z  d	z  z   ||	|
z  z   |d	|
z  z   |«       |d	|
z  z  }|	dz  }	||k  rŒ[n5| j	                  |«       | j                  ||«       | j                  ||«       | j                  «        d d d «       y # 1 sw Y   y xY w)Nr0  T)Ústrokerî   é   rí   r   r   r
   r`   ra   rb   Úwavyg      è?rö   )r@   r3  Úset_dashÚset_line_capÚset_line_widthrï   rý   r9  rœ   r�   rž   rð   )r'   râ   rã   rä   rå   Ú	thicknessr!   rN   r  ÚupÚradiusr)   s               r3   Ú	draw_linerB  Z  sÃ  € Ø�Š8�r˜R’xÐÐà	�‰Ó	ñ >ØÐ+Ñ+Ø×Ñ˜U¨4ÐÔ0à�HÒØ�O‰O˜Q ™]˜O¨VÕ4Ø�hÒØ×Ñ Ô"Ø�O‰O˜Q  I¡Ð.°Ô7à�HÒØ×!Ñ! )¨a¡-Ô0Ø�RŠxØ—‘˜r I°¡MÑ1°2Ô6Ø—‘˜r I°¡MÑ1°2Ô6Ø—‘˜r I°¡MÑ1°2Ô6Ø—‘˜r I°¡MÑ1°2Ö6Ø�r“Ø—‘˜r 2¨	°A©Ñ#5Ô6Ø—‘˜r 2¨	°A©Ñ#5Ô6Ø—‘˜r 2¨	°A©Ñ#5Ô6Ø—‘˜r 2¨	°A©Ñ#5Ö6ØÐ)Ò)Ø×!Ñ! )¨a¡-Ô0Ø×Ñ˜U 1™X¨dÐÔ3Ø�RŠxØ—‘˜r I°¡MÑ1°2Ô6Ø—‘˜r I°¡MÑ1°2Õ6Ø�r’Ø—‘˜r 2¨	°A©Ñ#5Ô6Ø—‘˜r 2¨	°A©Ñ#5Ô6Ø�M‰MŒOØ×Ñ˜U 1™X¨dÐÔ3Ø�RŠxØ—‘˜r I°¡MÑ1°2Ô6Ø—‘˜r I°¡MÑ1°2Ö6Ø�r“Ø—‘˜r 2¨	°A©Ñ#5Ô6Ø—‘˜r 2¨	°A©Ñ#5Ö6Ø�fŠ_Ø˜’8ˆO�8ØˆBØ˜IÑ%ˆFà×Ñ˜R  a¨&¡j¡°"°r±'¸1¸v¹:ÔFØ�K‰KŒMØ�J‰JŒLà�V‘ˆAØ�N‰N˜1˜bÔ!Ø�b’&Ø×%Ñ% iÔ0Ø—‘Ø˜ ™
‘N B¨¨f©Ñ$4Ø˜˜F™
 Q™Ñ&¨¨R°&©[Ñ(8Ø˜˜F™
‘N Bô(ð �Q˜‘Z‘�Ø�b‘�ð �b”&ð ×!Ñ! )Ô,Ø�N‰N˜2˜rÔ"Ø�N‰N˜2˜rÔ"Ø�‰Œ÷}>÷ >ñ >ús   �MN.ÍAN.Î.N7c                 ó  — |j                   d   }|j                   d   }t        |j                   d«      }|j                   d   }|j                   d   dk(  rÚ|rØ|j                  rÌ|j                  «       |z
  |z
  |j	                  «       |z
  |z
  |j                  «       d|z  z   d|z  z   |j                  «       d|z  z   d|z  z   f}t        D ]a  }| j                  «       5  | j                  «       5  t        | ||||«       t        | |d|fz  |t        |||«      «       d d d «       d d d «       Œc |j                  D ])  }t        |t        j                   «      sŒt#        | |«       Œ+ y # 1 sw Y   ŒLxY w# 1 sw Y   Œ²xY w)	NÚoutline_widthÚoutline_offsetÚoutline_colorÚoutline_stylerQ   rR   r
   rb   )r!   r   rk   Úborder_box_xÚborder_box_yr¼   r½   rg   re   r@   rE   rF   r   r?   rc   r   ÚBoxÚdraw_outline)	r'   r(   rA   r  rN   r!   Úoutline_boxrq   rI   s	            r3   rK  rK  ž  sx  € Ø�I‰I�oÑ&€EØ�Y‰YÐ'Ñ(€FÜ�c—i‘i Ó1€EØ�I‰I�oÑ&€EØ
‡y�y�Ñ )Ò+±¸%¿+º+à×ÑÓ Ñ&¨Ñ/Ø×ÑÓ Ñ&¨Ñ/Ø×ÑÓ  U¡Ñ*¨Q°©ZÑ7Ø×ÑÓ ! e¡)Ñ+¨a°&©jÑ8ð	:ˆô
 ò 	6ˆDØ—‘Ó"ñ 6 F§N¡NÓ$4ñ 6Ü# F¨E°5¸$ÀÔLÜ Ø˜K¨¨e¨X©°uÜ  ¨¨tÓ4ô6÷6÷ 6ð 6ð	6ð —‘ò (ˆÜ�eœUŸY™YÕ'Ü˜ Õ'ñ(÷6ð 6ú÷ 6ð 6ús$   ÃE5Ã0.E)ÄE5Å)E2Å.E5Å5E>	c           
      ó4  — |\  }}}}}}}}	t        d„ ||||	fD «       «      r| j                  ||||«       yd}
| j                  ||d   z   |«       | j                  ||z   |d   z
  |«       | j	                  ||z   |d   |
z  z
  |||z   ||d   |
z  z   ||z   ||d   z   «       | j                  ||z   ||z   |d   z
  «       | j	                  ||z   ||z   |d   |
z  z
  ||z   |d   |
z  z
  ||z   ||z   |d   z
  ||z   «       | j                  ||	d   z   ||z   «       | j	                  ||	d   |
z  z   ||z   |||z   |	d   |
z  z
  |||z   |	d   z
  «       | j                  |||d   z   «       | j	                  |||d   |
z  z   ||d   |
z  z   |||d   z   |«       y)zÓDraw the path of the border radius box.

    ``widths`` is a tuple of the inner widths (top, right, bottom, left) from
    the border box. Radii are adjusted from these values. Default is (0, 0, 0,
    0).

    c              3   ó$   K  — | ]  }d |v –— Œ
 y­w)r   N© )Ú.0Úcorners     r3   ú	<genexpr>zrounded_box.<locals>.<genexpr>¿  s   è ø€ Ò
6˜6ˆ1�Œ;Ñ
6ùs   ‚NgÍÌÌÌÌÌÜ?r   r   )r9   rœ   rï   rý   rð   )r'   r
  r)   r*   r+   r,   r-   r.   r/   r0   rô   s              r3   r4  r4  µ  sè  € ð "'Ñ€A€qˆ!ˆQ��B˜˜Bä
Ñ
6 b¨"¨b°"Ð%5Ô
6Ô6à×Ñ˜˜A˜q !Ô$Øà€Aà
‡N�N�1�r˜!‘u‘9˜aÔ Ø
‡N�N�1�q‘5˜2˜a™5‘= !Ô$Ø
‡O�OØ	ˆA‰��1‘˜‘	Ñ˜1˜a !™e Q¨¨A©°©¡]°A¸±E¸1¸rÀ!¹u¹9ôFà
‡N�N�1�q‘5˜!˜a™% " Q¡%™-Ô(Ø
‡O�OØ	ˆA‰ˆq�1‰u�r˜!‘u˜q‘yÑ  ! a¡%¨"¨Q©%°!©)Ñ"3°Q¸±U¸AÀ¹EÀBÀqÁE¹MØ	ˆA‰ôð ‡N�N�1�r˜!‘u‘9˜a !™eÔ$Ø
‡O�OØ	ˆBˆq‰E�A‰I‰�q˜1‘u˜a  Q¡¨¨A©°©Ñ!2°A°q¸1±u¸rÀ!¹u±}ôFà
‡N�N�1�a˜"˜Q™%‘iÔ Ø
‡O�OØ	ˆ1ˆr�!‰u�q‰y‰=˜!˜b ™e a™i™-¨¨A°°1±©I°qõ:r5   )NN)r   )Ú__doc__Úmathr   r   r   r   r   r   r	   Úformatting_structurer   Úlayoutr   Úlayout.percentr   r1   r   rN   r   r   rg   r4   rO   r{   r&   rE   rm   rF   rB  rK  r4  rO  r5   r3   ú<module>rX     sf   ðÙ ç 5× 5Ñ 5å (Ý Ý 'Ý ß *à*€ò(òSò89VòxJRð\ 37ódòNò(ó<AòH(ó.:r5   