
    uYf8                        d dl 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 d dlmZ d dlmZ d d	lmZmZmZmZmZ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mZ d dlm Z! d dlmZ" d dlm#Z#m$Z$m%Z%m&Z& d dl'm(Z(m)Z)m*Z* d dl'm
Z+ d dl'm,Z, g dZ-	 d dl.m/Z0 e jd                  dk\  rd dl3m4Z4 nd dl5m4Z4 	 d dl.m6Z7 	 d dl.m8Z8 d Z6d Z9d Z: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=fd$ZAdee<   fd%ZBeZCeZDe jd                  d&k\  rd d'lmEZE d d
lmZF d dlmZG d dlmZH d dlmZ d dlm ZI d dlmZ d d(lJmKZK d d)lmLZL d d'lmEZM d d*lmNZNm/Z/mOZOmPZPmQZQmRZRmSZS 	 d d+lmTZT de=fd,ZUeZeZeZeIZ eHZeGZeFZeVZWeXZYde=fd.ZZd/ Z[e jd                  dk\  r/d0 Z\d1edee<   fd2Z]e jd                  dk\  r	d d3lm^Z^m_Z_ nd d3l.m^Z^m_Z_ nd d3l.m^Z^m_Z_ d4 Z\d1edee<   fd5Z]dVd6Z`d!ede=fd7Zad8 Zbd9 Zcd: Zdd; Zed< Zfd= Zgde=fd>Zhd? ZidWd@ZjdU Zpye"ZeZeZe!Z eZeZeZeZWe#ZYd d'lmEZk d dAlmEZEmNZNm/Z/mOZOmQZQ d dBl.mLZLm^Z^m_Z_ d dCl.m%Zl de=fdDZZdE Z[dF Z\d1edee<   fdGZ]d!ede=fdHZad!ede=fdIZbdJ ZcdK ZddL Zfej                  e!j                  ej                  ej                  ej                  e#j                  dhZndM ZedN Zgd dOlmoZo de=fdPZUdQ ZhdR ZidVdSZ`dWdTZjdU Zpy# e1$ r dZ0Y Kw xY w# e1$ r e jd                  dk\  sJ d dlm6Z7 Y Kw xY w# e1$ r e jd                  dk\  sJ d dlm8Z8 Y gw xY w# e1$ r
 de=fd-ZUY w xY w)X    N)deque)
MutableSet)Set)MISSING)fields)is_dataclass)AbstractSet)AnyDequeDictFinal	FrozenSetList)Mapping)MutableMapping)MutableSequence)NewTypeOptionalProtocol)Sequence)Tupleget_args
get_originget_type_hints)NOTHING	AttributeFactory)resolve_types)ExceptionGroupExtensionsTypedDict	TypedDict	TypeAliasis_typeddict)r!   )      )r   )r#   )r$   
   )r"   c                 .    t        t        | d|             S )z4Thin wrapper around typing(_extensions).is_typeddict
__origin__)_is_typeddictgetattrclss    N/var/www/highfloat_scraper/venv/lib/python3.12/site-packages/cattrs/_compat.pyr#   r#   7   s    lC899    c                 6    t        | d      xs t        | d      S )N__attrs_attrs____dataclass_fields__)hasattrr+   s    r-   hasr3   <   s    3)*Rgc;Q.RRr.   c                 D    t        |       xs t        t        |             S )zATest whether the class if a normal or generic attrs or dataclass.)r3   r   r+   s    r-   has_with_genericr5   @   s    s8+s:c?++r.   c                     	 | j                   S # t        $ r( 	 t        |       cY S # t        $ r t        d      d w xY ww xY w)Nz Not an attrs or dataclass class.)r0   AttributeErrordataclass_fields	Exceptiontypes    r-   r   r   E   sU    J### J	J#D)) 	J>?TI	JJs    	?
%?;?returnc                 >   t        |       rt        |       }t        d |D              rt        |       }ni }|D cg c]  }t	        |j
                  |j                  t        ur|j                  n,|j                  t        urt        |j                        nt        dddd|j                  d|j                  |j
                  |j                        |j
                  
       c}S t        |       }t        d |D              rt        |        t        |       }|S c c}w )z@Return the attrs format of `fields()` for attrs and dataclasses.c              3   P   K   | ]  }t        |j                  t                 y wN
