ó
    pñ:i¨V  ã                  óú  • S SK Jr  S SKrS SKrS SKrS SKrS SKJr  S SK	J
r
  S SK	Jr  S SKJr  SSKJr  \R                  (       a  S S	KJr  S S
KJr  S SKJr  \R(                  " S5      r\R(                  " S\R,                  S\R.                  4   S9rSS jr " S S5      r " S S\R6                  \   5      r " S S5      r " S S5      r " S S\5      rS S jr S!S jr! " S S\R6                  \   5      r"g)"é    )ÚannotationsN)Ú
ContextVar©Úpartial)Úupdate_wrapper)Ú
attrgetteré   )ÚClosingIterator)ÚStartResponse)ÚWSGIApplication)ÚWSGIEnvironmentÚTÚF.)Úboundc                ó$   • U R                  5         g)zçRelease the data for the current context in a :class:`Local` or
:class:`LocalStack` without using a :class:`LocalManager`.

This should not be needed for modern use cases, and may be removed
in the future.

.. versionadded:: 0.6.1
N)Ú__release_local__)Úlocals    ÚQ/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/werkzeug/local.pyÚrelease_localr      s   € ð 
×ÑÕó    c                  óx   • \ rS rSrSrSrSSS jjrSS jrSS.     SS jjrSS	 jr	SS
 jr
SS jrSS jrSrg)ÚLocalé#   aE  Create a namespace of context-local data. This wraps a
:class:`ContextVar` containing a :class:`dict` value.

This may incur a performance penalty compared to using individual
context vars, as it has to copy data to avoid mutating the dict
between nested contexts.

:param context_var: The :class:`~contextvars.ContextVar` to use as
    storage for this local. If not given, one will be created.
    Context vars not created at the global scope may interfere with
    garbage collection.

.. versionchanged:: 2.0
    Uses ``ContextVar`` instead of a custom storage implementation.
)Ú	__storageNc                óh   • Uc  [        S[        U 5       S35      n[        R                  U SU5        g )Nzwerkzeug.Local<ú	>.storageÚ_Local__storage)r   ÚidÚobjectÚ__setattr__©ÚselfÚcontext_vars     r   Ú__init__ÚLocal.__init__6   s4   € ØÑô
 % ´r¸$³x°jÀ	Ð%JÓKˆKä×Ñ˜4Ð!2°KÕ@r   c                óf   • [        U R                  R                  0 5      R                  5       5      $ ©N)Úiterr   ÚgetÚitems©r"   s    r   Ú__iter__ÚLocal.__iter__@   s%   € Ü�D—N‘N×&Ñ& rÓ*×0Ñ0Ó2Ó3Ð3r   ©Úunbound_messagec               ó   • [        XUS9$ )zÖCreate a :class:`LocalProxy` that access an attribute on this
local namespace.

:param name: Proxy this attribute.
:param unbound_message: The error message that the proxy will
    show if the attribute isn't set.
r.   ©Ú
LocalProxy©r"   Únamer/   s      r   Ú__call__ÚLocal.__call__C   s   € ô ˜$°oÑFÐFr   c                ó:   • U R                   R                  0 5        g r'   )r   Úsetr+   s    r   r   ÚLocal.__release_local__O   s   € Ø�‰×Ñ˜2Õr   c                ó`   • U R                   R                  0 5      nX;   a  X!   $ [        U5      er'   )r   r)   ÚAttributeError©r"   r4   Úvaluess      r   Ú__getattr__ÚLocal.__getattr__R   s.   € Ø—‘×#Ñ# BÓ'ˆà‹>Ø‘<Ðä˜TÓ"Ð"r   c                ó”   • U R                   R                  0 5      R                  5       nX#U'   U R                   R                  U5        g r'   )r   r)   Úcopyr8   )r"   r4   Úvaluer=   s       r   r    ÚLocal.__setattr__Z   s8   € Ø—‘×#Ñ# BÓ'×,Ñ,Ó.ˆØˆt‰Ø�‰×Ñ˜6Õ"r   c                ó´   • U R                   R                  0 5      nX;   a.  UR                  5       nX!	 U R                   R                  U5        g [	        U5      er'   )r   r)   rA   r8   r;   r<   s      r   Ú__delattr__ÚLocal.__delattr___   sH   € Ø—‘×#Ñ# BÓ'ˆà‹>Ø—[‘[“]ˆFØ�Ø�N‰N×Ñ˜vÕ&ä  Ó&Ð&r   © r'   )r#   z#ContextVar[dict[str, t.Any]] | NoneÚreturnÚNone)rH   zt.Iterator[tuple[str, t.Any]])r4   Ústrr/   ú
str | NonerH   úLocalProxy[t.Any]©rH   rI   )r4   rJ   rH   út.Any)r4   rJ   rB   rN   rH   rI   )r4   rJ   rH   rI   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú	__slots__r$   r,   r5   r   r>   r    rE   Ú__static_attributes__rG   r   r   r   r   #   sS   † ñð  €IöAô4ð ;?ñ
GØð
GØ-7ð
Gà	õ
Gôô#ô#÷
'r   r   c                  ó~   • \ rS rSrSrSrSSS jjrSS jrSS jrSS jr	\
SS	 j5       r SSS
.     SS jjjrSrg)Ú
LocalStackéj   aZ  Create a stack of context-local data. This wraps a
:class:`ContextVar` containing a :class:`list` value.

