
    ,h$                     f    d dl Z d dlmZmZmZmZ ddlmZmZ ddl	m
Z
mZ ddlmZ  G d d	e      Zy)
    N)AnyListTupleUnion   )deprecation_no_replacementdeprecation_with_replacement   )FloatObjectNumberObject)ArrayObjectc                      e Zd ZdZded eeeeef   f   ddfdZdedee	e
f   fdZded	edd fd
Zdedee	e
f   fdZdefdZede	fd       Zej$                  deddfd       Zede	fd       Zej$                  deddfd       Zede	fd       Zej$                  deddfd       Zede	fd       Zej$                  deddfd       Zde	fdZde	fdZde	fdZde	fdZde	fdZde	fdZde	fdZde	fdZedeej>                  ej>                  f   fd       Z e j$                  de!e   ddfd       Z edeej>                  ej>                  f   fd        Z"e"j$                  de!e   ddfd!       Z"edeej>                  ej>                  f   fd"       Z#e#j$                  de!e   ddfd#       Z#edeej>                  ej>                  f   fd$       Z$e$j$                  de!e   ddfd%       Z$deej>                  ej>                  f   fd&Z%deej>                  ej>                  f   fd'Z&deej>                  ej>                  f   fd(Z'deej>                  ej>                  f   fd)Z(deeef   ddfd*Z)deeef   ddfd+Z*deeef   ddfd,Z+deeef   ddfd-Z,edej>                  fd.       Z-dej>                  fd/Z.edej>                  fd0       Z/dej>                  fd1Z0edeej>                  ej>                  f   fd2       Z1e1j$                  deej>                  ej>                  f   ddfd3       Z1edeej>                  ej>                  f   fd4       Z2e2j$                  deej>                  ej>                  f   ddfd5       Z2edeej>                  ej>                  f   fd6       Z3e3j$                  deej>                  ej>                  f   ddfd7       Z3edeej>                  ej>                  f   fd8       Z4e4j$                  deej>                  ej>                  f   ddfd9       Z4y):RectangleObjecta  
    This class is used to represent *page boxes* in PyPDF2. These boxes include:
        * :attr:`artbox <PyPDF2._page.PageObject.artbox>`
        * :attr:`bleedbox <PyPDF2._page.PageObject.bleedbox>`
        * :attr:`cropbox <PyPDF2._page.PageObject.cropbox>`
        * :attr:`mediabox <PyPDF2._page.PageObject.mediabox>`
        * :attr:`trimbox <PyPDF2._page.PageObject.trimbox>`
    arrreturnNc           	          t        |      dk(  sJ t        j                  | |D cg c]  }| j                  |       c}       y c c}w )N   )lenr   __init___ensure_is_number)selfr   xs      [/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/PyPDF2/generic/_rectangle.pyr   zRectangleObject.__init__   s;     3x1}Ts#K!D$:$:1$=#KL#Ks   A
valuec                 H    t        |t        t        f      st        |      }|S N)
isinstancer   r   r   r   s     r   r   z!RectangleObject._ensure_is_number   s     %,!<=&E    sxsyc                     t        t        | j                        |z  t        | j                        |z  t        | j                        |z  t        | j
                        |z  f      S r   )r   floatleftbottomrighttop)r   r    r!   s      r   scalezRectangleObject.scale    sW    dii 2%dkk"R'djj!B&dhh"$	
 	
