Ë
    ¦û’g¸Q  ã                  ó$  — d dl mZ d dlZd dlmZ d dlmZ d dlZd dl	Z	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 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 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$ 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, d d&lm-Z- d d'lm.Z. d d(lm/Z/ d d)lm0Z0 d d*lm1Z1  ed+e¬,«      Z2 ed-«      Z3 ed.d¬/«      Z4 ed0d¬1«      Z5 ed2«      Z6 ed3d¬/«      Z7ejp                  r e9e
jN                  e'g«      Z:n	 e9e'g«      Z:ejv                  rd d4l<m=Z= n e>d«      Z= ed5«      Z?eee   e@eee0d6f   ZA G d7„ d8e*«      ZB G d9„ d:e*e2   «      ZC G d;„ d<e*e3e7f   «      ZDe'd=   ZEdd>dd?œ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dld@„ZF	 	 	 	 dmdA„ZG	 	 	 	 	 	 dndB„ZHdddCœ	 	 	 	 	 	 	 	 	 dodD„ZIddEœ	 	 	 	 	 	 	 dpdF„ZJdqdG„ZKdrdH„ZLdsdI„ZMdtdJ„ZNdudK„ZOdvdL„ZPdwdM„ZQdxdN„ZRdydO„ZS	 	 dz	 	 	 	 	 	 	 d{dP„ZTed|dQ„«       ZUed}dR„«       ZUe	 	 	 	 dmdS„«       ZU	 	 	 	 dmdT„ZUe	 	 	 	 	 	 d~dU„«       ZVe	 	 	 	 	 	 ddV„«       ZV	 	 	 	 	 	 d€dW„ZVd�dX„ZWdtdY„ZXd‚dZ„ZY	 	 	 	 	 	 dƒd[„ZZdd\œ	 	 	 	 	 	 	 d„d]„Z[d…d^„Z\ G d_„ d`e*«      Z] edae]¬,«      Z^ G db„ dcee^   «      Z_ edde]d¬e«      Z` G df„ dgee`   «      Za edheedief      ¬,«      Zb G dj„ dkeeb   «      Zcy)†é    )ÚannotationsN)Údeque)ÚAny)ÚCallable)Úcast)ÚDict)Ú
ForwardRef)ÚGeneric)ÚIterable)ÚMapping)ÚNewType)ÚNoReturn)ÚOptional)Úoverload)ÚSet)ÚTuple)ÚType)ÚTYPE_CHECKING)ÚTypeVar)ÚUnioné   )ÚcompatT)Ú	Annotated)ÚConcatenate)Údataclass_transform)ÚFinal)Úfinal)Úget_args)Ú
get_origin)ÚLiteral)ÚNotRequired)Ú	ParamSpec)ÚProtocol)ÚSupportsIndex)Ú	TypeAlias)Ú	TypedDict)Ú	TypeGuard)ÚSelf)ÚTypeAliasType)ÚNeverÚ_T)ÚboundÚ_KTÚ_KT_co)Ú	covariantÚ
_KT_contra)ÚcontravariantÚ_VTÚ_VT_co)ÚNoneTypeÚNonezGenericProtocol[Any]c                  ó   — e Zd ZU dZded<   y)ÚArgsTypeProtocolz_protocol for types that have ``__args__``

    there's no public interface for this AFAIK

    úTuple[_AnnotationScanType, ...]Ú__args__N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__© ó    úU/var/www/html/AdoubleTech/venv/lib/python3.12/site-packages/sqlalchemy/util/typing.pyr7   r7   Z   s   … ñð .Ô-rA   r7   c                  ó&   — e Zd ZU dZded<   ded<   y)ÚGenericProtocolzXprotocol for generic types.

    this since Python.typing _GenericAlias is private

    r8   r9   úType[_T]Ú
