Ë
    £ëi{^  ã                   óš
  — d 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d	lmZ dd
lmZmZmZ ddlmZmZmZ ddlmZ dD � �ci c]  \  } }| ed   |z  “Œ c}} ZddddœZed   ed   k(  sJ ‚ddddddddddœ	ddddddddddœ	dœZdD ����ci c]  \  }}}}| e||«       e||«      f“Œ c}}}}Z ed„ ej;                  «       D «       «      sJ ‚ed   Z ed„ eD «       «      ed<   i Z d„ Z!d „ Z" e!d!«      d"„ «       Z# e!d#«       e!d$«       e!d%«       e!d&«       e!d'«       e!d(«       e!d)«       e!d*«       e!d+«      d,„ «       «       «       «       «       «       «       «       «       Z$ e!d-«       e!d.«      d/„ «       «       Z% e!d0«      d1„ «       Z& e!d2«       e!d«       e!d3«      d4„ «       «       «       Z' e!d5«       e!d6«      d7„ «       «       Z( e!d8«       e!d9«       e!d:«       e!d;«       e!d<«       e!d=«       e!d>«       e!d?«       e!d@«       e!dA«       e!dB«       e!dC«       e!dD«       e!dE«       e!dF«       e!dG«       e!dH«       e!dI«       e!dJ«       e!dK«       e!dL«       e!dM«       e!dN«      d¡dP„«       «       «       «       «       «       «       «       «       «       «       «       «       «       «       «       «       «       «       «       «       «       «       Z) e!dQ«       e!dR«       e!dS«       e!dT«      dU„ «       «       «       «       Z* e!dV«      dW„ «       Z+ e!dX«      dY„ «       Z, e!dZ«      d[„ «       Z- e!d\«       e!d]«       e!d^«       e!d_«       e!d`«       e!da«      db„ «       «       «       «       «       «       Z. e!dc«       e!dd«      de„ «       «       Z/ e!df«       e!dg«      dh„ «       «       Z0 e!di«       e!dj«      dk„ «       «       Z1 e!dl«       e!dm«      dn„ «       «       Z2 e!do«       e!dp«      dq„ «       «       Z3 e!dr«       e!ds«       e!dt«       e!du«      dv„ «       «       «       «       Z4 e!dw«       e!dx«      dy„ «       «       Z5dz„ Z6 e!d{«      d|„ «       Z7 e!d}«      d~„ «       Z8 e!d«      d€„ «       Z9 e!d�«      d‚„ «       Z: e!dƒ«      d„„ «       Z; e!d…«      d†„ «       Z< e!d‡«      dˆ„ «       Z=d‰„ Z>dŠ„ Z? e!d‹«       e!dŒ«      d�„ «       «       Z@ e!dŽ«       e!d�«      d�„ «       «       ZA e!d‘«      d’„ «       ZB e!d“«      d”„ «       ZC e!d•«      d–„ «       ZD e!d—«      d˜„ «       ZE e!d™«      dš„ «       ZF e!d›«      dœ„ «       ZG e!d�«      dž„ «       ZH e!dŸ«      d „ «       ZIyOc c}} w c c}}}}w )¢z7Convert specified property values into computed values.é    )Úpi©Úparse_coloré   )ÚLOGGER)Ústrut)Úget_link_attributeÚget_url_tupleé   )Ú
check_math)ÚINITIAL_VALUESÚZERO_PIXELSÚ	Dimension)ÚANGLE_TO_RADIANSÚLENGTH_UNITSÚ	to_pixels)Úvalidate_non_shorthand))zxx-smallg333333ã?)zx-smallg      è?)ÚsmallgÇqÇqì?)Úmediumr   )Úlargeç333333ó?)zx-largeg      ø?)zxx-larger   Ú	font_sizeé   é   )Úthinr   ÚthickÚborder_top_widthr   é�  é¼  é„  )	éd   éÈ   i,  r   éô  iX  r   i   r    r!   ©ÚbolderÚlighter)/)Úa10é   é%   Úmm)Úa9r)   é4   r*   )Úa8r,   éJ   r*   )Úa7r.   éi   r*   )Úa6r0   é”   r*   )Úa5r2   éÒ   r*   )Úa4r4   é)  r*   )Úa3r6   é¤  r*   )Úa2r8   éR  r*   )Úa1r:   éI  r*   )Úa0r<   i¥  r*   )Úb10é   é,   r*   )Úb9r@   é>   r*   )Úb8rB   éX   r*   )Úb7rD   é}   r*   )Úb6rF   é°   r*   )Úb5rH   éú   r*   )Úb4rJ   éa  r*   )Úb3rL   r#   r*   )Úb2r#   éÃ  r*   )Úb1rO   éè  r*   )Úb0rQ   i†  r*   )Úc10é   é(   r*   )Úc9rU   é9   r*   )Úc8rW   éQ   r*   )Úc7rY   ér   r*   )Úc6r[   é¢   r*   )Úc5r]   éå   r*   )Úc4r_   éD  r*   )Úc3ra   éÊ  r*   )Úc2rc   éˆ  r*   )Úc1re   é•  r*   )Úc0rg   i  r*   )zjis-b10é    é-   r*   )zjis-b9rj   é@   r*   )zjis-b8rk   é[   r*   )zjis-b7rl   é€   r*   )zjis-b6rm   é¶   r*   )zjis-b5rn   é  r*   )zjis-b4ro   él  r*   )zjis-b3rp   é  r*   )zjis-b2rq   éØ  r*   )zjis-b1rr   é  r*   )zjis-b0rs   i°  r*   )Úletterç      !@é   Úin)Úlegalru   é   rw   )Úledgerrv   é   rw   c              #   óT   K  — | ]   \  }}|j                   |j                   k  –— Œ" y ­w©N)Úvalue)Ú.0ÚwidthÚheights      ú^/var/www/html/chat/reports/venv/lib/python3.12/site-packages/weasyprint/css/computed_values.pyú	<genexpr>rƒ   y   s!   è ø€ Ò
O©-¨%°ˆ5�;‰;˜Ÿ™Õ%Ñ
Oùs   ‚&(r5   c              #   ó6   K  — | ]  }t        |d d«      –— Œ y ­w)NÚsize)r   )r   r…   s     r‚   rƒ   rƒ   |   s    è ø€ ò AØ&*„Iˆd�D˜&×!ñAùs   ‚r…   c                 ó6   ‡ — ‰ j                  dd«      Š ˆ fd„}|S )z9Decorator registering a property ``name`` for a function.ú-Ú_c                 ó   •— | t         ‰<   | S )z0Register the property ``name`` for ``function``.)ÚCOMPUTER_FUNCTIONS)ÚfunctionÚnames    €r‚   Ú	decoratorz$register_computer.<locals>.decoratorˆ   s   ø€ à#+Ô˜4Ñ Øˆó    )Úreplace)rŒ   r�   s   ` r‚   Úregister_computerr�   „   s    ø€ à�<‰<˜˜SÓ!€Dôð ÐrŽ   c                 óž  — |\  }}|dk(  sJ ‚|\  }}}	 | j                   j                  ||«      }|dk(  r�n|dk(  rt        || j                  «      }né|dk(  rt	        |j                  «       | d   «      }nÆ|dk(  rt        |j                  «       «      }n§|dk(  rt        |j                  «       «      }nˆ|dk(  r&t        t        |j                  «       «      d«      }d	}n]|t        v r&t        t        |j                  «       «      |«      }d	}n/|t        v r&t        t        |j                  «       «      |«      }d
}ny ||fS # t        $ r Y y w xY w)Núattr()ÚstringÚurlÚcolorÚcolor_schemeÚintegerÚnumberú%ÚlengthÚangle)ÚelementÚgetr
   Úbase_urlr   ÚstripÚintÚfloatr   r   r   Ú	Exception)ÚstyleÚvaluesÚ	func_namer~   Ú	attr_nameÚtype_or_unitÚfallbackÚ