r   c                 <    t        dd       | j                  |      S )NensureIsNumber3.0.0)r   r   r   s     r   r*   zRectangleObject.ensureIsNumber*   s      	##3W=%%e,,r   c                 2    dt        t        |              dS )NzRectangleObject())reprlistr   s    r   __repr__zRectangleObject.__repr__0   s    !$tDz"2!3155r   c                     | d   S Nr    r0   s    r   r$   zRectangleObject.left3       Awr   fc                      t        |      | d<   y r3   r   r   r6   s     r   r$   zRectangleObject.left7       a.Qr   c                     | d   S Nr
   r4   r0   s    r   r%   zRectangleObject.bottom;   r5   r   c                      t        |      | d<   y r<   r8   r9   s     r   r%   zRectangleObject.bottom?   r:   r   c                     | d   S Nr   r4   r0   s    r   r&   zRectangleObject.rightC   r5   r   c                      t        |      | d<   y r?   r8   r9   s     r   r&   zRectangleObject.rightG   r:   r   c                     | d   S N   r4   r0   s    r   r'   zRectangleObject.topK   r5   r   c                      t        |      | d<   y rB   r8   r9   s     r   r'   zRectangleObject.topO   r:   r   c                 4    t        ddd       | j                  S )NgetLowerLeft_xr$   r+   r	   r$   r0   s    r   rF   zRectangleObject.getLowerLeft_xS       $%5vwGyyr   c                 4    t        ddd       | j                  S )NgetLowerLeft_yr%   r+   r	   r%   r0   s    r   rJ   zRectangleObject.getLowerLeft_yW   s    $%5xI{{r   c                 4    t        ddd       | j                  S )NgetUpperRight_xr&   r+   r	   r&   r0   s    r   rM   zRectangleObject.getUpperRight_x[       $%6Izzr   c                 4    t        ddd       | j                  S )NgetUpperRight_yr'   r+   r	   r'   r0   s    r   rQ   zRectangleObject.getUpperRight_y_   s    $%6wGxxr   c                 4    t        ddd       | j                  S )NgetUpperLeft_xr$   r+   rG   r0   s    r   rT   zRectangleObject.getUpperLeft_xc   rH   r   c                 4    t        ddd       | j                  S )NgetUpperLeft_yr'   r+   rR   r0   s    r   rV   zRectangleObject.getUpperLeft_yg   s    $%5ugFxxr   c                 4    t        ddd       | j                  S )NgetLowerRight_xr&   r+   rN   r0   s    r   rX   zRectangleObject.getLowerRight_xk   rO   r   c                 4    t        ddd       | j                  S )NgetLowerRight_yr%   r+   rK   r0   s    r   rZ   zRectangleObject.getLowerRight_yo   s    $%6'J{{r   c                 2    | j                   | j                  fS )zj
        Property to read and modify the lower left coordinate of this box
        in (x,y) form.
        )r$   r%   r0   s    r   
