
    8f                          d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZmZ d dlmZ d dlmZ d	Z G d
 de      Z G d de      Zy	)    )merge)str_list)ATN)	ATNConfig)SemanticContext)UnsupportedOperationExceptionIllegalStateException)reduce)StringIONc                       e Zd ZdZddefdZd ZddefdZdefdZ	d	 Z
d
 ZdefdZdefdZdefdZd Zd Zd Zd Zd Zd Zd ZdefdZd Zy)ATNConfigSet)	configLookupfullCtxreadonlyconfigs	uniqueAltconflictingAltshasSemanticContextdipsIntoOuterContextcachedHashCoder   c                     t               | _        || _        d| _        g | _        d| _        d | _        d| _        d| _        d| _	        y )NFr   )
dictr   r   r   r   r   r   r   r   r   )selfr   s     C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition\MO2\plugins\installer_wizard\lib\antlr4\atn\ATNConfigSet.py__init__zATNConfigSet.__init__$   sR     !F   # #($)!     c                 6    | j                   j                         S N)r   __iter__r   s    r   r    zATNConfigSet.__iter__A   s    ||$$&&r   Nconfigc                    | j                   rt        d      |j                  t        j                  urd| _        |j                  dkD  rd| _        | j                  |      }||u r#d| _	        | j                  j                  |       y| j                   }t        |j                  |j                  ||      }t        |j                  |j                        |_        |j                   rd|_        ||_        y)NThis set is readonlyTr   r   )r   	ExceptionsemanticContextr   NONEr   reachesIntoOuterContextr   getOrAddr   r   appendr   r   contextmaxprecedenceFilterSuppressed)r   r"   
mergeCacheexistingrootIsWildcardmergeds         r   addzATNConfigSet.addM   s    ==233!!)=)==&*D#))A-(,D%==(v"$DLL'!\\)x''T ,/x/O/OQWQoQo+p(,,26H/!r   c                     j                         }| j                  j                  |d       }|t        fd|D        d       }||S |g}|| j                  |<   S |j	                         S )Nc              3   F   K   | ]  }j                  |      s|  y wr   )equalsForConfigSet).0cfgr"   s     r   	<genexpr>z(ATNConfigSet.getOrAdd.<locals>.<genexpr>j   s     Ic&*C*CC*HcIs   !!)hashCodeForConfigSetr   getnextr*   )r   r"   hlrs    `   r   r)   zATNConfigSet.getOrAddf   s    '')!!!T*=IQI4PA}9A#$Da   HHVr   c                 :    t        d | j                  D              S )Nc              3   4   K   | ]  }|j                     y wr   )state)r6   cs     r   r8   z)ATNConfigSet.getStates.<locals>.<genexpr>u   s     1q1771s   )setr   r!   s    r   	getStateszATNConfigSet.getStatest   s    1DLL111r   c                 :    t        d | j                  D              S )Nc              3   p   K   | ].  }|j                   t        j                  k7  s!|j                    0 y wr   )r&   r   r'   )r6   r7   s     r   r8   z-ATNConfigSet.getPredicates.<locals>.<genexpr>x   s*     mC3CVCVXgXlXlClC''ms   "66)listr   r!   s    r   getPredicateszATNConfigSet.getPredicatesw   s    m4<<mmmr   ic                      | j                   |   S r   )r   )r   rI   s     r   r:   zATNConfigSet.getz   s    ||Ar   interpreterc                     | j                   rt        d      t        | j                        dk(  ry | j                  D ]"  }|j	                  |j
                        |_        $ y )Nr$   r   )r   r	   lenr   getCachedContextr+   )r   rK   r"   s      r   optimizeConfigszATNConfigSet.optimizeConfigs}   sT    =='(>??t||all 	JF(99&..IFN	Jr   collc                 4    |D ]  }| j                  |        y)NF)r2   )r   rP   rB   s      r   addAllzATNConfigSet.addAll   s     	AHHQK	r   c                    | |u ryt        |t              sy| j                  d uxr | j                  |j                  k(  xr | j                  |j                  k(  xrj | j                  |j                  k(  xrO | j
                  |j
                  k(  xr4 | j                  |j                  k(  xr | j                  |j                  k(  }|S )NTF)