This may incur a performance penalty compared to using individual
context vars, as it has to copy data to avoid mutating the list
between nested contexts.

:param context_var: The :class:`~contextvars.ContextVar` to use as
    storage for this local. If not given, one will be created.
    Context vars not created at the global scope may interfere with
    garbage collection.

.. versionchanged:: 2.0
    Uses ``ContextVar`` instead of a custom storage implementation.

.. versionadded:: 0.6.1
)Ú_storageNc                óF   • Uc  [        S[        U 5       S35      nXl        g )Nzwerkzeug.LocalStack<r   )r   r   rY   r!   s     r   r$   ÚLocalStack.__init__   s'   € ØÑô
 %Ð';¼B¸t»H¸:ÀYÐ%OÓPˆKà#�r   c                ó:   • U R                   R                  / 5        g r'   )rY   r8   r+   s    r   r   ÚLocalStack.__release_local__‰   s   € Ø�‰×Ñ˜"Õr   c                ó°   • U R                   R                  / 5      R                  5       nUR                  U5        U R                   R	                  U5        U$ )z'Add a new item to the top of the stack.)rY   r)   rA   Úappendr8   )r"   ÚobjÚstacks      r   ÚpushÚLocalStack.pushŒ   sB   € à—‘×!Ñ! "Ó%×*Ñ*Ó,ˆØ�‰�SÔØ�‰×Ñ˜%Ô Øˆr   c                ó¢   • U R                   R                  / 5      n[        U5      S:X  a  gUS   nU R                   R                  USS 5        U$ )zZRemove the top item from the stack and return it. If the
stack is empty, return ``None``.
r   Néÿÿÿÿ)rY   r)   Úlenr8   )r"   ra   Úrvs      r   ÚpopÚLocalStack.pop“   sL   € ð —‘×!Ñ! "Ó%ˆäˆu‹:˜‹?Øà�2‰YˆØ�‰×Ñ˜%  ˜*Ô%Øˆ	r   c                ób   • U R                   R                  / 5      n[        U5      S:X  a  gUS   $ )zKThe topmost item on the stack.  If the stack is empty,
`None` is returned.
r   Nre   )rY   r)   rf   )r"   ra   s     r   ÚtopÚLocalStack.top    s0   € ð
 —‘×!Ñ! "Ó%ˆäˆu‹:˜‹?Øà�R‰yÐr   r.   c               ó   • [        XUS9$ )a  Create a :class:`LocalProxy` that accesses the top of this
local stack.

:param name: If given, the proxy access this attribute of the
    top item, rather than the item itself.
:param unbound_message: The error message that the proxy will
    show if the stack is empty.
r.   r1   r3   s      r   r5   ÚLocalStack.__call__¬   s   € ô ˜$°oÑFÐFr   r'   )r#   zContextVar[list[T]] | NonerH   rI   rM   )r`   r   rH   zlist[T])rH   zT | None)r4   rK   r/   rK   rH   rL   )rO   rP   rQ   rR   rS   rT   r$   r   rb   rh   Úpropertyrk   r5   rU   rG   r   r   rW   rW   j   sk   † ñð$ €Iö$ôôôð ó	ó ð	ð "&ðGØHLñGØðGØ;EðGà	÷Gñ Gr   rW   c                  óZ   • \ rS rSrSrSr S
   SS jjrSS jrSS jrSS jr	SS	 jr
Srg)ÚLocalManageréº   aã  Manage releasing the data for the current context in one or more
:class:`Local` and :class:`LocalStack` objects.

