§
    ¥”j%  ã                   ó”   — d Z ddlmZ ddlmZ ddlmZ ddlmZm	Z	 ddl
mZ dd	lmZ dd
lmZ ed„ ¦   «         Zd„ Zd„ Zdd„Zdd„ZdS )zLayout for floating boxes.é    )Úinfé   )Úboxesé   )Úhandle_min_max_width)Úresolve_percentagesÚresolve_position_percentages)Úshrink_to_fit)Ú inline_replaced_box_width_height)Útable_wrapper_widthc                 óV   — | j         dk    rt          || |j         ¦  «        | _         d S d S )NÚauto)Úwidthr
   )ÚboxÚcontextÚcontaining_blocks      úf/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/weasyprint/layout/float.pyÚfloat_widthr      s4   € ð „y�FÒÐÝ! '¨3Ð0@Ô0FÑGÔGˆŒ	ˆ	ˆ	ð Ðó    c                 óB  — ddl m} ddlm} ddlm}	 |j        |j        }}
t          ||
|f¦  «         |dk    r|j	        | 
                    ¦   «         z
  }t          ||
|f¦  «         |j        dk    rd|_        |j        dk    rd|_        |j        dk    rd|_        |j        dk    rd|_        t!          | |¦  «        }|�|xj	        |z  c_	        t#          |t$          j        ¦  «        rt)          ||¦  «         n|j        dk    rt+          || |¦  «         |j        rt/          | ||
|f¦  «         t#          |t$          j        ¦  «        r || |||d||dddd	d¬
¦  «        \  }}}}}}n‡t#          |t$          j        ¦  «        r || ||||d||d	¬¦	  «	        \  }}}}}nRt#          |t$          j        ¦  «        r |	| ||||d||¬¦  «        \  }}}}}nt#          |t$          j        ¦  «        sJ ‚d}t7          | ||¦  «        }| j                             |¦  «         ||fS )z/Set the width and position of floating ``box``.r   )Úblock_container_layout)Úflex_layout)Úgrid_layoutr   r   NTF)
Úbottom_spaceÚ
skip_stackÚpage_is_emptyÚabsolute_boxesÚfixed_boxesÚadjoining_marginsÚfirst_letter_styleÚfirst_line_styleÚdiscardÚ	max_lines)r   r   r   r   r   r   r"   )r   r   r   r   r   r   )Úblockr   Úflexr   Úgridr   r   Úheightr   Ú
position_yÚcontent_box_yr	   Úmargin_leftÚmargin_rightÚ
margin_topÚmargin_bottomÚget_clearanceÚ
isinstancer   ÚBlockReplacedBoxr   r   Úis_table_wrapperr   ÚBlockContainerBoxÚFlexContainerBoxÚGridContainerBoxÚfind_float_positionÚexcluded_shapesÚappend)r   r   r   r   r   r   r   r   r   r   Úcb_widthÚ	cb_heightÚ	clearanceÚ	resume_atÚ_s                  r   Úfloat_layoutr=      sÏ  € ð .Ð-Ð-Ð-Ð-Ð-Ø!Ð!Ð!Ð!Ð!Ð!Ø!Ð!Ð!Ð!Ð!Ð!à+Ô1Ð3CÔ3Jˆi€HÝ˜˜h¨	Ð2Ñ3Ô3Ð3ð �FÒÐàÔ'Ð*:×*HÒ*HÑ*JÔ*JÑJð 	õ !  x°Ð&;Ñ<Ô<Ð<à
„˜&Ò Ð ØˆŒØ
Ô˜6Ò!Ð!ØˆÔØ
„~˜ÒÐØˆŒØ
Ô˜FÒ"Ð"ØˆÔå˜g sÑ+Ô+€IØÐØˆŒ˜)Ñ#ˆŒå�#•uÔ-Ñ.Ô.ð 4Ý(¨Ð.>Ñ?Ô?Ð?Ð?Ø	Œ�fÒ	Ð	Ý�C˜Ð"2Ñ3Ô3Ð3à
Ôð AÝ˜G S¨8°YÐ*?Ñ@Ô@Ð@å�#•uÔ.Ñ/Ô/ð Ø%;Ð%;Ø�S |À
Ø¨~È;Ø"°tÈdØ Tð	&+ñ &+ô &+Ñ"ˆˆY˜˜1˜a  õ
 
�C�Ô/Ñ	0Ô	0ð Ø"- +Ø�S |Ø!Ð4DØ¨~Ø#¨Uð	#4ñ #4ô #4ÑˆˆY˜˜1˜a˜aõ
 
