Ë
    +Œ:jë  ã                   óž   — d dl Z d dlZe j                  dk\  rd dlmZ nd dlmZ d dlmZ d dlmZ  ed«      Z	 G d„ d«      Z
 G d	„ d
e
«      Zy)é    N)é   é
   )Ú	ParamSpec)Úis_async_callable)Úrun_in_threadpoolÚPc                   ó†   — e Zd Zdej                  eej                  f   dej                  dej                  ddfd„Z	dd„Z
y)	ÚBackgroundTaskÚfuncÚargsÚkwargsÚreturnNc                 óN   — || _         || _        || _        t        |«      | _        y ©N)r   r   r   r   Úis_async)Úselfr   r   r   s       úV/var/www/html/tokenscope/api/venv/lib/python3.12/site-packages/starlette/background.pyÚ__init__zBackgroundTask.__init__   s%   € ð ˆŒ	ØˆŒ	ØˆŒÜ)¨$Ó/ˆ�ó    c              ƒ   óô   K  — | j                   r/ | j                  | j                  i | j                  ¤Žƒ d {  –—†  y t	        | j                  g| j                  ¢­i | j                  ¤Žƒ d {  –—†  y 7 Œ;7 Œ­wr   )r   r   r   r   r   )r   s    r   Ú__call__zBackgroundTask.__call__   s[   è ø€ Ø�=Š=Ø�$—)‘)˜TŸY™YÐ6¨$¯+©+Ñ6×6Ñ6ä# D§I¡IÐI°·	±	ÒI¸T¿[¹[ÑI×IÑIð 7øàIús!   ‚6A8¸A4¹5A8Á.A6Á/A8Á6A8©r   N)Ú__name__Ú
__module__Ú__qualname__ÚtypingÚCallabler   ÚAnyr   r   r   r   © r   r   r
   r
      sF   „ ð0Ø—O‘O A v§z¡z MÑ2ð0Ø;<¿6¹6ð0ØMNÏXÉXð0à	ó0ôJr   r
   c                   óÈ   — e Zd Zd
dej                  ej
                  e      fd„Zdej                  e	ej                  f   de	j                  de	j                  ddfd„Zdd	„Zy)ÚBackgroundTasksNÚtasksc                 ó8   — |rt        |«      | _        y g | _        y r   )Úlistr"   )r   r"   s     r   r   zBackgroundTasks.__init__    s   € Ù$)”T˜%“[ˆ�
¨rˆ�
r   r   r   r   r   c                 óX   — t        |g|¢­i |¤Ž}| j                  j                  |«       y r   )r
   r"   Úappend)r   r   r   r   Útasks        r   Úadd_taskzBackgroundTasks.add_task#   s*   € ô ˜dÐ4 TÒ4¨VÑ4ˆØ�
‰
×Ñ˜$Õr   c              ƒ   óP   K  — | j                   D ]  } |«       ƒ d {  –—†  Œ y 7 Œ­wr   )r"   )r   r'   s     r   r   zBackgroundTasks.__call__)   s%   è ø€ Ø—J‘Jò 	ˆDÙ“&�L‰Lñ	Øús   ‚&œ$�&r   r   )r   r   r   r   ÚOptionalÚSequencer
   r   r   r   r   r   r   r(   r   r   r   r   r!   r!      sc   „ ñ2˜fŸo™o¨f¯o©o¸nÑ.MÑNó 2ð Ø—O‘O A v§z¡z MÑ2ð Ø;<¿6¹6ð ØMNÏXÉXð à	ó ôr   r!   )Úsysr   Úversion_infor   Útyping_extensionsÚstarlette._utilsr   Ústarlette.concurrencyr   r   r
   r!   r   r   r   ú<module>r1      sF   ðÛ 
Û à×Ñ�wÒÞ å+å .Ý 3áˆcƒN€÷Jñ Jô �nõ r   