This should not be needed for modern use cases, and may be removed
in the future.

:param locals: A local or list of locals to manage.

.. versionchanged:: 2.1
    The ``ident_func`` was removed.

.. versionchanged:: 0.7
    The ``ident_func`` parameter was added.

.. versionchanged:: 0.6.1
    The :func:`release_local` function can be used instead of a
    manager.
)ÚlocalsNc                óv   • Uc  / U l         g [        U[        5      (       a	  U/U l         g [        U5      U l         g r'   )rs   Ú
isinstancer   Úlist)r"   rs   s     r   r$   ÚLocalManager.__init__Ð   s1   € ð
 ‰>ØˆD�KÜ˜¤×&Ñ&Ø!˜(ˆD�Kä˜v›,ˆD�Kr   c                ó@   • U R                    H  n[        U5        M     g)zvRelease the data in the locals for this context. Call this at
the end of each request or use :meth:`make_middleware`.
N)rs   r   )r"   r   s     r   ÚcleanupÚLocalManager.cleanupÜ   s   € ð —[”[ˆEÜ˜%Ö ò !r   c                ó(   ^ ^•       SUU 4S jjnU$ )zuWrap a WSGI application so that local data is released
automatically after the response has been sent for a request.
c                ó<   >• [        T" X5      TR                  5      $ r'   )r
   ry   )ÚenvironÚstart_responseÚappr"   s     €€r   ÚapplicationÚ1LocalManager.make_middleware.<locals>.applicationè   s   ø€ ô #¡3 wÓ#?ÀÇÁÓNÐNr   )r}   r   r~   r   rH   zt.Iterable[bytes]rG   )r"   r   r€   s   `` r   Úmake_middlewareÚLocalManager.make_middlewareã   s2   ù€ ð
	OØ$ð	OØ6Cð	Oà÷	Oð 	Oð
 Ðr   c                ó8   • [        U R                  U5      U5      $ )zÂLike :meth:`make_middleware` but used as a decorator on the
WSGI application function.

.. code-block:: python

    @manager.middleware
    def application(environ, start_response):
        ...
)r   r‚   )r"   Úfuncs     r   Ú
middlewareÚLocalManager.middlewareï   s   € ô ˜d×2Ñ2°4Ó8¸$Ó?Ð?r   c                ó`   • S[        U 5      R                   S[        U R                  5       S3$ )NÚ<z storages: Ú>)ÚtyperO   rf   rs   r+   s    r   Ú__repr__ÚLocalManager.__repr__û   s,   € Ø”4˜“:×&Ñ&Ð' {´3°t·{±{Ó3CÐ2DÀAÐFÐFr   r'   )rs   zJNone | (Local | LocalStack[t.Any] | t.Iterable[Local | LocalStack[t.Any]])rH   rI   rM   )r   r   rH   r   )r…   r   rH   r   ©rH   rJ   )rO   rP   rQ   rR   rS   rT   r$   ry   r‚   r†   rŒ   rU   rG   r   r   rq   rq   º   sE   † ñð& €Ið
 QUð
'ðNð
'ð 
õ	
'ô!ô
ô
@÷Gr   rq   c                  ó€   • \ rS rSrSrSr    S         SS jjrSS jrSSS jjrSS jr	        SS	 jr
S
rg)Ú_ProxyLookupéÿ   ad  Descriptor that handles proxied attribute lookup for
:class:`LocalProxy`.

:param f: The built-in function this attribute is accessed through.
    Instead of looking up the special method, the function call
    is redone on the object.
:param fallback: Return this function if the proxy is unbound
    instead of raising a :exc:`RuntimeError`.
:param is_attr: This proxied name is an attribute, not a function.
    Call the fallback immediately to get the value.
:param class_value: Value to return when accessed from the
    ``LocalProxy`` class directly. Used for ``__doc__`` so building
    docs still works.
)Úbind_fÚfallbackÚis_attrÚclass_valuer4   Nc                óž   ^• [        TS5      (       a        SU4S jjnOTb        SU4S jjnOS nXPl        X l        X0l        X@l        g )NÚ__get__c                ó:   >• TR                  U[        U5      5      $ r'   ©r—   r‹   ©Úinstancer`   Úfs     €r   r’   Ú%_ProxyLookup.__init__.<locals>.bind_f  s   ø€ ð —y‘y ¤d¨3£iÓ0Ð0r   c                ó   >• [        TU5      $ r'   r   rš   s     €r   r’   r�   %  s   ø€ ô ˜q #“Ð&r   ©r›   rL   r`   rN   rH   zt.Callable[..., t.Any])Úhasattrr’   r“   r•   r”   )r"   rœ   r“   r•   r”   r’   s    `    r   r$   Ú_ProxyLookup.__init__  sy   ø€ ô �1�i× Ñ ð1Ø+ð1Ø27ð1à'÷1ð 1ð
 ‰]ð'Ø+ð'Ø27ð'à'÷'ð 'ð ˆFàŒØ ŒØ&ÔØ�r   c                ó   • X l         g r'   ©r4   )r"   Úownerr4   s      r   Ú__set_name__Ú_ProxyLookup.__set_name__3  s   € Ø�	r   c                óp  • Uc  U R                   b  U R                   $ U $  UR                  5       nU R                  b  U R                  X5      $ [        X0R                  5      $ ! [         aH    U R                  c  e U R                  R	                  X5      nU R
                  (       a	  U" 5       s $ Us $ f = fr'   )	r•   Ú_get_current_objectÚRuntimeErrorr“   r—   r”   r’   Úgetattrr4   )r"   r›   r¤   r`   r“   s        r   r—   Ú_ProxyLookup.__get__6  sª   € ØÑØ×ÑÑ+Ø×'Ñ'Ð'àˆKð	Ø×.Ñ.Ó0ˆCð �;‰;Ñ"Ø—;‘;˜xÓ-Ð-ä�sŸI™IÓ&Ð&øô! ó 	Ø�}‰}Ñ$Øà—}‘}×,Ñ,¨XÓ=ˆHà�|�|ñ  “zÒ!àŠOð	ús    A# Á#AB5Â0B5Â4B5c                ó    • SU R                    3$ )Nzproxy r£   r+   s    r   rŒ   Ú_ProxyLookup.__repr__Q  s   € Ø˜Ÿ	™	�{Ð#Ð#r   c                óD   • U R                  U[        U5      5      " U0 UD6$ )zÍSupport calling unbound methods from the class. For example,
this happens with ``copy.copy``, which does
``type(x).__copy__(x)``. ``type(x)`` can't be proxied, so it
returns the proxy type and descriptor.
r™   )r"   r›   ÚargsÚkwargss       r   r5   Ú_ProxyLookup.__call__T  s#   € ð �|‰|˜H¤d¨8£nÔ5°tÐF¸vÑFÐFr   )r’   r•   r“   r”   r4   )NNNF)
rœ   út.Callable[..., t.Any] | Noner“   ú-t.Callable[[LocalProxy[t.Any]], t.Any] | Noner•   zt.Any | Noner”   ÚboolrH   rI   )r¤   rL   r4   rJ   rH   rI   r'   )r›   rL   r¤   ztype | NonerH   rN   rŽ   )r›   rL   r¯   rN   r°   rN   rH   rN   )rO   rP   rQ   rR   rS   rT   r$   r¥   r—   rŒ   r5   rU   rG   r   r   r�   r�   ÿ   s�   † ñð I€Ið ,0ØBFØ$(Øð à(ð ð @ð ð "ð	 ð
 ð ð 
õ ôDö'ô6$ðGØ)ðGØ27ðGØCHðGà	÷Gr   r�   c                  óF   ^ • \ rS rSrSrSr  S     SU 4S jjjrSrU =r$ )Ú	_ProxyIOpi_  z}Look up an augmented assignment method on a proxied object. The
method is wrapped to return the proxy instead of the object.
rG   c                óD   >^• [         TU ]  TU5        SU4S jjnX0l        g )Nc                óN   >^ • SUU 4S jjnUR                  U[        U5      5      $ )Nc                ó   >• T" X5        T$ r'   rG   )r"   Úotherrœ   r›   s     €€r   Úi_opÚ0_ProxyIOp.__init__.<locals>.bind_f.<locals>.i_opn  s   ø€ Ù�$”Ø�r   )r"   rN   rº   rN   rH   rL   r™   )r›   r`   r»   rœ   s   `  €r   r’   Ú"_ProxyIOp.__init__.<locals>.bind_fm  s$   ù€ ÷ ð  ð —<‘< ¤T¨#£YÓ/Ð/r   rŸ   )Úsuperr$   r’   )r"   rœ   r“   r’   Ú	__class__s    `  €r   r$   Ú_ProxyIOp.__init__f  s    ù€ ô
 	‰Ñ˜˜HÔ%÷	0ð �r   )r’   )NN)rœ   r²   r“   r³   rH   rI   )	rO   rP   rQ   rR   rS   rT   r$   rU   Ú__classcell__)r¿   s   @r   r¶   r¶   _  s>   ø† ñð €Ið ,0ØBFðà(ðð @ðð 
÷	ö r   r¶   c                óJ   ^ • SU 4S jjn[         R                  " [        U5      $ )z5Swap the argument order to turn an l-op into an r-op.c                ó   >• T" X5      $ r'   rG   )r`   rº   Úops     €r   Úr_opÚ_l_to_r_op.<locals>.r_opz  s   ø€ Ù�%‹~Ðr   )r`   rN   rº   rN   rH   rN   )ÚtÚcastr   )rÄ   rÅ   s   ` r   Ú
_l_to_r_oprÉ   w  s   ø€ ÷ô �6Š6”!�T‹?Ðr   c                ó   • U $ r'   rG   )Úos    r   Ú	_identityrÌ   €  s   € Ø€Hr   c                  óL  • \ rS rSr% SrSrS\S'     SSS.       SS jjjr\" \S	 S
S9r\" S S
S9r	\" \
S S9r\" \5      r\" \5      r\" 5       r\" \R$                  5      r\" \R(                  5      r\" \R,                  5      r\" \R0                  5      r\" \R4                  5      r\" \R8                  5      r\" \5      r\" \ S S9r!\" \"5      r#\" \$5      r%\" \&5      r'\" \(S S9r)\" S S
S9r*\" S 5      r+\" S 5      r,\" S 5      r-\" \.5      r/\" \R`                  5      r1\" \Rd                  5      r3\" \Rh                  5      r5\" \Rl                  5      r7\" \85      r9\" \:5      r;\" \<5      r=\" \R|                  5      r?\" \R€                  5      rA\" \R„                  5      rC\" \Rˆ                  5      rE\" \RŒ                  5      rG\" \R�                  5      rI\" \R”                  5      rK\" \R˜                  5      rM\" \N5      rO\" \P5      rQ\" \R¤                  5      rS\" \R¨                  5      rU\" \R¬                  5      rW\" \R°                  5      rY\" \R´                  5      r[\" \\" \R€                  5      5      r]\" \\" \R„                  5      5      r^\" \\" \Rˆ                  5      5      r_\" \\" \RŒ                  5      5      r`\" \\" \R�                  5      5      ra\" \\" \R”                  5      5      rb\" \\" \R˜                  5      5      rc\" \\" \N5      5      rd\" \\" \P5      5      re\" \\" \R¤                  5      5      rf\" \\" \R¨                  5      5      rg\" \\" \R¬                  5      5      rh\" \\" \R°                  5      5      ri\" \\" \R´                  5      5      rj\k" \RØ                  5      rm\k" \RÜ                  5      ro\k" \Rà                  5      rq\k" \Rä                  5      rs\k" \Rè                  5      ru\k" \Rì                  5      rw\k" \Rð                  5      ry\k" \Rô                  5      r{\k" \Rø                  5      r}\k" \Rü                  5      r\k" \GR                   5      r�\k" \GR                  5      rƒ\k" \GR                  5      r…\" \GR                  5      r‡\" \GR                  5      r‰\" \Š5      r‹\" \GR                  5      r�\" \Ž5      r�\" \�5      r‘\" \’5      r“\" \GR(                  5      r•\" \–5      r—\" \˜GR2                  5      rš\" \˜GR6                  5      rœ\" \˜GR:                  5      rž\" 5       rŸ\" 5       r \" 5       r¡\" 5       r¢\" 5       r£\" 5       r¤\" 5       r¥\" \¦GRL                  5      r§\" \¦GRP                  5      r©Srªg)r2   i„  aŸ  A proxy to the object bound to a context-local object. All
operations on the proxy are forwarded to the bound object. If no
object is bound, a ``RuntimeError`` is raised.

:param local: The context-local object that provides the proxied
    object.
:param name: Proxy this attribute from the proxied object.
:param unbound_message: The error message to show if the
    context-local object is unbound.

Proxy a :class:`~contextvars.ContextVar` to make it easier to
access. Pass a name to proxy that attribute.

.. code-block:: python

    _request_var = ContextVar("request")
    request = LocalProxy(_request_var)
    session = LocalProxy(_request_var, "session")

Proxy an attribute on a :class:`Local` namespace by calling the
local with the attribute name:

.. code-block:: python

    data = Local()
    user = data("user")

Proxy the top item on a :class:`LocalStack` by calling the local.
Pass a name to proxy that attribute.

.. code-block::

    app_stack = LocalStack()
    current_app = app_stack()
    g = app_stack("g")

Pass a function to proxy the return value from that function. This
was previously used to access attributes of local objects before
that was supported directly.

.. code-block:: python

    session = LocalProxy(lambda: request.session)

``__repr__`` and ``__class__`` are proxied, so ``repr(x)`` and
``isinstance(x, cls)`` will look like the proxied object. Use
``issubclass(type(x), LocalProxy)`` to check if an object is a
proxy.

.. code-block:: python

    repr(user)  # <User admin>
    isinstance(user, User)  # True
    issubclass(type(user), LocalProxy)  # True

.. versionchanged:: 2.2.2
    ``__wrapped__`` is set when wrapping an object, not only when
    wrapping a function, to prevent doctest from failing.

.. versionchanged:: 2.2
    Can proxy a ``ContextVar`` or ``LocalStack`` directly.

.. versionchanged:: 2.2
    The ``name`` parameter can be used with any proxied object, not
    only ``Local``.

.. versionchanged:: 2.2
    Added the ``unbound_message`` parameter.

.. versionchanged:: 2.0
    Updated proxied attributes and methods to reflect the current
    data model.

.. versionchanged:: 0.6.1
    The class can be instantiated with a callable.
)Ú	__wrappedr¨   zt.Callable[[], T]r¨   Nr.   c               óÚ  ^^^• Uc  [         mO[        U5      mTc  Sm[        T[        5      (       a  Uc  [	        S5      eSUUU4S jjnOr[        T[
        5      (       a  SUUU4S jjnOR[        T[        5      (       a  SUUU4S jjnO2[        T5      (       a
  SUU4S jjnO[	        S[        T5       S35      e[        R                  U S	T5        [        R                  U S
U5        g )Nzobject is not boundz2'name' is required when proxying a 'Local' object.c                 óJ   >•  T " T5      $ ! [          a    [        T5      S ef = fr'   )r;   r©   )Úget_namer   r/   s   €€€r   r¨   Ú0LocalProxy.__init__.<locals>._get_current_objectñ  s1   ø€ ðBÙ# E›?Ð*øÜ%ó BÜ& Ó7¸TÐAðBús   ƒ ‹"c                 óH   >• TR                   n U c  [        T5      eT" U 5      $ r'   )rk   r©   ©r`   rÑ   r   r/   s    €€€r   r¨   rÒ   ù  s&   ø€ Ø—i‘i�à‘;Ü& Ó7Ð7á “}Ð$r   c                 ój   >•  TR                  5       n T" U 5      $ ! [         a    [        T5      S ef = fr'   )r)   ÚLookupErrorr©   rÔ   s    €€€r   r¨   rÒ     s@   ø€ ðBØŸ)™)›+�Cñ   “}Ð$øô #ó BÜ& Ó7¸TÐAðBús   ƒ ›2c                 ó   >• T " T" 5       5      $ r'   rG   )rÑ   r   s   €€r   r¨   rÒ     s   ø€ Ù¡£Ó(Ð(r   zDon't know how to proxy 'z'.Ú_LocalProxy__wrappedr¨   )rH   r   )rÌ   r   ru   r   Ú	TypeErrorrW   r   Úcallabler‹   r   r    )r"   r   r4   r/   r¨   rÑ   s    ` ` @r   r$   ÚLocalProxy.__init__Þ  s×   ú€ ð ‰<Ü ‰Hä! $Ó'ˆHàÑ"Ø3ˆOä�eœU×#Ñ#Ø‰|ÜÐ TÓUÐU÷Bò Bô ˜œz×*Ñ*÷%ò %ô ˜œz×*Ñ*÷%ò %ô �e�_‰_÷)ñ )ô Ð7¼¸U»°}ÀBÐGÓHÐHä×Ñ˜4Ð!7¸Ô?Ü×Ñ˜4Ð!6Ð8KÕLr   c                ó,   • [        U 5      R                  $ r'   )r‹   rS   r+   s    r   Ú<lambda>ÚLocalProxy.<lambda>  s   € ´4¸³:×3EÒ3Er   T)r•   r“   r”   c                ó   • U R                   $ r'   )rØ   r+   s    r   rÝ   rÞ     s
   € ˜d×7Ò7r   )r“   r”   c                ó4   • S[        U 5      R                   S3$ )Nr‰   z	 unbound>)r‹   rO   r+   s    r   rÝ   rÞ     s   €  a¬¨T«
