B
    |?_[                 @   s   d dl mZmZmZmZ dddddgZddlmZ G d	d deZG d
d deZ	G dd deZ
G dd deZG dd deZdS )    )print_functionabsolute_importdivisionunicode_literals	ScalarInt	BinaryIntOctalIntHexInt
HexCapsInt   )no_limit_intc               @   s<   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd ZdS )r   c             O   s:   | dd }| dd }tj| f||}||_||_|S )Nwidth
underscore)popr   __new___width_underscore)clsargskwr   r   v r   4lib/python3.7/site-packages/ruamel_yaml/scalarint.pyr      s    zScalarInt.__new__c             C   s:   t | | | }| j|_| jd k	r0| jd d  nd |_|S )N)typer   r   )selfaxr   r   r   __iadd__   s    zScalarInt.__iadd__c             C   s:   t | | | }| j|_| jd k	r0| jd d  nd |_|S )N)r   r   r   )r   r   r   r   r   r   __ifloordiv__   s    zScalarInt.__ifloordiv__c             C   s:   t | | | }| j|_| jd k	r0| jd d  nd |_|S )N)r   r   r   )r   r   r   r   r   r   __imul__%   s    zScalarInt.__imul__c             C   s:   t | | | }| j|_| jd k	r0| jd d  nd |_|S )N)r   r   r   )r   r   r   r   r   r   __ipow__,   s    zScalarInt.__ipow__c             C   s:   t | | | }| j|_| jd k	r0| jd d  nd |_|S )N)r   r   r   )r   r   r   r   r   r   __isub__3   s    zScalarInt.__isub__N)	__name__
__module____qualname__r   r   r   r   r    r!   r   r   r   r   r      s   	c               @   s   e Zd ZdddZdS )r   Nc             C   s   t j| |||dS )N)r   r   )r   r   )r   valuer   r   r   r   r   r   <   s    zBinaryInt.__new__)NN)r"   r#   r$   r   r   r   r   r   r   ;   s   c               @   s   e Zd ZdddZdS )r   Nc             C   s   t j| |||dS )N)r   r   )r   r   )r   r%   r   r   r   r   r   r   B   s    zOctalInt.__new__)NN)r"   r#   r$   r   r   r   r   r   r   A   s   c               @   s   e Zd ZdZdddZdS )r	   zuses lower case (a-f)Nc             C   s   t j| |||dS )N)r   r   )r   r   )r   r%   r   r   r   r   r   r   L   s    zHexInt.__new__)NN)r"   r#   r$   __doc__r   r   r   r   r   r	   J   s   c               @   s   e Zd ZdZdddZdS )r
   zuses upper case (A-F)Nc             C   s   t j| |||dS )N)r   r   )r   r   )r   r%   r   r   r   r   r   r   S   s    zHexCapsInt.__new__)NN)r"   r#   r$   r&   r   r   r   r   r   r
   Q   s   N)Z
__future__r   r   r   r   __all__compatr   r   r   r   r	   r
   r   r   r   r   <module>   s   .	