Ë
    çÍ:j  ã                   óR   — d dl mZ d dlmZ  G d„ de«      Zd„ Zedk(  r e«        yy)é    )Úchain)ÚCounterc                   ó~   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zdd„Zd„ Z	e
d	„ «       Ze
dd
„«       Ze
d„ «       Zd„ Zd„ Zdd„Zy)Ú
FStructurec                 ó>   — || vrg | |<   | |   j                  |«       y)zo
        Append 'item' to the list at 'key'.  If no list exists for 'key', then
        construct one.
        N)Úappend)ÚselfÚkeyÚitems      úa/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/nltk/sem/lfg.pyÚ
safeappendzFStructure.safeappend   s&   € ð
 �d‰?ØˆD�‰IØˆS‰	×Ñ˜Õó    c                 óN   — t         j                  | |j                  «       |«       y ©N)ÚdictÚ__setitem__Úlower)r	   r
   Úvalues      r   r   zFStructure.__setitem__   s   € Ü×Ñ˜˜sŸy™y›{¨EÕ2r   c                 óJ   — t         j                  | |j                  «       «      S r   )r   Ú__getitem__r   ©r	   r
   s     r   r   zFStructure.__getitem__   s   € Ü×Ñ  c§i¡i£kÓ2Ð2r   c                 óJ   — t         j                  | |j                  «       «      S r   )r   Ú__contains__r   r   s     r   r   zFStructure.__contains__   s   € Ü× Ñ   s§y¡y£{Ó3Ð3r   c                 óD   — | j                  «       }|j                  |«      S r   )Úto_depgraphÚto_glueformula_list)r	   Ú	glue_dictÚdepgraphs      r   r   zFStructure.to_glueformula_list!   s!   € Ø×#Ñ#Ó%ˆØ×,Ñ,¨XÓ6Ð6r   Nc                 óT  — ddl m}  |«       }|j                  }| j                  |dd«       |j	                  «       D ]^  \  }}d„ |j                  «       D «       D ]?  }|d   |k(  sŒ|d   }|d   j                  |g «       |d   |   j                  |d   «       ŒA Œ` |d	   |_        |S )
Nr   ©ÚDependencyGraphÚROOTc              3   ó2   K  — | ]  }|d    dk7  sŒ|–— Œ y­w)ÚrelÚTOPN© )Ú.0Úns     r   ú	<genexpr>z)FStructure.to_depgraph.<locals>.<genexpr>/   s   è ø€ ÒF˜Q°A°e±HÀÓ4E”qÑFùs   ‚�Úheadr$   ÚdepsÚaddressé   )	Únltk.parse.dependencygraphr!   ÚnodesÚ_to_depgraphÚitemsÚvaluesÚ
setdefaultr   Úroot)	r	   r$   r!   r   r/   r,   ÚnodeÚn2Úrelations	            r   r   zFStructure.to_depgraph%   s·   € Ý>á"Ó$ˆØ—‘ˆà×Ñ˜%  FÔ+ð #Ÿ[™[›]ò 	A‰MˆG�TÙF %§,¡,£.ÔFò A�Ø�f‘: Ó(Ø! %™y�HØ˜‘L×+Ñ+¨H°bÔ9Ø˜‘L Ñ*×1Ñ1°"°Y±-Õ@ñ	Að	Að ˜a™ˆŒàˆr   c           
      óø  — t        |«      }||   j                  || j                  d   | j                  d   ||dœ«       t        | «      D ]­  }t        | |   «      D ]š  }t	        |t
        «      r|j                  |||«       Œ't	        |t        «      r,t        |«      }||   j                  ||d   |d   ||dœ«       Œct	        |t        «      r|D ]  }|j                  |||«       Œ ŒŽt        d|z  «      ‚ Œ¯ y )Nr   r-   )r,   ÚwordÚtagr*   r$   ú0feature %s is not an FStruct, a list, or a tuple)