isinstancer   r   r   r   r   r   r   )r   othersames      r   __eq__zATNConfigSet.__eq__   s    5=E<0||4' DLL%--'DLLEMM)D NNeoo-D   E$9$99	D
 ##u'?'??D %%)C)CC 	 r   c                     | j                   r0| j                  dk(  r| j                         | _        | j                  S | j                         S )Nr   )r   r   hashConfigsr!   s    r   __hash__zATNConfigSet.__hash__   sC    ==""b(&*&6&6&8#&&&!!r   c                 2    t        d | j                  d      S )Nc                     t        | |f      S r   )hash)r<   r7   s     r   <lambda>z*ATNConfigSet.hashConfigs.<locals>.<lambda>   s    T1c(^ r   r   )r
   r   r!   s    r   rY   zATNConfigSet.hashConfigs   s    3T\\1EEr   c                 ,    t        | j                        S r   rM   r   r!   s    r   __len__zATNConfigSet.__len__   s    4<<  r   c                 2    t        | j                        dk(  S )Nr   r`   r!   s    r   isEmptyzATNConfigSet.isEmpty   s    4<< !##r   c                     | j                   t        d      |j                         }| j                   j                  |d       }||D ]  }|j	                  |      s y y)Nz1This method is not implemented for readonly sets.TF)r   r   r9   r:   r5   )r   r"   r<   r=   rB   s        r   __contains__zATNConfigSet.__contains__   sj    $/0cdd'')!!!T*=  ,,Q/  r   c                     | j                   rt        d      | j                  j                          d| _        | j
                  j                          y )Nr$   r   )r   r	   r   clearr   r   r!   s    r   rg   zATNConfigSet.clear   s?    =='(>?? !r   r   c                      || _         d | _        y r   )r   r   )r   r   s     r   setReadonlyzATNConfigSet.setReadonly   s      r   c                    t               5 }|j                  t        | j                               | j                  rC|j                  d       |j                  t        | j                        j                                | j                  t        j                  k7  r5|j                  d       |j                  t        | j                               | j                  5|j                  d       |j                  t        | j                               | j                  r|j                  d       |j                         cd d d        S # 1 sw Y   y xY w)Nz,hasSemanticContext=z,uniqueAlt=z,conflictingAlts=z,dipsIntoOuterContext)r   writer   r   r   strlowerr   r   INVALID_ALT_NUMBERr   r   getvalue)r   bufs     r   __str__zATNConfigSet.__str__   s    Z 	"3IIht||,-&&		01		#d556<<>?~~s555		-(		#dnn-.##/		-.		#d2234((		12<<>	" 	" 	"s   D3EE)Tr   )__name__
__module____qualname__	__slots__boolr   r    r   r2   r)   rD   rH   intr:   ATNSimulatorrO   rG   rR   rW   rZ   rY   ra   rc   re   rg   ri   rq    r   r   r   r      s    I!t !:' 2i 2nC J, J$ 
 "F!$	"!4 !"r   r   c                        e Zd Z fdZ xZS )OrderedATNConfigSetc                 "    t         |           y r   )superr   )r   	__class__s    r   r   zOrderedATNConfigSet.__init__   s    r   )rr   rs   rt   r   __classcell__)r~   s   @r   r{   r{      s     r   r{   )antlr4.PredictionContextr   antlr4.Utilsr   antlr4.atn.ATNr   antlr4.atn.ATNConfigr   antlr4.atn.SemanticContextr   antlr4.error.Errorsr   r	   	functoolsr
   ior   rx   objectr   r{   ry   r   r   <module>r      sA    + !  * 6 T  x"6 x"v, r   