__origin__Nr:   r@   rA   rB   rD   rD   d   s   … ñð .Ó-ØÔrA   rD   c                  ó   — e Zd Zdd„Zdd„Zy)ÚSupportsKeysAndGetItemc                 ó   — y ©Nr@   )Úselfs    rB   ÚkeyszSupportsKeysAndGetItem.keysy   ó   � rA   c                 ó   — y rJ   r@   )rK   Ú_SupportsKeysAndGetItem__ks     rB   Ú__getitem__z"SupportsKeysAndGetItem.__getitem__{   rM   rA   N)ÚreturnzIterable[_KT])rO   r-   rQ   r3   )r;   r<   r=   rL   rP   r@   rA   rB   rH   rH   x   s   „ Û(ä2rA   rH   Ú*F©Ústr_cleanup_fnÚinclude_genericÚ_already_seenc               ól  ‡ ‡‡‡‡‡— |}t        |«      r|j                  }t        |t        «      r‰r	 ‰|‰«      }t	        |‰‰‰ ¬«      }‰rht        |«      r]t        |«      sR‰€
t        «       Š|‰v r|S ‰j                  |«       t        ˆˆ ˆˆˆˆfd„|j                  D «       «      }t        ||«      S |S )a;  Resolve annotations that may be string based into real objects.

    This is particularly important if a module defines "from __future__ import
    annotations", as everything inside of __annotations__ is a string. We want
    to at least have generic containers like ``Mapped``, ``Union``, ``List``,
    etc.

    ©Úlocals_Úin_classc           
   3  óB   •K  — | ]  }t        ‰|‰‰‰‰‰¬ «      –— Œ y­w)rS   N)Úde_stringify_annotation)Ú.0ÚelemrV   ÚclsrU   rY   Úoriginating_modulerT   s     €€€€€€rB   ú	<genexpr>z*de_stringify_annotation.<locals>.<genexpr>·   s:   øè ø€ ò 