ÚlenÚupdateÚpredÚsortedÚ
isinstancer   r0   ÚtupleÚlistÚ	Exception)	r	   r/   r*   r$   ÚindexÚfeaturer   Ú	new_indexr(   s	            r   r0   zFStructure._to_depgraph9   s  € Ü�E“
ˆàˆe‰×Ñà ØŸ	™	 !™Ø—y‘y ‘|ØØñô	
ô ˜d“|ò 	ˆGÜ˜t G™}Ó-ò �Ü˜d¤JÔ/Ø×%Ñ% e¨U°GÕ<Ü ¤eÔ,Ü # E£
�IØ˜)Ñ$×+Ñ+à'0Ø$(¨¡GØ#'¨¡7Ø$)Ø#*ñõô   ¤dÔ+Ø!ò >˜ØŸ™ u¨e°WÕ=ñ>ô $ØJÈWÑTóð ñ%ñ	r   c                 óB   — t         j                  | j                  | «      S r   )r   Ú_read_depgraphr4   )r   s    r   Úread_depgraphzFStructure.read_depgraph]   s   € ä×(Ñ(¨¯©¸ÓAÐAr   c           
      ód  — |s
t        «       }| d   j                  «       dv r
| d   | d   fS t        «       }d |_        t        j	                  |j                  «       «      |_        ||_        | d   | d   }}|d d dk(  r&|dd dk(  r|j                  d	d
«       ||d d f|_        |j                  s	||f|_        t        j                  | d   j                  «       «      D �cg c]  }|j                  |   ‘Œ }}|D ]-  }	|j                  |	d   t        j                  |	|||«      «       Œ/ |S c c}w )Nr$   )ÚspecÚpunctr9   r:   é   ÚVBé   ÚDÚtense)ÚPASTrQ   r+   )r   r   r   r>   Ú_make_labelÚgetÚlabelÚparentr   r   Úfrom_iterabler2   r/   rH   )
r5   r   Úlabel_counterrV   Úfstructr9   r:   ÚidxÚchildrenÚchilds
             r   rH   zFStructure._read_depgrapha   sL  € áÜ#›IˆMà�‰;×ÑÓÐ"3Ñ3à˜‘L $ u¡+Ð.Ð.ô !“lˆGØˆGŒLÜ&×2Ñ2°=×3DÑ3DÓ3FÓGˆGŒMà#ˆGŒNà˜V™ d¨5¡k�#ˆDØ�2�Aˆw˜$ŠØ�q˜�8˜s’?Ø×&Ñ& wÐ0AÔBØ $ c¨"¨1 g˜�”à—<’<Ø $ c˜{�”ô !×.Ñ.¨t°F©|×/BÑ/BÓ/DÓEöàð —‘˜sÓ#ðˆHð ð "ò �Ø×"Ñ"Ø˜%‘LÜ×-Ñ-¨e°X¸}ÈgÓVõðð ˆNùòs   Ã!D-c                 ó\   — g d¢| dz
     }t        | «      dz  }|dkD  r|t        |«      z   S |S )z³
        Pick an alphabetic character as identifier for an entity in the model.

        :param value: where to index into the list of characters
        :type value: int
        )ÚfÚgÚhÚiÚjÚkÚlÚmr(   ÚoÚpÚqÚrÚsÚtÚuÚvÚwÚxÚyÚzÚaÚbÚcÚdÚer-   é   r   )ÚintÚstr)r   ÚletterÚnums      r   rS   zFStructure._make_label†   sB   € ò
ð6 �!‰)ñ7ˆô8 �%‹j˜BÑˆØ�Š7ØœC ›HÑ$Ð$àˆMr   c                 óB   — | j                  «       j                  dd«      S )Nú
Ú )Ú__str__Úreplace©r	   s    r   Ú__repr__zFStructure.__repr__°   s   € Ø�|‰|‹~×%Ñ% d¨BÓ/Ð/r   c                 ó"   — | j                  «       S r   )Úpretty_formatr�   s    r   r   zFStructure.__str__³   s   € Ø×!Ñ!Ó#Ð#r   c                 ó   — 	 d| j                   z  }	 |d| j                  d   z  z  }t        | «      D ]ô  }| |   D ]ê  }t	        |t
        «      rP|t        |«      z   dz   t        | j                   «      z   }|dj                  d|z  ||j                  |«      «      z  }Œct	        |t        «      r|dj                  d|z  ||d   «      z  }Œ�t	        |t        «      r>|d	j                  d|z  |d
