§
    eŠtj—;  ã                  ó�  — U d Z ddlm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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  ej        e¦  «        Z de!d<   d6d!„Z" G d"„ d#¦  «        Z# G d$„ d%ee         ¦  «        Z$ G d&„ d'e$e         ¦  «        Z%d7d+„Z& G d,„ d-ee         ¦  «        Z' G d.„ d/e$e         ¦  «        Z( G d0„ d1e'e         ¦  «        Z) G d2„ d3ee         ¦  «        Z* G d4„ d5e*e         ¦  «        Z+dS )8aµ  Base implementation classes.

The public-facing ``Events`` serves as the base class for an event interface;
its public attributes represent different kinds of events.   These attributes
are mirrored onto a ``_Dispatch`` class, which serves as a container for
collections of listener functions.   These collections are represented both
at the class level of a particular ``_Dispatch`` class as well as within
instances of ``_Dispatch``.

é    )ÚannotationsN)ÚAny)Úcast)ÚDict)ÚGeneric)ÚIterator)ÚList)ÚMapping)ÚMutableMapping)ÚOptional)Úoverload)ÚTuple)ÚType)ÚUnioné   )Ú_ClsLevelDispatch)Ú_EmptyListener)Ú_InstanceLevelDispatch)Ú_JoinedListener)Ú_ET)Ú	_EventKeyé   )Úutil)ÚLiteralz8MutableMapping[str, List[Type[_HasEventsDispatch[Any]]]]Ú_registrarsÚnameÚstrÚreturnÚboolc                ód   — |                       d¦  «         o| dk    p|                       d¦  «        S )NÚ_ÚdispatchÚ	_sa_event)Ú
startswith)r   s    úS/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sqlalchemy/event/base.pyÚ_is_event_namer&   3   s9   € ð �OŠO˜CÑ Ô Ð Ð7 T¨ZÒ%7ð&à	�Š˜Ñ	%Ô	%ð&ó    c                  ó   — e Zd ZdZdd„ZdS )	Ú_UnpickleDispatchz�Serializable callable that re-generates an instance of
    :class:`_Dispatch` given a particular :class:`.Events` subclass.

    Ú_instance_clsú	Type[_ET]r   ú_Dispatch[_ET]c                ó°   — |j         D ]@}d|j        v r5t          d|j        d         j        ¦  «                             |¦  «        c S ŒAt          d¦  «        ‚)Nr"   r,   z*No class with a 'dispatch' member present.)Ú__mro__Ú__dict__r   r"   Ú
_for_classÚAttributeError)Úselfr*   Úclss      r%   Ú__call__z_UnpickleDispatch.__call__C   sq   € Ø Ô(ð 	Oð 	OˆCØ˜Sœ\Ð)Ð)ÝØ$ c¤l°:Ô&>Ô&Gñô ç’*˜]Ñ+Ô+ð,ð ,ð ,ð *õ
 !Ð!MÑNÔNÐNr'   N)r*   r+   r   r,   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r4   © r'   r%   r)   r)   =   s8   € € € € € ðð ð