�C�Ô/Ñ	0Ô	0ð Ø"- +Ø�S |Ø!Ð4DØ¨~Ø#ð	#%ñ #%ô #%ÑˆˆY˜˜1˜a˜aõ ˜#�uÔ5Ñ6Ô6Ð6Ð6Ð6Øˆ	å
˜g sÐ,<Ñ
=Ô
=€CàÔ×"Ò" 3Ñ'Ô'Ð'Ø�	ˆ>Ðr   c                 óV  — | j         r;| j         d         j        }|j        |k     r|                     d||j        z
  ¦  «         t          | ||¦  «        \  }}}|j        d         dk    r|||                     ¦   «         z
  z  }|                     ||j        z
  ||j        z
  ¦  «         |S )z,Get the right position of the float ``box``.éÿÿÿÿr   ÚfloatÚright)r6   r(   Ú	translateÚavoid_collisionsÚstyleÚmargin_widthÚ
position_x)r   r   r   Ú	highest_yrF   r(   Úavailable_widths          r   r5   r5   X   s½   € ð Ôð 9ØÔ+¨BÔ/Ô:ˆ	ØŒ>˜IÒ%Ð%Ø�MŠM˜!˜Y¨¬Ñ7Ñ8Ô8Ð8õ /?Ø�Ð&ñ/(ô /(Ñ+€J�
˜Oð „y�Ô˜WÒ$Ð$Ø�o¨×(8Ò(8Ñ(:Ô(:Ñ:Ñ:ˆ
à‡M‚M�*˜sœ~Ñ-¨z¸C¼NÑ/JÑKÔKÐKà€Jr   c                 óh  — | j         D ];}|                     ¦   «         r%|j        d         |j        d         dfv r	t          c S Œ<d}|j        |z   }| j        D ]Z}|j        d         |j        d         dfv r<|j        |                     ¦   «         }}|||z   k     rt          |pd||z   |z
  ¦  «        }Œ[|S )zDReturn None if there is no clearance, otherwise the clearance value.Úclearr@   ÚbothNr   )Úbroken_out_of_flowÚ
is_floatedrD   r   r(   r6   Úmargin_heightÚmax)	r   r   Úcollapsed_marginÚbroken_shaper:   Úhypothetical_positionÚexcluded_shapeÚyÚhs	            r   r.   r.   t   së   € ð  Ô2ð ð ˆØ×"Ò"Ñ$Ô$ð 	ØŒy˜Ô! lÔ&8¸Ô&AÀ6Ð%JÐJÐJÝ�
�
�
øà€IØœNÐ-=Ñ=ÐØ!Ô1ð Eð EˆØŒ9�WÔ .Ô"6°wÔ"?ÀÐ!HÐHÐHØ!Ô,¨n×.JÒ.JÑ.LÔ.LˆqˆAØ$ q¨1¡uÒ,Ð,ÝØ�^ ! a¨!¡eÐ.CÑ&CñEô E�	øàÐr   Tc                 óà  — | j         }|r|j        n|                     ¦   «         }|r|                     ¦   «         n|                     ¦   «         }|r|                     ¦   «         n|                     ¦   «         }|                     ¦   «         dk    r|                     ¦   «         r
dd|j        fS 	 g }|D ]k}	|	j        }
|	                     ¦   «         }|
|cxk     r	|
|z   k     s)n |
||z   cxk     r	|
|z   k     sn |
|k    r!|
|z   ||z   k    r| 	                    |	¦  «         Œld„ |D ¦   «         }d„ |D ¦   «         }| 
                    ¦   «         }| 
                    ¦   «         |j        z   }|s||j        z  }||j        z  }|s|rj|rt          t          |¦  «        |¦  «        }|rt          t          |¦  «        |¦  «        }|||z
  k    r#t          d„ |D ¦   «         ¦  «        }||k    r|}�Œ=	 |j        d         dv sQt!          |t"          j        ¦  «        s7|j        s0t!          |t"          j        ¦  «        s|                     ¦   «         sJ ‚|}|j        d         dk    rp|j        d	         d
k    r_t!          |t"          j        ¦  «        r|}nB|j        r||z
  }n5t!          |t"          j        ¦  «        s|                     ¦   «         sJ ‚||z
  }||z
  }|s||j        z  }||j        z  }|||fS )Nr   Tc                 óh   — g | ]/}|j         d          dk    ¯|j        |                     ¦   «         z   ‘Œ0S )r@   Úleft)rD   rF   rE   ©Ú.0Úshapes     r   ú
