Edit File: pytree.cpython-38.opt-2.pyc
U ����@��d8m����������������������@���s����d�Z�ddlZddlmZ�dZi�add��ZG�dd��de�ZG�d d ��d e�Z G�dd��de�Z d d��ZG�dd��de�ZG�dd��de�Z G�dd��de�ZG�dd��de�ZG�dd��de�Zdd��ZdS�)z#Guido van Rossum <guido@python.org>�����N)�StringIOi���c�����������������C���sD���t�s8ddlm}�|j���D�]\}}t|�tkr|t�|<�qt��|�|��S�)N����)�python_symbols)�_type_reprsZpygramr����__dict__�items�type�int� setdefault)Ztype_numr����name�val��r ����3/opt/alt/python38/lib64/python3.8/lib2to3/pytree.py� type_repr���s����� r���c�������������������@���s����e�Zd�ZdZdZdZdZdZdd��Zdd��Z dZ dd ��Zd d��Zdd ��Z dd��Zdd��Zdd��Zdd��Zdd��Zedd���Zedd���Zdd��Zdd��Zd d!��Zejd"k�r�d#d$��ZdS�)%�BaseNr ���Fc�����������������O���s ���t��|��S��N��object�__new__��cls�args�kwdsr ���r ���r���r���1���s����zBase.__new__c�����������������C���s���|�j�|j�k rtS�|��|�S�r���)� __class__�NotImplemented�_eq��self�otherr ���r ���r����__eq__6���s����zBase.__eq__c�����������������C���s���t��d�S�r�����NotImplementedErrorr���r ���r ���r���r���B���s���� zBase._eqc�����������������C���s���t��d�S�r���r ����r���r ���r ���r����cloneM���s����z Base.clonec�����������������C���s���t��d�S�r���r ���r"���r ���r ���r���� post_orderU���s����zBase.post_orderc�����������������C���s���t��d�S�r���r ���r"���r ���r ���r���� pre_order]���s����zBase.pre_orderc�����������������C���s~���t�|t�s|g}g�}d}|�jjD�].}||�krD|d�k r>|�|��d}q |�|��q |�j����||�j_|D�]}|�j|_qfd�|�_d�S��NFT)� isinstance�list�parent�children�extend�append�changed)r����newZ l_children�found�ch�xr ���r ���r����replacee���s���� zBase.replacec�����������������C���s*���|�}t�|t�s$|jsd�S�|jd�}q|jS��Nr���)r'����Leafr*����lineno�r����noder ���r ���r���� get_lineno|���s���� zBase.get_linenoc�����������������C���s���|�j�r|�j�����d|�_d�S��NT)r)���r-����was_changedr"���r ���r ���r���r-�������s���� zBase.changedc�����������������C���sJ���|�j�rFt|�j�j�D�]2\}}||�kr|�j�����|�j�j|=�d�|�_�|��S�qd�S�r���)r)���� enumerater*���r-���)r����ir7���r ���r ���r����remove����s���� zBase.removec�������������� ���C���s`���|�j�d�krd�S�t|�j�j�D�]@\}}||�krz|�j�j|d��W���S��tk rX���Y��d�S�X�qd�S�)Nr���)r)���r;���r*���� IndexError�r���r<����childr ���r ���r����next_sibling����s���� zBase.next_siblingc�����������������C���sR���|�j�d�krd�S�t|�j�j�D�]2\}}||�kr|dkr8�d�S�|�j�j|d����S�qd�S��Nr���r���)r)���r;���r*���r?���r ���r ���r����prev_sibling����s���� zBase.prev_siblingc�����������������c���s���|�j�D�]}|���E�d�H��qd�S�r���)r*����leaves�r���r@���r ���r ���r���rD�������s���� zBase.leavesc�����������������C���s���|�j�d�krdS�d|�j�����S�rB���)r)����depthr"���r ���r ���r���rF�������s���� z Base.depthc�����������������C���s���|�j�}|d�krdS�|jS��N��)rA����prefix)r���Znext_sibr ���r ���r���� get_suffix����s����zBase.get_suffix�����r���c�����������������C���s���t�|���d�S�)N�ascii)�str�encoder"���r ���r ���r����__str__����s����zBase.__str__)�__name__� __module__�__qualname__r���r)���r*���r:���Zwas_checkedr���r����__hash__r���r#���r$���r%���r2���r8���r-���r=����propertyrA���rC���rD���rF���rJ����sys�version_inforP���r ���r ���r ���r���r������s2��� r���c�������������������@���s����e�Zd�Zddd�Zdd��Zdd��Zejdkr0eZd d ��Z dd��Z d d��Zdd��Ze dd���Zejdd���Zdd��Zdd��Zdd��ZdS�)�NodeNc�����������������C���sN���||�_�t|�|�_|�jD�] }|�|_q|d�k r0||�_|rD|d�d���|�_nd�|�_d�S�r���)r���r(���r*���r)���rI����fixers_applied)r���r���r*����contextrI���rY���r0���r ���r ���r����__init__����s���� z Node.__init__c�����������������C���s���d|�j�jt|�j�|�jf�S�)Nz %s(%s, %r))r���rQ���r���r���r*���r"���r ���r ���r����__repr__����s�����z Node.__repr__c�����������������C���s���d��tt|�j��S�rG���)�join�maprN���r*���r"���r ���r ���r����__unicode__����s����zNode.__unicode__rK���c�����������������C���s���|�j�|�jf|j�|jfkS�r���)r���r*���r���r ���r ���r���r�������s����zNode._eqc�����������������C���s���t�|�jdd��|�jD��|�jd�S�)Nc�����������������S���s���g�|�]}|�����qS�r ���)r#���)�.0r0���r ���r ���r���� <listcomp>��s�����zNode.clone.<locals>.<listcomp>�rY���)rX���r���r*���rY���r"���r ���r ���r���r#�����s�����z Node.clonec�����������������c���s$���|�j�D�]}|���E�d�H��q|�V��d�S�r���)r*���r$���rE���r ���r ���r���r$�����s���� zNode.post_orderc�����������������c���s$���|�V��|�j�D�]}|���E�d�H��qd�S�r���)r*���r%���rE���r ���r ���r���r%�����s���� zNode.pre_orderc�����������������C���s���|�j�s dS�|�j�d�jS�)NrH���r����r*���rI���r"���r ���r ���r���rI�����s����zNode.prefixc�����������������C���s���|�j�r||�j�d�_d�S�r3���rc����r���rI���r ���r ���r���rI�����s����c�����������������C���s(���|�|_�d�|�j|�_�||�j|<�|�����d�S�r���)r)���r*���r-���r?���r ���r ���r���� set_child ��s���� zNode.set_childc�����������������C���s ���|�|_�|�j�||��|�����d�S�r���)r)���r*����insertr-���r?���r ���r ���r����insert_child*��s����zNode.insert_childc�����������������C���s���|�|_�|�j�|��|�����d�S�r���)r)���r*���r,���r-���rE���r ���r ���r����append_child3��s����zNode.append_child)NNN)rQ���rR���rS���r[���r\���r_���rV���rW���rP���r���r#���r$���r%���rU���rI����setterre���rg���rh���r ���r ���r ���r���rX�������s&������� rX���c�������������������@���s����e�Zd�ZdZdZdZddg�fdd�Zdd��Zdd ��Ze j d krBeZdd��Zd d��Z dd��Zdd��Zdd��Zedd���Zejdd���ZdS�)r4���rH���r���Nc�����������������C���sF���|d�k r|\|�_�\|�_|�_||�_||�_|d�k r4||�_�|d�d���|�_d�S�r���)�_prefixr5����columnr����valuerY���)r���r���rl���rZ���rI���rY���r ���r ���r���r[���F��s����z Leaf.__init__c�����������������C���s���d|�j�j|�j|�jf�S�)Nz %s(%r, %r))r���rQ���r���rl���r"���r ���r ���r���r\���Y��s�����z Leaf.__repr__c�����������������C���s���|�j�t|�j��S�r���)rI���rN���rl���r"���r ���r ���r���r_���_��s����zLeaf.__unicode__rK���c�����������������C���s���|�j�|�jf|j�|jfkS�r���)r���rl���r���r ���r ���r���r���j��s����zLeaf._eqc�����������������C���s$���t�|�j|�j|�j|�j|�jff|�jd�S�)Nrb���)r4���r���rl���rI���r5���rk���rY���r"���r ���r ���r���r#���n��s���� �z Leaf.clonec�����������������c���s ���|�V��d�S�r���r ���r"���r ���r ���r���rD���t��s����zLeaf.leavesc�����������������c���s ���|�V��d�S�r���r ���r"���r ���r ���r���r$���w��s����zLeaf.post_orderc�����������������c���s ���|�V��d�S�r���r ���r"���r ���r ���r���r%���{��s����zLeaf.pre_orderc�����������������C���s���|�j�S�r���)rj���r"���r ���r ���r���rI�����s����zLeaf.prefixc�����������������C���s���|������||�_d�S�r���)r-���rj���rd���r ���r ���r���rI������s����)rQ���rR���rS���rj���r5���rk���r[���r\���r_���rV���rW���rP���r���r#���rD���r$���r%���rU���rI���ri���r ���r ���r ���r���r4���=��s(���� r4���c�����������������C���sN���|\}}}}|s||�j�kr<t|�dkr.|d�S�t|||d�S�t|||d�S�d�S�)Nr���r���)rZ���)Z number2symbol�lenrX���r4���)ZgrZraw_noder���rl���rZ���r*���r ���r ���r����convert���s����rn���c�������������������@���sL���e�Zd�ZdZdZdZdd��Zdd��Zdd��Zddd �Z dd d�Z dd ��ZdS�)�BasePatternNc�����������������O���s ���t��|��S�r���r���r���r ���r ���r���r������s����zBasePattern.__new__c�����������������C���sH���t�|�j�|�j|�jg}|r,|d�d�kr,|d=�qd|�jjd�tt|��f�S�)N���z%s(%s)z, ) r���r����contentr���r���rQ���r]���r^����repr)r���r���r ���r ���r���r\������s����zBasePattern.__repr__c�����������������C���s���|�S�r���r ���r"���r ���r ���r����optimize���s����zBasePattern.optimizec�����������������C���sn���|�j�d�k r|j�|�j�krdS�|�jd�k rRd�}|d�k r4i�}|��||�sDdS�|rR|�|��|d�k rj|�jrj|||�j<�dS�r&���)r���rq���� _submatch�updater���)r���r7����results�rr ���r ���r����match���s���� zBasePattern.matchc�����������������C���s ���t�|�dkrdS�|��|d�|�S�)Nr���Fr���)rm���rx���)r����nodesrv���r ���r ���r���� match_seq���s����zBasePattern.match_seqc�����������������c���s&���i�}|r"|���|d�|�r"d|fV��d�S�rB���)rx���)r���ry���rw���r ���r ���r����generate_matches���s����zBasePattern.generate_matches)N)N)rQ���rR���rS���r���rq���r���r���r\���rs���rx���rz���r{���r ���r ���r ���r���ro������s��� ro���c�������������������@���s*���e�Zd�Zddd�Zd dd�Zd dd�ZdS�)�LeafPatternNc�����������������C���s&���|d�k r|d�k r||�_�||�_||�_d�S�r���)r���rq���r���)r���r���rq���r���r ���r ���r���r[������s ����zLeafPattern.__init__c�����������������C���s���t�|t�sdS�t�|�||�S��NF)r'���r4���ro���rx����r���r7���rv���r ���r ���r���rx��� ��s���� zLeafPattern.matchc�����������������C���s���|�j�|jkS�r���)rq���rl���r~���r ���r ���r���rt�����s���� zLeafPattern._submatch)NNN)N)N)rQ���rR���rS���r[���rx���rt���r ���r ���r ���r���r|������s��� r|���c�������������������@���s$���e�Zd�ZdZddd�Zddd�ZdS�) �NodePatternFNc�����������������C���sP���|d�k r|d�k r:t�|�}t|�D�]\}}t|t�r d|�_q ||�_||�_||�_d�S�r9���)r(���r;���r'����WildcardPattern� wildcardsr���rq���r���)r���r���rq���r���r<����itemr ���r ���r���r[���$��s���� zNodePattern.__init__c�����������������C���s����|�j�rHt|�j|j�D�].\}}|t|j�kr|d�k r<|�|���dS�qdS�t|�j�t|j�kr`dS�t|�j|j�D�]\}}|�||�sn�dS�qndS��NTF)r����r{���rq���r*���rm���ru����ziprx���)r���r7���rv����crw���� subpatternr@���r ���r ���r���rt���A��s���� zNodePattern._submatch)NNN)N)rQ���rR���rS���r����r[���rt���r ���r ���r ���r���r��� ��s��� r���c�������������������@���sZ���e�Zd�Zddedfdd�Zdd��Zddd�Zdd d �Zdd��Zd d��Z dd��Z dd��ZdS�)r����Nr���c�����������������C���s<���|d�k r t�tt�|��}|D�]}q||�_||�_||�_||�_d�S�r���)�tupler^���rq����min�maxr���)r���rq���r����r����r����altr ���r ���r���r[���k��s����zWildcardPattern.__init__c�����������������C���s����d�}|�j�d�k r<t|�j��dkr<t|�j�d��dkr<|�j�d�d�}|�jdkr�|�jdkr�|�j�d�krft|�jd�S�|d�k r�|�j|jkr�|���S�|�jdkr�t|t�r�|jdkr�|�j|jkr�t|j�|�j|j�|�j|j�|j�S�|�S�)Nr���r���)r���) rq���rm���r����r����r���r���rs���r'���r����)r���r����r ���r ���r���rs������s.���� �� � � �zWildcardPattern.optimizec�����������������C���s���|���|g|�S�r���)rz���r~���r ���r ���r���rx������s����zWildcardPattern.matchc�����������������C���sP���|���|�D�]@\}}|t|�kr |d�k rD|�|��|�jrDt|�||�j<��dS�q dS�r����)r{���rm���ru���r���r(���)r���ry���rv���r����rw���r ���r ���r���rz������s���� zWildcardPattern.match_seqc�������������� ���c���s,��|�j�d�krTt|�jdtt|�|�j���D�]*}i�}|�jrF|d�|��||�j<�||fV��q&n�|�jdkrl|��|�V��n�ttd�r�tj }t ��t_ z�z<|��|d�D�]*\}}|�jr�|d�|��||�j<�||fV��q�W�nL�tk �r���|�� |�D�]*\}}|�jr�|d�|��||�j<�||fV��q�Y�nX�W�5�ttd��r&|t_ X�d�S�)Nr���Z bare_name�getrefcountr���)rq����ranger����rm���r����r����_bare_name_matches�hasattrrV����stderrr����_recursive_matches�RuntimeError�_iterative_matches)r���ry����countrw���Zsave_stderrr ���r ���r���r{������s.���� z WildcardPattern.generate_matchesc�����������������c���s����t�|�}d|�jkrdi�fV��g�}|�jD�]0}t||�D�] \}}||fV��|�||f��q4q&|r�g�}|D�]�\}} ||k�rd||�jkrd|�jD�]`}t|||d����D�]H\} }| dkr�i�}|�| ��|�|��|| �|fV��|�|| �|f��q�q�qd|}qXd�S�r3���)rm���r����rq���r{���r,���r����ru���)r���ry���Znodelenrv���r����r����rw���Znew_results�c0�r0�c1�r1r ���r ���r���r�������s*���� z"WildcardPattern._iterative_matchesc�����������������C���sp���d}i�}d}t�|�}|sV||k�rVd}|�jD�](}|d��||�|�r*|d7�}d}�qq*q|d�|��||�j<�||fS�)Nr���FTr���)rm���rq���rx���r���)r���ry���r����rw���Zdoner����Zleafr ���r ���r���r�������s���� z"WildcardPattern._bare_name_matchesc����������� ������c���s����||�j�krdi�fV��||�jk�r�|�jD�]`}t||�D�]P\}}|��||d���|d��D�].\}}i�}|�|��|�|��||�|fV��qRq2q$d�S�rB���)r����r����rq���r{���r����ru���) r���ry���r����r����r����r����r����r����rw���r ���r ���r���r���� ��s���� z"WildcardPattern._recursive_matches)N)N)rQ���rR���rS����HUGEr[���rs���rx���rz���r{���r����r����r����r ���r ���r ���r���r����]��s���# -r����c�������������������@���s.���e�Zd�Zd dd�Zdd��Zdd��Zdd ��ZdS�)�NegatedPatternNc�����������������C���s���|d�k r||�_�d�S�r���)rq���)r���rq���r ���r ���r���r[�����s���� zNegatedPattern.__init__c�����������������C���s���dS�r}���r ���r6���r ���r ���r���rx���(��s����zNegatedPattern.matchc�����������������C���s���t�|�dkS�r3���)rm���)r���ry���r ���r ���r���rz���,��s����zNegatedPattern.match_seqc�����������������c���sJ���|�j�d�kr"t|�dkrFdi�fV��n$|�j��|�D�]\}}�d�S�di�fV��d�S�r3���)rq���rm���r{���)r���ry���r����rw���r ���r ���r���r{���0��s���� zNegatedPattern.generate_matches)N)rQ���rR���rS���r[���rx���rz���r{���r ���r ���r ���r���r������s��� r����c����������� ������c���s����|�sdi�fV��n||�d�|�dd����}}|��|�D�]Z\}}|sH||fV��q0t�|||d����D�].\}}i�}|�|��|�|��||�|fV��qZq0d�S�rB���)r{���ru���) Zpatternsry����p�restr����r����r����r����rw���r ���r ���r���r{���<��s���� r{���)� __author__rV����ior���r����r���r���r���r���rX���r4���rn���ro���r|���r���r����r����r{���r ���r ���r ���r����<module> ���s"��� �1nNV,=�=#