
    i                         d dl Z d dlZd dlmZmZmZmZmZmZm	Z	 ddl
mZ erddlmZ ddlmZ ddlmZ  G d	 d
      ZdefdZd Zy)    N)TYPE_CHECKINGAnyDictListOptionalTupleUnion   )Errors   )Doc)Span)Tokenc            
          e Zd ZU eeefZi Zee	e	f   e
d<   i Zee	e	f   e
d<   i Zee	e	f   e
d<   eee	f   e
d<   ed   e
d<   ee   e
d<   ee   e
d<   	 	 dd
eee	f   ded   dee   dee   fdZdee   fdZdede	fdZdede	fdZdede	fdZdede	fdZdedefdZdedeeeee   ee   f   fdZedeee	e	f   ee	e	f   ee	e	f   f   fd       Zedeee	e	f   ee	e	f   ee	e	f   f   dd	fd       Zy	)
Underscoredoc_extensionsspan_extensionstoken_extensions_extensions)r   r   r   _obj_start_endN
extensionsobjstartendc                     t         j                  | d|       t         j                  | d|       t         j                  | d|j                         t         j                  | d|       t         j                  | d|       y )Nr   r   _docr   r   )object__setattr__doc)selfr   r   r   r   s        h/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/spacy/tokens/underscore.py__init__zUnderscore.__init__   sd     	4
;4- 	414514-    returnc                 V    t        | j                  j                               }g d|z   S )N)setgethas)listr   keys)r"   r   s     r#   __dir__zUnderscore.__dir__)   s&    $**//12
$z11r%   namec                 F   || j                   vr)t        t        j                  j	                  |            | j                   |   \  }}}}| || j
                        S |>t        j                  || j
                        }|j                  xs d}d}||z   |_        |S | j                  |      }	|	| j                  j                  v r| j                  j                  |	   S t        || j                        r)t        j                  |      }
| j                  ||
       |
S |S )Nr.    zsThis method is a partial function and its first argument (the object it's called on) will be filled automatically. )r   AttributeErrorr   E046formatr   	functoolspartial__doc___get_keyr   	user_data
isinstancemutable_typescopyr    )r"   r.   defaultmethodgettersettermethod_partialmethod_docstringmethod_docstring_prefixkeynew_defaults              r#   __getattr__zUnderscore.__getattr__.   s   t''' !3!3!3!>??*.*:*:4*@'$))$$&..vtyyAN  &~~3M $ &=?O%ON"!!--%Cdii)))yy**3//GT%7%78"ii0  {3""Nr%   valuec                    || j                   vr)t        t        j                  j	                  |            | j                   |   \  }}}}| || j
                  |      S || j                  j                  | j                  |      <   y )Nr0   )	r   r2   r   E047r4   r   r   r9   r8   )r"   r.   rG   r=   r>   r?   r@   s          r#   r    zUnderscore.__setattr__J   sz    t''' !3!3!3!>??*.*:*:4*@'$))U++7<DIId 34r%   c                 &    | j                  ||      S N)r    )r"   r.   rG   s      r#   r(   zUnderscore.setS   s    e,,r%   c                 $    | j                  |      S rK   )rF   r"   r.   s     r#   r)   zUnderscore.getV   s    %%r%   c                     || j                   v S rK   )r   rM   s     r#   r*   zUnderscore.hasY   s    t''''r%   c                 6    d|| j                   | j                  fS )Nz._.)r   r   rM   s     r#   r8   zUnderscore._get_key\   s    tT[[$))44r%   c                 H    | j                   | j                  | j                  fS rK   r   r   r   )clss    r#   	get_statezUnderscore.get_state_   s!    ##S%8%8#:L:LLLr%   statec                 .    |\  | _         | _        | _        y rK   rQ   )rR   rT   s     r#   
load_statezUnderscore.load_statec   s     INEc133Er%   )NN)__name__
__module____qualname__dictr+   r(   r;   r   r   r   __annotations__r   r   strr	   r   intr$   r   r-   rF   r    r)   boolr*   r   r8   classmethodrS   rV    r%   r#   r   r      s   4%M%'NDcN'&(OT#s(^(')d38n)c3h
&
''SM
3-  $!.cN. )*. }	.
 c].$2c 2
  8= =C =- -C -& & &( ( (5S 5U3Xc]HSM+Q%R 5 M%S#XS#XS#X NO M M N$sCx.$sCx.$sCx.HIN	N Nr%   r   kwargsc                     | j                  d      }| j                  d      }| j                  d      }| j                  d      }||t        t        j                        d| v |du|duf}t	        d |D              }|dk7  r)t        t        j
                  j                  |            |?t        |d	      s3t        t        j                  j                  dt        |      
            |?t        |d	      s3t        t        j                  j                  dt        |      
            |?t        |d	      s3t        t        j                  j                  dt        |      
            ||||fS )z>Validate and convert arguments. Reused in Doc, Token and Span.r=   r?   r@   r>   Nc              3   $   K   | ]  }|d u  
 yw)TNr`   ).0ts     r#   	<genexpr>zget_ext_args.<locals>.<genexpr>s   s     31Q$Y3   r   )
nr_defined__call__)r.   rG   )
r)   
ValueErrorr   E089sumE083r4   hasattrE091repr)ra   r=   r?   r@   r>   
valid_optsrh   s          r#   get_ext_argsrr   j   sG   jj#GZZ!FZZ!FZZ!F~&,%%v%vT'96;MNJ3
33JQ++z+BCC'&*"=++f+NOO'&*"=++f+NOO'&*"=++f+NOOVVV,,r%   c                 @    | \  }}}}||t        d | D              ryy)zCheck if an extension attribute is writable.
    ext (tuple): The (default, getter, setter, method) tuple available  via
        {Doc,Span,Token}.get_extension.
    RETURNS (bool): Whether the attribute is writable.
    c              3   $   K   | ]  }|d u  
 y wrK   r`   )rd   es     r#   rf   z#is_writable_attr.<locals>.<genexpr>   s     7OaT	7Org   TF)all)extr=   r>   r?   r@   s        r#   is_writable_attrrx      s2     '*#GVVV W0C7O37O4Or%   )r<   r5   typingr   r   r   r   r   r   r	   errorsr   r!   r   spanr   tokenr   r   rr   rx   r`   r%   r#   <module>r}      sC      I I I ZN ZNz-3 -*r%   