Oð Oð Oð Oð Oð Or'   r)   c                  óF   — e Zd ZU dZded<   dd„Zdd„Zedd„¦   «         ZdS )Ú_DispatchCommonr9   úOptional[Type[_ET]]r*   Úotherú_DispatchCommon[_ET]r   ú_JoinedDispatcher[_ET]c                ó   — t          ¦   «         ‚©N©ÚNotImplementedError©r2   r=   s     r%   Ú_joinz_DispatchCommon._joinR   ó   € Ý!Ñ#Ô#Ð#r'   r   r   ú_InstanceLevelDispatch[_ET]c                ó   — t          ¦   «         ‚rA   rB   ©r2   r   s     r%   Ú__getattr__z_DispatchCommon.__getattr__U   rF   r'   úType[_HasEventsDispatch[_ET]]c                ó   — t          ¦   «         ‚rA   rB   ©r2   s    r%   Ú_eventsz_DispatchCommon._eventsX   s   € å!Ñ#Ô#Ð#r'   N©r=   r>   r   r?   ©r   r   r   rG   ©r   rK   )	r5   r6   r7   Ú	__slots__Ú__annotations__rE   rJ   ÚpropertyrN   r9   r'   r%   r;   r;   M   so   € € € € € € Ø€Ià&Ð&Ð&Ñ&ð$ð $ð $ð $ð$ð $ð $ð $ð ð$ð $ð $ñ „Xð$ð $ð $r'   r;   c                  óæ   — e Zd ZU dZdZded<    ej        ¦   «         Zded<   ded<   d	ed
<   ded<   ded<   ded<   	 	 d3d4d„Z	d5d„Z
ed6d„¦   «         Zd7d"„Zd8d%„Zd9d(„Zd:d,„Zd;d.„Z	 d<d=d1„Zd>d2„ZdS )?Ú	_DispatchaM  Mirror the event listening definitions of an Events class with
    listener collections.

    Classes which define a "dispatch" member will return a
    non-instantiated :class:`._Dispatch` subclass when the member
    is accessed at the class level.  When the "dispatch" member is
    accessed at the instance level of its owner, an instance
    of the :class:`._Dispatch` class is returned.

    A :class:`._Dispatch` class is generated for each :class:`.Events`
    class defined, by the :meth:`._HasEventsDispatch._create_dispatcher_class`
    method.  The original :class:`.Events` classes remain untouched.
    This decouples the construction of :class:`.Events` subclasses from
    the implementation used by the event internals, and allows
    inspecting tools like Sphinx to work in an unsurprising
    way against the public API.

    )Ú_parentr*   r/   Ú_empty_listenersr   Ú_active_historyz9MutableMapping[Type[_ET], Dict[str, _EmptyListener[_ET]]]Ú_empty_listener_regzDict[str, _EmptyListener[_ET]]rX   z	List[str]Ú_event_namesr<   r*   zType[_JoinedDispatcher[_ET]]Ú_joined_dispatch_clsrK   rN   NÚparentúOptional[_Dispatch[_ET]]Úinstance_clsc                óÎ   ‡— || _         ‰| _        ‰rL|€J ‚	 | j        ‰         | _        d S # t          $ r& ˆfd„|j        D ¦   «         x| _        | j        ‰<   Y d S w xY wi | _        d S )Nc                ó<   •— i | ]}|j         t          |‰¦  «        “ŒS r9   )r   r   )Ú.0Úlsr_   s     €r%   ú
<dictcomp>z&_Dispatch.__init__.<locals>.<dictcomp>™   s7   ø€ ð ð ð àð ”G�^¨B°Ñ=Ô=ðð ð r'   )rW   r*   rZ   rX   ÚKeyErrorÚ_event_descriptors)r2   r]   r_   s     `r%   Ú__init__z_Dispatch.__init__Š   s½   ø€ ð
 ˆŒØ)ˆÔàð 	'ØÐ%Ð%Ð%ðØ(,Ô(@ÀÔ(N�Ô%Ð%Ð%øÝð ð ð ðð ð ð à$Ô7ðñ ô ð�Ô%¨Ô(@Ø ñ)ð )ð )ð )ðøøøð %'ˆDÔ!Ð!Ð!s   —+ «,AÁAr   r   r   rG   c                óˆ   — 	 | j         |         }t          | |j        |¦  «         |S # t          $ r t	          |¦  «        ‚w xY wrA   )rX   Úsetattrr   re   r1   )r2   r   rc   s      r%   rJ   z_Dispatch.__getattr__    sZ   € ð	ØÔ& tÔ,ˆBõ �D˜"œ' 2Ñ&Ô&Ð&ØˆIøõ	 ð 	'ð 	'ð 	'Ý  Ñ&Ô&Ð&ð	'øøøs	   ‚' §Aú Iterator[_ClsLevelDispatch[_ET]]c              #  óB   K  — | j         D ]}t          | |¦  «        V — Œd S rA   )r[   Úgetattr)r2   Úks     r%   rf   z_Dispatch._event_descriptors«   s=   è è € àÔ"ð 	#ð 	#ˆAõ ˜$ Ñ"Ô"Ð"Ð"Ð"Ð"ð	#ð 	#r'   Ú	event_keyú_EventKey[_ET]Úkwr   ÚNonec                ó(   —  | j         j        |fi |¤ŽS rA   )rN   Ú_listen©r2   rn   rp   s      r%   rs   z_Dispatch._listen²   s   € Ø#ˆtŒ|Ô# IÐ4Ð4°Ð4Ð4Ð4r'   r+   r,   c                ó.   — |                       | |¦  «        S rA   )Ú	__class__)r2   r_   s     r%   r0   z_Dispatch._for_classµ   s   € Ø�~Š~˜d LÑ1Ô1Ð1r'   Úinstancer   c                ó:   — |j         }|                      |¦  «        S rA   )rv   r0   )r2   rw   r_   s      r%   Ú_for_instancez_Dispatch._for_instance¸   s   € ØÔ)ˆØ�Š˜|Ñ,Ô,Ð,r'   r=   r>   r?   c                óN   — d| j         j        v sJ ‚|                      | |¦  «        S )z¡Create a 'join' of this :class:`._Dispatch` and another.

        This new dispatcher will dispatch events to both
        :class:`._Dispatch` objects.

        r\   )rv   r/   r\   rD   s     r%   rE   z_Dispatch._join¼   s0   € ð &¨¬Ô)@Ð@Ð@Ð@Ð@à×(Ò(¨¨uÑ5Ô5Ð5r'   úUnion[str, Tuple[Any, ...]]c                ó.   — t          ¦   «         | j        ffS rA   )r)   r*   rM   s    r%   Ú
__reduce__z_Dispatch.__reduce__Ç   s   € Ý Ñ"Ô" TÔ%7Ð$9Ð9Ð9r'   TÚonly_propagatec                óÀ   — |j         D ]U}t          |t          ¦  «        rŒt          | |j        ¦  «                             | ¦  «                             ||¬¦  «         ŒVdS )zIPopulate from the listeners in another :class:`_Dispatch`
        object.)r~   N)rf   Ú