isinstancer;   str.0as     r-   	<genexpr>z!adapted_fields.<locals>.<genexpr>S   s     61z!&&#&6   $&NT)r;   aliasc              3   P   K   | ]  }t        |j                  t                 y wr?   r@   rC   s     r-   rF   z!adapted_fields.<locals>.<genexpr>o   s     
4q:affc"
4rG   )r   r8   anyr   r   namedefaultr   default_factoryr   r   initgetr;   attrs_fieldsr   )clattrs
type_hintsattrattribss        r-   adapted_fieldsrV   O   s    B $666 (+JJ( '
& % 		<<w.  ++7: D001 		^^DIItyy9ii!
 	
* 2G

4G
44br"N5
s   B'Dobjc                 :    	 t        | |      S # t        $ r Y yw xY w)z+A safe version of issubclass (won't raise).F)
issubclass	TypeError)rW   basess     r-   is_subclassr\   v   s&    #u%% s    	r;   c                 L    t        | dd       }|t        u xr d| j                  vS )Nr(   .)r*   tuple__args__r;   origins     r-   is_hetero_tuplerb   ~   s(    T<.FU?7s$--77r.   c                 @    t        | t              xr t        | dd      S )N_is_protocolF)rY   r   r*   r:   s    r-   is_protocolre      s    dH%N'$*NNr.   c                     | t         u S r?   )r   r:   s    r-   is_bare_finalrg      s    5=r.   c                     | t         u rt        S | j                  t        u r!| j                  t         u r| j
                  d   S y)z8Return the base of the Final annotation, if it is Final.r   N)r   r
   	__class___GenericAliasr(   r_   r:   s    r-   get_final_baserk      s7    u}
~~&4??e+C}}Qr.   )r$   	   )Counter)GenericAlias)	Annotated)Genericr!   Union_AnnotatedAliasrj   _SpecialGenericAlias_UnionGenericAlias)_LiteralGenericAliasc                 &    | j                   t        u S r?   )ri   ru   r:   s    r-   
is_literalrw      s    >>%999r.   c                      y)NF )_s    r-   rw   rw      s    r.   c                 (    t        | dd       t        u S )Nri   )r*   rr   r:   s    r-   is_annotatedr|      s    t[$/?BBr.   c                     | t         t        fv xsC | j                  t        u xr t	        | j
                  t               xs t        | dd       t        u S Nr(   )r   r^   ri   rj   rY   r(   r*   r:   s    r-   is_tupler      K    UEN" <-/VJtPU4V<lD1U:	
r.   c                     ddl m} | t        u xs2 t        | t              xr | j
                  t        u xs t        | |      S )Nr   )	UnionType)typesr   rq   rA   rt   r(   )rW   r   s     r-   is_union_typer      s@    ' u .s$67SCNNe<S.c9-r.   typc                 L    | t         u st        | t               r| j                  S y r?   )r   rA   __supertype__)r   s    r-   get_newtype_baser      s!    g~C!9(((r.   )NotRequiredRequiredc                 ^    | t         u xs$ t        | t              xr | j                  t         u S r?   )rq   rA   rt   r(   rW   s    r-   r   r      s/    u ,c#56 ,NNe+r.   c                 b    t        | dd       }| t        | dd      dk(  r| j                  dv r|S y Nr   __qualname__ zNewType.<locals>.new_type)typingtyping_extensionsr*   
