o
    n                     @   s   d dl mZmZmZmZ ddlmZ d dlmZ 	 g d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G dd deZdS )    )print_functionabsolute_importdivisionunicode_literals   )no_limit_int)AnchorF)TextAnyDictList)	ScalarInt	BinaryIntOctalIntHexInt
HexCapsInt
DecimalIntc                   @   s\   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Ze	dd Z
dddZdddZdS )r   c                 O   sb   | dd }| dd }| dd }tj| g|R i |}||_||_|d ur/|j|dd |S )Nwidth
underscoreanchorT)always_dump)popr   __new___width_underscoreyaml_set_anchor)clsargskwr   r   r   v r    >/tmp/google-cloud-sdk/lib/third_party/ruamel/yaml/scalarint.pyr      s   zScalarInt.__new__c                 C   s@   t | | | }| j|_| jd ur| jd d  |_|S d |_|S Ntyper   r   selfaxr    r    r!   __iadd__      zScalarInt.__iadd__c                 C   s@   t | | | }| j|_| jd ur| jd d  |_|S d |_|S r"   r#   r%   r    r    r!   __ifloordiv__$   r*   zScalarInt.__ifloordiv__c                 C   s@   t | | | }| j|_| jd ur| jd d  |_|S d |_|S r"   r#   r%   r    r    r!   __imul__-   r*   zScalarInt.__imul__c                 C   s@   t | | | }| j|_| jd ur| jd d  |_|S d |_|S r"   r#   r%   r    r    r!   __ipow__6   r*   zScalarInt.__ipow__c                 C   s@   t | | | }| j|_| jd ur| jd d  |_|S d |_|S r"   r#   r%   r    r    r!   __isub__?   r*   zScalarInt.__isub__c                 C   s(   t | tjst| tjt  t| tjS r"   )hasattrr   attribsetattrgetattr)r&   r    r    r!   r   H   s   zScalarInt.anchorFc                 C   s&   t | tjsd S |s| jjr| jS d S r"   )r/   r   r0   r   r   )r&   anyr    r    r!   yaml_anchorO   s
   zScalarInt.yaml_anchorc                 C   s   || j _|| j _d S r"   )r   valuer   )r&   r5   r   r    r    r!   r   W   s   zScalarInt.yaml_set_anchorN)F)__name__
__module____qualname__r   r)   r+   r,   r-   r.   propertyr   r4   r   r    r    r    r!   r      s    					

r   c                   @      e Zd ZdddZdS )r   Nc                 C      t j| ||||dS N)r   r   r   r   r   r   r5   r   r   r   r    r    r!   r   ^      zBinaryInt.__new__NNNr6   r7   r8   r   r    r    r    r!   r   ]       r   c                   @   r:   )r   Nc                 C   r;   r<   r=   r>   r    r    r!   r   d   r?   zOctalInt.__new__r@   rA   r    r    r    r!   r   c   rB   r   c                   @      e Zd ZdZdddZdS )r   zuses lower case (a-f)Nc                 C   r;   r<   r=   r>   r    r    r!   r   p   r?   zHexInt.__new__r@   r6   r7   r8   __doc__r   r    r    r    r!   r   m       r   c                   @   rC   )r   zuses upper case (A-F)Nc                 C   r;   r<   r=   r>   r    r    r!   r   x   r?   zHexCapsInt.__new__r@   rD   r    r    r    r!   r   u   rF   r   c                   @   rC   )r   zneeded if anchorNc                 C   r;   r<   r=   r>   r    r    r!   r      r?   zDecimalInt.__new__r@   rD   r    r    r    r!   r   }   rF   r   N)
__future__r   r   r   r   compatr   ruamel.yaml.anchorr   typingr	   r
   r   r   __all__r   r   r   r   r   r   r    r    r    r!   <module>   s   O
