
    g                         S r  " S S5      rg)z&Serial Number Arthimetic from RFC 1982c                   l    \ rS rSrSS\S\4S jjrS rS rS rS r	S	 r
S
 rS rS rS rS rS rSrg)Serial   valuebitsc                 *    USU-  -  U l         X l        g )N   r   r   )selfr   r   s      C/home/matz/Project1/venv/lib/python3.13/site-packages/dns/serial.py__init__Serial.__init__   s    QW_
	    c                 <    SU R                    SU R                   S3$ )Nzdns.serial.Serial(z, )r	   )r
   s    r   __repr__Serial.__repr__   s    #DJJ<r$))A>>r   c                     [        U[        5      (       a  [        XR                  5      nO5[        U[        5      (       a  UR                  U R                  :w  a  [        $ U R
                  UR
                  :H  $ N
isinstanceintr   r   NotImplementedr   r
   others     r   __eq__Serial.__eq__   R    eS!!5)),EE6**ejjDII.E!!zzU[[((r   c                     [        U[        5      (       a  [        XR                  5      nO5[        U[        5      (       a  UR                  U R                  :w  a  [        $ U R
                  UR
                  :g  $ r   r   r   s     r   __ne__Serial.__ne__   r   r   c                    [        U[        5      (       a  [        XR                  5      nO5[        U[        5      (       a  UR                  U R                  :w  a  [        $ U R
                  UR
                  :  a.  UR
                  U R
                  -
  SU R                  S-
  -  :  a  gU R
                  UR
                  :  a.  U R
                  UR
                  -
  SU R                  S-
  -  :  a  ggNr      TFr   r   s     r   __lt__Serial.__lt__       eS!!5)),EE6**ejjDII.E!!::#djj(@1UVCW(WZZ%++%$**u{{*BQIIMF
 +
 r   c                      X:H  =(       d    X:  $ r    r   s     r   __le__Serial.__le__*       },,r   c                    [        U[        5      (       a  [        XR                  5      nO5[        U[        5      (       a  UR                  U R                  :w  a  [        $ U R
                  UR
                  :  a.  UR
                  U R
                  -
  SU R                  S-
  -  :  a  gU R
                  UR
                  :  a.  U R
                  UR
                  -
  SU R                  S-
  -  :  a  ggr"   r   r   s     r   __gt__Serial.__gt__-   r&   r   c                      X:H  =(       d    X:  $ r   r(   r   s     r   __ge__Serial.__ge__;   r+   r   c                 @   U R                   n[        U[        5      (       a  UR                   nO[        U[        5      (       a  UnO[        e[        U5      SU R                  S-
  -  S-
  :  a  [        eX#-  nUSU R                  -  -  n[        X R                  5      $ Nr   r#   r   r   r   r   
ValueErrorabsr   r
   r   vdeltas       r   __add__Serial.__add__>       JJeV$$KKEs##Eu:tyy1}-12	
499a##r   c                 &   U R                   n[        U[        5      (       a  UR                   nO[        U[        5      (       a  UnO[        e[        U5      SU R                  S-
  -  S-
  :  a  [        eX#-  nUSU R                  -  -  nX l         U $ r3   r4   r7   s       r   __iadd__Serial.__iadd__L       JJeV$$KKEs##Eu:tyy1}-12	
499
r   c                 @   U R                   n[        U[        5      (       a  UR                   nO[        U[        5      (       a  UnO[        e[        U5      SU R                  S-
  -  S-
  :  a  [        eX#-  nUSU R                  -  -  n[        X R                  5      $ r3   r4   r7   s       r   __sub__Serial.__sub__[   r<   r   c                 &   U R                   n[        U[        5      (       a  UR                   nO[        U[        5      (       a  UnO[        e[        U5      SU R                  S-
  -  S-
  :  a  [        eX#-  nUSU R                  -  -  nX l         U $ r3   r4   r7   s       r   __isub__Serial.__isub__i   r@   r   )r   r   N)    )__name__
__module____qualname____firstlineno__r   r   r   r   r   r$   r)   r-   r0   r:   r>   rB   rE   __static_attributes__r(   r   r   r   r      sL    c  ?))--$$r   r   N)__doc__r   r(   r   r   <module>rN      s    -p pr   