isinstancer   rl   r   Ú
for_modifyÚ_update)r2   r=   r~   rc   s       r%   r‚   z_Dispatch._updateÊ   sv   € ð
 Ô*ð 	ð 	ˆBÝ˜"�nÑ-Ô-ð ØÝ�D˜"œ'Ñ"Ô"×-Ò-¨dÑ3Ô3×;Ò;Ø >ð <ñ ô ð ð ð	ð 	r'   c                óh   — | j         D ])}|                     | ¦  «                             ¦   «          Œ*d S rA   )rf   r�   Úclear)r2   rc   s     r%   Ú_clearz_Dispatch._clearÖ   s?   € ØÔ)ð 	(ð 	(ˆBØ�MŠM˜$ÑÔ×%Ò%Ñ'Ô'Ð'Ð'ð	(ð 	(r'   rA   )r]   r^   r_   r<   rP   )r   rj   ©rn   ro   rp   r   r   rq   )r_   r+   r   r,   )rw   r   r   r,   rO   )r   r{   )T)r=   r,   r~   r   r   rq   ©r   rq   )r5   r6   r7   r8   rR   rS   ÚweakrefÚWeakKeyDictionaryrZ   rg   rJ   rT   rf   rs   r0   ry   rE   r}   r‚   r…   r9   r'   r%   rV   rV   ]   s‰  € € € € € € ðð ð* K€IàÐÐÑð 	"ˆÔ!Ñ#Ô#ð ð $ð $ð $ñ $ð 5Ð4Ð4Ñ4àÐÐÑà&Ð&Ð&Ñ&à6Ð6Ð6Ñ6à*Ð*Ð*Ñ*ðð -1ð'ð 'ð 'ð 'ð 'ð,	ð 	ð 	ð 	ð ð#ð #ð #ñ „Xð#ð5ð 5ð 5ð 5ð2ð 2ð 2ð 2ð-ð -ð -ð -ð	6ð 	6ð 	6ð 	6ð:ð :ð :ð :ð =Að
ð 
ð 
ð 
ð 
ð(ð (ð (ð (ð (ð (r'   rV   r3   rK   rq   c                óŽ   — | j         j        D ]7}t          |                              | ¦  «         t          |         st          |= Œ8d S rA   )r"   r[   r   Úremove)r3   rm   s     r%   Ú_remove_dispatcherrŒ   Û   sL   € ØŒ\Ô&ð ð ˆÝ�AŒ×Ò˜cÑ"Ô"Ð"Ý˜1Œ~ð 	Ý˜A�øðð r'   c                  ó²   — e Zd ZU ded<   	 ded<   	 ej        rd'd	„Zd(d„Zed)d„¦   «         Z	edddddœd*d„¦   «         Z
ed+d„¦   «         Zed,d%„¦   «         Zd&S )-Ú_HasEventsDispatchr<   Ú_dispatch_targetr,   r"   r   r   r   rG   c                ó   — d S rA   r9   rI   s     r%   rJ   z_HasEventsDispatch.__getattr__ï   s   € € € r'   rq   c                óR   — |                       | j        | j        | j        ¦  «         dS )zOIntercept new Event subclasses and create associated _Dispatch
        classes.N)Ú_create_dispatcher_classr5   Ú	__bases__r/   ©r3   s    r%   Ú__init_subclass__z$_HasEventsDispatch.__init_subclass__ñ   s(   € ð 	×$Ò$ S¤\°3´=À#Ä,ÑOÔOÐOÐOÐOr'   ÚtargetúUnion[_ET, Type[_ET]]Ú
identifierúOptional[Union[_ET, Type[_ET]]]c                ó   — t          ¦   «         ‚rA   rB   )r3   r–   r˜   s      r%   Ú_accept_withz_HasEventsDispatch._accept_with÷   s   € õ "Ñ#Ô#Ð#r'   F©Ú	propagateÚinsertÚnamedÚasynciorn   ro   r�   r   rž   rŸ   r    c               ó   — t          ¦   «         ‚rA   rB   ©r3   rn   r�   rž   rŸ   r    s         r%   rs   z_HasEventsDispatch._listený   s   € õ "Ñ#Ô#Ð#r'   ÚklassrK   Údispatch_clsúType[_Dispatch[_ET]]c                ó>   —  |d ¦  «        | _         | |_        | j         S rA   )r"   rN   )r£   r¤   s     r%   Ú_set_dispatchz _HasEventsDispatch._set_dispatch	  s%   € ð &˜ dÑ+Ô+ˆŒØ$ˆÔØŒ~Ðr'   Ú	classnameÚbasesúTuple[type, ...]Údict_úMapping[str, Any]c           
     ó¢  — t          | d¦  «        r| j        j        }nt          }d„ |D ¦   «         }t	          dt          d|z  |fd|i¦  «        ¦  «        }||_        |                      | |¦  «        }|j        D ]G}t          ||t          | ||         ¦  «        ¦  «         t          |                              | ¦  «         ŒH|j        D ]i}	t          |	t          ¦  «        rR|	t          urI|	j        j        j        D ]7}