ð ô $ØØØ"ØØ-Ø /Ø+÷ð ñ
ùs   ƒ)Ú
is_fwd_refÚ__forward_arg__Ú
isinstanceÚstrÚeval_expressionÚ
is_genericÚ
is_literalÚsetÚaddÚtupler9   Ú_copy_generic_annotation_with)	r_   Ú
annotationr`   rY   rT   rU   rV   Úoriginal_annotationÚelementss	   ` `````  rB   r\   r\   ‚   sÅ   ý€ ð. %Ðä�*ÔØ×/Ñ/ˆ
ä�*œcÔ"ÙÙ'¨
Ð4FÓGˆJä$ØÐ*°GÀcô
ˆ
ñ
 	Ü�zÔ"Ü˜:Ô&àÐ Ü›EˆMà˜Ñ&ð
 'Ð&à×Ñ˜jÔ)ä÷ 
ð 
ð #×+Ñ+ô
ó 
ˆô -¨Z¸ÓBÐBàÐrA   c                óÜ  — t        | «      rÛt        | «      t        t        t        t
        j                  t
        j                  t
        j                  t
        j                  t
        j                  fv rtt        j                  dt        | «      «      sUt        | «      j                  t        t!        | «      D �cg c]  }t#        |t$        «      rt'        |«      n|‘Œ! c}«      «      S | S c c}w )zfCorrect dict['x', 'y'] into dict[ForwardRef('x'), ForwardRef('y')]
    and similar for list, set

    z3typing.(?:Dict|List|Set|.*Mapping|.*Sequence|.*Set))rg   r   Údictri   ÚlistÚcollections_abcÚ
MutableSetÚMutableMappingÚMutableSequencer   ÚSequenceÚreÚmatchÚreprÚ__class_getitem__rk   r   rd   re   r	   )Útype_r^   s     rB   Úfixup_container_fwd_refsr}   É   sÈ   € ô 	�5ÔÜ�uÓäÜÜÜ×&Ñ&Ü×*Ñ*Ü×+Ñ+Ü×#Ñ#Ü×$Ñ$ð	
ñ

ô —‘ØAÄ4ÈÃ;ô
ô
 ˜%Ó ×2Ñ2Üô !)¨£öàô )3°4¼Ô(=”J˜tÔ$À4ÑGòóó
ð 	
ð €Lùòs   Â8$C)c                óZ   — t        | d«      r| j                  |«      S | j                  |   S )NÚ	copy_with)Úhasattrr   rF   )rm   ro   s     rB   rl   rl   ò   s2   € ô ˆz˜;Ô'à×#Ñ# HÓ-Ð-ð ×$Ñ$ XÑ.Ð.rA   rX   c               óŒ  — 	 t         j                  |   j                  }	 |�Qt        |j                  «      }|j                  |j                  |«       |j                  |«       t        | ||«      }|S t        | ||«      }	 |S # t        $ r}t	        d|› d| › �«      |‚d }~ww xY w# t        $ r}t	        d| ›�«      |‚d }~ww xY w)NúModule z9 isn't present in sys.modules; can't evaluate expression z"Could not de-stringify annotation )ÚsysÚmodulesÚ__dict__ÚKeyErrorÚ	NameErrorrq   Ú
setdefaultr;   ÚupdateÚevalÚ	Exception)	Ú
expressionÚmodule_namerY   rZ   Úbase_globalsÚkeÚcls_namespacerm   Úerrs	            rB   rf   rf   ý   sï   € ðÜ'*§{¡{°;Ñ'?×'HÑ'HˆðØÐÜ  ×!2Ñ!2Ó3ˆMØ×$Ñ$ X×%6Ñ%6¸ÔAð
 × Ñ  Ô.ä˜j¨-¸ÓAˆJð Ðô ˜j¨,¸Ó@‰Jð Ðøô1 ò ÜØ�k�]ð ##Ø#- ,ð0ó
ð ð	ûðûô& ò ÜØ0°°Ð?ó
àð	ûðús5   ‚B  AB& Á3B& Â	B#ÂBÂB#Â&	CÂ/B>Â>C©rY   c               óJ  — d| v rt        | ||¬«      S 	 t        j                  |   j                  }	 ||    S # t        $ r}t        d|› d| › �«      |‚d }~ww xY w# t        $ r?}	 t        j                  |    cY d }~S # t        $ r Y nw xY wt        d| › d|› �«      |‚d }~ww xY w)Nú.r’   r‚   z2 isn't present in sys.modules; can't resolve name zCould not locate name z in module )rf   rƒ   r„   r…   r†   r‡   Úbuiltins)Únamer�   rY   rŽ   r�   s        rB   Úeval_name_onlyr—   !  sØ   € ð ˆd�{Ü˜t [¸'ÔBÐBðÜ'*§{¡{°;Ñ'?×'HÑ'HˆðØ˜DÑ!Ð!øô ò ÜØ�k�]ð #Ø ˜6ð#ó
ð ð	ûðûô ò 	ð	Ü×$Ñ$ TÑ*Õ*øÜò 	Ùð	úô Ø$ T F¨+°k°]ÐCó
àð	ûð	úsJ   ”7 ²A ·	AÁ AÁAÁ	B"Á$A<Á6B"Á<	BÂBÂBÂBÂB"c                óX   — 	 t        | |«      }t        |d| «      S # t        $ r | cY S w xY w)Nr;   )r—   Úgetattrr‡   )r–   r�   Úobjs      rB   Úresolve_name_to_real_class_namer›   C  s:   € ð.Ü˜T ;Ó/ˆô �s˜J¨Ó-Ð-øô ò ØŠðús   ‚ ›)¨)c                ó0   — | d uxr t        | «      t        u S rJ   )r   r   ©r|   s    rB   Ú	is_pep593rž   L  s   € Ø˜ÐÒ?¤¨EÓ!2´iÐ!?Ð?rA   c                óh   — t        | t        j                  «      xr t        | t        t        f«       S rJ   )rd   rs   r   re   Úbytes)rš   s    rB   Úis_non_string_iterabler¡   P  s1   € Ü�cœ?×3Ñ3Ó4ò ¼ZØŒc”5ˆ\ó>ð :ð rA   c                ó$   — t        | «      t        v S rJ   )r   ÚLITERAL_TYPESr�   s    rB   rh   rh   V  s   € Ü�eÓ¤Ð-Ð-rA   c                ó   — t        | d«      S )NÚ__supertype__©r€   r�   s    rB   Ú
is_newtyper§   Z  s   € Ü�5˜/Ó*Ð*rA   c                ó6   — t        | d«      xr t        | d«      S )Nr9   rF   r¦   r�   s    rB   rg   rg   b  s   € Ü�5˜*Ó%ÒF¬'°%¸Ó*FÐFrA   c                ó"   — t        | t        «      S rJ   )rd   r)   r�   s    rB   Ú	is_pep695rª   f  s   € Ü�eœ]Ó+Ð+rA   c                ód   — | j                   }t        |«      r|j                   }t        |«      rŒ|S rJ   )r¥   r§   )r|   Ú
super_types     rB   Úflatten_newtyper­   j  s0   € Ø×$Ñ$€JÜ
�ZÔ
 Ø×-Ñ-ˆ
ô �ZÕ
 àÐrA   c                ó:  ‡‡— t        «       Šˆˆfd„Š ‰| «      }t        |t        «      rot        «       }t        |«      }|rV|j	                  «       }t        |t        «      r|j                  |«       n!|j                  |t        t        hv rdn|«       |rŒV|S |hS )zçExtracts the value from a TypeAliasType, recursively exploring unions
    and inner TypeAliasType to flatten them into a single set.

    Forward references are not evaluated, so no recursive exploration happens
    into them.
    c                óÈ   •— | ‰v r| S ‰j                  | «       t        | «      s| S | j                  }t        |«      s|S |j                  D �cg c]
  } ‰|«      ‘Œ c}S c c}w rJ   )rj   rª   Ú	__value__Úis_unionr9   )r|   ÚvalueÚtÚ_seenÚrecursive_values      €€rB   rµ   z&pep695_values.<locals>.recursive_valuez  s\   ø€ Ø�E‰>ð ˆLØ�	‰	�%ÔÜ˜ÔØˆLØ—‘ˆÜ˜ŒØˆLØ,1¯N©NÖ; q‘ Õ"Ò;Ð;ùÒ;s   ÁAN)	ri   rd   rr   r   ÚpopleftÚextendrj   r4   ÚNoneFwd)r|   ÚresÚtypesÚstackr³   r´   rµ   s        @@rB   Úpep695_valuesr¼   q  s‡   ù€ ô ‹E€Eõ<ñ ˜%Ó
 €CÜ�#”tÔÜ“ˆÜ�c“
ˆÙØ—‘“ˆAÜ˜!œTÔ"Ø—‘˜Q•à—	‘	 !¬´'Ð':Ñ":™$ÀÔBò ð ˆàˆuˆrA   c                ó¤   ‡— ‰rt        | t        «      ryt        | t        «      ry|r)t        | «      rt	        ˆfd„| j
                  D «       «      S y)NTc              3  ó:   •K  — | ]  }t        |d ‰¬«      –— Œ y­w)T)Úcheck_for_plain_stringN)rb   )r]   Úargr¿   s     €rB   ra   zis_fwd_ref.<locals>.<genexpr>   s-   øè ø€ ò 
ð ô Ø�TÐ2H÷ð ñ
ùs   ƒF)rd   re   r	   rg   Úanyr9   )r|   Úcheck_genericr¿   s     `rB   rb   rb   –  sP   ø€ ñ
 ¤*¨U´CÔ"8ØÜ	�Eœ:Ô	&ØÙ	œ: eÔ,Üó 