attr_values           r‚   Úcompute_attrrª   �   sX  € ð Ñ€IˆuØ˜Ò Ð Ð Ø(-Ñ%€Iˆ|˜XðØ—]‘]×&Ñ& y°(Ó;ˆ
Ø˜8Ò#ÙØ˜UÒ"Ü& z°5·>±>ÓB‰JØ˜WÒ$Ü$ Z×%5Ñ%5Ó%7¸¸~Ñ9NÓO‰JØ˜YÒ&Ü˜Z×-Ñ-Ó/Ó0‰JØ˜XÒ%Ü˜z×/Ñ/Ó1Ó2‰JØ˜SÒ Ü"¤5¨×)9Ñ)9Ó);Ó#<¸cÓBˆJØ#‰LØœ\Ñ)Ü"¤5¨×)9Ñ)9Ó);Ó#<¸lÓKˆJØ#‰LØÔ-Ñ-Ü"¤5¨×)9Ñ)9Ó);Ó#<¸lÓKˆJØ"‰Làð ˜*Ð%Ð%øô ò Ùðús   ”D'E  Å 	EÅEzbackground-imagec                 óX  ‡ ‡— |D ]¢  \  }}|dv rHt        ˆˆ fd„|j                  D «       «      |_        t        ˆˆ fd„|j                  D «       «      |_        |dk(  sŒXt        ‰ ‰|j                  f«      \  |_        |j
                  dk(  sŒ‡t        ‰ ‰|j                  «      |_        Œ¤ |S )z-Compute lenghts in gradient background-image.)zlinear-gradientúradial-gradientc              3   ó@   •K  — | ]  }|�t        ‰‰|«      nd –— Œ y ­wr}   ©rš   )r   ÚposrŒ   r£   s     €€r‚   rƒ   z#background_image.<locals>.<genexpr>¶   s+   øè ø€ ò )1àð -0¨O”�u˜d CÔ(ÀÓEñ)1ùó   ƒc              3   ó@   •K  — | ]  }|�t        ‰‰|«      nd –— Œ y ­wr}   r®   )r   ÚhintrŒ   r£   s     €€r‚   rƒ   z#background_image.<locals>.<genexpr>¹   s,   øè ø€ ò &/àð .2Ð-=”�u˜d DÔ)À4ÓGñ&/ùr°   r¬   Úexplicit)ÚtupleÚstop_positionsÚcolor_hintsÚcompute_positionÚcenterÚ	size_typeÚlength_or_percentage_tupler…   ©r£   rŒ   r¤   Útype_r~   s   ``   r‚   Úbackground_imager½   ±   s²   ù€ ð ò Q‰ˆˆuØÐ:Ñ:Ü#(ô )1à ×/Ñ/ô)1ó $1ˆEÔ ô !&ô &/à!×-Ñ-ô&/ó !/ˆEÔð Ð%Ó%Ü,Ø�t˜eŸl™l˜_ó.‰MˆEŒLà�‰ *Ó,Ü7¸¸tÀUÇZÁZÓP�•