lower_leftzRectangleObject.lower_lefts   s     yy$++%%r   c                 .      fd|D        \   d<    d<   y )Nc              3   @   K   | ]  }j                  |        y wr   r   .0r   r   s     r   	<genexpr>z-RectangleObject.lower_left.<locals>.<genexpr>}        E!D2215E   r   r
   r4   r   s   ` r   r\   zRectangleObject.lower_left{       EuEQar   c                 2    | j                   | j                  fS )zk
        Property to read and modify the lower right coordinate of this box
        in (x,y) form.
        )r&   r%   r0   s    r   lower_rightzRectangleObject.lower_right   s     zz4;;&&r   c                 .      fd|D        \   d<    d<   y )Nc              3   @   K   | ]  }j                  |        y wr   r_   r`   s     r   rb   z.RectangleObject.lower_right.<locals>.<genexpr>   rc   rd   r   r
   r4   r   s   ` r   rg   zRectangleObject.lower_right   re   r   c                 2    | j                   | j                  fS )zj
        Property to read and modify the upper left coordinate of this box
        in (x,y) form.
        )r$   r'   r0   s    r   
upper_leftzRectangleObject.upper_left   s     yy$((""r   c                 .      fd|D        \   d<    d<   y )Nc              3   @   K   | ]  }j                  |        y wr   r_   r`   s     r   rb   z-RectangleObject.upper_left.<locals>.<genexpr>   rc   rd   r   rC   r4   r   s   ` r   rk   zRectangleObject.upper_left   re   r   c                 2    | j                   | j                  fS )zk
        Property to read and modify the upper right coordinate of this box
        in (x,y) form.
        )r&   r'   r0   s    r   upper_rightzRectangleObject.upper_right   s     zz488##r   c                 .      fd|D        \   d<    d<   y )Nc              3   @   K   | ]  }j                  |        y wr   r_   r`   s     r   rb   z.RectangleObject.upper_right.<locals>.<genexpr>   rc   rd   r   rC   r4   r   s   ` r   ro   zRectangleObject.upper_right   re   r   c                 4    t        ddd       | j                  S )NgetLowerLeftr\   r+   r	   r\   r0   s    r   rs   zRectangleObject.getLowerLeft        	%^\7Kr   c                 4    t        ddd       | j                  S )NgetLowerRightrg   r+   r	   rg   r0   s    r   rw   zRectangleObject.getLowerRight        	%_mWMr   c                 4    t        ddd       | j                  S )NgetUpperLeftrk   r+   r	   rk   r0   s    r   r{   zRectangleObject.getUpperLeft   ru   r   c                 4    t        ddd       | j                  S )NgetUpperRightro   r+   r	   ro   r0   s    r   r~   zRectangleObject.getUpperRight   ry   r   c                 ,    t        ddd       || _        y )NsetLowerLeftr\   r+   rt   r   s     r   r   zRectangleObject.setLowerLeft   s    $^\7Kr   c                 H     t        ddd        fd|D        \   d<    d<   y )NsetLowerRightrg   r+   c              3   @   K   | ]  }j                  |        y wr   r_   r`   s     r   rb   z0RectangleObject.setLowerRight.<locals>.<genexpr>   rc   rd   r   r
   r	   r   s   ` r   r   zRectangleObject.setLowerRight   &    $_mWMEuEQar   c                 H     t        ddd        fd|D        \   d<    d<   y )NsetUpperLeftrk   r+   c              3   @   K   | ]  }j                  |        y wr   r_   r`   s     r   rb   z/RectangleObject.setUpperLeft.<locals>.<genexpr>   rc   rd   r   rC   r   r   s   ` r   r   zRectangleObject.setUpperLeft   s&    $^\7KEuEQar   c                 H     t        ddd        fd|D        \   d<    d<   y )NsetUpperRightro   r+   c              3   @   K   | ]  }j                  |        y wr   r_   r`   s     r   rb   z0RectangleObject.setUpperRight.<locals>.<genexpr>   rc   rd   r   rC   r   r   s   ` r   r   zRectangleObject.setUpperRight   r   r   c                 4    | j                   | j                  z
  S r   )r&   r$   r0   s    r   widthzRectangleObject.width   s    zzDII%%r   c                 4    t        ddd       | j                  S )NgetWidthr   r+   )r	   r   r0   s    r   r   zRectangleObject.getWidth   s    $Z'Bzzr   c                 4    | j                   | j                  z
  S r   )r'   r%   r0   s    r   heightzRectangleObject.height   s    xx$++%%r   c                 4    t        ddd       | j                  S )N	getHeightr   r+   )r	   r   r0   s    r   r   zRectangleObject.getHeight   s    $[(GD{{r   c                 4    t        ddd       | j                  S N	lowerLeftr\   r+   rt   r0   s    r   r   zRectangleObject.lowerLeft       $[,Hr   c                 ,    t        ddd       || _        y r   rt   r   s     r   r   zRectangleObject.lowerLeft        	%[,Hr   c                 4    t        ddd       | j                  S N
lowerRightrg   r+   rx   r0   s    r   r   zRectangleObject.lowerRight       $\='Jr   c                 ,    t        ddd       || _        y r   rx   r   s     r   r   zRectangleObject.lowerRight        	%\='J r   c                 4    t        ddd       | j                  S N	upperLeftrk   r+   r|   r0   s    r   r   zRectangleObject.upperLeft   r   r   c                 ,    t        ddd       || _        y r   r|   r   s     r   r   zRectangleObject.upperLeft   r   r   c                 4    t        ddd       | j                  S N
upperRightro   r+   r   r0   s    r   r   zRectangleObject.upperRight   r   r   c                 ,    t        ddd       || _        y r   r   r   s     r   r   zRectangleObject.upperRight  r   r   )5__name__
__module____qualname____doc__r   r   r#   r   r   r   r   r   r(   r*   strr1   propertyr$   setterr%   r&   r'   rF   rJ   rM   rQ   rT   rV   rX   rZ   decimalDecimalr\   r   rg   rk   ro   rs   rw   r{   r~   r   r   r   r   r   r   r   r   r   r   r   r   r4   r   r   r   r   	   sj   M*E%u2L,MMNM	Ms u[,5N/O 

 
5 
-> 
--	{L(	)-6# 6 k   
[[!e ! ! !    ]]! !$ ! ! {   \\!u ! ! ! [   	ZZ!U !t ! !         &E'//7??"BC & & FS	 Fd F F 'U7??GOO#CD ' ' Fc Ft F F #E'//7??"BC # # FS	 Fd F F $U7??GOO#CD $ $ Fc Ft F F	w/	0 	w/	0 	w/	0 	w/	0  %u"5  $  F5#6 F4 FF%u"5 F$ FF5#6 F4 F &w & &'//  & & &7??  5'//!AB    7??GOO;< 	     E'//7??"BC     !7??GOO;<!	! ! 5'//!AB    7??GOO;< 	     E'//7??"BC     !7??GOO;<!	! !r   r   )r   typingr   r   r   r   _utilsr   r	   _baser   r   _data_structuresr   r   r4   r   r   <module>r      s%     * * M , )@!k @!r   