
    g                        S SK Jr  S SKrS SKr\R                  S:  a  S SKJr  OS SKJr  S SKJr  S SK	J
r
  \" S5      r " S S	5      r " S
 S\5      rg)    )annotationsN)   
   )	ParamSpec)is_async_callable)run_in_threadpoolPc                  (    \ rS rSrSS jrSS jrSrg)BackgroundTask   c                H    Xl         X l        X0l        [        U5      U l        g N)funcargskwargsr   is_async)selfr   r   r   s       M/home/matz/Project1/venv/lib/python3.13/site-packages/starlette/background.py__init__BackgroundTask.__init__   s    		)$/    c                   #    U R                   (       a/  U R                  " U R                  0 U R                  D6I S h  vN   g [	        U R                  /U R                  Q70 U R                  D6I S h  vN   g  N; N7fr   )r   r   r   r   r   )r   s    r   __call__BackgroundTask.__call__   sW     ==))TYY6$++666#DIII		IT[[III 7Is!   ;A=A95A=3A;4A=;A=)r   r   r   r   Nr   ztyping.Callable[P, typing.Any]r   zP.argsr   zP.kwargsreturnNoner   r   )__name__
__module____qualname____firstlineno__r   r   __static_attributes__ r   r   r   r      s    0Jr   r   c                  6    \ rS rSrSSS jjrS	S jrS
S jrSrg)BackgroundTasks   Nc                B    U(       a  [        U5      U l        g / U l        g r   )listtasks)r   r*   s     r   r   BackgroundTasks.__init__    s    $)T%[
r
r   c                X    [        U/UQ70 UD6nU R                  R                  U5        g r   )r   r*   append)r   r   r   r   tasks        r   add_taskBackgroundTasks.add_task#   s(    d4T4V4

$r   c                T   #    U R                    H  nU" 5       I S h  vN   M     g  N	7fr   r*   )r   r.   s     r   r   BackgroundTasks.__call__'   s     JJD&LL s   (&
(r2   r   )r*   z&typing.Sequence[BackgroundTask] | Noner   r   )r   r    r!   r"   r   r/   r   r#   r$   r   r   r&   r&      s    2 r   r&   )
__future__r   systypingversion_infor   typing_extensionsstarlette._utilsr   starlette.concurrencyr   r	   r   r&   r$   r   r   <module>r;      sI    " 
 w + . 3cNJ J
n 
r   