ðQð €MrŽ   r•   zbackground-colorzborder-top-colorzborder-right-colorzborder-bottom-colorzborder-left-colorzcolumn-rule-colorzoutline-colorztext-decoration-colorc                 ó    — t        || d   «      S )Nr–   r   ©r£   rŒ   r¤   s      r‚   r•   r•   Ä   s   € ô �v˜u ^Ñ4Ó5Ð5rŽ   zbackground-positionzobject-positionc                 ó0   ‡ ‡— t        ˆˆ fd„|D «       «      S )z'Compute lengths in background-position.c           	   3   ó`   •K  — | ]%  \  }}}}|t        ‰‰|«      |t        ‰‰|«      f–— Œ' y ­wr}   r®   )r   Úorigin_xÚpos_xÚorigin_yÚpos_yrŒ   r£   s        €€r‚   rƒ   z#compute_position.<locals>.<genexpr>Õ   sA   øè ø€ ò 8ñ -ˆH�e˜X uð 
”6˜%  uÓ-Ø	”6˜%  uÓ-ô	/ñ8ùs   ƒ+.©r´   r¿   s   `` r‚   r·   r·   Ñ   s!   ù€ ô ô 8ð 17ô8ó 8ð 8rŽ   ztransform-originc                 ó0   ‡ ‡— t        ˆˆ fd„|D «       «      S )z5Compute the lists of lengths that can be percentages.c              3   ó8   •K  — | ]  }t        ‰‰|«      –— Œ y ­wr}   r®   ©r   r~   rŒ   r£   s     €€r‚   rƒ   z-length_or_percentage_tuple.<locals>.<genexpr>Þ   ó   øè ø€ Ò@°”˜˜t U×+Ñ@ùó   ƒrÆ   r¿   s   `` r‚   rº   rº   Û   s   ù€ ô Ô@¸Ô@Ó@Ð@rŽ   zborder-spacingÚclipc                 ó0   ‡ ‡— t        ˆˆ fd„|D «       «      S )z.Compute the properties with a list of lengths.c              3   ó<   •K  — | ]  }t        ‰‰|d ¬«      –— Œ y­w)T©Úpixels_onlyNr®   rÉ   s     €€r‚   rƒ   zlength_tuple.<locals>.<genexpr>æ   s   øè ø€ ÒRÀ%”˜˜t U¸×=Ð=ÑRùs   ƒrÆ   r¿   s   `` r‚   Úlength_tuplerÑ   á   s   ù€ ô
 ÔRÈ6ÔRÓRÐRrŽ   zbreak-afterzbreak-beforec                 ó   — |dk(  rdS |S )z<Compute the ``break-before`` and ``break-after`` properties.ÚalwaysÚpage© ©r£   rŒ   r~   s      r‚   Úbreak_before_afterr×   é   s   € ð ˜hÒ&ˆ6Ð1¨EÐ1rŽ   ÚtopÚrightÚleftÚbottomz
margin-topzmargin-rightzmargin-bottomzmargin-leftr�   r€   z	min-widthz
min-heightz	max-widthz
max-heightzpadding-topzpadding-rightzpadding-bottomzpadding-leftztext-indentzhyphenate-limit-zonez
flex-basisztext-underline-offsetztext-decoration-thicknessNc                 óº   — |dv st        |«      r|S |j                  dk(  r
|rdS t        S |j                  t        vr|S t        || ||«      }|r|S t        |d«      S )zCompute a length ``value``.)ÚautoÚcontentz	from-fontr   Úpx)r   r~   r   Úunitr   r   r   )r£   rŒ   r~   r   rÐ   Úpixelss         r‚   rš   rš   ð   sg   € ð2 Ð0Ñ0´J¸uÔ4EØˆØ	�‰˜Ò	ÙˆqÐ0¤[Ð0Ø	�‰œ<Ñ	'àˆä�u˜e T¨9Ó5€FÙ ˆ6Ð=¤i°¸Ó&=Ð=rŽ   z
bleed-leftzbleed-rightz	bleed-topzbleed-bottomc                 óZ   — |dk(  rt        d| d   v rdd«      S dd«      S t        | ||«      S )NrÝ   ÚcropÚmarksé   r   rß   )r   rš   rÖ   s      r‚   Úbleedræ     s<   € ð
 �‚Ü˜f¨¨g©Ñ6˜¸tÓDÐD¸A¸tÓDÐDÜ�%˜˜uÓ%Ð%rŽ   zletter-spacingc                 ó.   — |dk(  r|S t        | ||d¬«      S )NÚnormalTrÏ   r®   rÖ   s      r‚   Úpixel_lengthré     s    € à�ÒØˆÜ�%˜˜u°$Ô7Ð7rŽ   zbackground-sizec                 ó0   ‡ ‡— t        ˆˆ fd„|D «       «      S )z+Compute the ``background-size`` properties.c              3   óD   •K  — | ]  }|d v r|nt        ‰‰|«      –— Œ y­w))ÚcontainÚcoverN)rº   rÉ   s     €€r‚   rƒ   z"background_size.<locals>.<genexpr>)  s4   øè ø€ ò ð ð Ð.Ñ.‰Ü" 5¨$°Ó6ó	7ñùs   ƒ rÆ   r¿   s   `` r‚   Úbackground_sizerî   &  s!   ù€ ô ô ð ôó ð rŽ   zimage-orientationc                 óR   — |dv r|S |\  }}t        |t        z  dz  «      dz  dz  |fS )z-Compute the ``image-orientation`` properties.)Únonez
