
    hbL              	       "   S SK r S SKrS SKrS SKJrJrJr  S SKJrJ	r	J
r
JrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJr  S SKJr  S SKJr  SSKJ r   SSK!J"r"J#r#J$r$J%r%  SS	K&J'r'J(r(  SS
K)J*r*  SSK+J,r,  SSK-J.r.  SSK/J0r0J1r1  SSK2J3r3  SSK4J5r5  SSK6J7r7  SSK8J9r9  SSK:J;r;  SSK<J=r=  SSK>J?r?  SSK@JArA  SSKBJCrCJDrDJErEJFrFJGrGJHrHJIrIJJrJ  SrK\(       a5  \\S/\S   4      rL\\\;\=/\S   4      rM\\1   rN\\\\1\O4         rP\S   rQO\rL\rM\rN\\   rP\rQ\" S5      rR\" S5      rS\" S\CS9rTS\0S\S   S \\;/\\=   4   4S! jrU\" S"S#9" \U5      rV " S$ S\\\W\(\	   4   \	4   5      rX " S% S&\Y5      rZ\(       a  \\\X/\
S   4      r[O\r[ " S' S(\[5      r\g))    N)	lru_cachepartialupdate_wrapper)TYPE_CHECKINGAnyAsyncIterator	AwaitableCallableDictIterableIteratorListMappingMutableMappingOptionalSequenceTupleTypeTypeVarUnioncastoverload)Signal)
FrozenList   )hdrs)AbstractAccessLoggerAbstractMatchInfoAbstractRouterAbstractStreamWriter)DEBUGAppKey)RawRequestMessage)
web_logger)StreamReader)Handler
Middleware)NotAppKeyWarning)AccessLogger)_fix_request_current_app)RequestHandler)Request)StreamResponse)AbstractRouteDef)Server)AbstractResourceAbstractRouteDomain
MaskDomainMatchedSubAppResourcePrefixedSubAppResourceSystemRouteUrlDispatcher)ApplicationCleanupErrorr8   _T_U	_Resource)boundhandlerapps)r8   .returnc           	      t    USSS2    H+  nUR                    H  u  p4[        [        X0S9U 5      n M     M-     U $ )zApply middlewares to handler.Nr>   )_middlewares_handlersr   r   )r>   r?   appm_s        A/var/www/html/env/lib/python3.13/site-packages/aiohttp/web_app.py_build_middlewaresrI   S   s@     DbDz--DA$WQ%@'JG .  N    i   )maxsizec                     ^  \ rS rSr\" / SQ5      r\SSSSSSS.S\R                  S	\	\
   S