×(;Ñ(;Ð'<¸IÑ$Fr   )r“   c                ó   • g)NFrG   r+   s    r   rÝ   rÞ   +  s   € ¸r   c                ó   • / $ r'   rG   r+   s    r   rÝ   rÞ   0  s   € ±br   c                ó   • [        U 5      $ r'   )r‹   r+   s    r   rÝ   rÞ   ;  s   € ´4¸´:r   c                ó   • [        X5      $ r'   )ru   ©r"   rº   s     r   rÝ   rÞ   <  ó	   € ¼ÀEÔ9Pr   c                ó   • [        X5      $ r'   )Ú
issubclassrå   s     r   rÝ   rÞ   =  ræ   r   c                ó   • U " U0 UD6$ r'   rG   )r"   r¯   r°   s      r   rÝ   rÞ   ?  s   € ¹$ÀÐ:OÈÒ:Or   rG   r'   )r   z9ContextVar[T] | Local | LocalStack[T] | t.Callable[[], T]r4   rK   r/   rK   rH   rI   )«rO   rP   rQ   rR   rS   rT   Ú__annotations__r$   r�   Ú__wrapped__ÚreprrŒ   rJ   Ú__str__ÚbytesÚ	__bytes__Ú
__format__ÚoperatorÚltÚ__lt__ÚleÚ__le__ÚeqÚ__eq__ÚneÚ__ne__ÚgtÚ__gt__ÚgeÚ__ge__ÚhashÚ__hash__r´   Ú__bool__rª   r>   Úsetattrr    ÚdelattrrE   ÚdirÚ__dir__r¿   Ú__instancecheck__Ú__subclasscheck__r5   rf   Ú__len__Úlength_hintÚ__length_hint__ÚgetitemÚ__getitem__ÚsetitemÚ__setitem__ÚdelitemÚ__delitem__r(   r,   ÚnextÚ__next__ÚreversedÚ__reversed__ÚcontainsÚ__contains__ÚaddÚ__add__ÚsubÚ__sub__ÚmulÚ__mul__ÚmatmulÚ
__matmul__ÚtruedivÚ__truediv__ÚfloordivÚ__floordiv__ÚmodÚ__mod__ÚdivmodÚ
__divmod__ÚpowÚ__pow__ÚlshiftÚ
__lshift__ÚrshiftÚ
__rshift__Úand_Ú__and__ÚxorÚ__xor__Úor_Ú__or__rÉ   Ú__radd__Ú__rsub__Ú__rmul__Ú__rmatmul__Ú__rtruediv__Ú__rfloordiv__Ú__rmod__Ú__rdivmod__Ú__rpow__Ú__rlshift__Ú__rrshift__Ú__rand__Ú__rxor__Ú__ror__r¶   ÚiaddÚ__iadd__ÚisubÚ__isub__ÚimulÚ__imul__ÚimatmulÚ__imatmul__ÚitruedivÚ__itruediv__Ú	ifloordivÚ__ifloordiv__ÚimodÚ__imod__ÚipowÚ__ipow__ÚilshiftÚ__ilshift__ÚirshiftÚ__irshift__ÚiandÚ__iand__ÚixorÚ__ixor__ÚiorÚ__ior__ÚnegÚ__neg__ÚposÚ__pos__ÚabsÚ__abs__ÚinvertÚ
__invert__ÚcomplexÚ__complex__ÚintÚ__int__ÚfloatÚ	__float__ÚindexÚ	__index__ÚroundÚ	__round__ÚmathÚtruncÚ	__trunc__ÚfloorÚ	__floor__ÚceilÚ__ceil__Ú	__enter__Ú__exit__Ú	__await__Ú	__aiter__Ú	__anext__Ú
__aenter__Ú	__aexit__rA   Ú__copy__ÚdeepcopyÚ__deepcopy__rU   rG   r   r   r2   r2   „  sV  ‡ ñKðZ 5€Ià*Ó*ðð  ð6Mð
 '+ñ6MàHð6Mð ð6Mð
 $ð6Mð 
ö6Mñp ØÑ&EÈtñ€Gñ Ù7Øñ€Kñ
 ØÑFñ€Hñ ˜3Ó€GÙ˜UÓ#€IÙ“€JÙ˜(Ÿ+™+Ó&€FÙ˜(Ÿ+™+Ó&€FÙ˜(Ÿ+™+Ó&€FÙ˜(Ÿ+™+Ó&€FÙ˜(Ÿ+™+Ó&€FÙ˜(Ÿ+™+Ó&€FÙ˜DÓ!€HÙ˜DÑ+=Ñ>€HÙ˜wÓ'€Ká˜wÓ'€KÙ˜wÓ'€KÙ˜3©Ñ9€Gñ Ñ&=ÀtÑL€IÙ$Ñ%PÓQÐÙ$Ñ%PÓQÐáÑOÓP€HÙ˜3Ó€GÙ" 8×#7Ñ#7Ó8€OÙ˜x×/Ñ/Ó0€KÙ˜x×/Ñ/Ó0€KÙ˜x×/Ñ/Ó0€Ká˜DÓ!€HÙ˜DÓ!€HÙ Ó)€LÙ × 1Ñ 1Ó2€LÙ˜8Ÿ<™<Ó(€GÙ˜8Ÿ<™<Ó(€GÙ˜8Ÿ<™<Ó(€GÙ˜hŸo™oÓ.€JÙ˜x×/Ñ/Ó0€KÙ × 1Ñ 1Ó2€LÙ˜8Ÿ<™<Ó(€GÙ˜fÓ%€JÙ˜3Ó€GÙ˜hŸo™oÓ.€JÙ˜hŸo™oÓ.€JÙ˜8Ÿ=™=Ó)€GÙ˜8Ÿ<™<Ó(€GÙ˜(Ÿ,™,Ó'€FÙ™J x§|¡|Ó4Ó5€HÙ™J x§|¡|Ó4Ó5€HÙ™J x§|¡|Ó4Ó5€HÙ™z¨(¯/©/Ó:Ó;€KÙ¡
¨8×+;Ñ+;Ó <Ó=€LÙ ¡¨H×,=Ñ,=Ó!>Ó?€MÙ™J x§|¡|Ó4Ó5€HÙ™z¨&Ó1Ó2€KÙ™J s›OÓ,€HÙ™z¨(¯/©/Ó:Ó;€KÙ™z¨(¯/©/Ó:Ó;€KÙ™J x§}¡}Ó5Ó6€HÙ™J x§|¡|Ó4Ó5€HÙ™: h§l¡lÓ3Ó4€GÙ˜Ÿ™Ó'€HÙ˜Ÿ™Ó'€HÙ˜Ÿ™Ó'€HÙ˜H×,Ñ,Ó-€KÙ˜X×.Ñ.Ó/€LÙ˜h×0Ñ0Ó1€MÙ˜Ÿ™Ó'€HÙ˜Ÿ™Ó'€HÙ˜H×,Ñ,Ó-€KÙ˜H×,Ñ,Ó-€KÙ˜ŸšÓ'€HÙ˜ŸšÓ'€HÙ˜ŸšÓ%€GÙ˜8Ÿ<š<Ó(€GÙ˜8Ÿ<š<Ó(€GÙ˜3Ó€GÙ˜hŸošoÓ.€JÙ˜wÓ'€KÙ˜3Ó€GÙ˜UÓ#€IÙ˜XŸ^š^Ó,€IÙ˜UÓ#€IÙ˜TŸZšZÓ(€IÙ˜TŸZšZÓ(€IÙ˜DŸIšIÓ&€HÙ“€IÙ‹~€HÙ“€IÙ“€IÙ“€IÙ“€JÙ“€IÙ˜DŸIšIÓ&€HÙ §¢Ó.ƒLr   r2   )r   zLocal | LocalStack[t.Any]rH   rI   )rÄ   r   rH   r   )rË   r   rH   r   )#Ú
__future__r   rA   rl  rñ   ÚtypingrÇ   Úcontextvarsr   Ú	functoolsr   r   r   Úwsgir
   ÚTYPE_CHECKINGÚ_typeshed.wsgir   r   r   ÚTypeVarr   ÚCallableÚAnyr   r   r   ÚGenericrW   rq   r�   r¶   rÉ   rÌ   r2   rG   r   r   Ú<module>rˆ     sÖ   ðÝ "ã Û Û Û Ý "Ý Ý $Ý å !à‡?‡?Ý,Ý.Ý.à‡I‚IˆcƒN€Ø‡I‚Iˆc˜Ÿ™ C¨¯© JÑ/Ñ0€ô	÷D'ñ D'ôNMG�—‘˜1‘ô MG÷`BGñ BG÷J]Gñ ]Gô@�ô ô0ôôC/�—‘˜1‘õ C/r   