
     i!                       d dl m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mZmZ 	 d dlZ eed	          rej        Znej        Zn# e$ r dZY nw xY w G d
 de          Z G d d          ZdS )    )annotationsN)PathLike)BackgroundTask)URL)Request)HTMLResponse)ReceiveScopeSendpass_contextc                  6     e Zd Z	 	 	 	 dd fdZd fdZ xZS )_TemplateResponse   Ntemplate
typing.Anycontextdict[str, typing.Any]status_codeintheaderstyping.Mapping[str, str] | None
media_type
str | None
backgroundBackgroundTask | Nonec                    || _         || _        |                    |          }t                                          |||||           d S N)r   r   rendersuper__init__)	selfr   r   r   r   r   r   content	__class__s	           N/var/www/cyber-strat/venv/lib/python3.11/site-packages/starlette/templating.pyr    z_TemplateResponse.__init__   sJ     !//'**+w
JOOOOO    scoper
   receiver	   sendr   returnNonec                
  K   | j                             di           }|                    di           }d|v r! |d| j        | j         dd           d {V  t                                          |||           d {V  d S )Nrequest
extensionszhttp.response.debug)r   r   )typeinfo)r   getr   r   __call__)r!   r&   r'   r(   r,   r-   r#   s         r$   r1   z_TemplateResponse.__call__+   s      ,""9b11[[r22
 J..$1$(M#'<           ggugt44444444444r%   )r   NNN)r   r   r   r   r   r   r   r   r   r   r   r   )r&   r
   r'   r	   r(   r   r)   r*   )__name__
__module____qualname__r    r1   __classcell__)r#   s   @r$   r   r      su        
 37!%,0P P P P P P P5 5 5 5 5 5 5 5 5 5r%   r   c                      e Zd ZdZej        ddd-d            Zej        ddd.d            Z	 d/dddd0dZd1dZd2dZd3dZ	ej        	 	 	 	 	 d4d5d(            Z
ej        	 	 	 	 	 d4d6d)            Z
d7d,Z
dS )8Jinja2Templatesz}
    templates = Jinja2Templates("templates")

    return templates.TemplateResponse("index.html", {"request": request})
    N)context_processors	directoryNstr | PathLike[typing.AnyStr] | typing.Sequence[str | PathLike[typing.AnyStr]]r8   >list[typing.Callable[[Request], dict[str, typing.Any]]] | Noneenv_optionsr   r)   r*   c                   d S r    )r!   r9   r8   r<   s       r$   r    zJinja2Templates.__init__B   	     	r%   envjinja2.Environmentc                   d S r   r>   )r!   r@   r8   s      r$   r    zJinja2Templates.__init__O   s	     	r%   )r8   r@   Ustr | PathLike[typing.AnyStr] | typing.Sequence[str | PathLike[typing.AnyStr]] | Nonejinja2.Environment | Nonec                   |rt          j        dt                     t          
J d            |s|s
J d            |pg | _        | | j        |fi || _        n	||| _        |                     | j                   d S )NzYExtra environment options are deprecated. Use a preconfigured jinja2.Environment instead.z/jinja2 must be installed to use Jinja2Templatesz4either 'directory' or 'env' arguments must be passed)warningswarnDeprecationWarningjinja2r8   _create_envr@   _setup_env_defaults)r!   r9   r8   r@   r<   s        r$   r    zJinja2Templates.__init__Y   s      	Mk"   !!#T!!!WCWW!WWWW"4": 't'	AA[AADHH_DH  *****r%   c                    t          j        |          }|                    d|           |                    dd           t          j        di |S )Nloader
autoescapeTr>   )rI   FileSystemLoader
setdefaultEnvironment)r!   r9   r<   rM   s       r$   rJ   zJinja2Templates._create_envt   sW     (33x000|T222!00K000r%   c                ^    t           dd	            }|j                            d
|           d S )Nr   r   namestrpath_paramsr   r)   r   c               .    | d         } |j         |fi |S )Nr,   )url_for)r   rS   rU   r,   s       r$   rW   z4Jinja2Templates._setup_env_defaults.<locals>.url_for   s(      'y1G"7?477;777r%   rW   )r   r   rS   rT   rU   r   r)   r   )r   globalsrP   )r!   r@   rW   s      r$   rK   z#Jinja2Templates._setup_env_defaults   s@    		8 	8 	8 
	8 	y'22222r%   rS   rT   jinja2.Templatec                6    | j                             |          S r   )r@   get_template)r!   rS   s     r$   r[   zJinja2Templates.get_template   s    x$$T***r%   r   r,   r   r   dict[str, typing.Any] | Noner   r   r   r   r   r   r   r   r   c                    d S r   r>   )r!   r,   rS   r   r   r   r   r   s           r$   TemplateResponsez Jinja2Templates.TemplateResponse   r?   r%   c                    d S r   r>   )r!   rS   r   r   r   r   r   s          r$   r^   z Jinja2Templates.TemplateResponse   r?   r%   argskwargsc                   |rkt          |d         t                    r1t          j        dt                     |d         }t          |          dk    r|d         n|                    di           }t          |          dk    r|d         n|                    dd          }t          |          dk    r|d         n|                    d          }t          |          d	k    r|d	         n|                    d
          }t          |          dk    r|d         n|                    d          }d|vrt          d          |d         }	n|d         }	t          |          dk    r|d         n|d         }t          |          dk    r|d         n|                    di           }t          |          d	k    r|d	         n|                    dd          }t          |          dk    r|d         n|                    d          }t          |          dk    r|d         n|                    d
          }t          |          dk    r|d         n|                    d          }nd|vrAt          j        dt                     d|                    di           vrt          d          |                    di           }|                    d|                    d                    }	t          j	        t          |d                   }|                    dd          }|                    d          }|                    d
          }|                    d          }|
                    d|	           | j        D ] }