from-imager   é   éZ   )Úroundr   )r£   rŒ   r¤   r›   Úflips        r‚   Úimage_orientationrõ   /  s=   € ð Ð'Ñ'ØˆØ�K€Eˆ4Ü�%œ"‘*˜q‘.Ó! AÑ%¨Ñ*¨DÐ1Ð1rŽ   zborder-top-widthzborder-right-widthzborder-left-widthzborder-bottom-widthzcolumn-rule-widthzoutline-widthc                 óš   — | |j                  dd«         }|dv ry|t        v r	t        |   S t        |t        «      r|S t	        | ||d¬«      S )z*Compute the ``border-*-width`` properties.r€   r£   )rð   Úhiddenr   TrÏ   )r�   ÚBORDER_WIDTH_KEYWORDSÚ
isinstancer    rš   )r£   rŒ   r~   Úborder_styles       r‚   Úborder_widthrû   8  s[   € ð ˜Ÿ™ g¨wÓ7Ñ8€LØÐ)Ñ)ØàÔ%Ñ%Ü$ UÑ+Ð+ä�%œÔð ˆä�%˜˜u°$Ô7Ð7rŽ   zborder-image-slicezmask-border-slicec                 ó2  — g }d}|D ]>  }|dk(  r|}Œ|\  }}|€|j                  |«       Œ$|j                  t        |d«      «       Œ@ t        |«      dk(  r|dz  }n6t        |«      dk(  r|dz  }n"t        |«      dk(  r|j                  |d   «       g |¢|‘­S )z,Compute the ``border-image-slice`` property.NÚfillr™   r   rñ   r   r   )Úappendr   Úlen)r£   rŒ   r¤   Úcomputed_valuesrý   r~   r˜   rà   s           r‚   Úborder_image_slicer  O  sº   € ð €OØ€DØò ?ˆØ�FŠ?Ø‰Dà ‰LˆF�DØˆ|Ø×&Ñ& vÕ.à×&Ñ&¤y°¸Ó'=Õ>ð?ô ˆ?Ó˜qÒ Ø˜1Ñ‰Ü	ˆ_Ó	 Ò	"Ø˜1Ñ‰Ü	ˆ_Ó	 Ò	"Ø×Ñ˜¨qÑ1Ô2Ø#ˆ_Ð#˜dÑ#Ð#rŽ   zborder-image-widthzmask-border-widthc                 óH  — g }|D ]3  }|dk(  r|j                  |«       Œ|\  }}|j                  |€|n|«       Œ5 t        |«      dk(  r|dz  }t        |«      S t        |«      dk(  r|dz  }t        |«      S t        |«      dk(  r|j                  |d   «       t        |«      S )z,Compute the ``border-image-width`` property.rÝ   r   rñ   r   r   )rþ   rÿ   r´   )r£   rŒ   r¤   r   r~   r˜   rà   s          r‚   Úborder_image_widthr  g  sÅ   € ð €OØò FˆØ�FŠ?Ø×"Ñ" 5Õ)à ‰LˆF�DØ×"Ñ"¨T¨\¡6¸uÕEðFô ˆ?Ó˜qÒ Ø˜1Ñˆô
 �Ó!Ð!ô	 
ˆ_Ó	 Ò	"Ø˜1Ñˆô �Ó!Ð!ô 
ˆ_Ó	 Ò	"Ø×Ñ˜¨qÑ1Ô2Ü�Ó!Ð!rŽ   zborder-image-outsetzmask-border-outsetc                 óB  — |D �cg c]'  }t        |t        t        f«      r|nt        | ||«      ‘Œ) }}t	        |«      dk(  r|dz  }t        |«      S t	        |«      dk(  r|dz  }t        |«      S t	        |«      dk(  r|j                  |d   «       t        |«      S c c}w )z-Compute the ``border-image-outset`` property.r   rñ   r   r   )rù   r    r¡   rš   rÿ   rþ   r´   )r£   rŒ   r¤   r~   r   s        r‚   Úborder_image_outsetr  {  sº   € ð öàô ˜E¤C¬ <Ô0‰´f¸UÀDÈ%Ó6PÑPð€Oð ô ˆ?Ó˜qÒ Ø˜1Ñˆô
 �Ó!Ð!ô	 
