
    Bh                     0    S r SSKJrJr  SSKJr  S rS rg)zDraw image and svg tags.   )bounding_boxis_valid_bounding_box)preserve_ratioc                 z   U R                  UR                  S5      UR                  S5      U5      u  p4U R                  R                  X4S9  U R                  U:X  a  U R
                  U R                  peOUR                  S5      UR                  S5      peSXV4;   aX  SUR                  l        [        XUSS	9n[        U5      (       a  US
   US   -   nUS   US   -   nOS
=pVSUR                  l        OU R                  XVU5      u  pVUR                  XU5        [        XX%U5      u  ppU R                  U:w  ag  UR                  SS5      S:X  aQ  U R                  R                  S
S
XV5        U R                  R                  5         U R                  R                  5         U R                  R                  XXS9  g)zDraw svg tags.xyefwidthheightNgT)stroke       r      svgoverflowhiddenadr
   r   )pointgetstream	transformtreeconcrete_widthconcrete_height_etree_nodetagr   r   set_svg_sizer   	rectangleclipend)r   node	font_sizer   r   r   r   boxscale_xscale_ytranslate_xtranslate_ys               G/var/www/html/env/lib/python3.13/site-packages/weasyprint/svg/images.pyr   r      s{   99TXXc]DHHSM9=DAJJ1"
xx4**C,?,?v)488H+=vE?"#&D s)DAC$S))AQQ#a&!""#(D IIeY?MEc&)1?9V2-.Gk
xx4DHHZ:hF

Q51



JJ7L    c                 N   U R                  UR                  S5      UR                  S5      U5      u  p4U R                  R                  X4S9  UR                  S5      nUR	                  U=(       d    U R
                  5      nU R                  R                  USS9nUc  gU R                  UR                  S5      UR                  S	5      U5      u  pUR                  S
U5      u  pnU
c,  Uc)  Ub  U(       d  U	(       d  Su  pO"U(       d  X-  U	pOXU-  pOU
c  X-  n
OUc  X-  nU=(       d    U
nU	=(       d    Un	[        XX(U	SSX45      u  pnnU R                  R                  SSX5        U R                  R                  5         U R                  R                  5         U R                  R                  5         U R                  R                  XUUS9  UR                  U R                  XUR                  R                  SS5      S9  U R                  R!                  5         g)zDraw image tags.r   r   r	   z*{http://www.w3.org/XML/1998/namespace}basezimage/*)urlforced_mime_typeNr   r   r   )i,     r   r   zimage-renderingauto)image_rendering)r   r   r   r   get_hrefr0   contextget_image_from_uriget_intrinsic_sizer   r#   r$   r%   
push_statedrawattrib	pop_state)r   r&   r'   r   r   base_urlr0   imager   r   intrinsic_widthintrinsic_heightintrinsic_ratior)   r*   r+   r,   s                    r-   r>   r>   $   s   99TXXc]DHHSM9=DAJJ1"xxDEH
--+CGG
,CKK**sY*OE}IIdhhw/(1CYOME  I. 7O#3#;"508-O-(& . 167N-		 )<		!*<$_E''F1?9V	
A123.Gk; JJAu-JJOOJJNNJJJJ7L	JJ

O(96B   JJr.   N)__doc__r   r   utilsr   r   r>    r.   r-   <module>rE      s     = !M:(r.   