ð —~‘~ô	
ó 
ð 	
ð rA   c                 ó   — y rJ   r@   r�   s    rB   Úde_optionalize_union_typesrÄ   ª  s   € Ø36rA   c                 ó   — y rJ   r@   r�   s    rB   rÄ   rÄ   ®  s   € Ø?BrA   c                 ó   — y rJ   r@   r�   s    rB   rÄ   rÄ   ²  ó   € ð rA   c                ó  — t        | «      rt        | d«      S t        | «      rÞt        | «      rÓt        j
                  rt        | j                  «      }n{t        | g«      }t        «       }|rR|j                  «       }|j                  D ]0  }t        |«      r|j                  |«       Œ |j                  |«       Œ2 |rŒR|j                  d«       |j                  t        «       |j                  t        «       t        |Ž S | S )zÜGiven a type, filter out ``Union`` types that include ``NoneType``
    to not include the ``NoneType``.

    Contains extra logic to work on non-flattened unions, unions that contain
    ``None`` (seen in py38, 37)

    FN)rb   Ú#_de_optionalize_fwd_ref_union_typesr±   Úincludes_noner   Úpy39ri   r9   r   r¶   Úappendrj   Údiscardr4   r¸   Úmake_union_type)r|   ÚtypÚstack_of_unionsÚu_typr^   s        rB   rÄ   rÄ   ¸  sÑ   € ô �%ÔÜ2°5¸%Ó@Ð@ä	�%Œœ]¨5Ô1Ü�;Š;Ü�e—n‘nÓ%‰Cô $ U G›nˆOÜ“%ˆCÙ!Ø'×/Ñ/Ó1�Ø!ŸN™Nò &�DÜ ”~Ø'×.Ñ.¨tÕ4àŸ™ �ð	&ò "ð �K‰K˜Ôà�‰”HÔØ�‰”GÔä Ð$Ð$ð ˆrA   c                 ó   — y rJ   r@   ©r|   Úreturn_has_nones     rB   rÉ   rÉ   á  s   € ð rA   c                 ó   — y rJ   r@   rÓ   s     rB   rÉ   rÉ   ç  rÇ   rA   c                ó¬  — | j                   }t        j                  d|«      }|�r^|j                  d«      j	                  d«      d   }|dk(  r|rdS t        |j                  d«      «      S |dk(  �rd	|j                  d«      v r�g }g }d
}|j                  d«      D ]r  }|d	k(  r|dz  }nT|dk(  r|dz  }nI|d
k(  rD|dk(  r?|j                  dj                  |«      j                  «       «       |j                  «        Œb|j                  |«       Œt n%t        j                  d|j                  d«      «      }|D �	cg c]  }	|	dk7  sŒ	t        |	«      ‘Œ }
}	|rt        |«      t        |
«      k7  S |
rt        |
Ž S t        S |rdS | S t        j                  d|«      }d|v }|r|S |r+dj                  d„ |D «       «      }|rt        |«      S t        S | S c c}	w )zÁreturn the non-optional type for Optional[], Union[None, ...], x|None,
    etc. without de-stringifying forward refs.

    unfortunately this seems to require lots of hardcoded heuristics

    z^(.+?)\[(.+)\]$r   r”   éÿÿÿÿr   Té   r   ú[r   ú]ú,Ú z,\s*r5   Fz\s*\|\s*ú|c              3  ó,   K  — | ]  }|d k7  sŒ	|–— Œ y­w)r5   Nr@   )r]   Úps     rB   ra   z6_de_optionalize_fwd_ref_union_types.<locals>.<genexpr>  s   è ø€ ÒB !°a¸6³kœAÑBùs   ‚