ˆ_Ó	 Ò	"Ø˜1Ñˆô �Ó!Ð!ô 
ˆ_Ó	 Ò	"Ø×Ñ˜¨qÑ1Ô2Ü�Ó!Ð!ùòs   …,Bzborder-image-repeatzmask-border-repeatc                 ó,   — t        |«      dk(  r|dz  S |S )z-Compute the ``border-image-repeat`` property.r   r   )rÿ   r¿   s      r‚   Úborder_image_repeatr  ‹  s   € ô ˜v›;¨!Ò+ˆF�Q‰JÐ7°Ð7rŽ   zcolumn-widthzoutline-offsetc                 ó    — t        | ||d¬«      S )z Compute a pixel length property.TrÏ   r®   rÖ   s      r‚   Úlength_pixels_onlyr	  ’  s   € ô �%˜˜u°$Ô7Ð7rŽ   zborder-top-left-radiuszborder-top-right-radiuszborder-bottom-left-radiuszborder-bottom-right-radiusc                 ó0   ‡ ‡— t        ˆˆ fd„|D «       «      S )z+Compute the ``border-*-radius`` properties.c              3   ó8   •K  — | ]  }t        ‰‰|«      –— Œ y ­wr}   r®   rÉ   s     €€r‚   rƒ   z border_radius.<locals>.<genexpr>Ÿ  rÊ   rË   rÆ   r¿   s   `` r‚   Úborder_radiusr  ™  s   ù€ ô Ô@¸Ô@Ó@Ð@rŽ   z
column-gapzrow-gapc                 ó*   — |dk(  r|S t        | ||«      S )z!Compute the ``*-gap`` properties.rè   r®   rÖ   s      r‚   Úgapr  ¢  s   € ð ˜XÒ%ˆ5ÐE¬6°%¸¸uÓ+EÐErŽ   c           
      ó¬  — g }|D ]Ã  }|d   dv r|}nh|d   dk(  r|d   d   dk(  sJ ‚t        | |«      }nF|d   dv r|}n<|d   dv r5|d   d   }|d   dk(  r#t        | |«      }|€d }n|d   |g|d   dd  ¢­f}n|}€<t        j                  d| j                  ›d	d
j	                  d„ |D «       «      ›�«       Œ³|j                  |«       ŒÅ t        |«      S )Nr   )r“   rÞ   r”   Úquotezleader()r’   r   r“   )z	counter()z
counters()z	content()z	element()zstring())ztarget-counter()ztarget-counters()ztarget-text()zUnable to compute z value for content: z, c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr}   )Ústr)r   Úitems     r‚   rƒ   z _content_list.<locals>.<genexpr>Å  s   è ø€ Ò(E°t¬¨T¯Ñ(Eùs   ‚)rª   r   Úwarningrœ   Újoinrþ   r´   )r£   r¤   r   r~   Úcomputed_valueÚanchor_tokenÚattrs          r‚   Ú_content_listr  ©  s#  € Ø€OØò 3ˆØ�‰8ÐHÑHØ"‰NØ�1‰X˜Ò!Ø˜‘8˜A‘; (Ò*Ð*Ð*Ü)¨%°Ó7‰NØ�1‰Xð ñ ð #‰NØ�1‰Xð Jñ Jà  ™8 A™;ˆLØ˜A‰ (Ò*Ü# E¨<Ó8�Ø�<Ø%)‘Nà&+¨A¡h°Ð0E¸¸a¹ÀÀ¸Ñ0EÐ%F‘Nà!&�ØÐ!Ü�NŠNØ—“˜tŸy™yÑ(E¸uÔ(EÔEðGõ Hð ×"Ñ" >Õ2ð93ô< �Ó!Ð!rŽ   zbookmark-labelc                 ó   — t        | |«      S )z(Compute the ``bookmark-label`` property.©r  r¿   s      r‚   Úbookmark_labelr  Ì  s   € ô ˜ Ó'Ð'rŽ   z
string-setc                 ó,   ‡ — t        ˆ fd„|D «       «      S )z$Compute the ``string-set`` property.c              3   óF   •K  — | ]  }|d    t        ‰|d   «      f–— Œ y­w)r   r   Nr  )r   Ú
string_setr£   s     €r‚   rƒ   zstring_set.<locals>.<genexpr>Ö  s-   øè ø€ ò "àð 
�A‰œ e¨Z¸©]Ó;Ô<ñ"ùs   ƒ!rÆ   r¿   s   `  r‚   r  r  Ò  s   ø€ ô ó "à ô"ó "ð "rŽ   rÞ   c                 ót   — t        |«      dk(  r|\  }|dk(  r| j                  rdS dS |dk(  ryt        | |«      S )z!Compute the ``content`` property.r   rè   ÚinhibitÚcontentsrð   )rÿ   Úpseudo_typer  )r£   rŒ   r¤   r~   s       r‚   rÞ   rÞ   Û  sI   € ô ˆ6ƒ{�aÒØ‰ˆØ�HÒØ %× 1Ò 1�9ÐA°zÐAØ�fŠ_ØÜ˜ Ó'Ð'rŽ   Údisplayc                 óÚ   — | j                   d   }| j                   d   }|dv s|dk7  s| j                  r7|dk(  ryt        |«      dk(  r|d   j                  d	«      ry
|d   dk(  rd|v ryy
|S )z!Compute the ``display`` property.r¡   Úposition©ÚabsoluteÚfixedrð   )zinline-table)ÚblockÚtabler   r   ztable-)r*  ÚflowÚinlineú	list-item)r*  r,  r.  )Ú	specifiedÚis_root_elementrÿ   Ú
startswith)r£   rŒ   r~   Úfloat_r&  s        r‚   r$  r$  ç  s‚   € ð �_‰_˜WÑ%€FØ�‰˜zÑ*€HØÐ(Ñ(¨F°fÒ,<À×@UÒ@UØÐ%Ò%Ø%Ü�‹Z˜1Š_  q¡×!4Ñ!4°XÔ!>Ø$Ø�1‰X˜Ò!Ø˜eÑ#Ø5à(Ø€LrŽ   r¡   c                 ó>   — | j                   d   }|dv s|d   dk(  ry|S )zCompute the ``float`` property.r&  r'  r   z	running()rð   )r/  )r£   rŒ   r~   r&  s       r‚   Úcompute_floatr4  ú  s.   € ð �‰˜zÑ*€HØÐ(Ñ(¨H°Q©K¸;Ò,FØàˆrŽ   z	font-sizec                 óâ  — |t         v r	t         |   S t        t         j                  «       «      }| j                  €
t        d   }n| j                  d   }|dk(  r$t        |«      D ]  \  }}||kD  sŒ||   c S  |dz  S |dk(  r.t        |ddd…   «      D ]  \  }}||k  sŒ|| dz
     c S  |dz  S t        |t        «      r!|j                  d	k(  r|j                  |z  d
z  S t        | ||d|¬«      S )z#Compute the ``font-size`` property.Nr   Úlargerr   Úsmalleréÿÿÿÿr   gš™™™™™é?r™   r!   T)rÐ   r   )ÚFONT_SIZE_KEYWORDSÚlistr¤   Úparent_styler   Ú	enumeraterù   r   rà   r~   rš   )r£   rŒ   r~   Úkeyword_valuesÚparent_font_sizeÚiÚkeyword_values          r‚   r   r     s*  € ð Ô"Ñ"Ü! %Ñ(Ð(äÔ,×3Ñ3Ó5Ó6€NØ×ÑÐ!Ü)¨+Ñ6Ñà ×-Ñ-¨kÑ:Ðà�ÒÜ )¨.Ó 9ò 	*ÑˆAˆ}ØÐ/Ó/Ø% aÑ(Ò(ð	*ð $ cÑ)Ð)Ø	�)Ò	Ü )¨.¹¸2¸Ñ*>Ó ?ò 	*ÑˆAˆ}ØÐ/Ó/Ø% q b¨1¡fÑ-Ò-ð	*ð $ cÑ)Ð)Ü	�Eœ9Ô	%¨%¯*©*¸Ò*;Ø�{‰{Ð-Ñ-°Ñ3Ð3äØ�4˜¨DØ&ô(ð 	(rŽ   zfont-weightc                 óˆ   — |dk(  ry|dk(  ry|dv r1| j                   €
t        d   }n| j                   d   }t        |   |   S |S )z%Compute the ``font-weight`` property.rè   r   Úboldr   r$   Úfont_weight)r;  r   ÚFONT_WEIGHT_RELATIVE)r£   rŒ   r~   Úparent_values       r‚   rC  rC  %  s]   € ð �ÒØØ	�&ŠØØ	Ð'Ñ	'Ø×ÑÐ%Ü)¨-Ñ8‰Là ×-Ñ-¨mÑ<ˆLÜ# EÑ*¨<Ñ8Ð8àˆrŽ   c                 ó    — |dv r|S t        |t        «      r8|j                  r|j                  j                  «       dk(  r|S t	        | ||«      S y)zCompute track breadth.)rÝ   zmin-contentzmax-contentÚfrN)rù   r   rà   Úlowerrš   rÖ   s      r‚   Ú_compute_track_breadthrI  6  sN   € àÐ6Ñ6ØˆÜ	�Eœ9Ô	%Ø�:Š:˜%Ÿ*™*×*Ñ*Ó,°Ò4ØˆLä˜%  uÓ-Ð-ð	 
&rŽ   c                 óÚ  — g }t        |«      D ]Ñ  \  }}|dz  dk(  r|j                  |«       Œ t        | ||«      }|r|j                  |«       ŒA|d   dk(  r1|j                  dt        | ||d   «      t        | ||d   «      f«       Œz|d   dk(  r"|j                  dt        | ||d   «      f«       Œ¤|d   dk(  sŒ­|j                  d|d   t	        | ||d   «      f«       ŒÓ t        |«      S )zCompute track size.r   r   úminmax()r   úfit-content()zrepeat())r<  rþ   rI  rš   Ú_track_sizer´   )r£   rŒ   r¤   Úreturn_valuesr?  r~   Útrack_breadths          r‚   rM  rM  A  s  € à€MÜ˜fÓ%ò O‰ˆˆ5Øˆq‰5�AŠ:à× Ñ  Õ'ô 3°5¸$ÀÓFˆMÙØ×$Ñ$ ]Õ3Ø�q‘˜ZÒ'Ø×$Ñ$ØÜ*¨5°$¸¸a¹ÓAÜ*¨5°$¸¸a¹ÓAð&Cõ Dð �q‘˜_Ò,Ø×$Ñ$Ø#¤V¨E°4¸¸q¹Ó%Bð&Dõ Eà�q‘˜ZÓ'Ø×$Ñ$Ø  a¡¬+°e¸TÀ5ÈÁ8Ó*Lð&Nõ Oð%Oô( �ÓÐrŽ   zgrid-template-columnszgrid-template-rowsc                 ó:   — |dk(  s|d   dk(  r|S t        | ||«      S )z+Compute the ``grid-template-*`` properties.rð   r   Úsubgrid)rM  r¿   s      r‚   Úgrid_templaterR  [  s+   € ð �Ò˜6 !™9¨	Ò1Øˆä˜5 $¨Ó/Ð/rŽ   zgrid-auto-columnszgrid-auto-rowsc                 óJ  — g }|D ]’  }t        | ||«      }|r|j                  |«       Œ$|d   dk(  r9|j                  dt        | ||d   g«      d   t        | ||d   g«      d   f«       Œe|d   dk(  sŒn|j                  dt        | ||d   g«      d   f«       Œ” t        |«      S )z'Compute the ``grid-auto-*`` properties.r   rK  r   r   rL  )rI  rþ   Ú	grid_autor´   )r£   rŒ   r¤   rN  r~   rO  s         r‚   rT  rT  e  sÑ   € ð €MØò 
IˆÜ.¨u°d¸EÓBˆÙØ× Ñ  Õ/Ø�1‰X˜Ò#Ø× Ñ ØœI e¨T°E¸!±H°:Ó>¸qÑAÜ˜% ¨¨a© zÓ2°1Ñ5ð"7õ 8ð �1‰X˜Ó(Ø× Ñ Ø¤¨5°$¸¸q¹¸
Ó!CÀAÑ!Fð"Hõ Ið
Iô �ÓÐrŽ   zline-heightc                 óÂ   — |dk(  r|S |j                   sd|j                  fS |j                   dk(  r|j                  dz  }| d   }||z  }d|fS t        | ||d¬«      }d|fS )	z%Compute the ``line-height`` property.rè   ÚNUMBERr™   r!   r   TrÏ   ÚPIXELS)rà   r~   rš   )r£   rŒ   r~   ÚfactorÚfont_size_valuerá   s         r‚   Úline_heightrZ  x  s   € ð �ÒØˆØ�ZŠZØ˜%Ÿ+™+Ð&Ð&Ø	�‰�sÒ	Ø—‘˜sÑ"ˆØ Ñ,ˆØ˜/Ñ)ˆð �fÐÐô ˜˜t U¸Ô=ˆØ�fÐÐrŽ   Úanchorc                 óZ   — |dk7  r&|\  }}| j                   j                  |«      xs d}|S y)z Compute the ``anchor`` property.rð   N©rœ   r�   )r£   rŒ   r¤   rˆ   ÚkeyÚanchor_names         r‚   r[  r[  ˆ  s9   € ð �ÒØ‰ˆˆ3Ø—m‘m×'Ñ'¨Ó,Ò4°ˆØÐð rŽ   Úlinkc                 óh   — |dk(  ry|\  }}|dk(  r!t        | j                  || j                  «      S |S )zCompute the ``link`` property.rð   Nr’   )r	   rœ   rž   r»   s        r‚   r`  r`  ‘  s<   € ð �ÒØØ�L€Eˆ5Ø�ÒÜ! %§-¡-°¸¿¹ÓGÐGØ€MrŽ   Úlangc                 óp   — |dk(  ry|\  }}|dk(  r| j                   j                  |«      xs dS |dk(  r|S y)zCompute the ``lang`` property.rð   Nr’   r“   r]  )r£   rŒ   r¤   r^  s       r‚   rb  rb  œ  sL   € ð �ÒØØ�I€Dˆ#ØˆxÒØ�}‰}× Ñ  Ó%Ò-¨Ð-Ø	�Ò	Øˆ
ð 
rŽ   ztab-sizec                 ó@   — t        |t        «      r|S t        | ||«      S )z"Compute the ``tab-size`` property.)rù   r    rš   rÖ   s      r‚   Útab_sizere  ¨  s!   € ô ˜u¤cÔ*ˆ5ÐJ´°u¸dÀEÓ0JÐJrŽ   Ú	transformc                 óz   — g }|D ]*  \  }}|dk(  rt        | ||«      }|j                  ||f«       Œ, t        |«      S )z#Compute the ``transform`` property.Ú	translate)rº   rþ   r´   )r£   rŒ   r~   Úresultr‹   Úargss         r‚   rf  rf  ®  sO   € ð €FØò (‰ˆ�$Ø�{Ò"Ü-¨e°T¸4Ó@ˆDØ�‰�x Ð&Õ'ð(ô �‹=ÐrŽ   úvertical-alignc                 ó@  — ddl m} t        |«      r0t        | «      \  }} ||| d|«      }t	        |fd«      d   d   }|€d}|dv r|S |d	k(  r| d
   dz  S |dk(  r| d
   dz  S |j
                  dk(  r t        | «      \  }}||j                  z  dz  S t        | ||d¬«      S )z(Compute the ``vertical-align`` property.r   )Úresolve_mathÚvertical_alignrk  r   r   Úbaseline)ro  Úmiddleztext-topztext-bottomrØ   rÛ   Úsuperr   g      à?Úsubg      à¿r™   r!   TrÏ   )Úcssrm  r   r   r   rà   r~   rš   )r£   rŒ   r~   rm  r�   rˆ   ri  s          r‚   rn  rn  ¹  sÍ   € õ #ô �%ÔÜ˜%“L‰	ˆ�Ù˜e UÐ,<¸fÓEˆÜ&¨ yÐ2BÓCÀAÑFÀqÑIˆØˆ=ØˆEØÐRÑRØˆØ	�'Ò	Ø�[Ñ! CÑ'Ð'Ø	�%ŠØ�[Ñ! DÑ(Ð(Ø	�‰�sÒ	Ü˜%“L‰	ˆ�Ø˜Ÿ™Ñ# cÑ)Ð)ä�e˜T 5°dÔ;Ð;rŽ   zword-spacingc                 ó.   — |dk(  rdS t        | ||d¬«      S )z&Compute the ``word-spacing`` property.rè   r   TrÏ   r®   rÖ   s      r‚   Úword_spacingru  Ó  s!   € ð ˜Ò!ˆ1ÐS¤v¨e°T¸5ÈdÔ'SÐSrŽ   )NF)JÚ__doc__Úmathr   Útinycss2.color5r   Úloggerr   Útext.line_breakr   Úurlsr	   r
   Ú	functionsr   Ú