\\   S\	\\\4      S\S\	\R$                     S\SS4S jjrS\S    SS4S jr\(       a  S\S\SS4U 4S jjrS\S\4S jr\S\\   S\4S j5       r\S\S\4S j5       rS\\\\   4   S\4S jrSYS jr \S\\   S\SS4S j5       r!\S\S\SS4S j5       r!S\\\\   4   S\SS4S  jr!S\\\\   4   SS4S! jr"S\4S" jr#S\$\\\\   4      4S# jr%S\4S$ jr&\SZS\\   S%SS\	\   4S& jj5       r'\S\\   S%\(S\\\(4   4S' j5       r'\SZS\S%\S\4S( jj5       r'S[S\\\\   4   S%\S\4S) jjr'\)S\R$                  4S* j5       r*S\	\R$                     SS4S+ jr+\)S\4S, j5       r,SYS- jr-\)S\4S. j5       r.SYS/ jr/\)S\4S0 j5       r0S\S2 jr1S3\S1S S\24S4 jr3S5\4/ \54   S1S S\54S6 jr6S7\S1S S\74S8 jr8S9\\9   S\:\;   4S: jr<\)S\=4S; j5       r>\)S\?4S< j5       r@\)S\?4S= j5       rA\)S\?4S> j5       rB\)S]S? j5       rC\)S\
4S@ j5       rD\)S\E4SA j5       rFS\GSB.S\	\R$                     SC\\H   SD\S\I4SE jjrJS\GSB.S\	\R$                     SC\\H   SD\S\I4SF jjrKSYSG jrLSYSH jrMSYSI jrN\O4SJ\PSK\QSL\RSM\SSNSOSP\\O   S\O4SQ jjrTS\$\U\\4      4SR jrVSS\OS\W4ST jrXS^SU jrYS\4SV jrZS\4SW jr[SXr\U =r]$ )_r8   `   )logger_debug_router_loop_handler_args_middlewaresrD   _has_legacy_middlewares_run_middlewares_state_frozen_pre_frozen_subapps_on_response_prepare_on_startup_on_shutdown_on_cleanup_client_max_size_cleanup_ctxN i   .)rN   routermiddlewareshandler_argsclient_max_sizeloopdebugrN   ra   rb   rc   rd   re   rf   r@   c                (   Uc  [        5       nO[        R                  " S[        SS9  [	        U[
        5      (       d   U5       eUb  [        R                  " S[        SS9  USLa  [        R                  " S[        SS9  Xpl        X l        X`l        X@l	        Xl
        [        U5      U l        S U l        S U l        SU l        0 U l        SU l        SU l        / U l        [)        U 5      U l        [)        U 5      U l        [)        U 5      U l        [)        U 5      U l        [3        5       U l        U R,                  R7                  U R4                  R,                  5        U R0                  R7                  U R4                  R0                  5        XPl        g )	Nzrouter argument is deprecated   
stacklevelzloop argument is deprecated.zdebug argument is deprecatedTF)r7   warningswarnDeprecationWarning
isinstancer   rO   rP   rQ   rR   rN   r   rS   rD   rU   rT   rV   rW   rX   rY   r   rZ   r[   r\   r]   CleanupContextr_   appendr^   )selfrN   ra   rb   rc   rd   re   rf   s           rH   __init__Application.__init__y   sY    >"_FMM/1CPQ &.119691MM-/Aa MM.0Bq &,
)*4[*A <@"04-1$=? "$8>t!'-d|(.t'-d|*, 1 1 = => 1 1 = => /rJ   clsc                 j    [         R                  " SR                  U R                  5      [        SS9  g )Nz8Inheritance class {} from web.Application is discouraged   ri   )rk   rl   format__name__rm   )rt   s    rH   __init_subclass__Application.__init_subclass__   s'    #VCLL1		
rJ   namevalc                    > XR                   ;  a)  [        R                  " SR                  U5      [        SS9  [
        TU ]  X5        g )Nz:Setting custom web.Application.{} attribute is discouragedrh   ri   )ATTRSrk   rl   rw   rm   super__setattr__)rq   r{   r|   	__class__s      rH   r   Application.__setattr__   s<    ::%%%+VD\& 	 G*rJ   otherc                     XL $ Nr`   )rq   r   s     rH   __eq__Application.__eq__   s
    }rJ   keyc                     g r   r`   rq   r   s     rH   __getitem__Application.__getitem__   s    25rJ   c                     g r   r`   r   s     rH   r   r      s    ,/rJ   c                      U R                   U   $ r   )rV   r   s     rH   r   r      s    {{3rJ   c                 \    U R                   (       a  [        R                  " S[        SS9  g g )Nz=Changing state of started or joined application is deprecatedrv   ri   )rW   rk   rl   rm   rq   s    rH   _check_frozenApplication._check_frozen   s#    <<MMO" rJ   valuec                     g r   r`   rq   r   r   s      rH   __setitem__Application.__setitem__   s    ?BrJ   c                     g r   r`   r   s      rH   r   r      s    9<rJ   c                     U R                  5         [        U[        5      (       d  [        R                  " S[
        SS9  X R                  U'   g )NzIt is recommended to use web.AppKey instances for keys.
https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-configrh   )categoryrj   )r   rn   r"   rk   rl   r(   rV   r   s      rH   r   r      sB    #v&&MM* * !CrJ   c                 >    U R                  5         U R                  U	 g r   )r   rV   r   s     rH   __delitem__Application.__delitem__   s    KKrJ   c                 ,    [        U R                  5      $ r   )lenrV   r   s    rH   __len__Application.__len__   s    4;;rJ   c                 ,    [        U R                  5      $ r   )iterrV   r   s    rH   __iter__Application.__iter__   s    DKK  rJ   c                     [        U 5      $ r   idr   s    rH   __hash__Application.__hash__   s    $xrJ   defaultc                     g r   r`   rq   r   r   s      rH   getApplication.get   s    ILrJ   c                     g r   r`   r   s      rH   r   r      s    BErJ   c                     g r   r`   r   s      rH   r   r      s    8;rJ   c                 8    U R                   R                  X5      $ r   )rV   r   r   s      rH   r   r     s    {{s,,rJ   c                 ~    [         R                  " S[        SS9  [        [        R
                  U R                  5      $ )Nzloop property is deprecatedrh   ri   )rk   rl   rm   r   asyncioAbstractEventLooprQ   r   s    rH   re   Application.loop  s.    
 	35GTUVG--tzz::rJ   c                    Uc  [         R                  " 5       nU R                  b  U R                  ULa  [        S5      eXl        U R                  SL a  UR                  5       U l        U R                   H  nUR                  U5        M     g )Nz8web.Application instance initialized with different loop.)r   get_event_looprQ   RuntimeErrorrO   	get_debugrY   	_set_loop)rq   re   subapps      rH   r   Application._set_loop  s{    <))+D::!djj&<J  
 ;;#..*DK mmFT" $rJ   c                     U R                   $ r   )rX   r   s    rH   
pre_frozenApplication.pre_frozen!      rJ   c                    U R                   (       a  g SU l         U R                  R                  5         U R                  R                  5         U R                  R                  5         U R
                  R                  5         U R                  R                  5         U R                  R                  5         U R                  R                  5         [        U R                  5       5      U l        [        S U R                   5       5      U l        U R                  (       a  SOSU l        U R                    H7  nUR#                  5         U R                  =(       d    UR                  U l        M9     g )NTc              3   4   #    U  H  u  pU(       + v   M     g 7fr   r`   ).0rG   	new_styles      rH   	<genexpr>)Application.pre_freeze.<locals>.<genexpr>2  s      +
.Hla	MM.Hs   F)rX   rS   freezerP   rZ   r_   r[   r\   r]   tuple_prepare_middlewarerD   anyrT   rb   rU   rY   
pre_freezerq   r   s     rH   r   Application.pre_freeze%  s     "!!((*  "!  "!%*4+C+C+E%F"'* +
.2.H.H+
 (
$ )-(8(8emmF$($9$9$TV=T=TD! $rJ   c                     U R                   $ r   )rW   r   s    rH   frozenApplication.frozenA      ||rJ   c                     U R                   (       a  g U R                  5         SU l         U R                   H  nUR                  5         M     g NT)rW   r   rY   r   r   s     rH   r   Application.freezeE  s4    <<mmFMMO $rJ   c                 N    [         R                  " S[        SS9  U R                  $ )Nzdebug property is deprecatedrh   ri   )rk   rl   rm   rO   r   s    rH   rf   Application.debugN  s    46HUVW{{rJ   r   c                 Z   ^ ^ S[         SS 4U U4S jjnU" S5        U" S5        U" S5        g )Nsignamer@   c                 l   >^ [        TU 5      mSUU4S jjn[        TU 5      nUR                  U5        g )Nc                 D   >#    TR                  T5      I S h  vN   g  N7fr   )send)rE   r   subsigs    rH   r>   EApplication._reg_subapp_signals.<locals>.reg_handler.<locals>.handlerW  s     kk&)))s     )rE   r8   r@   N)getattrrp   )r   r>   appsigr   rq   r   s      @rH   reg_handler4Application._reg_subapp_signals.<locals>.reg_handlerT  s3    VW-F* * T7+FMM'"rJ   
on_startupon_shutdown
on_cleanup)str)rq   r   r   s   `` rH   _reg_subapp_signalsApplication._reg_subapp_signalsS  s5    	# 	# 	# 	# 	L!M"L!rJ   prefixc                     [        U[        5      (       d  [        S5      eUR                  S5      nU(       d  [	        S5      e[        [        X5      nU R                  X25      $ )NzPrefix must be str/zPrefix cannot be empty)rn   r   	TypeErrorrstrip
ValueErrorr   r5   _add_subapp)rq   r   r   factorys       rH   
add_subappApplication.add_subappa  sV    &#&&011s#5660&A00rJ   resource_factoryc                    U R                   (       a  [        S5      eUR                   (       a  [        S5      eU" 5       nU R                  R                  U5        U R	                  U5        U R
                  R                  U5        UR                  5         U R                  b  UR                  U R                  5        U$ )Nz0Cannot add sub application to frozen applicationzCannot add frozen application)
r   r   ra   register_resourcer   rY   rp   r   rQ   r   )rq   r   r   resources       rH   r   Application._add_subappj  s     ;;QRR==>??#%%%h/  (V$::!TZZ(rJ   domainc                     [        U[        5      (       d  [        S5      eSU;   a  [        U5      nO[	        U5      n[        [        X25      nU R                  XB5      $ )NzDomain must be str*)rn   r   r   r3   r2   r   r4   r   )rq   r   r   ruler   s        rH   
add_domainApplication.add_domainz  sS    &#&&011F]%f-D&>D/>00rJ   routesc                 8    U R                   R                  U5      $ r   )ra   
add_routes)rq   r   s     rH   r   Application.add_routes  s    {{%%f--rJ   c                     U R                   $ r   )rZ   r   s    rH   on_response_prepareApplication.on_response_prepare  s    (((rJ   c                     U R                   $ r   )r[   r   s    rH   r   Application.on_startup  r   rJ   c                     U R                   $ r   )r\   r   s    rH   r   Application.on_shutdown         rJ   c                     U R                   $ r   )r]   r   s    rH   r   Application.on_cleanup  r   rJ   c                     U R                   $ r   )r_   r   s    rH   cleanup_ctxApplication.cleanup_ctx  r	  rJ   c                     U R                   $ r   )rP   r   s    rH   ra   Application.router  r   rJ   c                     U R                   $ r   )rS   r   s    rH   rb   Application.middlewares  r	  rJ   re   access_log_classr  kwargsc                   [        U[        5      (       d  [        SR                  U5      5      eU R	                  U5        U R                  5         U R                  US'   X#S'   U R                  (       a'  U R                  R                  5        H	  u  pEXSU'   M     [        U R                  4U R                  U R                  S.UD6$ )NzMaccess_log_class must be subclass of aiohttp.abc.AbstractAccessLogger, got {}rf   r  )request_factoryre   )
issubclassr   r   rw   r   r   rO   rR   itemsr/   _handle_make_requestrQ   )rq   re   r  r  kvs         rH   _make_handlerApplication._make_handler  s     *,@AA;;A6BR;S 
 	t++w%5!"**002q	 3 LL
 ..
 	
 	
rJ   c                ^    [         R                  " S[        SS9  U R                  " SXS.UD6$ )NzFApplication.make_handler(...) is deprecated, use AppRunner API insteadrh   ri   r  r`   )rk   rl   rm   r  )rq   re   r  r  s       rH   make_handlerApplication.make_handler  s>     	T	
 !! 

<B
 	
rJ   c                 V   #    U R                   R                  U 5      I Sh  vN   g N7f)z]Causes on_startup signal

Should be called in the event loop along with the request handler.
N)r   r   r   s    rH   startupApplication.startup  s     
 oo""4(((   )')c                 V   #    U R                   R                  U 5      I Sh  vN   g N7f)z=Causes on_shutdown signal

Should be called before cleanup()
N)r   r   r   s    rH   shutdownApplication.shutdown  s!     
 ##D)))r&  c                    #    U R                   R                  (       a$  U R                   R                  U 5      I Sh  vN   gU R                  R	                  U 5      I Sh  vN   g N) N7f)z<Causes on_cleanup signal

Should be called after shutdown()
N)r   r   r   r_   r]   r   s    rH   cleanupApplication.cleanup  sR     
 ??!!//&&t,,, ##//555 - 6s!   :A*A&#A* A(!A*(A*messagepayloadprotocolwritertaskzasyncio.Task[None]_clsc           
      v    [         (       a  U R                  c   eU" UUUUUU R                  U R                  S9$ )N)rd   )r   rQ   r^   )rq   r-  r.  r/  r0  r1  r2  s          rH   r  Application._make_request  sE     =::)))JJ 11
 	
rJ   c              #      #    [        U R                  5       HA  n[        USS 5      S:X  a  US4v   M  [        R                  " SU< S3[
        SS9  US4v   MC     [        U 5      S4v   g 7f)	N__middleware_version__r   Tzold-style middleware "z" deprecated, see #2252rh   ri   F)reversedrS   r   rk   rl   rm   r*   )rq   rF   s     rH   r   Application._prepare_middleware  sq     $++,Aq2D9Q>g,QE1HI& 
 h - 't,d22s   A+A-requestc           	        #    [         R                  " 5       nUR                  5       nU R                  R	                  U5      I S h  vN nU(       a/  [        U[        5      (       d  [        SR                  U5      5      eUR                  U 5        UR                  5         XAl        UR                  R                  [        R                  5      (       a@  UR!                  U5      I S h  vN nUR"                  R%                  5       I S h  vN   Ub  U$ UR&                  nU R(                  (       a  U R*                  (       d5  [        UR,                  [.        5      (       d  [1        XdR2                  5      nOZUR2                  S S S2    HD  nUR4                   H1  u  pU	(       a  [7        [9        XS9U5      nM!  U" Xv5      I S h  vN nM3     MF     U" U5      I S h  vN $  GN N N N# N7f)Nz9match_info should be AbstractMatchInfo instance, not {!r}rB   rC   )r   r   r   rP   resolvern   r   r   rw   add_appr   _match_infoheadersr   r   EXPECTexpect_handlerr0  drainr>   rU   rT   router6   _cached_build_middlewarer?   rD   r   r   )
rq   r9  re   rf   
match_inforespr>   rE   rF   r   s
             rH   r  Application._handle  s    %%' <<//88
j*;<<))/
);  	4 (??t{{++#227;;D..&&((($$   //
  +9 9 37OOL%??4R40C(+(A(A$&4 ' ;W'G -.cO&;G )B 1 W%%%O 9 <(, '<%s\   AG.G#B#G.*G&+!G.G(B9G.G*G.G,G.&G.(G.*G.,G.c                     U $ )zgunicorn compatibilityr`   r   s    rH   __call__Application.__call__;  s    rJ   c                 "    S[        U 5      S S3$ )Nz<Application 0xx>r   r   s    rH   __repr__Application.__repr__?  s     D!A..rJ   c                     gr   r`   r   s    rH   __bool__Application.__bool__B  s    rJ   )r_   r^   rO   rW   rR   rT   rQ   rS   rD   r]   rZ   r\   r[   rX   rP   rU   rV   rY   rN   r@   N).r   )r   r8   r@   N)r@   ro   )r@   r8   )^rx   
__module____qualname____firstlineno__	frozensetr~   r$   loggingLoggerr   r7   r   r'   r   r   r   intr   r   rr   r   ry   r!   r   objectboolr   r   r"   r:   r   r   r   r   r   r   r   r   r   r   r;   propertyre   r   r   r   r   r   rf   r   r5   r   r
   r<   r   r4   r   r.   r   r1   r   _RespPrepareSignalr  
_AppSignalr   r   r   r  ra   _Middlewaresrb   r)   r   r/   r  r!  r$  r(  r+  r,   r#   r%   r+   r    r  r   r   r-   r  rH  rM  rP  __static_attributes____classcell__r   s   @rH   r8   r8   `   s   	
E6 ",*.,.48&4860 60 '	60
 j)60 wsCx0160 60 w00160 60 
60p
tM2 
t 
 	+C 	+c 	+d 	+F t  5vbz5b5 5/s/s/ / uS&*_5  #   BvbzB"BB B<s<3<4< <
!uS&*_5 
!c 
!d 
!uS&*_5 $    !(5fSk)9#:; !#  LvbzLDL8B<L LEvbzEBE5R=E E;s;S;3; ;-uS&*_- - -s - ;g// ; ;#hw'@'@A #d #$  D    U8    t  "1 1m 1@V 1 (Y 7AN	 1 1m 1@U 1.*:!; .]@S . )%7 ) )  J     !Z ! !  J     ! !    !\ ! ! 597C	
 w001
 34	

 
 

B 597C	
 w001
 34	

 
 

$)*	6$ &
"
 
 !	

 %
 #
 7m
 

