B
    |?_[                 @   s0  d dl mZ d dlZd dlZd dlZdZyd dlmZ W nN   yd dlm	Z	 W n  e
k
rp   d dlm	Z	 Y nX G dd de	ZY nX ejd  dkZejd  d	kZerd
d Zdd Zdd Zndd Zdd Zdd Zer$eZeZeZeZeZejZeZd dlZejZej Z eZ!d dl"m#Z# nPe$Zee%fZeej&fZe'ZeZeZd dlmZ( e(Zd dl)Z)e)jZ e%Z!d dlm#Z# erdZ*ndZ*ej+dkrdndZ,dd Z-dZ.dZ/dZ0da1dej2krej23dZ4e4dkrd a1nee4a1e5t1r G dd de6Z7e7 Z8d)dd Z9d!d" Z:d#d$ Z;d%d& Z<d*d'd(Z=dS )+    )print_functionN)      )ordereddict)OrderedDictc               @   s   e Zd Zeedsdd ZdS )r   insertc             C   sr   |t | kr|| |< d S t }||  x|D ]
}| |= q.W x0t|D ]$\}}||kr^|| |< || | |< qFW d S )N)lenr   update	enumerate)selfposkeyvalueZodkindexZold_key r   1lib/python3.7/site-packages/ruamel_yaml/compat.pyr      s    


zordereddict.insertN)__name__
__module____qualname__hasattrr   r   r   r   r   r   r      s   
r   r      c             C   s   | S )Nr   )sr   r   r   utf8/   s    r   c             C   s   | S )Nr   )r   r   r   r   to_str3   s    r   c             C   s   | S )Nr   )r   r   r   r   
to_unicode7   s    r   c             C   s
   |  dS )Nzutf-8)encode)r   r   r   r   r   <   s    c             C   s   t | S )N)str)r   r   r   r   r   @   s    c             C   s   t | S )N)unicode)r   r   r   r   r   D   s    )Hashable)StringIObuiltinsZ__builtin__i     c             G   s   | d|i S )z%Create a base class with a metaclass.ZNewBaser   )metabasesr   r   r   with_metaclassx   s    r%   r   ZRUAMELDEBUGc               @   s$   e Zd Zdd Zdd Zdd ZdS )ObjectCounterc             C   s
   i | _ d S )N)map)r   r   r   r   __init__   s    zObjectCounter.__init__c             C   s   | j |dd | j |< d S )Nr   r   )r'   get)r   r   r   r   r   __call__   s    zObjectCounter.__call__c             C   s*   x$t | jD ]}t|d| j|  qW d S )Nz->)sortedr'   print)r   r   r   r   r   dump   s    zObjectCounter.dumpN)r   r   r   r(   r*   r-   r   r   r   r   r&      s   r&   c             C   s>   t d kr*tjd}|d kr"da nt|a | d kr6t S t | @ S )NZ	YAMLDEBUGr   )_debugosenvironr)   int)val_debugxr   r   r   dbg   s    r4   c              O   s   t trt| | d S )N)boolr4   r,   )argskwr   r   r   nprint   s    r8   c             C   s|   d|   krdkrn ndS d|   kr0dkr8n ndS d|   krLdkr\n n| dkr\dS d	|   krpd
krxn ndS dS )N!~T    u   ×FFu   à00u   ÿFDu   þFFz000zFFFFFr   )chr   r   r   check_namespace_char   s     r=   c             C   s   | dkrdS t | S )Nz,[]{}F)r=   )r<   r   r   r   check_anchorname_char   s    r>   c             C   s0   ddl m} || k rdS |d k	r,||k r,d S dS )Nr   )version_infoTF)Zruamel_yamlr?   )Zt1Zt2r?   r   r   r   version_tnf   s    r@   )N)N)>Z
__future__r   sysr/   typesZ_DEFAULT_YAML_VERSIONZruamel.ordereddictr   collectionsr   ImportErrorr?   ZPY2ZPY3r   r   r   r   Zstring_typesr1   Zinteger_typestypeZclass_typesZ	text_typebytesZbinary_typemaxsizeZMAXSIZEchrZunichrior    BytesIOZno_limit_intZcollections.abcr   Z
basestringZlongZ	ClassTyper   Z	_StringIOZ	cStringIOZbuiltins_module
maxunicodeZUNICODE_SIZEr%   Z	DBG_TOKENZ	DBG_EVENTZDBG_NODEr.   r0   r)   r3   r5   objectr&   Zobject_counterr4   r8   r=   r>   r@   r   r   r   r   <module>   s   

	