propertiesr   r   r   Úunitsr   r   r   Ú
validationr   r9  rø   rD  Ú
PAGE_SIZESÚallr¤   ÚINITIAL_PAGE_SIZEr´   rŠ   r�   rª   r½   r•   r·   rº   rÑ   r×   rš   ræ   ré   rî   rõ   rû   r  r  r  r  r	  r  r  r  r  r  rÞ   r$  r4  r   rC  rI  rM  rR  rT  rZ  r[  r`  rb  re  rf  rn  ru  )rŒ   rX  Ú	page_sizer€   r�   rà   s   000000r‚   ú<module>r„     sø  ðÙ =å å 'å Ý #ß 4Ý !ß >Ñ >ß <Ñ <Ý .ð÷ñ 	ˆˆfð 	ˆ.˜Ñ
%¨Ñ
.Ñ.óÐ ð" ØØñÐ ð
 Ð(Ñ)Ð-BÀ8Ñ-LÒLÐ LÐLð
 ØØØØØØØØñ
ð ØØØØØØØØñ
ñÐ ð80+÷3ñ 3á&ˆ	�5˜& $ð ‘	˜% Ó&©	°&¸$Ó(?Ð@Ñ@õ3€
ñj Ñ
O¸:×;LÑ;LÓ;NÔ
OÔOÐ OÐOà˜tÑ$Ð Ùñ AØ.?ôAó A€ˆvÑ ð
 Ð òò&ñD Ð%Ó&ñó 'ðñ$ �7ÓÙÐ%Ó&ÙÐ%Ó&ÙÐ'Ó(ÙÐ(Ó)ÙÐ&Ó'ÙÐ&Ó'Ù�?Ó#ÙÐ*Ó+ñ6ó ,ó $ó (ó (ó *ó )ó 'ó 'ó ð6ñ Ð(Ó)ÙÐ$Ó%ñ8ó &ó *ð8ñ Ð%Ó&ñAó 'ðAñ
 Ð#Ó$Ù�6ÓÙ�6ÓñSó ó ó %ðSñ
 �=Ó!Ù�>Ó"ñ2ó #ó "ð2ñ
 �5ÓÙ�7ÓÙ�6ÓÙ�8ÓÙ�<Ó Ù�>Ó"Ù�?Ó#Ù�=Ó!Ù�8ÓÙ�7ÓÙ�;ÓÙ�<Ó Ù�;ÓÙ�<Ó Ù�=Ó!Ù�?Ó#ÙÐ#Ó$Ù�>Ó"Ù�=Ó!ÙÐ)Ó*Ù�<Ó ÙÐ*Ó+ÙÐ.Ó/ò>ó 0ó ,ó !ó +ó "ó #ó %ó $ó "ó !ó  ó !ó  ó ó ó "ó $ó #ó !ó ó ó ó ð.>ñ �<Ó Ù�=Ó!Ù�;ÓÙ�>Ó"ñ&ó #ó  ó "ó !ð&ñ Ð#Ó$ñ8ó %ð8ñ Ð$Ó%ñó &ðñ Ð&Ó'ñ2ó (ð2ñ Ð%Ó&ÙÐ'Ó(ÙÐ&Ó'ÙÐ(Ó)ÙÐ&Ó'Ù�?Ó#ñ8ó $ó (ó *ó (ó )ó 'ð8ñ" Ð'Ó(ÙÐ&Ó'ñ$ó (ó )ð$ñ, Ð'Ó(ÙÐ&Ó'ñ"ó (ó )ð"ñ$ Ð(Ó)ÙÐ'Ó(ñ"ó )ó *ð"ñ Ð(Ó)ÙÐ'Ó(ñ8ó )ó *ð8ñ
 �>Ó"ÙÐ#Ó$ñ8ó %ó #ð8ñ
 Ð+Ó,ÙÐ,Ó-ÙÐ.Ó/ÙÐ/Ó0ñAó 1ó 0ó .ó -ðAñ
 �<Ó Ù�9ÓñFó ó !ðFò
 "ñF Ð#Ó$ñ(ó %ð(ñ
 �<Ó ñ"ó !ð"ñ �9Óñ(ó ð(ñ �9Óñó ðñ$ �7Óñó ðñ �;Óñ(ó  ð(ñ> �=Ó!ñó "ðò .ò ñ4 Ð*Ó+ÙÐ'Ó(ñ0ó )ó ,ð0ñ Ð&Ó'ÙÐ#Ó$ñ ó %ó (ð ñ" �=Ó!ñó "ðñ �8Óñó ðñ �6Óñó ðñ �6Óñó ðñ �:ÓñKó ðKñ
 �;Óñó  ðñ Ð#Ó$ñ<ó %ð<ñ2 �>Ó"ñTó #ñTùóEùõd3s   ÁT?ÂU