|                     |
|	                     !|                     |          }t          ||||||          S )Nr   zThe `name` is not the first parameter anymore. The first parameter should be the `Request` instance.
Replace `TemplateResponse(name, {"request": request})` by `TemplateResponse(request, name)`.   r      r   r   r      r      r   r,   z$context must include a "request" keyrS         zThe `TemplateResponse` now requires the `request` argument.
Replace `TemplateResponse(name, {"context": context})` by `TemplateResponse(request, name)`.)r   r   r   r   )
isinstancerT   rF   rG   rH   lenr0   
ValueErrortypingcastrP   r8   updater[   r   )r!   r`   ra   rS   r   r   r   r   r   r,   context_processorr   s               r$   r^   z Jinja2Templates.TemplateResponse   s     1	2Q  T s '	   Aw%(YY]]$q''

9b8Q8Q"4yy1}}DGG&**]C2P2P  &)YY]]$q''

98M8M(+D		AT!WW6::l;S;S
(+D		AT!WW6::l;S;S
G++$%KLLL!),q'"%d))a--tAwwVF^%(YY]]$q''

9b8Q8Q"4yy1}}DGG&**]C2P2P  &)YY]]$q''

98M8M(+D		AT!WW6::l;S;S
(+D		AT!WW6::l;S;S

&&s&  
 FJJy"$=$===$%KLLLjjB//GjjGKK	,B,BCCG;sF6N33D **]C88Kjj++GL11JL11J9g...!%!8 	7 	7NN,,W556666$$T** #!!
 
 
 	
r%   )r9   r:   r8   r;   r<   r   r)   r*   )r@   rA   r8   r;   r)   r*   r   )
r9   rC   r8   r;   r@   rD   r<   r   r)   r*   )r9   r:   r<   r   r)   rA   )r@   rA   r)   r*   )rS   rT   r)   rY   )Nr   NNN)r,   r   rS   rT   r   r\   r   r   r   r   r   r   r   r   r)   r   )rS   rT   r   r\   r   r   r   r   r   r   r   r   r)   r   )r`   r   ra   r   r)   r   )r2   r3   r4   __doc__rl   overloadr    rJ   rK   r[   r^   r>   r%   r$   r7   r7   ;   sv         _ 
 
 
 
 
 _
 _      _ + )-+ + + + + +61 1 1 13 3 3 3+ + + + _
 1537!%,0
 
 
 
 _
 _ 1537!%,0
 
 
 
 _
B
 B
 B
 B
 B
 B
r%   r7   )
__future__r   rl   rF   osr   starlette.backgroundr   starlette.datastructuresr   starlette.requestsr   starlette.responsesr   starlette.typesr	   r
   r   rI   hasattrr   contextfunctionModuleNotFoundErrorr   r7   r>   r%   r$   <module>r|      sb   " " " " " "         / / / / / / ( ( ( ( ( ( & & & & & & , , , , , , 0 0 0 0 0 0 0 0 0 0MMM wv~&& .*-   FFF5 5 5 5 5 5 5 5>r
 r
 r
 r
 r
 r
 r
 r
 r
 r
s   A A"!A"