*3XeJ4D.E%F 3*&W *& *&X/# /$  rJ   c                   2    \ rS rSr\S\\   4S j5       rSrg)r9   iF  r@   c                 J    [        [        [           U R                  S   5      $ )Nr   )r   r   BaseExceptionargsr   s    rH   
exceptionsCleanupError.exceptionsG  s    D'166rJ   r`   N)	rx   rS  rT  rU  r\  r   re  rg  r`  r`   rJ   rH   r9   r9   F  s     7D/ 7 7rJ   r9   c                   P   ^  \ rS rSrS	U 4S jjrS\SS4S jrS\SS4S jrSrU =r	$ )
ro   iR  r@   Nc                 0   > [         TU ]  5         / U l        g r   )r   rr   _exits)rq   r   s    rH   rr   CleanupContext.__init__S  s    13rJ   rE   c                    #    U  HL  nU" U5      R                  5       nUR                  5       I S h  vN   U R                  R                  U5        MN     g  N$7fr   )	__aiter__	__anext__rk  rp   )rq   rE   cbits       rH   r[   CleanupContext._on_startupW  sE     BC""$B,,.  KKr"  s   /AA%Ac                   #    / n[        U R                  5       H:  n UR                  5       I S h  vN   UR                  [	        U< S35      5        M<     U(       a   [        U5      S:X  a  US   e[        SU5      eg  NN! [
         a     Mu  [        [        R                  4 a  nUR                  U5         S nAM  S nAff = f7f)Nz has more than one 'yield'r   r   z Multiple errors on cleanup stage)r7  rk  ro  rp   r   StopAsyncIteration	Exceptionr   CancelledErrorr   r9   )rq   rE   errorsrq  excs        rH   r]   CleanupContext._on_cleanup]  s     4;;'BQlln$$ lbV3M+NOP ( 6{aQi"#EvNN	  %% w556 #c""#sJ   CBB BA
C B
CCC(B?9C?CC)rk  rR  )
rx   rS  rT  rU  rr   r8   r[   r]   r`  ra  rb  s   @rH   ro   ro   R  s7    4#[ #T #O[ OT O OrJ   ro   )]r   rW  rk   	functoolsr   r   r   typingr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   	aiosignalr   
frozenlistr    r   abcr   r   r   r    helpersr!   r"   http_parserr#   logr$   streamsr%   typedefsr&   r'   web_exceptionsr(   web_logr)   web_middlewaresr*   web_protocolr+   web_requestr,   web_responser-   web_routedefr.   
web_serverr/   web_urldispatcherr0   r1   r2   r3   r4   r5   r6   r7   __all__r^  r]  r_  r[  _MiddlewaresHandlers_Subappsr:   r;   r<   rI   rC  r   r8   r   r9   _CleanupContextBasero   r`   rJ   rH   <module>r     s      8 8     ,  !   # *  ! ) , ! 5 (   ( * 	 	 	 * -)D/!ABCJ'>)BIdO)S TUj)L#HU:t3C-D$EFM"H JL#H-HT]T]K'78	!"45wi>223 %T23EF c.sF3K'7!8#!=> cL7< 7 $X{m]4=P.P%QR$O( OrJ   