+
    	iH                     L    R t ^ RIt^RIHt ^RIHt ^RIHt R tRR lt	R t
R# )	z7Find anchors, links, bookmarks and inputs in documents.N)boxes)
percentage)Matrixc                <   V '       g   WW,           W$,           3# V P                   pV! W4      w  rgV! W,           V4      w  rV! WV,           4      w  rV! W,           W$,           4      w  r\        WhW4      p\        WyW4      p\        WhW4      p\        WyW4      pWVV3# )z|Apply a transformation matrix to an axis-aligned rectangle.

Return its axis-aligned bounding box as ``(x1, y1, x2, y2)``.

)transform_pointminmax)matrixpos_xpos_ywidthheightr   x1y1x2y2x3y3x4y4box_x1box_y1box_x2box_y2s   &&&&&             X/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/weasyprint/anchors.pyrectangle_aabbr   
   s     U]EN::,,OU*FBU]E2FBUFN3FBU]EN;FB F F F F66))    c           
     `
   V P                   R,          '       Ed   \        V \        P                  4      '       Eg   V P	                  4       pV P                  4       pV P                   R,          w  r\        WP                   V4      p\        WP                   V4      pV P                  4       V,           p	V P                  4       V,           p
\        WR7      pV P                   R,           EF  w  rRw  ppppppVR8X  d   Vw  ppMVR8X  d3   \        P                  ! V4      ;pp\        P                  ! V4      pV) pMVR8X  d>   \        V^ ,          V P                   V4      p\        V^,          V P                   V4      pMTVR8X  d<   \        P                  ! V^,          4      \        P                  ! V^ ,          4      ppMVR8X  g   Q hVw  pppppp\        VVVVVV4      V,          pEK  	  \        V	) V
) R7      V,          V n        V'       d   V P                  V,          pMV P                  pMTpV P                  pV P                   R	,          R
8X  d   RpMV P                   R	,          pV P                   R,          pV P                   R,          pV P                   R,          pT;'       d    TpT;'       d0    \        V \        P                   \        P"                  34      '       * pT;'       d    VV9  pV P%                  4       pV P'                  4       '       d   V P(                  pWd9  d   . WF&   V'       g   V'       g   V'       g
   V'       Ed   V'       d:   V P+                  4       V P-                  4       p pV P.                  V P0                  p"p!MV P3                  4       w  pp p!p"V'       g	   V'       d   \5        VVV V!V"4      p#V'       d`   Vw  p$pV$R8X  g   Q hVw  p%p&\        V&\6        4      '       g   Q hV%R8X  d   V P9                  4       '       d   Rp%VP;                  V%V&X#V 34       V'       d/   WF,          P;                  V P(                  V P                   X#34       V'       d7   V'       d   VP=                  VV 4      w  pp VVVV 3V3p'VP;                  V'4       V'       dU   VV VV!,           V V",           3w  p(p)p*p+V'       d+   VP=                  V(V)4      w  p(p)VP=                  V*V+4      w  p*p+V(V)V*V+3VV&   V P?                  4        F  p,\A        V,WW4W4       K  	  R# )z{Gather anchors and other data related to specific positions in PDF.

Currently finds anchors, links, bookmarks and forms.

	transformtransform_origin)efscalerotate	translateskewr	   bookmark_levelnoneNbookmark_statelinkanchorurlexternal
attachment)       r/   r.   r/   r/   )!style
isinstancer   	InlineBoxborder_widthborder_heightr   border_box_xborder_box_yr   mathcossintantransformation_matrixbookmark_labelTextBoxLineBoxis_inputis_formelementcontent_box_xcontent_box_yr   r   hit_arear   stris_attachmentappendr   all_childrengather_anchors)-boxanchorslinks	bookmarksformsparent_matrixparent_formr3   r4   origin_xorigin_yoffset_xoffset_yr	   nameargsabcdr    r!   r<   r&   stater)   anchor_namehas_bookmarkhas_link
has_anchorr?   r
   r   r   r   	rectangle
token_type	link_typetargetbookmarkpos_x1pos_y1pos_x2pos_y2childs-   &&&&&&&                                      r   rI   rI      sb    yyjeoo&F&F'')))+ YY'9:h		<@h		=A##%0##%0(/))K00JD/Aq!Q1w1!&AHHTNB$tAw		<@tAw		=AxxQ($((47*;11x'''#' 1aAqAq!Q1-6F! 1$ hY8),v5 	!..>F..F''N
yy!"f,#34II&'E99VD))H%K!44nLKKJsU]]EMM,JKKH;;G!;J||~H
{{}}kk#!#Ex:,,.0A0A0C5EIIszz6E6*-,,.'E5%x&vueUFKI#J&&& $Ivfc****J&3+<+<+>+>(	LL)VY<=%%s{{CIIy&IJ%55eUCu&NHX&-2E55=%RX.-X*FFFF!'!7!7!G!'!7!7!G$*FFF#CGK !!#ugiT $r   c                   V P                    F  w  rgw  rp
Wc8  d    VP                  Wc,
          ^,
          4       MLTpW8  d!   V^VP                  4       ,           ,          pK&  W8  d   VP                  W,
          ^,
          4       TpV\        V4      ,
          pV\	        V4      8X  g   Q hV^8  g   Q h. pVP                  W4      w  rWtW3W3pW,^,
          ,          P                  V4       W,R1 VP                  V4       K  	  V# )z-Make a tree of all bookmarks in a given page.N)rM   rG   popsumlenr   )pageskipped_levelslast_by_depthprevious_levelpage_numberr	   levellabelpoint_xpoint_yr[   tempdepthchildrensubtrees   &&&&&&         r   make_page_bookmark_treer{      s    48>>/(w%! !!%"81"<=D'N..000$%%d&;a&?@N++N++++zz!11'C98Kai ''0&!X&1 4B2 r   )NN)__doc__r7   formatting_structurer   layout.percentr   r	   r   r   rI   r{    r   r   <module>r      s&    =  ' & *(cULr   