<listcomp>z$avoid_collisions.<locals>.<listcomp>Ÿ   sH   € ð /ð /ð /àØŒ{˜7Ô# vÒ-Ð-ð Ô˜u×1Ò1Ñ3Ô3Ñ3à-Ð-Ð-r   c                 ó>   — g | ]}|j         d          dk    ¯|j        ‘ŒS )r@   rA   )rD   rF   rY   s     r   r\   z$avoid_collisions.<locals>.<listcomp>£   s7   € ð 0ð 0ð 0àØŒ{˜7Ô# wÒ.Ð.ð Ôà.Ð.Ð.r   c              3   óN   K  — | ] }|j         |                     ¦   «         z   V — Œ!d S )N)r(   rN   rY   s     r   ú	<genexpr>z#avoid_collisions.<locals>.<genexpr>»   sJ   è è € ð %3ð %3àð Ô$ u×':Ò':Ñ'<Ô'<Ñ<ð%3ð %3ð %3ð %3ð %3ð %3r   r@   )rA   rX   ÚnoneÚ	directionÚrtl)r6   r(   Úborder_box_yrE   Úborder_widthrN   Úborder_heightrM   r   r7   Úcontent_box_xr*   r+   rO   ÚminrD   r/   r   ÚLineBoxr1   r0   Úestablishes_formatting_contextr,   )r   r   r   Úouterr6   r(   Ú	box_widthÚ
box_heightÚcolliding_shapesr[   Úshape_position_yÚshape_margin_heightÚleft_boundsÚright_boundsÚmax_left_boundÚmax_right_boundÚnew_position_yrF   rH   s                      r   rC   rC   ‡   s  € ØÔ-€OØ#(Ð@�”�¨c×.>Ò.>Ñ.@Ô.@€Jà&+ÐC�× Ò Ñ"Ô"Ð"°×1AÒ1AÑ1CÔ1C€IØ(-ÐF�×"Ò"Ñ$Ô$Ð$°3×3DÒ3DÑ3FÔ3F€Jà
×ÒÑÔ˜aÒÐ C§N¢NÑ$4Ô$4ÐØ�!Ð%Ô+Ð+Ð+ð2ØÐØ$ð 	/ð 	/ˆEà$Ô/ÐØ"'×"5Ò"5Ñ"7Ô"7ÐØ! Jð 8ð 8ò 8ð 8Ø!Ð$7Ñ7ò8ð 8ð 8ð 8à! J°Ñ$;ð 8ð 8ò 8ð 8Ø!Ð$7Ñ7ò8ð 8ð 8ð 8à! ZÒ/Ð/Ø!Ð$7Ñ7Ø˜jÑ(ò)ð )à ×'Ò'¨Ñ.Ô.Ð.øð/ð /à)ð/ñ /ô /ˆð0ð 0à)ð0ñ 0ô 0ˆð *×7Ò7Ñ9Ô9ˆà×*Ò*Ñ,Ô,Ð/?Ô/EÑEð 	ð ð 	0Ø˜cœoÑ-ˆNØ˜sÔ/Ñ/ˆOð ð 	˜,ð 	Øð GÝ!$¥S¨Ñ%5Ô%5°~Ñ!FÔ!F�Øð JÝ"%¥c¨,Ñ&7Ô&7¸Ñ"IÔ"I�ð ˜?¨^Ñ;Ò;Ð;å!$ð %3ð %3à!1ð%3ñ %3ô %3ñ "3ô "3�ð " JÒ.Ð.à!/�JÙàð 
Œ�7Ô	Ð0Ð	0Ð	0Ý�3�œÑ&Ô&ð 
1àÔð 
1õ 	�3�Ô.Ñ/Ô/ð 
1ð 	×*Ò*Ñ,Ô,ð	 
1Ð	0Ð	0ð  €JØ
„y�Ô˜VÒ#Ð#ØÔ! +Ô.°%Ò7Ð7Ý˜#�uœ}Ñ-Ô-ð 9ð -�
�
ØÔ%ð 
9ð -¨yÑ8�
�
õ
 ˜s¥EÔ$:Ñ;Ô;ð:à×6Ò6Ñ8Ô8ð:ð :ð :ð -¨yÑ8�
à%¨Ñ6€Oàð %Ø�c”oÑ%ˆ
Ø�c”nÑ$ˆ
à�z ?Ð2Ð2r   N)r   )T)Ú__doc__Úmathr   Úformatting_structurer   Úmin_maxr   Úpercentr   r	   Ú	preferredr
   Úreplacedr   Útabler   r   r=   r5   r.   rC   © r   r   ú<module>r~      s  ðØ  Ð  à Ð Ð Ð Ð Ð à (Ð (Ð (Ð (Ð (Ð (Ø )Ð )Ð )Ð )Ð )Ð )Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ FØ $Ð $Ð $Ð $Ð $Ð $Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø &Ð &Ð &Ð &Ð &Ð &ð ðHð Hñ ÔðHð@ð @ð @ðFð ð ð8ð ð ð ð&f3ð f3ð f3ð f3ð f3ð f3r   