t          ||
j        |
¦  «         |j                             |
j        ¦  «         Œ8Œjt#          | dd¦  «        rM| j        }|€J ‚t          |d¦  «        rd|j        v rt)          | ¦  «        |_        nt+          | ¦  «        |_        t          d	|j        z  t.          fd|i¦  «        }||_        |t3          ¦   «         |j        <   dS )
zVCreate a :class:`._Dispatch` class corresponding to an
        :class:`.Events` class.r"   c                ó0   — g | ]}t          |¦  «        ¯|‘ŒS r9   )r&   )rb   rm   s     r%   ú
<listcomp>z?_HasEventsDispatch._create_dispatcher_class.<locals>.<listcomp>&  s%   € Ð=Ð=Ð=˜Q­>¸!Ñ+<Ô+<Ð=�qÐ=Ð=Ð=r'   r¥   z
%sDispatchrR   r�   NÚ_slots_dispatchzJoined%s)Úhasattrr"   rv   rV   r   Útyper[   r§   ri   r   r   Úappendr“   Ú
issubclassrN   rf   r   rl   r�   rR   Úslots_dispatcherÚ
dispatcherr5   Ú_JoinedDispatcherr\   Úglobals)r3   r¨   r©   r«   Údispatch_baseÚevent_namesr¤   Údispatch_instrm   Úsuper_rc   Údispatch_target_clsr£   s                r%   r’   z+_HasEventsDispatch._create_dispatcher_class  s  € õ �3˜
Ñ#Ô#ð 	&ØœLÔ2ˆMˆMå%ˆMà=Ð= %Ð=Ñ=Ô=ˆÝØ"ÝØ˜yÑ(ØÐ Ø˜kÐ*ñô ñ
ô 
ˆð %0ˆÔ!Ø×)Ò)¨#¨|Ñ<Ô<ˆØÔ*ð 	'ð 	'ˆAÝ�M 1Õ&7¸¸UÀ1¼XÑ&FÔ&FÑGÔGÐGÝ˜ŒN×!Ò! #Ñ&Ô&Ð&Ð&à"Ô,ð 	>ð 	>ˆFÝ˜&¥)Ñ,Ô,ð >°½yÐ1HÐ1HØ œ.Ô1ÔDð >ð >�BÝ˜M¨2¬7°BÑ7Ô7Ð7Ø Ô-×4Ò4°R´WÑ=Ô=Ð=Ð=øå�3Ð*¨DÑ1Ô1ð 		?Ø"%Ô"6ÐØ&Ð2Ð2Ð2åÐ+¨[Ñ9Ô9ð?à%Ð)<Ô)FÐFÐFå/?ÀÑ/DÔ/DÐ#Ô,Ð,å/9¸#©¬Ð#Ô,åØ˜Ô.Ñ.ÝÐ Ø˜+Ð&ñ
ô 
ˆð
 -2ˆÔ)ð %*�‰	Œ	�%”.Ñ!Ð!Ð!r'   NrP   r‡   ©r–   r—   r˜   r   r   r™   ©rn   ro   r�   r   rž   r   rŸ   r   r    r   r   rq   )r£   rK   r¤   r¥   r   r,   )r¨   r   r©   rª   r«   r¬   r   rq   )r5   r6   r7   rS   ÚtypingÚTYPE_CHECKINGrJ   r•   Úclassmethodr›   rs   Ústaticmethodr§   r’   r9   r'   r%   rŽ   rŽ   â   s   € € € € € € Ø)Ð)Ð)Ñ)Ø;àÐÐÑðð Ôð MàLÐLÐLÐLðPð Pð Pð Pð ð$ð $ð $ñ „[ð$ð
 ð
  ØØØð	$ð 	$ð 	$ð 	$ð 	$ñ „[ð	$ð ðð ð ñ „\ðð ð7*ð 7*ð 7*ñ „[ð7*ð 7*ð 7*r'   rŽ   c                  ón   — e Zd ZU dZdZded<   ded<   ded<   dd„Zdd„Zdd„Zdd„Z	e
dd„¦   «         ZdS )r·   z5Represent a connection between two _Dispatch objects.©Úlocalr]   r*   r>   rÆ   r]   r<   r*   c                óD   — || _         || _        | j         j        | _        d S rA   rÅ   )r2   rÆ   r]   s      r%   rg   z_JoinedDispatcher.__init__[  s%   € ð ˆŒ
ØˆŒØ!œZÔ5ˆÔÐÐr'   r   r   c                ó,   — | j         | j        | j        ffS rA   )rv   rÆ   r]   rM   s    r%   r}   z_JoinedDispatcher.__reduce__b  s   € Ø” ¤¨T¬[Ð 9Ð:Ð:r'   r   r   ú_JoinedListener[_ET]c                ó’   — t          | j        |¦  «        }t          | j        |j        |¦  «        }t          | |j        |¦  «         |S rA   )rl   rÆ   r   r]   r   ri   )r2   r   rc   Újls       r%   rJ   z_JoinedDispatcher.__getattr__e  sC   € õ �T”Z Ñ&Ô&ˆÝ˜Tœ[¨"¬'°2Ñ6Ô6ˆÝ��b”g˜rÑ"Ô"Ð"Øˆ	r'   rn   ro   rp   rq   c                ó(   —  | j         j        |fi |¤ŽS rA   )r]   rs   rt   s      r%   rs   z_JoinedDispatcher._listenm  s   € Ø"ˆtŒ{Ô" 9Ð3Ð3°Ð3Ð3Ð3r'   rK   c                ó   — | j         j        S rA   )r]   rN   rM   s    r%   rN   z_JoinedDispatcher._eventsp  s   € àŒ{Ô"Ð"r'   N)rÆ   r>   r]   r>   )r   r   )r   r   r   rÉ   r†   rQ   )r5   r6   r7   r8   rR   rS   rg   r}   rJ   rs   rT   rN   r9   r'   r%   r·   r·   R  sµ   € € € € € € Ø?Ð?à2€IàÐÐÑØ Ð Ð Ñ Ø&Ð&Ð&Ñ&ð6ð 6ð 6ð 6ð;ð ;ð ;ð ;ðð ð ð ð4ð 4ð 4ð 4ð ð#ð #ð #ñ „Xð#ð #ð #r'   r·   c                  ó~   — e Zd ZdZedd„¦   «         Zed	d	d	d	d
œdd„¦   «         Zedd„¦   «         Zedd„¦   «         ZdS )ÚEventsz>Define event listening functions for a particular target type.r–   r—   r˜   r   r   r™   c                óî   ‡— d	ˆfd„}d
ˆfd„}t          ‰d¦  «        rW || j        j        ¦  «        s@ |t          | j        j        ¦  «        s% |t          ¦  «        r || j        j        ¦  «        r‰S d S )NÚtypesú	Type[Any]r   r   c                 ó:   •— t          ˆfd„| D ¦   «         ¦  «        S )Nc              3  óB   •K  — | ]}t          ‰j        |¦  «        V — Œd S rA   )r€   r"   )rb   Útr–   s     €r%   ú	<genexpr>z;Events._accept_with.<locals>.dispatch_is.<locals>.<genexpr>}  s/   øè è € ÐEÐE¸!•z &¤/°1Ñ5Ô5ÐEÐEÐEÐEÐEÐEr'   )Úall)rÑ   r–   s    €r%   Údispatch_isz(Events._accept_with.<locals>.dispatch_is|  s&   ø€ ÝÐEÐEÐEÐE¸uÐEÑEÔEÑEÔEÐEr'   rÕ   c                óÖ   •— t          d‰j        ¦  «        j        }t          |t          ¦  «        r*t          d|¦  «        j        }t          |t          ¦  «        °*t          || ¦  «        S )Nr?   )r   r"   r]   r€   r·   )rÕ   r]   r–   s     €r%   Údispatch_parent_isz/Events._accept_with.<locals>.dispatch_parent_is  sg   ø€ ÝÐ2°F´OÑDÔDÔKˆFÝ˜VÕ%6Ñ7Ô7ð GÝÐ6¸Ñ?Ô?ÔF�õ ˜VÕ%6Ñ7Ô7ð Gõ ˜f aÑ(Ô(Ð(r'   r"   )rÑ   rÒ   r   r   )rÕ   rÒ   r   r   )r±   r"   rv   r²   r·   )r3   r–   r˜   rØ   rÚ   s    `   r%   r›   zEvents._accept_withx  sÄ   ø€ ð	Fð 	Fð 	Fð 	Fð 	Fð 	Fð	)ð 	)ð 	)ð 	)ð 	)ð 	)õ �6˜:Ñ&Ô&ð 		à�˜CœLÔ2Ñ3Ô3ðà�;�t S¤\Ô%;Ñ<Ô<ðð  �KÕ 1Ñ2Ô2ð	ð
 +Ð*¨3¬<Ô+AÑBÔBðð �àˆtr'   Frœ   rn   ro   r�   r   rž   rŸ   r    rq   c               ó8   — |                      ||||¬¦  «         d S )Nrœ   )Úbase_listenr¢   s         r%   rs   zEvents._listen•  s4   € ð 	×ÒØ¨°eÀWð 	ñ 	
ô 	
ð 	
ð 	
ð 	
r'   c                ó.   — |                      ¦   «          d S rA   )r‹   )r3   rn   s     r%   Ú_removezEvents._remove£  s   € à×ÒÑÔÐÐÐr'   c                ó8   — | j                              ¦   «          d S rA   )r"   r…   r”   s    r%   r…   zEvents._clear§  s   € àŒ×ÒÑÔÐÐÐr'   Nr¾   r¿   )rn   ro   r   rq   r‡   )	r5   r6   r7   r8   rÂ   r›   rs   rÞ   r…   r9   r'   r%   rÏ   rÏ   u  s°   € € € € € ØHÐHàðð ð ñ „[ðð8 ð
  ØØØð
ð 
ð 
ð 
ð 
ñ „[ð
ð ðð ð ñ „[ðð ðð ð ñ „[ðð ð r'   rÏ   c                  óR   — e Zd ZdZdd„Zedd„¦   «         Zedd„¦   «         Zdd„ZdS )r¶   zŸDescriptor used by target classes to
    deliver the _Dispatch class at the class level
    and produce new _Dispatch instances for target
    instances.

    ÚeventsrK   c                ó,   — |j         | _         || _        d S rA   )r"   rá   )r2   rá   s     r%   rg   zdispatcher.__init__´  s   € ØœˆŒØˆŒˆˆr'   ÚobjúLiteral[None]r3   rÒ   r   r¥   c                ó   — d S rA   r9   ©r2   rã   r3   s      r%   Ú__get__zdispatcher.__get__¸  s	   € ð  #˜sr'   r   r>   c                ó   — d S rA   r9   ræ   s      r%   rç   zdispatcher.__get__½  s   € ØILÈr'   c                ó°   — |€| j         S | j                              |¦  «        }	 ||j        d<   n&# t          $ r}t	          d|›d�¦  «        |‚d }~ww xY w|S )Nr"   ztarget z> doesn't have __dict__, should it be defining _slots_dispatch?)r"   ry   r/   r1   Ú	TypeError)r2   rã   r3   ÚdispÚaes        r%   rç   zdispatcher.__get__À  sƒ   € Øˆ;Ø”=Ð àŒ}×*Ò*¨3Ñ/Ô/ˆð	Ø'+ˆCŒL˜Ñ$Ð$øÝð 	ð 	ð 	Ý�)à/2¨s¨sð5ñô ð ðøøøøð	øøøð
 ˆs   ¥
0 °
AºAÁAN)rá   rK   )rã   rä   r3   rÒ   r   r¥   )rã   r   r3   rÒ   r   r>   ©rã   r   r3   rÒ   r   r   )r5   r6   r7   r8   rg   r   rç   r9   r'   r%   r¶   r¶   ¬  s~   € € € € € ðð ðð ð ð ð ð#ð #ð #ñ „Xð#ð ØLÐLÐLñ „XØLðð ð ð ð ð r'   r¶   c                  ó   — e Zd Zdd„ZdS )	rµ   rã   r   r3   rÒ   r   c                óˆ   — |€| j         S t          |d¦  «        r|j        S | j                              |¦  «        }||_        |S )Nr°   )r"   r±   r°   ry   )r2   rã   r3   rë   s       r%   rç   zslots_dispatcher.__get__Ð  sM   € Øˆ;Ø”=Ð å�3Ð)Ñ*Ô*ð 	'ØÔ&Ð&àŒ}×*Ò*¨3Ñ/Ô/ˆØ"ˆÔØˆr'   Nrí   )r5   r6   r7   rç   r9   r'   r%   rµ   rµ   Ï  s(   € € € € € ð	ð 	ð 	ð 	ð 	ð 	r'   rµ   )r   r   r   r   )r3   rK   r   rq   ),r8   Ú
__future__r   rÀ   r   r   r   r   r   r	   r
   r   r   r   r   r   r   rˆ   Úattrr   r   r   r   Úregistryr   r   Ú r   Úutil.typingr   ÚdefaultdictÚlistr   rS   r&   r)   r;   rV   rŒ   rŽ   r·   rÏ   r¶   rµ   r9   r'   r%   ú<module>r÷      sœ  ðð	ð 	ð 	ð #Ð "Ð "Ð "Ð "Ð "à €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø €€€à #Ð #Ð #Ð #Ð #Ð #Ø  Ð  Ð  Ð  Ð  Ð  Ø (Ð (Ð (Ð (Ð (Ð (Ø !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !ð €DÔ�TÑÔð ð ð ð ñ ð
&ð &ð &ð &ðOð Oð Oð Oð Oñ Oô Oð Oð $ð $ð $ð $ð $�g˜c”lñ $ô $ð $ð {(ð {(ð {(ð {(ð {(� Ô$ñ {(ô {(ð {(ð|ð ð ð ðm*ð m*ð m*ð m*ð m*˜ œñ m*ô m*ð m*ð` #ð  #ð  #ð  #ð  #˜¨Ô,ñ  #ô  #ð  #ðF4ð 4ð 4ð 4ð 4Ð Ô$ñ 4ô 4ð 4ðn ð  ð  ð  ð  �˜”ñ  ô  ð  ðF
ð 
ð 
ð 
ð 
�z #”ñ 
ô 
ð 
ð 
ð 
r'   