§
    ¥”j¥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dS )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        €dS |                     ¦   «         \  }}}}}}}}	t          ||¬¦  «        }
|
| j        z  }
|                      |||||j         d         ¦  «        }t          |||j        |j         d         |j         d         |j         d	         |j         d
         ¦  «         dS )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               úe/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/weasyprint/draw/border.pyÚset_mask_borderr4      sÚ   € à
„yÐ%Ô& qÔ)¨VÒ3Ð3°sÔ7LÐ7TØˆØ!$×!7Ò!7Ñ!9Ô!9Ñ€A€qˆ!ˆQ��B˜˜BÝ�a˜1ÐÑÔ€FØ
ˆfŒjÑ€FØ×(Ò(¨¨A¨q°!°S´YÐ?QÔ5RÑSÔS€KÝØˆ[˜#Ô/°´Ð;NÔ1OØŒ	Ð&Ô'¨¬Ð3GÔ)HØŒ	Ð%Ô&ñ(ô (ð (ð (ð (ó    c           
      óx  — ddd|j         d         f}d}|j        D �]}|j         d         dk    rd}Œ|rd}Œ|                      ¦   «         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¦  «         n# 1 swxY w Y   �ŒdS )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Ð(;Ô<Ð=€MØ€IØ”ð Sñ SˆØŒ;�}Ô%¨Ò.Ð.ØˆIØØð 	ØˆIØØ�^Š^ÑÔð 	Sð 	SØœÐ#6Ô7ˆJØœÐ#6Ô7ˆJØŒy˜Ô&¨(Ò2Ð2Ø”i Ô,��å  ¤¨<Ô!8¸#¼)ÀSÄYÑOÔO�àÔ  C¤IÐ.AÔ$BÀSÑ$HÈAÑ#MÑMð à# UÔ%5°zÀ5Ä<ÐOˆJÝØ˜
 J°¸
ÀMñSô Sð Så Ø�I c¤iÐ1DÑEÔEÀvñOô OˆEå˜V Z°À
ÈEÑRÔRÐRð	Sð 	Sð 	Sñ 	Sô 	Sð 	Sð 	Sð 	Sð 	Sð 	Sð 	Søøøð 	Sð 	Sð 	Sð 	SùðSð Ss   ÁCD-Ä-D1	Ä4D1	c                 ó4  ‡‡— ‰j         d         dk    rdS t          ‰t          j        ¦  «        o!‰j         d         dk    p‰j         d         dk    }|rI‰j         d         r<|                      ¦   «         5  t          | ‰¦  «         ddd¦  «         n# 1 swxY w Y   ‰j         d         d	         d
k    r{‰j        �t|                      ¦   «         5  t          ‰| ‰j        ‰j         d         ‰j         d         ‰j         d         ‰j         d         ¦  «         ddd¦  «         n# 1 swxY w Y   dS ˆfd„t          D ¦   «         }t          |¦  «        d	hk    rdS ˆfd„t          D ¦   «         Šˆˆfd„t          t          ¦  «        D ¦   «         }t          |¦  «        dhdhfv }t          t          ‰¦  «        ¦  «        dk    }d	|v}|rP|rN|rL|                      ¦   «         5  t          | ‰|d	         ‰d	         ¦  «         ddd¦  «         n# 1 swxY w Y   dS t          t          t          |‰|¦  «        ¦  «        }dD ]Ú}	||	         \  }
}}}|d	k    s|sŒ|                      ¦   «         5  |                      ¦   «         5  t!          | |||
‰                     ¦   «         dd…         |‰                     ¦   «         dd…         ¦  «         t          | ‰|t%          |||
¦  «        ¦  «         ddd¦  «         n# 1 swxY w Y   ddd¦  «         n# 1 swxY w Y   ŒÛdS )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_widthc                 ó8   •— g | ]}t          ‰d |› d�¦  «        ‘ŒS )Úborder_Ú_width)Úgetattr©Ú.0Úsider(   s     €r3   ú
<listcomp>zdraw_border.<locals>.<listcomp>Q   s/   ø€ ÐEÐEÐE°t�g�cÐ1 TÐ1Ð1Ð1Ñ2Ô2ÐEÐEÐEr5   c                 óB   •— g | ]}t          ‰j        d |› d�¦  «        ‘ŒS )r\   Ú_color)r   r!   r_   s     €r3   rb   zdraw_border.<locals>.<listcomp>W   s1   ø€ ÐMÐMÐM¸t�i˜œ	Ð#9¨TÐ#9Ð#9Ð#9Ñ:Ô:ÐMÐMÐMr5   c                 óR   •— g | ]#\  }}‰|         j         o‰j        d |› d�         ‘Œ$S )r\   Ú_style)Úalphar!   )r`   Úira   r(   Úcolorss      €€r3   rb   zdraw_border.<locals>.<listcomp>X   sK   ø€ ð +ð +ð +áˆQ�ð 	ˆqŒ	ŒÐ=˜CœIÐ&<°Ð&<Ð&<Ð&<Ô=ð+ð +ð +r5   ÚsolidÚdoubler   )r
   é   r   r   é   )r!   Ú
