ó
    ´OÂfÖ  ã                   ó’   • S SK Jr  S SKJrJr  S SKJr   " S S\5      r " S S\\5      r " S S	\\5      r	 " S
 S\\5      r
/ SQrg)é    )ÚProbabilisticMixIn)ÚMultiParentedTreeÚParentedTree)ÚTreec                   ó„   ^ • \ rS rSrSU 4S jjrS rS rS rS rS r	S r
S	 rS
 rSS jrS rS rS rS rS rSrU =r$ )ÚImmutableTreeé   c                 óä   >• [         TU ]  X5         [        U R                  [	        U 5      45      U l        g ! [        [        4 a'  n[        S[        U 5      R                  -  5      UeS nAff = f)Nz-%s: node value and children must be immutable)
ÚsuperÚ__init__ÚhashÚ_labelÚtupleÚ_hashÚ	TypeErrorÚ
ValueErrorÚtypeÚ__name__)ÚselfÚnodeÚchildrenÚeÚ	__class__s       €Ú5/usr/lib/python3/dist-packages/nltk/tree/immutable.pyr   ÚImmutableTree.__init__   se   ø€ Ü‰Ñ˜Ô(ð	Ü˜tŸ{™{¬E°$«KÐ8Ó9ˆD�JøÜœ:Ð&ó 	ÜØBÄTÈ$ÃZ×EXÑEXÑXóàðûð	ús   ’%8 ¸A/Á"A*Á*A/c                 óD   • [        S[        U 5      R                  -  5      e©Nú%s may not be modified©r   r   r   )r   ÚindexÚvalues      r   Ú__setitem__ÚImmutableTree.__setitem__   ó   € ÜÐ1´D¸³J×4GÑ4GÑGÓHÐHó    c                 óD   • [        S[        U 5      R                  -  5      er   r   )r   ÚiÚjr!   s       r   Ú__setslice__ÚImmutableTree.__setslice__   r$   r%   c                 óD   • [        S[        U 5      R                  -  5      er   r   )r   r    s     r   Ú__delitem__ÚImmutableTree.__delitem__"   r$   r%   c                 óD   • [        S[        U 5      R                  -  5      er   r   )r   r'   r(   s      r   Ú__delslice__ÚImmutableTree.__delslice__%   r$   r%   c                 óD   • [        S[        U 5      R                  -  5      er   r   ©r   Úothers     r   Ú__iadd__ÚImmutableTree.__iadd__(   r$   r%   c                 óD   • [        S[        U 5      R                  -  5      er   r   r2   s     r   Ú__imul__ÚImmutableTree.__imul__+   r$   r%   c                 óD   • [        S[        U 5      R                  -  5      er   r   ©r   Úvs     r   ÚappendÚImmutableTree.append.   r$   r%   c                 óD   • [        S[        U 5      R                  -  5      er   r   r:   s     r   ÚextendÚImmutableTree.extend1   r$   r%   c                 óD   • [        S[        U 5      R                  -  5      er   r   r:   s     r   ÚpopÚImmutableTree.pop4   r$   r%   c                 óD   • [        S[        U 5      R                  -  5      er   r   r:   s     r   ÚremoveÚImmutableTree.remove7   r$   r%   c                 óD   • [        S[        U 5      R                  -  5      er   r   ©r   s    r   ÚreverseÚImmutableTree.reverse:   r$   r%   c                 óD   • [        S[        U 5      R                  -  5      er   r   rH   s    r   ÚsortÚImmutableTree.sort=   r$   r%   c                 ó   • U R                   $ ©N©r   rH   s    r   Ú__hash__ÚImmutableTree.__hash__@   s   € Ø�z‰zÐr%   c                 ót   • [        U S5      (       a!  [        S[        U 5      R                  -  5      eXl        g)zƒ
Set the node label.  This will only succeed the first time the
node label is set, which should occur in ImmutableTree.__init__().
r   r   N)Úhasattrr   r   r   r   )r   r!   s     r   Ú	set_labelÚImmutableTree.set_labelC   s1   € ô
 �4˜×"Ñ"ÜÐ5¼¸T»
×8KÑ8KÑKÓLÐLØ�r%   )r   r   rO   )r   Ú
__module__Ú__qualname__Ú__firstlineno__r   r"   r)   r,   r/   r4   r7   r<   r?   rB   rE   rI   rL   rQ   rU   Ú__static_attributes__Ú__classcell__)r   s   @r   r   r      s_   ø† ÷	òIòIòIòIòIòIòIòIôIòIòIòIò÷ð r%   r   c                   óJ   • \ rS rSrS
S jrS rS rS rSS jr\	S 5       r
S	rg)ÚImmutableProbabilisticTreeéM   Nc                 óÆ   • [         R                  XU5        [        R                  " U 40 UD6  [        U R                  [        U 5      U R                  5       45      U l        g rO   )r   r   r   r   r   r   Úprobr   )r   r   r   Úprob_kwargss       r   r   Ú#ImmutableProbabilisticTree.__init__N   sF   € Ü×Ñ˜t¨8Ô4Ü×#Ò# DÑ8¨KÒ8Ü˜4Ÿ;™;¬¨d«°T·Y±Y³[ÐAÓBˆ�
r%   c                 ó   • [         $ rO   )r]   rH   s    r   Ú_frozen_classÚ(ImmutableProbabilisticTree._frozen_classT   s   € Ü)Ð)r%   c                 óV   • [         R                  " U 5       SU R                  5        S3$ )Nú [Ú])r   Ú__repr__r`   rH   s    r   ri   Ú#ImmutableProbabilisticTree.__repr__W   s%   € Ü—-’- Ó%Ð& b¨¯©«¨°QÐ7Ð7r%   c                 óH   • U R                  SS9 SU R                  5        S3$ )Né<   )Úmarginrg   rh   )Úpformatr`   rH   s    r   Ú__str__Ú"ImmutableProbabilisticTree.__str__Z   s'   € Ø—,‘, b�,Ð)Ð*¨"¨T¯Y©Y«[¨M¸Ð;Ð;r%   c                 ó”   • U(       d(  [        U 5      " U R                  X R                  5       S9$ [        U 5      R                  U 5      $ )N©r`   )r   r   r`   Úconvert)r   Údeeps     r   ÚcopyÚImmutableProbabilisticTree.copy]   s5   € ÞÜ˜”:˜dŸk™k¨4·i±i³kÑBÐBä˜“:×%Ñ% dÓ+Ð+r%   c                 ó  • [        U[        5      (       af  U Vs/ s H  o R                  U5      PM     nn[        U[        5      (       a  U " UR                  X1R                  5       S9$ U " UR                  USS9$ U$ s  snf )Nrr   g      ð?)Ú
isinstancer   rs   r   r   r`   )ÚclsÚvalÚchildr   s       r   rs   Ú"ImmutableProbabilisticTree.convertc   sl   € ä�cœ4× Ñ Ù8;Ó<º¨uŸ™ EÖ*¹ˆHÐ<Ü˜#Ô1×2Ñ2Ù˜3Ÿ:™: x·h±h³jÑAÐAá˜3Ÿ:™: x°cÑ:Ð:àˆJùò =s   šA>rP   rO   )F)r   rW   rX   rY   r   rd   ri   ro   ru   Úclassmethodrs   rZ   © r%   r   r]   r]   M   s0   † ôCò*ò8ò<ô,ð ñó ór%   r]   c                   ó   • \ rS rSrSrg)ÚImmutableParentedTreeéo   r~   N©r   rW   rX   rY   rZ   r~   r%   r   r€   r€   o   ó   † Úr%   r€   c                   ó   • \ rS rSrSrg)ÚImmutableMultiParentedTreeés   r~   Nr‚   r~   r%   r   r…   r…   s   rƒ   r%   r…   )r]   r   r€   r…   N)Únltk.probabilityr   Únltk.tree.parentedr   r   Únltk.tree.treer   r   r]   r€   r…   Ú__all__r~   r%   r   Ú<module>r‹      sQ   ðõ 0ß >Ý ô:�Dô :ôz Ð0Bô ôD	˜M¨<ô 	ô	 Ð0Aô 	ò�r%   