Ë
    £ëiA  ã                   ó@   — d Z ddlmZ ddlmZ  G d„ d«      Zd„ Zd„ Zy)	zStacking contexts management.é   )Úboxes)ÚAbsolutePlaceholderc                   ó8   — e Zd ZdZd„ Zed„ «       Zedd„«       Zy)ÚStackingContextz©Stacking contexts define the paint order of all pieces of a document.

    https://www.w3.org/TR/CSS21/visuren.html#x43
    https://www.w3.org/TR/CSS21/zindex.html

    c                 ó.  — || _         || _        || _        || _        g | _        g | _        g | _        || _        |D ]s  }|j                  dk  r| j                  j                  |«       Œ.|j                  dk(  r| j
                  j                  |«       ŒY| j                  j                  |«       Œu | j                  j                  d„ ¬«       | j                  j                  d„ ¬«       |j                  d   | _        | j                  dk(  rd| _        y y )Né    c                 ó   — | j                   S ©N©Úz_index©Úcontexts    úS/var/www/html/chat/reports/venv/lib/python3.12/site-packages/weasyprint/stacking.pyú<lambda>z*StackingContext.__init__.<locals>.<lambda>    ó
   € ¸'¿/¹/€ ó    )Úkeyc                 ó   — | j                   S r
   r   r   s    r   r   z*StackingContext.__init__.<locals>.<lambda>!   r   r   r   Úauto)ÚboxÚpageÚblock_level_boxesÚfloat_contextsÚnegative_z_contextsÚzero_z_contextsÚpositive_z_contextsÚblocks_and_cellsr   ÚappendÚsortÚstyle)Úselfr   Úchild_contextsÚblocksÚfloatsr   r   r   s           r   Ú__init__zStackingContext.__init__   sÿ   € àˆŒØˆŒ	Ø!'ˆÔØ$ˆÔØ#%ˆÔ Ø!ˆÔØ#%ˆÔ Ø 0ˆÔà%ò 	9ˆGØ�‰ Ò"Ø×(Ñ(×/Ñ/°Õ8Ø—‘ AÒ%Ø×$Ñ$×+Ñ+¨GÕ4à×(Ñ(×/Ñ/°Õ8ð	9ð 	× Ñ ×%Ñ%Ñ*IÐ%ÔJØ× Ñ ×%Ñ%Ñ*IÐ%ÔJð —y‘y Ñ+ˆŒØ�<‰<˜6Ò!ØˆD�Lð "r   c                 óš   — |j                   D �cg c]  }| j                  ||«      ‘Œ }}|j                  g «      } | ||g g i |«      S c c}w r
   )ÚchildrenÚfrom_boxÚcopy_with_children)Úclsr   Úchildr"   s       r   Ú	from_pagezStackingContext.from_page)   sS   € ð BFÇÁÖO¸˜#Ÿ,™, u¨dÕ3ÐOˆÐOà×&Ñ& rÓ*ˆÙ�4˜¨¨R°°TÓ:Ð:ùò Ps   �ANc                 óT   — g }|€|}g }g }i }t        ||||||«      } | ||||||«      S r
   )Ú_dispatch_children)r*   r   r   r"   r'   r#   r$   r   s           r   r(   zStackingContext.from_box2   sS   € àˆØÐ!Ø%ˆNð ˆØˆØÐÜ Ø��~ v¨vÐ7GóIˆá�3˜ &¨&Ð2BÀDÓIÐIr   r
   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r%   Úclassmethodr,   r(   © r   r   r   r      s6   „ ñòð6 ñ;ó ð;ð òJó ñJr   r   c                 óþ  — t        | t        «      r| j                  } | j                  }|d   dk7  xr |d   dk7  xs1 | j                  xr |d   dk7  xs |d   dk  xs |d   xs |d   d	k7  }|r&|j                  t        j                  | |«      «       y t        j                  t        j                  t        j                  f}|d   dk7  r?|d   dk(  sJ ‚t        |«      }	t        j                  | ||«      }
|j                  |	|
«       y | j                  «       r'|j                  t        j                  | ||«      «       y t        | |«      rt        j                  | ||«      S t        | t        j                  «      r6t        |«      }i }t!        | |||||«      } |j                  || «       ||| <   | S t        | t        j"                  «      ri }t!        | |||||«      } ||| <   | S d }d }t!        | |||||«      } | S )
NÚpositionÚstaticr   r   Úopacityr   Ú	transformÚoverflowÚvisible)Ú
isinstancer   Ú_boxr    Úis_grid_itemr   r   r(   r   ÚInlineBlockBoxÚInlineFlexBoxÚInlineGridBoxÚlenÚinsertÚ
is_floatedÚBlockLevelBoxr.   ÚTableCellBox)r   r   r"   r#   r$   r   r    Údefines_stacking_contextÚstacking_classesÚindexÚstacking_contextÚblocks_indexÚbox_blocks_and_cellss                r   Ú	_dispatchrM   E   s7  € Ü�#Ô*Ô+Ø�h‰hˆØ�I‰I€Eð 
ˆzÑ	˜hÑ	&Ò	E¨5°Ñ+;¸vÑ+Eò 	'Ø	×	Ñ	Ò	8˜e IÑ.°&Ñ8ò	'àˆiÑ˜1Ñò	'ð 	ˆkÑò	'ð 	ˆjÑ˜YÑ&ð ñ  Ø×Ñœo×6Ñ6°s¸DÓAÔBØä×,Ñ,¬e×.AÑ.AÄ5×CVÑCVÐWÐØˆZÑ˜HÒ$Ø�YÑ 6Ò)Ð)Ð)ô �NÓ#ˆÜ*×3Ñ3°C¸¸~ÓNÐØ×Ñ˜eÐ%5Õ6Ø	�‰Ô	Ø�‰”o×.Ñ.¨s°D¸.ÓIÕJÜ	�CÐ)Ô	*ô ×'Ñ'¨¨T°>ÓBÐBä�cœ5×.Ñ.Ô/Ü˜v›;ˆLØ#%Ð Ü$Ø�T˜>¨6°6Ð;OóQˆCà�M‰M˜,¨Ô,Ø$8Ð˜SÑ!ð ˆ
ô ˜œU×/Ñ/Ô0Ø#%Ð Ü$Ø�T˜>¨6°6Ð;OóQˆCà$8Ð˜SÑ!ð ˆ
ð  ˆLØ#'Ð Ü$Ø�T˜>¨6°6Ð;KóMˆCð ˆ
r   c           	      óÊ   — t        | t        j                  «      s| S g }| j                  D ]&  }t	        ||||||«      }|€Œ|j                  |«       Œ( | j                  |«      S r
   )r<   r   Ú	ParentBoxr'   rM   r   r)   )	r   r   r"   r#   r$   r   Únew_childrenr+   Úresults	            r   r.   r.   y   sm   € ä�cœ5Ÿ?™?Ô+Øˆ
à€LØ—‘ò (ˆÜØ�4˜¨°Ð9IóKˆàÑØ×Ñ Õ'ð	(ð
 ×!Ñ! ,Ó/Ð/r   N)r2   Úformatting_structurer   Úlayout.absoluter   r   rM   r.   r4   r   r   ú<module>rT      s&   ðÙ #å 'Ý 0÷;Jñ ;Jò|1óh0r   