isinstancer   ÚBlockContainerBoxÚartifactrO   Úborder_imager&   ÚSIDESÚsetÚ	enumerateÚlenÚdraw_rounded_borderÚtupleÚzipr@   rE   r#   r   )r'   r(   ÚcolumnsÚwidthsÚstylesÚsimple_styleÚsingle_colorÚ
four_sidesÚvaluesÚindexra   rA   rN   r!   ri   s    `            @r3   Údraw_borderr�   8   sÜ  øø€ ð „y�Ô )Ò+Ð+Øˆõ 	�3�Ô/Ñ0Ô0ð 	1ØŒI�nÔ%¨Ò/ð 0ØŒI�nÔ%¨Ò/ð ð ð +�3”9Ð0Ô1ð +Ø�_Š_ÑÔð 	+ð 	+Ý˜f cÑ*Ô*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð „yÐ&Ô'¨Ô*¨fÒ4Ð4¸Ô9IÐ9UØ�_Š_ÑÔð 	1ð 	1ÝØ�V˜SÔ-¨s¬yÐ9MÔ/NØ”	Ð/Ô0°#´)Ð<QÔ2RØ”	Ð.Ô/ñ1ô 1ð 1ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð
 	ˆàEÐEÐEÐE½uÐEÑEÔE€Få
ˆ6�{„{�q�cÒÐàˆàMÐMÐMÐMÅuÐMÑMÔM€Fð+ð +ð +ð +ð +å"¥5Ñ)Ô)ð+ñ +ô +€Fõ �v‘;”; G 9¨x¨jÐ"9Ð9€LÝ•s˜6‘{”{Ñ#Ô# qÒ(€LØ˜&�€JØð ˜ð ¨ð à�_Š_ÑÔð 	Cð 	CÝ ¨¨V°A¬Y¸¸q¼	ÑBÔBÐBð	Cð 	Cð 	Cñ 	Cô 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cøøøð 	Cð 	Cð 	Cð 	Càˆõ
 •3•u˜f f¨fÑ5Ô5Ñ6Ô6€FØð Vð VˆØ$*¨5¤MÑ!ˆˆe�U˜EØ�AŠ:ˆ:˜Uˆ:ØØ�_Š_ÑÔð 	Vð 	V §¢Ñ 0Ô 0ð 	Vð 	VÝØ˜˜u d¨C×,BÒ,BÑ,DÔ,DÀRÀaÀRÔ,HØ˜×.Ò.Ñ0Ô0°°°Ô4ñ6ô 6ð 6õ   ¨¨UµLÀÈÈtÑ4TÔ4TÑUÔUÐUð		Vð 	Vð 	Vñ 	Vô 	Vð 	Vð 	Vð 	Vð 	Vð 	Vð 	Vøøøð 	Vð 	Vð 	Vð 	Vð 	Vð 	Vð 	Vñ 	Vô 	Vð 	Vð 	Vð 	Vð 	Vð 	Vð 	Vøøøð 	Vð 	Vð 	Vð 	Vøð	Vð Vsn   Á5BÂBÂBÃAD"Ä"D&Ä)D&ÇH
È
HÈHÉ)LÉ>A+K5Ë)LË5K9Ë9LË<K9Ë=LÌL	ÌL	c                 ó¾  ‡ ‡‡‡4‡5— ‰                      ‰ j        d         ‰ j        d         ¦  «        \  }}}	t          j        |||	dd‰                      ¦   «         ‰                      ¦   «         ¬¦  «        \  Š5Š4|dd…         }
|d         }d„ } ||
d         ‰4¦  «        } ||
d         ‰5¦  «        } ||
d	         ‰4¦  «        } ||
d
         ‰5¦  «        }|\  }}‰                      ¦   «         \  }}}}}}}}‰                      ¦   «         \  }}}}}} }!}"||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}2rO |-||#z   |||#z
  |%z
  |$|d‰5|z
  |z
  ||¬¦	  «	          |-||#z   ||z   |&z
  ||#z
  |%z
  |&|‰4|z
  ‰5|z
  |z
  ||¬¦	  «	         ||z   ‰4k     x}3rO |-||z   |%z
  ||$z   |%||$z
  |&z
  ‰5|z
  ||‰4|z
  |z
  |¬¦	  «	          |-|||$z   |#||$z
  |&z
  d||‰4|z
  |z
  |¬¦	  «	         |r?|2r?|3r? |-||#z   ||$z   ||#z
  |%z
  ||$z
  |&z
  ||‰5|z
  |z
  ‰4|z
  |z
  |||.p|0|/p|1¬¦  «         dS dS dS dS )zHDraw ``image`` as a border image for ``box`` on ``stream`` as specified.Úimage_resolutionr=   N)Úspecified_widthÚspecified_heightÚdefault_widthÚdefault_heightrm   c                 óª   — t          | t          t          f¦  «        rt          | |¦  «        S | j        dk    sJ ‚t          d| j        ¦  «        dz  |z  S )Nú%éd   )rn   ÚintÚfloatÚminÚunitÚvalue)Ú	dimensionÚ	intrinsics     r3   Úcompute_slice_dimensionz2draw_border_image.<locals>.compute_slice_dimension�   sW   € Ý�i¥#¥u Ñ.Ô.ð 	?Ý�y )Ñ,Ô,Ð,à”> SÒ(Ð(Ð(Ð(Ý�s˜IœOÑ,Ô,¨sÑ2°YÑ>Ð>r5   r   r   r
   rl   c                 óL   — | 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–   s2   € ØŒ>Ð!Ø”? [Ñ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”   )rn   r‹   rŒ   rŽ   r�   )r�   Úoriginalr‘   Úarea_dimensions       r3   Úcompute_width_adjustmentz3draw_border_image.<locals>.compute_width_adjustment§   sn   € à˜ÒÐØÐÝ˜	¥C­ <Ñ0Ô0ð 	#Ø˜xÑ'Ð'ØŒ^˜sÒ"Ð"Ø”? SÑ(¨>Ñ9Ð9à”> TÒ)Ð)Ð)Ð)Ø”?Ð"r5   Ústretchc           
      óÂ  •— d‰||fv rd}
n‘d}|
s|r|r||z  nd}
|dk    rt          ||z  |
z  ¦  «        }nf|dk    r't          ||z  |
z  ¦  «        }||
z  ||z  z
  |dz   z  }n9|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  ¦  «        }nf|	dk    r't          ||z  |z  ¦  «        }||z  ||z  z
  |dz   z  }n9|	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  }‰                     ¦   «         5  ‰                     | |||¦  «         ‰                     ¦   «          ‰                     ¦   «          ‰                     | |z
  |z   ||z
  |z   ¬¦  «         ‰                     |
|¬¦  «         t          |¦  «        D ]Ê}t          |¦  «        D ]¸}‰                     ¦   «         5  |||z   z  }|||z   z  }‰                     ||¬¦  «         ‰                     ||
z  ||z  ||¦  «         ‰                     ¦   «          ‰                     ¦   «          ‰ 
                    ‰‰‰‰j        ¦  «         d d d ¦  «         n# 1 swxY w Y   Œ¹ŒË	 d d d ¦  «         n# 1 swxY w Y   |
|fS )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_yrh   ÚjÚtranslate_xÚtranslate_yr(   ÚimageÚintrinsic_heightÚintrinsic_widthr'   s                           €€€€€r3   Údraw_border_image_regionz3draw_border_image.<locals>.draw_border_image_regionÁ   sŒ  ø€ ð � %¨Ð5Ð5Ð5ØˆGˆGàˆHØð TØ5;ÐSÀÐS˜6 LÑ0Ð0ÐRS�Ø˜8Ò#Ð#Ý" 5¨;Ñ#6¸Ñ#@ÑAÔA��Ø˜WÒ$Ð$Ý# E¨KÑ$7¸'Ñ$AÑBÔB�ð ˜W‘_ {°[Ñ'@Ñ@À[ÐSTÁ_ÑUð �à˜WÒ$Ð$Ý! !¥U¨5°;Ñ+>ÀÑ+HÑ%IÔ%IÑJÔJ�Ø ;°Ñ#<Ñ=��à�Ø +Ñ-�àÐ! 6¨<Ð8Ð8Ð8ØˆGˆGàˆHØð PØ38ÐO¸[ÐO˜5 ;Ñ.Ð.Èa�Ø˜8Ò#Ð#Ý" 6¨LÑ#8¸7Ñ#BÑCÔC��Ø˜WÒ$Ð$Ý# F¨\Ñ$9¸GÑ$CÑDÔD�ð ˜gÑ%¨°lÑ(BÑBÀ{ÐUVÁÑWð �à˜WÒ$Ð$Ý! !¥U¨6°LÑ+@À7Ñ+JÑ%KÔ%KÑLÔL�Ø  K°,Ñ$>Ñ?��à�Ø  <Ñ/�à�˜'Ð"Ð"Ð"Ø˜GÐ#Ð#à(¨7Ñ2ˆØ*¨WÑ4ˆØ! GÑ+¨oÑ=ˆØ" WÑ,Ð/?Ñ?ˆà�^Š^ÑÔð 	Yð 	YØ×Ò˜Q  5¨&Ñ1Ô1Ð1Ø�KŠK‰MŒMˆMØ�JŠJ‰LŒLˆLØ×Ò˜q 8™|¨hÑ6¸!¸h¹,ÈÑ:QÐÑRÔRÐRØ×Ò˜w¨'ÐÑ2Ô2Ð2Ý˜;Ñ'Ô'ð Yð Y�Ý˜{Ñ+Ô+ð 
Yð 
Y�AØŸšÑ)Ô)ð 	Yð 	YØ&'¨;¸Ñ+AÑ&B˜Ø&'¨<¸(Ñ+BÑ&C˜Ø×(Ò(¨;¸+Ð(ÑFÔFÐFØ×(Ò(Ø$ wÑ.°¸7Ñ0BØ'¨ñ7ô 7ð 7ð Ÿš™œ˜ØŸ
š
™œ˜ØŸ
š
 6¨?Ð<LÈcÌiÑXÔXÐXð	Yð 	Yð 	Yñ 	Yô 	Yð 	Yð 	Yð 	Yð 	Yð 	Yð 	Yøøøð 	Yð 	Yð 	Yð 	Yøð
YðYð	Yð 	Yð 	Yñ 	Yô 	Yð 	Yð 	Yð 	Yð 	Yð 	Yð 	Yøøøð 	Yð 	Yð 	Yð 	Yð& ˜ÐÐs8   Å0B1KÈ!BJ8	Ê,KÊ8J<Ê<KÊ?J<Ë KËKËK)r­   )r®   )r­   r®   r¯   r°   )r›   r›   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°Ô'=ñ?ô ?Ñ€Eˆ6�5å(0Ô(EØˆv�u¨dÀTØ×&Ò&Ñ(Ô(¸×9JÒ9JÑ9LÔ9Lð)Nñ )Nô )NÑ%€OÐ%ð ˜r ˜rÔ"€KØ˜q”/€Kð?ð ?ð ?ð (Ð'¨°A¬Ð8HÑIÔI€IØ)Ð)¨+°a¬.¸/ÑJÔJ€KØ*Ð*¨;°q¬>Ð;KÑLÔL€LØ(Ð(¨°Q¬¸ÑIÔI€Jà&Ñ€Hˆhà!$×!7Ò!7Ñ!9Ô!9Ñ€A€qˆ!ˆQ��B˜˜BØ),×)@Ò)@Ñ)BÔ)BÑ&€BˆˆB��C˜˜c 3Ø�q‘&€KØ�a‘€JØ�r‘6˜KÑ'€LØ˜‘F˜ZÑ'€Mð#ð #ð #ð *Ð)¨-¸Ô*:¸JÑGÔG€JØ+Ð+¨M¸!Ô,<¸lÑKÔK€LØ,Ð,¨]¸1Ô-=¸}ÑMÔM€MØ*Ð*¨=¸Ô+;¸[ÑIÔI€KàˆÑ€AØˆ�O€AØˆ�|Ñ	#Ñ#€AØˆ�mÑ	#Ñ#€Að
#ð 
#ð 
#ð" *Ð)Ø�QŒ˜ Y°ñ3ô 3€Jà+Ð+Ø�QŒ˜ {°Añ7ô 7€Là,Ð,Ø�QŒ˜¨°añ9ô 9€Mà*Ð*Ø�QŒ˜ j°!ñ5ô 5€Kð MVØ7;ðH ð H ð H ð H ð H ð H ð H ð H ð H ð H ðV 5Ð4Ø	ˆ1ˆk˜: q¨!¨Z¸ñDô DÑ€J�	ð ÐØ	ˆA‰�Ñ˜a ¨zØ˜+Ñ% q¨+°yñBô Bð Bð !9Ð 8Ø	ˆA‰�Ñ˜a !™e mÑ3°\À=Ø˜+Ñ%Ð'7¸,Ñ'FØ�\ñ!#ô !#Ñ€K�ð
 ÐØ	ˆ1ˆq‰5�=Ñ  +¨}Ø	Ð˜lÑ*¨J¸ñFô Fð 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Øð		ñ 	ô 	ð 	ð
 ð R�xð R Hð Rà Ð Ø�‰O˜Q ™^¨Q°©_¸|Ñ-KØ�
‰N˜]Ñ*¨J¸	Ø˜jÑ(¨;Ñ6Ø˜yÑ(¨<Ñ7Ø¨ØÐ- +°yÐ7PÀLð	Rñ 	Rô 	Rð 	Rð 	Rð 	RðRð Rð Rð Rð Rð Rr5   Nc           
      ó�
  ‡ ‡‡‡;‡<‡=‡>— |\  }}}	}
|pd\  \  }}\  }}\  }}\  }}|pd|fz  \  }}}}d„ }d„ }dˆ ˆfd„	Š=‰dk    r3 |||||¦  «        \  \  }}} || || |¦  «        \  \  }}}|}d}dŠ;|Š>n¸‰d	k    r: || || |¦  «        \  \  }}} || | | | ¦  «        \  \  }}}|}d}d
Š;||	z   Š>nx‰dk    r: ||| || ¦  «        \  \  }}} || | | | ¦  «        \  \  }}}|}d}dŠ;||
z   Š>n8‰dk    r2 |||||¦  «        \  \  }}} ||| || ¦  «        \  \  }}}|}d}dŠ;|Š>‰dv rœ||d
z  z
  ||z  |d
z  z
  }!} | |d
z  z
  ||z  |d
z  z
  }#}"|	|z
  |z   }$|	}%‰                       ||	z   ‰>¦  «         ‰                      |‰>¦  «         ‰                      ||z   ‰>|z   ¦  «         ‰                      ||	z   |z   ‰>|z   ¦  «         n¡‰dv r�| |z  |d
z  z
  ||d
z  z
  }!} | |z  |d
z  z
  | |d
z  z
  }#}"|
|z
  |z   }$|
}%‰                       ‰>||
z   ¦  «         ‰                      ‰>|¦  «         ‰                      ‰>|z   ||z   ¦  «         ‰                      ‰>|z   ||
z   |z   ¦  «         ‰dv �r§‰dk    r|nd|z  Š<‰                      d¬¦  «         ‰                      ¦   «          |s|�rz || |!¦  «        }& ||"|#¦  «        }'|$|&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k    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k    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  p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  ¦  «         Œš‰                      d¬¦  «         ‰                      ¦   «          dS )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å   rm   c                 óš   — t          | ¦  «        t          |¦  «        k    r&t          |¦  «        t          |¦  «        k    r| |fdfn||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  sP   € õ !$ B¡¤­#¨b©'¬'Ò 1Ð 1µc¸"±g´gÅÀBÁÄÒ6GÐ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   rl   r
   é
   rm   )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Ñ7Ñ8Ñ8ñ:ð 	:r5   r   c           	      ó@  •— ‰dk    rê|t          t          ¦  «        z  }‰                     | |z   |¦  «         ‰                     | |z   ||z   | |z   ||z   | ||z   ¦  «         ‰                     | |z
  ||z   | |z
  ||z   | |z
  |¦  «         ‰                     | |z
  ||z
  | |z
  ||z
  | ||z
  ¦  «         ‰                     | |z   ||z
  | |z   ||z
  | |z   |¦  «         ‰                     ¦   «          dS ‰dk    r&‰                     | |dz  z
  ||dz  z
  ||¦  «         dS dS )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  sI  ø€ à�HÒÐØ��R™œ‘LˆEØ�NŠN˜2 ™6 2Ñ&Ô&Ð&Ø�OŠO˜B ™F B¨¡J°°U±
¸BÀ¹FÀBÈÈQÉÑOÔOÐOØ�OŠO˜B ™J¨¨Q©°°Q±¸¸U¹
ÀBÈÁFÈBÑOÔOÐOØ�OŠO˜B ™F B¨¡J°°U±
¸BÀ¹FÀBÈÈQÉÑOÔOÐOØ�OŠO˜B ™J¨¨Q©°°Q±¸¸U¹
ÀBÈÁFÈBÑOÔOÐOØ�LŠL‰NŒNˆNˆNˆNØ�hÒÐØ×Ò˜R %¨!¡)™^¨R°&¸1±*©_¸eÀVÑLÔLÐLÐLÐLð Ðr5   r   r   r   r
   r   éÿÿÿÿrl   r   ©r   r   ©r   r   )ró   rô   ró   T©Úeven_oddç      à?c           	      óø  •— ‰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k    rt
          nt          d‰z  |z
  |dz   |z  ‰z  |z  z   dz  t          z  ‰t          z  dz  ¦  «        }‰dv r�‰                     ||z   ‰|z   ¦  «         ‰                     ||z   ||z  dz  t          |¦  «        z  z
  ‰¦  «         ‰                     ||z   ||z  dz  t          |¦  «        z  z
  ‰¦  «         n~‰d	v rz‰                     ‰|z   ||z   ¦  «         ‰                     ‰||z   ||z  t          |¦  «        z  z   ¦  «         ‰                     ‰||z   ||z  t          |¦  «        z  z   ¦  «         |‰t          z  dz  k    r2||z
  d‰z  |z
  |dz   |z  ‰z  |z  z   dz  t          z  |z
  z  }|dz  } n�Œ¸d‰t          z  dz  |z
  ||z
  z  z
  }||fS )Nró   r   r   rü   g      à¿r
   rm   rý   rþ   )rú   gUUUUUUÕ¿r  )
r§   r   rç   r   r   r�   r¢   rõ   Úline_tor	   )ÚdashesÚlineÚwayr)   r*   r”   rÏ   Úchlrh   r    rø   rù   Únext_aÚoffsetÚangle1Úangle2ÚangleÚdashrû   Úmain_offsetra   r'   r!   s                   €€€€€€€r3   Údraw_dashesz(clip_border_segment.<locals>.draw_dashes½  s!  ø€ Ø˜HÒ$Ñ$Ø ’{�{Ø# a™x¨˜|Ð+Ø 1š˜Ø# a™x¨˜~Ð-å" 1 f¨aÑ0Ô0ð *ð *˜Ø %™i¨#™o°°S±¸4±À#Ñ1EÑEÈÑJÍRÑO˜Ø"&Ð*;Ð";Ð";˜Q˜QÀ˜Ø"&Ð*;Ð";Ð";˜Q˜QÀ˜Ø!˜	Ø ™G¥s¨2¡w¤w°¸±Ñ'9½SÀ¹V¼VÑ&CÑCØ ™G¥s¨2¡w¤w°¸±Ñ'9½SÀ¹V¼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ñ G�AØ˜‘H�Aà˜e™) c™/¨Q°©W°t©^¸cÑ-AÑAØñÝñð ð 6 S¨1¢W W�c˜cµ#Ø˜e™) c™/¨a°!©e°s©]¸TÑ-AÀCÑ-GÑGØñÝñà¥™
 Q™ñ(ô (�Fð Ð0Ð0Ð0ØŸš q¨2¡v¨{¸RÑ/?Ñ@Ô@Ð@ØŸšØ ™F S¨2¡X°¡\µC¸±K´KÑ%?Ñ?ÀñNô Nð NàŸšØ ™F S¨2¡X°¡\µC¸±K´KÑ%?Ñ?ÀñNô Nð Nð NàÐ!2Ð2Ð2ØŸš {°RÑ'7¸¸R¹Ñ@Ô@Ð@ØŸšØ'¨¨R©°#¸±(½SÀ¹[¼[Ñ2HÑ)HñJô Jð JàŸšØ'¨¨R©°#¸±(½SÀ¹[¼[Ñ2HÑ)HñJô Jð Jà ­¡¨a¡Ò/Ð/Ø"(¨6¡/Ø %™i¨#™o°!°a±%¸3±ÀÑ1EÈÑ1KÑKØñÝ "ñ#Ø&,ñ7-ñ ".˜ð  ™	˜Ø˜ñ 0ð Ø¥™ 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   ra   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	  rh   rè   rê   ré   rë   Únumber_of_spacesÚnumber_of_dashesrž   Úadvancerø   rù   Ú
dash_widthÚdash_heightr  r  rû   r  s?   `` `                                                       @@@@r3   rE   rE   A  sj  øøøøøøø€ ð $Ñ€Cˆˆc�3Ø5:Ð5K¸mÑ2�J€Sˆ#‘
��c™J˜S #©
¨¨cØ"Ð2 a¨5¨(¡l�N€BˆˆB�ð$ð $ð $ð":ð :ð :ðMð Mð Mð Mð Mð Mð Mð ˆu‚}€}Ø/Ð/°°S¸"¸bÑAÔAÑ‰
ˆˆc�HØ/Ð/°°°c¸B¸3ÀÑCÔCÑ‰
ˆˆc�HØˆØˆØˆØˆˆØ	�ŠˆØ/Ð/°°°c¸B¸3ÀÑCÔCÑ‰
ˆˆc�HØ/Ð/°°°s°d¸R¸CÀ"ÀÑEÔEÑ‰
ˆˆc�HØˆØˆØˆØ˜C‘iˆˆØ	�Ò	Ð	Ø/Ð/°°c°T¸2À¸sÑCÔCÑ‰
ˆˆc�HØ/Ð/°°°s°d¸R¸CÀ"ÀÑEÔEÑ‰
ˆˆc�HØˆØˆØˆØ˜C‘iˆˆØ	�ŠˆØ/Ð/°°S¸"¸bÑAÔAÑ‰
ˆˆc�HØ/Ð/°°c°T¸2À¸sÑCÔ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Ô4Ð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Ô4Ð4Ø�Š�{ SÑ(¨#°©)°c©/Ñ:Ô:Ð:àÐ$Ð$Ñ$Ø Ò)Ð)ˆuˆu¨q°5©yˆØ�Š˜TˆÑ"Ô"Ð"Ø�
Š
‰ŒˆØð v	E�xñ v	Eà%Ð% b¨"Ñ-Ô-ˆDØ%Ð% b¨"Ñ-Ô-ˆDØ  4Ñ'¨$Ñ.ˆFÝ ¨¡Ñ.Ô.ˆKØð F˜Hð Fà ¨{¸Q©Ñ!>Ñ?��ð  ¨{¸Q©Ñ!>ÀÑ!DÑE�Ý˜D 4¨!¡8™O¨tÑ3Ñ4Ô4ˆGÝ˜D 4¨!¡8™O¨tÑ3Ñ4Ô4ˆGÝ˜ tÑ+Ñ,Ô,ˆDð6$ð 6$ð 6$ð 6$ð 6$ð 6$ð 6$ð 6$ð 6$ð 6$ð 6$ðp '˜; w°°c¸3ÀÀSÈ#ÈtÑTÔT‰LˆD�&Ø�;Ø˜ ˜t S¨3¡Y°°c±	¸3ÀÀTñKô KØKLôNˆDð ˜TÒ!Ð!Ý˜q $¨Ñ*Ô*ð 5ð 5�AØ˜‘K�AØÐ0Ð0Ð0Ø  3™Y¨¨T©Ñ1˜Ø  3™Y¨!¨a©%°4©Ñ7˜Ø(°S¸1²W°W¨E¨EÀ!ÑD˜Ø %™Z˜˜ØÐ!2Ð2Ð2Ø  3™Y¨¨T©Ñ1˜Ø  3™Y¨!¨a©%°4©Ñ7˜Ø(°S¸1²W°W¨E¨EÀ!ÑD˜Ø %™Z˜Ø�IØ˜b 2™g¨™]Ñ*¨B°"°r±'¸Q±Ñ,>Ø˜R™  b¡¨%°!©)ñ5ô 5ð 5ð 5øõ
  % V¨d¡]°QÑ%6Ñ7Ô7ÐØ/°!Ñ3ÐØ˜Ò Ð Ø�Ø#ð Ø#Ð&6¸Ñ&=Ñ=ÐAQÑQ�E�Eà�E�EØ˜(Ò"Ð"Ø%Ð)9Ð<LÑ)LÑMÐRÐQRÐR�˜ÝÐ+¨aÑ/Ñ0Ô0ð Eð E�Ø˜u t™|Ñ,�Ø˜5’=�=Ø  7™]¨T°A©XÑ5°s¸UÀQ¹Y±˜�BØ.2°E �J�JØ˜W’_�_Ø  3™Y¨°©Ñ2°C¸'±MÀDÈ1ÁHÑ4L˜�BØ.3°T �J�JØ˜XÒ%Ð%Ø  7™]¨T°A©XÑ5°s¸S±yÀ5È1Á9Ñ7L˜�BØ.2°E �J�JØ˜V’^�^Ø  5¨1¡9™_¨c°G©m¸dÀQ¹hÑ.F˜�BØ.3°T �JØ�	˜"˜b *¨k¸4À!¹8ÑDÔDÐDÐDØ
‡K‚K˜€KÑÔÐØ
‡J‚J�L„L€L€L€Lr5   c                 ó`  — |dv rî|                       |d         ¦  «         t          | |                     ¦   «         ¦  «         t          | |                     d¦  «        ¦  «         |                      d¬¦  «         |                       |d         ¦  «         t          | |                     d¦  «        ¦  «         t          | |                     ¦   «         ¦  «         |                      d¬¦  «         d S |                       |¦  «         t          | |                     ¦   «         ¦  «         |dk    rFt          | |                     d¦  «        ¦  «         t          | |                     d	¦  «        ¦  «         t          | |                     ¦   «         ¦  «         |                      d¬¦  «         d S )
N©ÚridgeÚgroover   r  Trÿ   r   rk   gUUUUUUÕ?gUUUUUUå?)Ú	set_colorÚrounded_boxrÄ   Úrounded_box_ratioÚfillr#   )r'   r(   r!   rN   s       r3   rv   rv   (  sŒ  € ØÐ#Ð#Ð#Ø×Ò˜˜qœÑ"Ô"Ð"Ý�F˜C×3Ò3Ñ5Ô5Ñ6Ô6Ð6Ý�F˜C×1Ò1°%Ñ8Ô8Ñ9Ô9Ð9Ø�Š˜TˆÑ"Ô"Ð"Ø×Ò˜˜qœÑ"Ô"Ð"Ý�F˜C×1Ò1°%Ñ8Ô8Ñ9Ô9Ð9Ý�F˜C×2Ò2Ñ4Ô4Ñ5Ô5Ð5Ø�Š˜TˆÑ"Ô"Ð"ØˆØ
×Ò�UÑÔÐÝ�˜×/Ò/Ñ1Ô1Ñ2Ô2Ð2Ø�ÒÐÝ�F˜C×1Ò1°%Ñ8Ô8Ñ9Ô9Ð9Ý�F˜C×1Ò1°%Ñ8Ô8Ñ9Ô9Ð9Ý�˜×.Ò.Ñ0Ô0Ñ1Ô1Ð1Ø
‡K‚K˜€KÑÔÐÐÐr5   c                 óî  — |\  }}}}|\  }	}
}}|dv �r|                       |d         ¦  «          | j        |Ž  |                      ||dz  z   ||	dz  z   |||
z   dz  z
  ||	|z   dz  z
  ¦  «         |                      d¬¦  «         |                      ||dz  z   ||	dz  z   |||
z   dz  z
  ||	|z   dz  z
  ¦  «         |                      ||z   ||	z   ||z
  |
z
  ||	z
  |z
  ¦  «         |                       |d         ¦  «         |                      d¬¦  «         d S |                       |¦  «          | j        |Ž  |dk    rx|                      ||dz  z   ||	dz  z   |||
z   dz  z
  ||	|z   dz  z
  ¦  «         |                      ||dz  dz  z   ||	dz  dz  z   |||
z   dz  dz  z
  ||	|z   dz  dz  z
  ¦  «         |                      ||z   ||	z   ||z
  |
z
  ||	z
  |z
  ¦  «         |                      d¬¦  «         d S )	Nr6  r   r
   Trÿ   r   rk   rl   )r9  r£   r<  )r'   r(   rz   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ô 	6ð 	6ð 	�Š˜TˆÑ"Ô"Ð"Ø×ÒØ�"�q‘&‰L˜#  Q¡™,Ø�2˜‘7˜a‘-Ñ ¨¨R©°1¡}Ñ!4ñ	6ô 	6ð 	6ð 	×Ò˜˜r™ 3¨¡8¨S°2©X¸©]¸CÀ"¹HÀr¹MÑJÔJÐJØ×Ò˜˜qœÑ"Ô"Ð"Ø�Š˜TˆÑ"Ô"Ð"ØˆØ
×Ò�UÑÔÐØ€FÔ�cÐÐØ�ÒÐØ×ÒØ�"�q‘&‰L˜#  Q¡™,Ø�2˜‘7˜a‘-Ñ ¨¨R©°1¡}Ñ!4ñ	6ô 	6ð 	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ÔFÐFØ
‡K‚K˜€KÑÔÐÐÐr5   c	           
      óÄ  — ||k    s||k    sJ ‚|                       ¦   «         5  |dvr|                      |d¬¦  «         |dk    r|                      d|z  g|¦  «         n6|dk    r0|                      d¦  «         |                      dd	|z  g|¦  «         |d
k    �r|                      |dz  ¦  «         ||k    rr|                      ||dz  z
  |¦  «         |                      ||dz  z
  |¦  «         |                      ||dz  z   |¦  «         |                      ||dz  z   |¦  «         �n||k    rp|                      |||dz  z
  ¦  «         |                      |||dz  z
  ¦  «         |                      |||dz  z   ¦  «         |                      |||dz  z   ¦  «         �n�|dv �rc|                      |d	z  ¦  «         |                      |d         d¬¦  «         ||k    r9|                      ||dz  z   |¦  «         |                      ||dz  z   |¦  «         n>||k    r8|                      |||dz  z   ¦  «         |                      |||dz  z   ¦  «         |                      ¦   «          |                      |d         d¬¦  «         ||k    r:|                      ||dz  z
  |¦  «         |                      ||dz  z
  |¦  «         �ng||k    r8|                      |||dz  z
  ¦  «         |                      |||dz  z
  ¦  «         �n'|dk    rà||k    sJ ‚d}	d|z  }
|                      ||d	|
z  z
  ||z
  d|
z  ¦  «         |  	                    ¦   «          |  
                    ¦   «          ||z
  }|                      ||¦  «         ||k     rc|                      |¦  «         |                      ||
d	z  z   ||	|
z  z   |d|
z  d	z  z   ||	|
z  z   |d	|
z  z   |¦  «         |d	|
z  z  }|	dz  }	||k     °cnA|                      |¦  «         |                      ||¦  «         |                      ||¦  «         |                      ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nr6  T)Ústrokerô   é   ró   r   r   r
   rk   rl   rm   Úwavyg      è?rü   )r@   r9  Úset_dashÚset_line_capÚset_line_widthrõ   r  r?  r£   r¤   r¥   rö   )r'   rè   ré   rê   rë   Ú	thicknessr!   rN   r	  ÚupÚradiusr)   s               r3   Ú	draw_linerH  Z  s  € Ø�Š8ˆ8�r˜R’x�x�x�xà	�ŠÑ	Ô	ð >ð >ØÐ+Ð+Ð+Ø×Ò˜U¨4ÐÑ0Ô0Ð0à�HÒÐØ�OŠO˜Q ™]˜O¨VÑ4Ô4Ð4Ð4Ø�hÒÐØ×Ò Ñ"Ô"Ð"Ø�OŠO˜Q  I¡Ð.°Ñ7Ô7Ð7à�HÒÑØ×!Ò! )¨a¡-Ñ0Ô0Ð0Ø�RŠxˆxØ—’˜r I°¡MÑ1°2Ñ6Ô6Ð6Ø—’˜r I°¡MÑ1°2Ñ6Ô6Ð6Ø—’˜r I°¡MÑ1°2Ñ6Ô6Ð6Ø—’˜r I°¡MÑ1°2Ñ6Ô6Ð6Ñ6Ø�r’�Ø—’˜r 2¨	°A©Ñ#5Ñ6Ô6Ð6Ø—’˜r 2¨	°A©Ñ#5Ñ6Ô6Ð6Ø—’˜r 2¨	°A©Ñ#5Ñ6Ô6Ð6Ø—’˜r 2¨	°A©Ñ#5Ñ6Ô6Ð6ùØÐ)Ð)Ñ)Ø×!Ò! )¨a¡-Ñ0Ô0Ð0Ø×Ò˜U 1œX¨dÐÑ3Ô3Ð3Ø�RŠxˆxØ—’˜r I°¡MÑ1°2Ñ6Ô6Ð6Ø—’˜r I°¡MÑ1°2Ñ6Ô6Ð6Ð6Ø�r’�Ø—’˜r 2¨	°A©Ñ#5Ñ6Ô6Ð6Ø—’˜r 2¨	°A©Ñ#5Ñ6Ô6Ð6Ø�MŠM‰OŒOˆOØ×Ò˜U 1œX¨dÐÑ3Ô3Ð3Ø�RŠxˆxØ—’˜r I°¡MÑ1°2Ñ6Ô6Ð6Ø—’˜r I°¡MÑ1°2Ñ6Ô6Ð6Ñ6Ø�r’�Ø—’˜r 2¨	°A©Ñ#5Ñ6Ô6Ð6Ø—’˜r 2¨	°A©Ñ#5Ñ6Ô6Ð6ùØ�fŠ_ˆ_Ø˜’8�8�8�8ØˆBØ˜IÑ%ˆFà×Ò˜R  a¨&¡j¡°"°r±'¸1¸v¹:ÑFÔFÐFØ�KŠK‰MŒMˆMØ�JŠJ‰LŒLˆLà�V‘ˆAØ�NŠN˜1˜bÑ!Ô!Ð!Ø�b’&�&Ø×%Ò% iÑ0Ô0Ð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   £P%QÑQÑQc                 ó:  — |j         d         }|j         d         }t          |j         d¦  «        }|j         d         }|j         d         dk    �r|�r|j        �r|                     ¦   «         |z
  |z
  |                     ¦   «         |z
  |z
  |                     ¦   «         d|z  z   d|z  z   |                     ¦   «         d|z  z   d|z  z   f}t          D ]“}|                      ¦   «         5  |  	                    ¦   «         5  t          | ||||¦  «         t          | |d|fz  |t          |||¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   Œ”|j        D ],}t          |t          j        ¦  «        rt#          | |¦  «         Œ-d S )	NÚoutline_widthÚoutline_offsetÚoutline_colorÚoutline_stylerQ   rR   r
   rm   )r!   r   rg   Úborder_box_xÚborder_box_yrÂ   rÃ   rr   rp   r@   rE   rF   r   r?   rn   r   ÚBoxÚdraw_outline)	r'   r(   rA   r	  rN   r!   Úoutline_boxra   rI   s	            r3   rQ  rQ  ž  s4  € ØŒI�oÔ&€EØŒYÐ'Ô(€FÝ�c”i Ñ1Ô1€EØŒI�oÔ&€EØ
„y�Ô )Ò+Ñ+°Ñ+¸%¼+Ñ+à×ÒÑÔ Ñ&¨Ñ/Ø×ÒÑÔ Ñ&¨Ñ/Ø×ÒÑÔ  U¡Ñ*¨Q°©ZÑ7Ø×ÒÑÔ ! e¡)Ñ+¨a°&©jÑ8ð	:ˆõ
 ð 	6ð 	6ˆDØ—’Ñ"Ô"ð 6ð 6 F§N¢NÑ$4Ô$4ð 6ð 6Ý# F¨E°5¸$ÀÑLÔLÐLÝ Ø˜K¨¨e¨X©°uÝ  ¨¨tÑ4Ô4ñ6ô 6ð 6ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6ð 6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6øð ”ð (ð (ˆÝ�e�UœYÑ'Ô'ð 	(Ý˜ Ñ'Ô'Ð'øð(ð (s6   Ã)EÃ>:EÄ8EÅEÅEÅEÅEÅE	Å"E	c           
      óü  — |\  }}}}}}}}	t          d„ ||||	fD ¦   «         ¦  «        r|                      ||||¦  «         dS d}
|                      ||d         z   |¦  «         |                      ||z   |d         z
  |¦  «         |                      ||z   |d         |
z  z
  |||z   ||d         |
z  z   ||z   ||d         z   ¦  «         |                      ||z   ||z   |d         z
  ¦  «         |                      ||z   ||z   |d         |
z  z
  ||z   |d         |
z  z
  ||z   ||z   |d         z
  ||z   ¦  «         |                      ||	d         z   ||z   ¦  «         |                      ||	d         |
z  z   ||z   |||z   |	d         |
z  z
  |||z   |	d         z
  ¦  «         |                      |||d         z   ¦  «         |                      |||d         |
z  z   ||d         |
z  z   |||d         z   |¦  «         dS )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 V — Œ	dS )r   N© )r`   Úcorners     r3   ú	<genexpr>zrounded_box.<locals>.<genexpr>¿  s&   è è € Ð
6Ð
6˜6ˆ1�ˆ;Ð
6Ð
6Ð
6Ð
6Ð
6Ð
6r5   NgÍÌÌÌÌÌÜ?r   r   )r9   r£   rõ   r  rö   )r'   r  r)   r*   r+   r,   r-   r.   r/   r0   rú   s              r3   r:  r:  µ  sU  € ð "'Ñ€A€qˆ!ˆQ��B˜˜Bå
Ð
6Ð
6 b¨"¨b°"Ð%5Ð
6Ñ
6Ô
6Ñ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ô Fð 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ô Fð 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   rr   r4   rO   r�   r&   rE   rv   rF   rH  rQ  r:  rU  r5   r3   ú<module>r]     sm  ðØ Ð à 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5à (Ð (Ð (Ð (Ð (Ð (Ø Ð Ð Ð Ð Ð Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø Ð Ð Ð Ð Ð Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *à*€ð(ð (ð (ðSð Sð Sð89Vð 9Vð 9VðxJRð JRð JRð\ 37ðdð dð dð dðNð ð ð(ð ð ð<Að Að Að AðH(ð (ð (ð.:ð :ð :ð :ð :r5   