__module__r   	supertypes     r-   r   r      s>    _d;I%C48SSNN&EE  r.   c                 X    t        |       t        t        fv rt        |       d   S t        S Nr   r   r   r   r   r   r:   s    r-   get_notrequired_baser      (    dX66D>!$$r.   c           
         t        | dd       }| t        t        t        t        t
        t        t        t        t        f	v xs | j                  t        u xr7 |t        uxr t        |t              xs |t        u xr | j                  d   du xs5 |t        t        t
        t        fv xs |t        u xr | j                  d   du S )Nr(      .)r*   r   listTypingSequenceTypingMutableSequenceAbcMutableSequencer^   r   r   r   ri   rj   rY   r_   AbcSequencer`   s     r-   is_sequencer      s    |T2%"
 = -/ 5( ;"6>:0 0a(C/%=* 4(:KHH+=, %;DMM!$4$;/	
r.   c                     | t         t        fv xsC | j                  t        u xr t	        | j
                  t               xs t        | dd       t         u S r~   )r   r   ri   rj   rY   r(   r*   r:   s    r-   is_dequer     r   r.   c                     | t         t        t        fv xsN | j                  t        u xr t        | j                  t              xs t        | dd       t        t        t        fv S r~   )
	TypingSetTypingMutableSetsetri   rj   rY   r(   r*   AbcMutableSetAbcSetr:   s    r-   is_mutable_setr     s^    Y 0#66 S-/ Bt0@AS
 lD1c=&5QQ	
r.   c                     | t         t        fv xsC | j                  t        u xr t	        | j
                  t               xs t        | dd       t        u S r~   )r   	frozensetri   rj   rY   r(   r*   r:   s    r-   is_frozensetr   '  sR    Y	** @-/ ;t	:@
 lD1Y>	
r.   c                 ^    t        | t              xs t        | d       xr t        | d       S )Nr(   r_   )rA   rs   r2   r:   s    r-   is_barer   1  s3    $ 45 
l++MGD*4M0M	
r.   c                     | t         t        t        t        t        fv xs` | j
                  t        u xr t        | j                  t              xs0 t        | dd       t         t        t        fv xs t        | t               S r~   )dictr   TypingMappingTypingMutableMappingAbcMutableMappingri   rj   rY   r(   r*   
AbcMappingr:   s    r-   
is_mappingr   6  st    T40DFWXX 	&-/ ?t>	& lD1+Z89	& $%	
r.   c                 H    | t         t        fv xs t        | dd       t         u S r~   )rm   TypingCounterr*   r:   s    r-   
is_counterr   D  s*    Wm,, <t\40G;	
r.   c                 n    t        | t        t        f      xs t        | t              xr t        | d      S )zWhether obj is a generic type.__orig_bases__)rA   rj   rn   r\   rp   r2   r   s    r-   
is_genericr   J  s4     #|<= 
W%H'#7G*H	
r.   c                 H    t        |       r	t        |   S | j                  |   S z#Replace a generic type's arguments.)r|   ro   r(   r;   argss     r-   	copy_withr   R  s#    T?"t$$r.   c                      t        | ||d      S )NT)include_extrasr   rW   globalnslocalnss      r-   get_full_type_hintsr   Y  s    c8WTJJr.   )rm   rp   r!   rq   rj   )ro   r   r   )r   c                 $    t        |       t        u S r?   )te_get_originro   r:   s    r-   r|   r|   n  s    T"i//r.   c                 ~    | t         t        fv xs. | j                  t        u xr t	        | j
                  t               S r?   )r   r^   ri   rj   rY   r(   r:   s    r-   r   r   q  s4    u~% 
NNm+R
4??E0R	
r.   c                 ^    | t         u xs$ t        | t              xr | j                  t         u S r?   )rq   rA   rj   r(   r   s    r-   r   r   v  s)    5LVJsM:Vs~~QV?V	
r.   c                 b    t        | dd       }| t        | dd      dk(  r| j                  dv r|S y r   r   r   s     r-   r   r   {  s>    C$7	!^R04OO"AAr.   c                 *   | t         t        t        t        fv xsz | j                  t
        u xr9 | j                  t        t        t        fvxr t        | j                  t              xs+ | j                  t        t        fv xr | j                  d   du S )Nr   .)r   r   r   r^   ri   rj   r(   rq   rY   r   r_   r:   s    r-   r   r     s    dE511 
NNm+ ue'<< @t?O
 E5>1MdmmA6F#6M	
r.   c                     | t         t        fv xsB | j                  t        u xr t	        | j
                  t               xs | j
                  t         u S r?   )r   r   ri   rj   rY   r(   r:   s    r-   r   r     sF    UEN" (-/VJtPU4V(%'	
r.   c                 r    | t         u xs. | j                  t        u xr t        | j                  t
              S r?   )r   ri   rj   rY   r(   r   r:   s    r-   r   r     s/    s{ 
NNm+W
4??J0W	
r.   c                 r    | t         u xs. | j                  t        u xr t        | j                  t
              S r?   )r   ri   rj   rY   r(   r   r:   s    r-   r   r     s0    y  
NNm+V
4??I0V	
r.   c                 ~    | t         t        fv xs. | j                  t        u xr t	        | j
                  t               S r?   )r   r   ri   rj   rY   r(   r:   s    r-   r   r     s8    t,, 
NNm+ ;4??M:	
r.   c                 (    t        | dd       t        v S )Nr_   )r*   bare_generic_argsr:   s    r-   r   r     s    tZ.2CCCr.   c                 H    | t         t        fv xs t        | dd       t        u S r~   )rm   
ColCounterr*   r:   s    r-   r   r     s*    Wj)) ?t\40J>	
r.   )Literalc                 N    | j                   t        u xr | j                  t        u S r?   )ri   rj   r(   r   r:   s    r-   rw   rw     s    ~~.M4??g3MMr.   c                 b    t        | t              xs t        | t              xr t	        | d      S )Nr   )rA   rj   r\   rp   r2   r   s    r-   r   r     s-    #}- 
W%H'#7G*H	
r.   c                 $    | j                  |      S r   )r   r   s     r-   r   r     s    ~~d##r.   c                 X    t        |       t        t        fv rt        |       d   S t        S r   r   r:   s    r-   r   r     r   r.   c                     t        | ||      S r?   r   r   s      r-   r   r     s    c8W55r.   c                 F    t        |       xr t        | j                        S r?   )r   r3   r(   r:   s    r-   is_generic_attrsr     s    d4DOO 44r.   )r<   zUnion[Any, Literal[NOTHING]])NN)qsyscollectionsr   collections.abcr   r   r   r   dataclassesr   r   r8   r   r   r	   TypingAbstractSetr
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rR   r   r   r   rP   r   __all__r   r!   r    ImportErrorversion_infobuiltinsr   exceptiongroupr#   r)   r"   r3   r5   rV   r;   boolr\   rb   re   rg   rk   OriginAbstractSetOriginMutableSetrm   r   r   r   r   r   rn   ro   r   rp   rq   rr   rj   rs   rt   ru   rw   r   FrozenSetSubscriptabler^   TupleSubscriptabler|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r_   r   r   r   ry   r.   r-   <module>r      s   
  7 )  2 $ 3 ; ; + 9 ; 1 . . - # > > - - ( B
 w'-5?
!+:
S,
J$$y/ $NT T 8# 8$ 8
Oc Od O4 HTN     v#5CE;7-" /  
/	: 	: CKJH(O&NG&Cd C
 7"		# 	(4. 	
 w&44?? 	<		# 	(4. 	

# 
$ 
8







4 
%Kn5g C#K!JH+O)NG&1HHBB=0d 0



c htn 
# 
$ 

s 
t 





 	&&D
 ND N

$
65_    5w&&&445  !w&&&  !B  	T 	sH   K 7K) >L "L/ K&%K&)L	L	L,+L,/L>=L>