d|t        |«      z   dz   z  z  j                  |«      «      z  }ŒÞt        d|z  «      ‚ Œö |dz   S # t        $ r d}Y �Œ+w xY w# t        $ r Y �Œ%w xY w)Nz%s:[ú[z	pred '%s'r   rO   z
{}{} {}ú z

{}{} '{}'z
{}{} {{{}}}z
%srM   r;   ú])rU   Ú	NameErrorr>   r?   r@   r   r<   Úformatr„   rA   rB   ÚjoinrC   )r	   ÚindentÚaccumrE   r   Únext_indents         r   r„   zFStructure.pretty_format¶   s}  € ð	Ø˜TŸZ™ZÑ'ˆEð	Ø�[ D§I¡I¨a¡LÑ1Ñ1ˆEô ˜d“|ò 	ˆGØ˜W™ò �Ü˜d¤JÔ/Ø"(¬3¨w«<Ñ"7¸!Ñ";¼cÀ$Ç*Á*»oÑ"M�KØ˜[×/Ñ/Ø˜v™ØØ×*Ñ*¨;Ó7óñ ‘Eô
   ¤eÔ,Ø˜]×1Ñ1°#¸±.À'È4ÐPQÉ7ÓSÑS‘EÜ ¤dÔ+Ø˜_×3Ñ3Ø˜v™ØØ 3¨&´3°w³<Ñ*?À!Ñ*CÑ#DÑE×KÑKÈDÓQóñ ‘Eô $ØJÈWÑTóð ñ#ð	ð* �s‰{Ðøô9 ò 	Ø‹Eð	ûô ò 	Úð	ús"   ‚D. ’E  Ä.D=Ä<D=Å 	EÅEr   )NN)rO   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r0   ÚstaticmethodrI   rH   rS   r‚   r   r„   r&   r   r   r   r      su   „ òò3ò3ò4ò7óò("ðH ñBó ðBð ò"ó ð"ðH ñ'ó ð'òR0ò$ôr   r   c                  ó¦   — ddl m}   | d«      } | d«      } | d«      } | d«      }||||g}|D ]   }t        t        j	                  |«      «       Œ" y )Nr   r    zýEsso       NNP     2       SUB
said       VBD     0       ROOT
the        DT      5       NMOD
Whiting    NNP     5       NMOD
field      NN      6       SUB
started    VBD     2       VMOD
production NN      6       OBJ
Tuesday    NNP     6       VMOD
zUJohn    NNP     2       SUB
sees    VBP     0       ROOT
Mary    NNP     2       OBJ
zWa       DT      2       SPEC
man     NN      3       SUBJ
walks   VB      0       ROOT
z�every   DT      2       SPEC
girl    NN      3       SUBJ
chases  VB      0       ROOT
a       DT      5       SPEC
dog     NN      3       OBJ
)r.   r!   Úprintr   rI   )r!   Údg1Údg2Údg3Údg4Ú	depgraphsÚdgs          r   Údemo_read_depgraphr›   Ø   sy   € Ý:á
ð		ó€Cñ ð	ó€Cñ ð	ó€Cñ ð	ó€Cð �c˜3 Ð$€IØò ,ˆÜŒj×&Ñ& rÓ*Õ+ñ,r   Ú__main__N)Ú	itertoolsr   Únltk.internalsr   r   r   r›   r�   r&   r   r   ú<module>rŸ      s7   ðõ å "ôG�ô GòT),ðX ˆzÒÙÕð r   