�)rc   rx   ry   ÚgroupÚsplitr	   rÌ   ÚjoinÚstripÚclearÚlenrÎ   r*   )r|   rÔ   rm   ÚmmÚg1ro   ÚcurrentÚignore_commaÚcharr^   ÚpartsÚpipe_tokensÚhas_noneÚanno_strs                 rB   rÉ   rÉ   í  sÈ  € ð ×&Ñ&€Jä	�‰Ð$ jÓ	1€BÚ	Ø�X‰X�a‹[×Ñ˜sÓ# BÑ'ˆØ�ÒÙ*�4ÐG´
¸2¿8¹8ÀA»;Ó0GÐGØ�7‹]Ø�b—h‘h˜q“kÑ!à&(�Ø%'�Ø �ØŸH™H Q›Kò 	)�DØ˜s’{Ø$¨Ñ)™Ø šØ$¨Ñ)™Ø%¨Ò*¨t°sª{Ø Ÿ™¨¯©°Ó(8×(>Ñ(>Ó(@ÔAØŸ™œØ Ø—N‘N 4Õ(ñ	)ô Ÿ8™8 G¨R¯X©X°a«[Ó9�Ø2:ÖM¨$¸dÀf»n”Z Õ%ÐMˆEÐMÙÜ˜8“}¬¨E«
Ñ2Ð2á27”¨Ð.ÐB¼UÐBá+�5Ð6°Ð6ä—(‘(˜;¨
Ó3€KØ˜Ð$€HÙØˆÙØ—8‘8ÑB {ÔBÓBˆÙ'/Œz˜(Ó#Ð:´UÐ:à€Lùò! Ns   Ä;
GÅGc                 ó,   — t        j                  | «      S )zMake a Union type.)r   rP   )rº   s    rB   rÎ   rÎ   #  s   € ä×Ñ˜UÓ#Ð#rA   c                ój  — t        | «      rt        | d«      S t        | «      rt        d„ t	        | «      D «       «      S t        | «      rt        t	        | «      d   «      S t        | «      rt        d„ t        | «      D «       «      S t        | «      rt        | j                  «      S | t        t        dfv S )a.  Returns if the type annotation ``type_`` allows ``None``.

    This function supports:
    * forward refs
    * unions
    * pep593 - Annotated
    * pep695 - TypeAliasType (does not support looking into
    fw reference of other pep695)
    * NewType
    * plain types like ``int``, ``None``, etc
    Tc              3  ó2   K  — | ]  }t        |«      –— Œ y ­wrJ   ©rÊ   ©r]   r³   s     rB   ra   z includes_none.<locals>.<genexpr>7  s   è ø€ Ò=¨”= ×#Ñ=ùó   ‚r   c              3  ó2   K  — | ]  }t        |«      –— Œ y ­wrJ   rò   ró   s     rB   ra   z includes_none.<locals>.<genexpr>;  s   è ø€ ÒB¨”= ×#ÑBùrô   N)rb   rÉ   r±   rÁ   r   rž   rÊ   rª   r¼   r§   r¥   r¸   r4   r�   s    rB   rÊ   rÊ   (  sš   € ô �%ÔÜ2°5¸$Ó?Ð?Ü�„ÜÑ=¬X°e«_Ô=Ó=Ð=Ü�ÔÜœX e›_¨QÑ/Ó0Ð0Ü�ÔÜÑB¬]¸5Ó-AÔBÓBÐBÜ�%ÔÜ˜U×0Ñ0Ó1Ð1Ø”Wœh¨Ð-Ð-Ð-rA   c                ó   — t        | dd«      S )Nr   Ú	UnionType)Úis_origin_ofr�   s    rB   r±   r±   A  s   € Ü˜˜w¨Ó4Ð4rA   c                óZ   — t        | «      }|€yt        |t        «      xr t        ||«      S )z[return True if the given type has an __origin__ that shares a base
    with the given classF)r   rd   ÚtypeÚ
