
    kc                     $    d dl mZ  G d d      Zy)    )longc                   D    e Zd ZdZd
dZddZddZd Zd ZeZ	d Z
d Zy	)counterzgeneral-purpose counterc                     || _         y Nvalue)selfinitial_values     ;/usr/lib/python3/dist-packages/supervisor/medusa/counter.py__init__zcounter.__init__   s	    "
    c                     | j                   }	 | j                   |z   | _         |S # t        $ r! t        | j                         |z   | _         Y |S w xY wr   r	   OverflowErrorr   r
   deltaresults      r   	incrementzcounter.increment   R    	2e+DJ   	2djj)E1DJ	2   $ &AAc                     | j                   }	 | j                   |z
  | _         |S # t        $ r! t        | j                         |z
  | _         Y |S w xY wr   r   r   s      r   	decrementzcounter.decrement   r   r   c                 ,    t        | j                        S r   )r   r	   r
   s    r   as_longzcounter.as_long'   s    DJJr   c                      | j                   dk7  S )Nr   r   r   s    r   __nonzero__zcounter.__nonzero__*   s    zzQr   c                 6    d| j                   t        |       fz  S )Nz<counter value=%s at %x>)r	   idr   s    r   __repr__zcounter.__repr__/   s    )TZZD,BBBr   c                 \    t        t        | j                              }|dd  dk(  r|d d }|S )NL)strr   r	   )r
   ss     r   __str__zcounter.__str__2   s2    TZZ !RS6S=#2Ar   N)r   )   )__name__
__module____qualname____doc__r   r   r   r   r   __bool__r!   r'    r   r   r   r      s0    !#  HCr   r   N)supervisor.compatr   r   r.   r   r   <module>r0      s    #% %r   