issubclass)r|   Ú	class_objÚorigins      rB   Úis_origin_of_clsrþ   E  s/   € ô ˜Ó€FØ€~Øä�fœdÓ#ÒE¬
°6¸9Ó(EÐErA   )Úmodulec               ó~   — t        | «      }|€yt        |«      |v xr! |du xs |j                  j                  |«      S )z\return True if the given type has an __origin__ with the given name
    and optional module.NF)r   Ú_get_type_namer<   Ú
startswith)r|   rÿ   Únamesrý   s       rB   rø   rø   R  sJ   € ô ˜Ó€FØ€~Øä˜&Ó! UÐ*ò Ø�$ˆÒ>˜&×+Ñ+×6Ñ6°vÓ>ðrA   c                óv   — t         j                  r| j                  S t        | dd «      }|€t        | dd «      }|S )Nr;   Ú_name)r   Úpy310r;   r™   )r|   Útyp_names     rB   r  r  a  s:   € Ü‡|‚|Ø�~‰~Ðä˜5 *¨dÓ3ˆØÐÜ˜u g¨tÓ4ˆHàˆrA   c                  ó$   — e Zd Zdd„Zdd„Zdd„Zy)ÚDescriptorProtoc                 ó   — y rJ   r@   ©rK   ÚinstanceÚowners      rB   Ú__get__zDescriptorProto.__get__m  rM   rA   c                 ó   — y rJ   r@   ©rK   r  r²   s      rB   Ú__set__zDescriptorProto.__set__o  rM   rA   c                 ó   — y rJ   r@   ©rK   r  s     rB   Ú
__delete__zDescriptorProto.__delete__q  rM   rA   N)r  Úobjectr  r   rQ   r   )r  r   r²   r   rQ   r5   ©r  r   rQ   r5   )r;   r<   r=   r  r  r  r@   rA   rB   r	  r	  l  s   „ Û?ã=ä4rA   r	  Ú_DESCc                  ó.   — e Zd ZdZerdd„Zdd„Zdd„Zyy)	ÚDescriptorReferenceaŠ  a descriptor that refers to a descriptor.

    used for cases where we need to have an instance variable referring to an
    object that is itself a descriptor, which typically confuses typing tools
    as they don't know when they should use ``__get__`` or not when referring
    to the descriptor assignment as an instance variable. See
    sqlalchemy.orm.interfaces.PropComparator.prop

    c                 ó   — y rJ   r@   r  s      rB   r  zDescriptorReference.__get__„  rM   rA   c                 ó   — y rJ   r@   r  s      rB   r  zDescriptorReference.__set__†  rM   rA   c                 ó   — y rJ   r@   r  s     rB   r  zDescriptorReference.__delete__ˆ  rM   rA   N)r  r  r  r   rQ   r  )r  r   r²   r  rQ   r5   r  ©r;   r<   r=   r>   r   r  r  r  r@   rA   rB   r  r  w  s   „ ññ ãEãCä8ð rA   r  Ú_DESC_co)r,   r/   c                  ó.   — e Zd ZdZerdd„Zdd„Zdd„Zyy)	ÚRODescriptorReferencez½a descriptor that refers to a descriptor.

    same as :class:`.DescriptorReference` but is read-only, so that subclasses
    can define a subtype as the generically contained element

    c                 ó   — y rJ   r@   r  s      rB   r  zRODescriptorReference.__get__˜  rM   rA   c                 ó   — y rJ   r@   r  s      rB   r  zRODescriptorReference.__set__š  rM   rA   c                 ó   — y rJ   r@   r  s     rB   r  z RODescriptorReference.__delete__œ  rM   rA   N)r  r  r  r   rQ   r  )r  r   r²   r   rQ   r   )r  r   rQ   r   r  r@   rA   rB   r   r   Ž  s   „ ññ ãHãEä<ð rA   r   Ú_FN.c                  ó.   — e Zd ZdZerdd„Zdd„Zdd„Zyy)	ÚCallableReferencez�a descriptor that refers to a callable.

    works around mypy's limitation of not allowing callables assigned
    as instance variables


    c                 ó   — y rJ   r@   r  s      rB   r  zCallableReference.__get__­  rM   rA   c                 ó   — y rJ   r@   r  s      rB   r  zCallableReference.__set__¯  rM   rA   c                 ó   — y rJ   r@   r  s     rB   r  zCallableReference.__delete__±  rM   rA   N)r  r  r  r   rQ   r$  )r  r   r²   r$  rQ   r5   r  r  r@   rA   rB   r&  r&  ¢  s   „ ññ ãCãAä8ð rA   r&  )r_   ú	Type[Any]rm   Ú_AnnotationScanTyper`   re   rY   zMapping[str, Any]rT   z#Optional[Callable[[str, str], str]]rU   ÚboolrV   zOptional[Set[Any]]rQ   r*  )r|   r+  rQ   r+  )rm   zGenericProtocol[_T]ro   r8   rQ   rE   )
rŒ   re   r�   re   rY   úOptional[Mapping[str, Any]]rZ   zOptional[Type[Any]]rQ   r   )r–   re   r�   re   rY   r-  rQ   r   )r–   re   r�   re   rQ   re   )r|   zOptional[Any]rQ   r,  )rš   r   rQ   zTypeGuard[Iterable[Any]])r|   r   rQ   r,  )r|   zOptional[_AnnotationScanType]rQ   zTypeGuard[NewType])r|   r+  rQ   zTypeGuard[GenericProtocol[Any]])r|   r+  rQ   zTypeGuard[TypeAliasType])r|   r   rQ   r*  )r|   r+  rQ   zSet[Any])FF)r|   r+  rÂ   r,  r¿   r,  rQ   zTypeGuard[ForwardRef])r|   re   rQ   re   )r|   r*  rQ   r*  )r|   r	   rÔ   zLiteral[True]rQ   r,  )r|   r	   rÔ   zLiteral[False]rQ   r+  )r|   r	   rÔ   r,  rQ   z Union[_AnnotationScanType, bool])rº   r+  rQ   r*  )r|   r   rQ   zTypeGuard[ArgsTypeProtocol])r|   r   rü   z'Union[Tuple[Type[Any], ...], Type[Any]]rQ   r,  )r|   r   r  re   rÿ   zOptional[str]rQ   r,  )r|   r*  rQ   re   )dÚ
__future__r   r•   Úcollectionsr   Úcollections.abcÚabcrs   rx   rƒ   Útypingr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   rÜ   r   Útyping_extensionsr   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r-   r.   r0   r2   r3   Úpy38Ú	frozensetr£   r  rº   r4   rú   r¸   re   r+  r7   rD   rH   Ú_LiteralStarr\   r}   rl   rf   r—   r›   rž   r¡   rh   r§   rg   rª   r­   r¼   rb   rÄ   rÉ   rÎ   rÊ   r±   rþ   rø   r  r	  r  r  r  r   r$  r&  r@   rA   rB   ú<module>r7     s†  ðõ #ã Ý Ý )Û 	Û 
Û Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý  Ý Ý å àÝ8Ý<õõ 1Ý0Ý6Ý:Ý4Ý<Ý8Ý6Ý@Ý8Ý8Ý8Ý.Ý@Ý0áˆT˜Ô€Ùˆeƒn€Ù	� TÔ	*€Ù�\°Ô6€
Ùˆeƒn€Ù	� TÔ	*€à	‡;‚;ñ ˜vŸ~™~¨wÐ7Ó8�Má˜w˜iÓ(€Mð 
‡<‚<ö +á�D‹z€Há
�VÓ
€ð Øˆ�Iˆs�J ¨Ð8NÐNñÐ ô
.�xô .ô�h˜r‘lô ô(3˜X c¨6 kÑ2ô 3ð �s‰|€ð ;?Ø!Ø(,ñDØ	ðDà#ðDð ðDð ð	Dð 8ðDð ðDð &ðDð óDðN&Øð&àó&ðR/Ø#ð/Ø/Nð/àó/ð ,0Ø$(ñ!Øð!àð!ð )ð	!ð
 "ð!ð 	ó!ðP ,0ñ	Ø
ðàðð )ð	ð
 	óóD.ó@óó.ó+óGó,óó"ðN  Ø#(ðØðàðð !ðð ó	ð( 
Ú 6ó 
Ø 6ð 
Ú Bó 
Ø Bð 
ðØðàòó 
ðð
&Øð&àó&ðR 
ðØðØ(5ðà	òó 
ðð
 
ðØðØ(6ðàòó 
ðð
3Øð3Ø(,ð3à%ó3ól$ó
.ó25ð
FØð
FØBð
Fà	ó
Fð 6:ñØðØðØ%2ðà	óóô5�hô 5ñ 	�˜Ô/€ô9˜' %™.ô 9ñ( �: _ÀÔE€ô=˜G HÑ-ô =ñ" ˆe˜8 H¨S°#¨XÑ$6Ñ7Ô8€ô9˜ ™õ 9rA   