§
    ;xÅjgL  ã            	       ó¢  — d dl Z d dlZd dlZd dlmZmZmZmZmZm	Z	m
Z
mZ d dlmZmZ d dlmZmZmZ d dlmZmZmZmZmZ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#m$Z$ ddl%m&Z&m'Z' ddl(m)Z) ddl*m+Z+ ddl,m-Z- ddl.m/Z/m0Z0 ddl1m2Z2 ddl3m4Z4 ddl5m6Z6 ddl7m8Z8 ddl9m:Z: ddl;m<Z< ddl=m>Z> ddl?m@Z@ ddlAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZI dZJer9ed         ZKee:e<f         ZLee0         ZMeeeNe0eOf                           ZPeQd         ZRneZKeZLeZMee         ZPeQZR ed¦  «        ZS ed¦  «        ZT edeB¬¦  «        ZUde/d eNd!         d"ee:gee<         f         fd#„ZV  ed$¬%¦  «        eV¦  «        ZW G d&„ de
eXe'e         z  ef         ¦  «        ZY G d'„ d(eZ¦  «        Z[eeYged         f         eeYged         f         z  Z\ G d)„ d*ee\         ¦  «        Z]dS )+é    N)ÚAsyncIteratorÚ	AwaitableÚCallableÚIterableÚIteratorÚMappingÚMutableMappingÚSequence)ÚAbstractAsyncContextManagerÚasynccontextmanager)Ú	lru_cacheÚpartialÚupdate_wrapper)ÚTYPE_CHECKINGÚAnyÚOptionalÚTypeVarÚ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ÚCleanupErrorr5   Ú_TÚ_UÚ	_Resource)ÚboundÚhandlerÚapps)r5   .Úreturnc                 óz   — |ddd…         D ].}|j         D ]$\  }}t          t          || ¬¦  «        | ¦  «        } Œ%Œ/| S )zApply middlewares to handler.Néÿÿÿÿ©r;   )Ú_middlewares_handlersr   r   )r;   r<   ÚappÚmÚ_s        ú@C:\Projects\Historical\venv\Lib\site-packages\aiohttp/web_app.pyÚ_build_middlewaresrF   J   s`   € ð �D�D�b�DŒzð Kð KˆØÔ-ð 	Kð 	K‰DˆAˆqÝ$¥W¨Q¸Ð%@Ñ%@Ô%@À'ÑJÔJˆGˆGð	Kà€Nó    i   )Úmaxsizec                   ó
  ‡ — e Zd Z eg d¢¦  «        Zeddddddddœdej        d	edz  d
e	e
         deeef         dz  dededej        dz  deddfd„Zded          ddfd„Zerdededdfˆ fd„Zdedefd„Zedee         defd„¦   «         Zededefd„¦   «         Zdeee         z  defd„ZdZd„Zedee         deddfd„¦   «         Zedededdfd „¦   «         Zdeee         z  deddfd!„Zdeee         z  ddfd"„Zdefd#„Z de!eee         z           fd$„Z"defd%„Z#ed[dee         d&ddedz  fd'„¦   «         Z$edee         d&e%dee%z  fd(„¦   «         Z$ed[ded&edefd)„¦   «         Z$d\deee         z  d&edefd*„Z$e&dej        fd+„¦   «         Z'dej        dz  ddfd,„Z(e&defd-„¦   «         Z)dZd.„Z*e&defd/„¦   «         Z+dZd0„Z,e&defd1„¦   «         Z-d]d3„Z.d4ed2d de/fd5„Z0d6e1g e2f         d2d de2fd7„Z3d8ed2d de4fd9„Z5d:e	e6         de7e8         fd;„Z9e&de:fd<„¦   «         Z;e&de<fd=„¦   «         Z=e&de<fd>„¦   «         Z>e&de<fd?„¦   «         Z?e&d^dA„¦   «         Z@e&defdB„¦   «         ZAe&deBfdC„¦   «         ZCdeDdDœdej        dz  dEeeE         dFedeFfdG„ZGdeDdDœdej        dz  dEeeE         dFedeFfdH„ZHdZdI„ZIdZdJ„ZJdZdK„ZKeLfdLeMdMeNdNeOdOePdPdQdReeL         deLfdS„ZQde!eRe
ef                  fdT„ZSdUeLdeTfdV„ZUd_dW„ZVdefdX„ZWdefdY„ZXˆ xZYS )`r5   )ÚloggerÚ_debugÚ_routerÚ_loopÚ_handler_argsÚ_middlewaresrA   Ú_has_legacy_middlewaresÚ_run_middlewaresÚ_stateÚ_frozenÚ_pre_frozenÚ_subappsÚ_on_response_prepareÚ_on_startupÚ_on_shutdownÚ_on_cleanupÚ_client_max_sizeÚ_client_max_fieldsÚ_cleanup_ctxN© i   iè  .)rJ   ÚrouterÚmiddlewaresÚhandler_argsÚclient_max_sizeÚclient_max_fieldsÚloopÚdebugrJ   r^   r_   r`   ra   rb   rc   rd   r=   c                ó\  — |€t          ¦   «         }nt          j        dt          d¬¦  «         t	          |t
          ¦  «        s
J |¦   «         ‚|�t          j        dt          d¬¦  «         |durt          j        dt          d¬¦  «         || _        || _        || _        || _	        || _
        t          |¦  «        | _        d | _        d | _        d| _        i | _        d| _        d| _        g | _        t)          | ¦  «        | _        t)          | ¦  «        | _        t)          | ¦  «        | _        t)          | ¦  «        | _        t3          ¦   «         | _        | j                             | j        j        ¦  «         | j                             | j        j        ¦  «         || _        || _        d S )	Nzrouter argument is deprecatedé   ©Ú
stacklevelzloop argument is deprecated.zdebug argument is deprecatedTF)r4   ÚwarningsÚwarnÚDeprecationWarningÚ
isinstancer   rK   rL   rM   rN   rJ   r   rO   rA   rQ   rP   rR   rS   rT   rU   r   rV   rW   rX   rY   ÚCleanupContextr\   ÚappendrZ   r[   )	ÚselfrJ   r^   r_   r`   ra   rb   rc   rd   s	            rE   Ú__init__zApplication.__init__q   s¯  € ð ˆ>Ý"‘_”_ˆFˆFåŒMØ/Õ1CÐPQðñ ô ð õ ˜&¥.Ñ1Ô1Ð9Ð9°6Ñ9Ô9Ð1àÐÝŒMØ-Õ/AÈaðñ ô ð ð ˜ÐÐÝŒMØ.Õ0BÈqðñ ô ð ð ˆŒØ&,ˆŒØˆŒ
Ø)ˆÔØˆŒå*4°[Ñ*AÔ*AˆÔð <@ˆÔ"à-1ˆÔØ-1ˆÔ$à79ˆŒØˆŒØ ˆÔØ"$ˆŒå8>¸t¹¼ˆÔ!Ý'-¨d¡|¤|ˆÔÝ(.¨t©¬ˆÔÝ'-¨d¡|¤|ˆÔÝ*Ñ,Ô,ˆÔØÔ×Ò Ô 1Ô =Ñ>Ô>Ð>ØÔ×Ò Ô 1Ô =Ñ>Ô>Ð>Ø /ˆÔØ"3ˆÔÐÐrG   Úclsc                 óP   — t          j        d| j        › d�t          d¬¦  «         d S )NzInheritance class z$ from web.Application is discouragedé   rg   )ri   rj   Ú__name__rk   )rq   s    rE   Ú__init_subclass__zApplication.__init_subclass__«   s;   € ÝŒØS ¤ÐSÐSÐSÝØð	
ñ 	
ô 	
ð 	
ð 	
ð 	
rG   ÚnameÚvalc                 óž   •— || j         vr t          j        d|› d�t          d¬¦  «         t	          ¦   «                              ||¦  «         d S )NzSetting custom web.Application.z attribute is discouragedrf   rg   )ÚATTRSri   rj   rk   ÚsuperÚ__setattr__)ro   rv   rw   Ú	__class__s      €rE   r{   zApplication.__setattr__´   sg   ø€ Ø˜4œ:Ð%Ð%Ý”ð%°dð %ð %ð %å&Ø ð	ñ ô ð õ ‰GŒG×Ò  cÑ*Ô*Ð*Ð*Ð*rG   Úotherc                 ó
   — | |u S ©Nr]   )ro   r}   s     rE   Ú__eq__zApplication.__eq__À   s   € Ø�uˆ}ÐrG   Úkeyc                 ó   — d S r   r]   ©ro   r�   s     rE   Ú__getitem__zApplication.__getitem__Ã   s   € Ø25°#rG   c                 ó   — d S r   r]   rƒ   s     rE   r„   zApplication.__getitem__Æ   s   € Ø,/¨CrG   c                 ó   — | j         |         S r   )rR   rƒ   s     rE   r„   zApplication.__getitem__É   s   € ØŒ{˜3ÔÐrG   c                 óP   — | j         rt          j        dt          d¬¦  «         d S d S )Nz=Changing state of started or joined application is deprecatedrs   rg   )rS   ri   rj   rk   ©ro   s    rE   Ú_check_frozenzApplication._check_frozenÌ   sB   € ØŒ<ð 	ÝŒMØOÝ"Øðñ ô ð ð ð ð	ð 	rG   Úvaluec                 ó   — d S r   r]   ©ro   r�   rŠ   s      rE   Ú__setitem__zApplication.__setitem__Ô   s   € Ø?B¸srG   c                 ó   — d S r   r]   rŒ   s      rE   r�   zApplication.__setitem__×   s   € Ø9<¸rG   c                 ó¤   — |                       ¦   «          t          |t          ¦  «        st          j        dt
          d¬¦  «         || j        |<   d S )Nz�It is recommended to use web.AppKey instances for keys.
https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-configrf   )Úcategoryrh   )r‰   rl   r   ri   rj   r%   rR   rŒ   s      rE   r�   zApplication.__setitem__Ú   s`   € Ø×ÒÑÔÐÝ˜#�vÑ&Ô&ð 	ÝŒMð*õ *Øðñ ô ð ð !ˆŒ�CÑÐÐrG   c                 ó>   — |                       ¦   «          | j        |= d S r   )r‰   rR   rƒ   s     rE   Ú__delitem__zApplication.__delitem__æ   s$   € Ø×ÒÑÔÐØŒK˜ÐÐÐrG   c                 ó*   — t          | j        ¦  «        S r   )ÚlenrR   rˆ   s    rE   Ú__len__zApplication.__len__ê   s   € Ý�4”;ÑÔÐrG   c                 ó*   — t          | j        ¦  «        S r   )ÚiterrR   rˆ   s    rE   Ú__iter__zApplication.__iter__í   s   € Ý�D”KÑ Ô Ð rG   c                 ó    — t          | ¦  «        S r   ©Úidrˆ   s    rE   Ú__hash__zApplication.__hash__ð   s   € Ý�$‰xŒxˆrG   Údefaultc                 ó   — d S r   r]   ©ro   r�   r�   s      rE   ÚgetzApplication.getó   s   € ØFIÀcrG   c                 ó   — d S r   r]   rŸ   s      rE   r    zApplication.getö   s   € Ø<?¸CrG   c                 ó   — d S r   r]   rŸ   s      rE   r    zApplication.getù   s   € Ø8;¸rG   c                 ó8   — | j                              ||¦  «        S r   )rR   r    rŸ   s      rE   r    zApplication.getü   s   € ØŒ{�Š˜s GÑ,Ô,Ð,rG   c                 óx   — t          j        dt          d¬¦  «         t          t          j        | j        ¦  «        S )Nzloop property is deprecatedrf   rg   )ri   rj   rk   r   ÚasyncioÚAbstractEventLooprM   rˆ   s    rE   rc   zApplication.loop   s3   € õ
 	ŒÐ3Õ5GÐTUÐVÑVÔVÐVÝ•GÔ-¨t¬zÑ:Ô:Ð:rG   c                 óþ   — |€t          j        ¦   «         }| j        �| j        |urt          d¦  «        ‚|| _        | j        du r|                     ¦   «         | _        | j        D ]}|                     |¦  «         Œd S )Nz8web.Application instance initialized with different loop.)r¥   Úget_event_looprM   ÚRuntimeErrorrK   Ú	get_debugrU   Ú	_set_loop)ro   rc   Úsubapps      rE   r«   zApplication._set_loop  s›   € Øˆ<ÝÔ)Ñ+Ô+ˆDØŒ:Ð! d¤j¸Ð&<Ð&<ÝØJñô ð ð ˆŒ
ð Œ;˜#ÐÐØŸ.š.Ñ*Ô*ˆDŒKð ”mð 	#ð 	#ˆFØ×Ò˜TÑ"Ô"Ð"Ð"ð	#ð 	#rG   c                 ó   — | j         S r   )rT   rˆ   s    rE   Ú
pre_frozenzApplication.pre_frozen  ó   € àÔÐrG   c                 ó˜  — | j         rd S d| _         | j                             ¦   «          | j                             ¦   «          | j                             ¦   «          | j                             ¦   «          | j                             ¦   «          | j                             ¦   «          | j                             ¦   «          t          |  
                    ¦   «         ¦  «        | _        t          d„ | j        D ¦   «         ¦  «        | _        | j        rdnd| _        | j        D ])}|                     ¦   «          | j        p|j        | _        Œ*d S )NTc              3   ó"   K  — | ]
\  }}| V — Œd S r   r]   )Ú.0rD   Ú	new_styles      rE   ú	<genexpr>z)Application.pre_freeze.<locals>.<genexpr>+  s9   è è € ð +
ð +
Ù*˜a �	ˆMð+
ð +
ð +
ð +
ð +
ð +
rG   F)rT   rO   ÚfreezerL   rV   r\   rW   rX   rY   ÚtupleÚ_prepare_middlewarerA   ÚanyrP   r_   rQ   rU   Ú
pre_freeze©ro   r¬   s     rE   r¹   zApplication.pre_freeze  sV  € ØÔð 	ØˆFàˆÔØÔ× Ò Ñ"Ô"Ð"ØŒ×ÒÑÔÐØÔ!×(Ò(Ñ*Ô*Ð*ØÔ× Ò Ñ"Ô"Ð"ØÔ×ÒÑ!Ô!Ð!ØÔ× Ò Ñ"Ô"Ð"ØÔ×ÒÑ!Ô!Ð!Ý%*¨4×+CÒ+CÑ+EÔ+EÑ%FÔ%FˆÔ"Ý'*ð +
ð +
Ø.2Ô.Hð+
ñ +
ô +
ñ (
ô (
ˆÔ$ð )-Ô(8Ð C  ¸eˆÔà”mð 	Uð 	UˆFØ×ÒÑÔÐØ$(Ô$9Ð$T¸VÔ=TˆDÔ!Ð!ð	Uð 	UrG   c                 ó   — | j         S r   )rS   rˆ   s    rE   ÚfrozenzApplication.frozen:  ó
   € àŒ|ÐrG   c                 óŠ   — | j         rd S |                      ¦   «          d| _         | j        D ]}|                     ¦   «          Œd S ©NT)rS   r¹   rU   rµ   rº   s     rE   rµ   zApplication.freeze>  sR   € ØŒ<ð 	ØˆFà�ŠÑÔÐØˆŒØ”mð 	ð 	ˆFØ�MŠM‰OŒOˆOˆOð	ð 	rG   c                 óH   — t          j        dt          d¬¦  «         | j        S )Nzdebug property is deprecatedrf   rg   )ri   rj   rk   rK   rˆ   s    rE   rd   zApplication.debugG  s$   € åŒÐ4Õ6HÐUVÐWÑWÔWÐWØŒ{ÐrG   r¬   c                 ól   ‡ ‡— dt           dd fˆ ˆfd„} |d¦  «          |d¦  «          |d¦  «         d S )NÚsignamer=   c                 ó‚   •‡— t          ‰| ¦  «        Šdˆˆfd„}t          ‰| ¦  «        }|                     |¦  «         d S )NrB   r5   r=   c              “   óB   •K  — ‰                      ‰¦  «        ƒ d {V —† d S r   )Úsend)rB   r¬   Úsubsigs    €€rE   r;   zEApplication._reg_subapp_signals.<locals>.reg_handler.<locals>.handlerP  s1   øè è € Ø—k’k &Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ð)rG   )rB   r5   r=   N)Úgetattrrn   )rÂ   r;   ÚappsigrÆ   ro   r¬   s      @€€rE   Úreg_handlerz4Application._reg_subapp_signals.<locals>.reg_handlerM  s_   øø€ Ý˜V WÑ-Ô-ˆFð*ð *ð *ð *ð *ð *ð *õ ˜T 7Ñ+Ô+ˆFØ�MŠM˜'Ñ"Ô"Ð"Ð"Ð"rG   Ú
on_startupÚon_shutdownÚ
on_cleanup)Ústr)ro   r¬   rÉ   s   `` rE   Ú_reg_subapp_signalszApplication._reg_subapp_signalsL  sm   øø€ ð	#¥ð 	#¨ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	ˆ�LÑ!Ô!Ð!Øˆ�MÑ"Ô"Ð"Øˆ�LÑ!Ô!Ð!Ð!Ð!rG   Úprefixc                 óî   — t          |t          ¦  «        st          d¦  «        ‚|                     d¦  «        }|st	          d¦  «        ‚t          t          ||¦  «        }|                      ||¦  «        S )NzPrefix must be strú/zPrefix cannot be empty)rl   rÍ   Ú	TypeErrorÚrstripÚ
ValueErrorr   r2   Ú_add_subapp)ro   rÏ   r¬   Úfactorys       rE   Ú
add_subappzApplication.add_subappZ  ss   € Ý˜&¥#Ñ&Ô&ð 	2ÝÐ0Ñ1Ô1Ð1Ø—’˜sÑ#Ô#ˆØð 	7ÝÐ5Ñ6Ô6Ð6ÝÕ0°&¸&ÑAÔAˆØ×Ò ¨Ñ0Ô0Ð0rG   Úresource_factoryc                 ón  — | j         rt          d¦  «        ‚|j         rt          d¦  «        ‚ |¦   «         }| j                             |¦  «         |                      |¦  «         | j                             |¦  «         |                     ¦   «          | j        �| 	                    | j        ¦  «         |S )Nz0Cannot add sub application to frozen applicationzCannot add frozen application)
r¼   r©   r^   Úregister_resourcerÎ   rU   rn   r¹   rM   r«   )ro   rØ   r¬   Úresources       rE   rÕ   zApplication._add_subappc  s»   € ð Œ;ð 	SÝÐQÑRÔRÐRØŒ=ð 	@ÝÐ>Ñ?Ô?Ð?Ø#Ð#Ñ%Ô%ˆØŒ×%Ò% hÑ/Ô/Ð/Ø× Ò  Ñ(Ô(Ð(ØŒ×Ò˜VÑ$Ô$Ð$Ø×ÒÑÔÐØŒ:Ð!Ø×Ò˜TœZÑ(Ô(Ð(ØˆrG   Údomainc                 óè   — t          |t          ¦  «        st          d¦  «        ‚d|v rt          |¦  «        }nt	          |¦  «        }t          t          ||¦  «        }|                      ||¦  «        S )NzDomain must be strÚ*)rl   rÍ   rÒ   r0   r/   r   r1   rÕ   )ro   rÜ   r¬   ÚrulerÖ   s        rE   Ú
add_domainzApplication.add_domains  sn   € Ý˜&¥#Ñ&Ô&ð 	"ÝÐ0Ñ1Ô1Ð1Ø�Fˆ]ˆ]Ý% fÑ-Ô-ˆDˆDå˜&‘>”>ˆDÝÕ/°°vÑ>Ô>ˆØ×Ò ¨Ñ0Ô0Ð0rG   Úroutesc                 ó6   — | j                              |¦  «        S r   )r^   Ú
add_routes)ro   rá   s     rE   rã   zApplication.add_routes}  s   € ØŒ{×%Ò% fÑ-Ô-Ð-rG   c                 ó   — | j         S r   )rV   rˆ   s    rE   Úon_response_preparezApplication.on_response_prepare€  s   € àÔ(Ð(rG   c                 ó   — | j         S r   )rW   rˆ   s    rE   rÊ   zApplication.on_startup„  r¯   rG   c                 ó   — | j         S r   )rX   rˆ   s    rE   rË   zApplication.on_shutdownˆ  ó   € àÔ Ð rG   c                 ó   — | j         S r   )rY   rˆ   s    rE   rÌ   zApplication.on_cleanupŒ  r¯   rG   rm   c                 ó   — | j         S r   )r\   rˆ   s    rE   Úcleanup_ctxzApplication.cleanup_ctx�  rè   rG   c                 ó   — | j         S r   )rL   rˆ   s    rE   r^   zApplication.router”  r½   rG   c                 ó   — | j         S r   )rO   rˆ   s    rE   r_   zApplication.middlewares˜  rè   rG   ©rc   Úaccess_log_classrï   Úkwargsc                óT  — t          |t          ¦  «        st          d|› �¦  «        ‚|                      |¦  «         |                      ¦   «          | j        |d<   ||d<   | j        r$| j                             ¦   «         D ]
\  }}|||<   Œt          | j	        f| j
        | j        dœ|¤ŽS )NzKaccess_log_class must be subclass of aiohttp.abc.AbstractAccessLogger, got rd   rï   )Úrequest_factoryrc   )Ú
issubclassr   rÒ   r«   rµ   rK   rN   Úitemsr,   Ú_handleÚ_make_requestrM   )ro   rc   rï   rð   ÚkÚvs         rE   Ú_make_handlerzApplication._make_handlerœ  sä   € õ Ð*Õ,@ÑAÔAð 	ÝðLØ9IðLð Lñô ð ð
 	�Š�tÑÔÐØ�Š‰Œˆàœ+ˆˆw‰Ø%5ˆÐ!Ñ"ØÔð 	ØÔ*×0Ò0Ñ2Ô2ð ð ‘��1Ø��q‘	�	åØŒLð
à Ô.Ø”ð
ð 
ð ð	
ð 
ð 	
rG   c                óZ   — t          j        dt          d¬¦  «          | j        d||dœ|¤ŽS )NzFApplication.make_handler(...) is deprecated, use AppRunner API insteadrf   rg   rî   r]   )ri   rj   rk   rù   )ro   rc   rï   rð   s       rE   Úmake_handlerzApplication.make_handlerº  sW   € õ 	ŒØTÝØð	
ñ 	
ô 	
ð 	
ð "ˆtÔ!ð 
ØÐ(8ð
ð 
Ø<Bð
ð 
ð 	
rG   c              ƒ   óJ   K  — | j                              | ¦  «        ƒ d{V —† dS )zmCauses on_startup signal

        Should be called in the event loop along with the request handler.
        N)rÊ   rÅ   rˆ   s    rE   ÚstartupzApplication.startupÌ  s6   è è € ð
 Œo×"Ò" 4Ñ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(Ð(Ð(rG   c              ƒ   óJ   K  — | j                              | ¦  «        ƒ d{V —† dS )zMCauses on_shutdown signal

        Should be called before cleanup()
        N)rË   rÅ   rˆ   s    rE   ÚshutdownzApplication.shutdownÓ  s7   è è € ð
 Ô×#Ò# DÑ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ð)rG   c              ƒ   ó¦   K  — | j         j        r"| j                              | ¦  «        ƒ d{V —† dS | j                             | ¦  «        ƒ d{V —† dS )zLCauses on_cleanup signal

        Should be called after shutdown()
        N)rÌ   r¼   rÅ   r\   rY   rˆ   s    rE   ÚcleanupzApplication.cleanupÚ  st   è è € ð
 Œ?Ô!ð 	6Ø”/×&Ò& tÑ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,ð Ô#×/Ò/°Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5rG   ÚmessageÚpayloadÚprotocolÚwriterÚtaskzasyncio.Task[None]Ú_clsc           
      óf   — t           r	| j        €J ‚ ||||||| j        | j        | j        ¬¦  «        S )N)ra   rb   )r   rM   rZ   r[   )ro   r  r  r  r  r  r  s          rE   rö   zApplication._make_requestå  sS   € õ ð 	*Ø”:Ð)Ð)Ð)ØˆtØØØØØØŒJØ Ô1Ø"Ô5ð	
ñ 	
ô 	
ð 		
rG   c              #   óâ   K  — t          | j        ¦  «        D ]D}t          |dd ¦  «        dk    r|dfV — Œt          j        d|›d�t
          d¬¦  «         |dfV — ŒEt          | ¦  «        dfV — d S )	NÚ__middleware_version__r   Tzold-style middleware "z" deprecated, see #2252rf   rg   F)ÚreversedrO   rÇ   ri   rj   rk   r'   )ro   rC   s     rE   r·   zApplication._prepare_middlewareû  s¤   è è € Ý˜$Ô+Ñ,Ô,ð 		ð 		ˆAÝ�qÐ2°DÑ9Ô9¸QÒ>Ð>Ø˜�g����å”ØI¨QÐIÐIÐIÝ&Ø ðñ ô ð ð
 ˜�h����å& tÑ,Ô,¨dÐ2Ð2Ð2Ð2Ð2Ð2rG   Úrequestc              ƒ   ó^  K  — t          j        ¦   «         }|                     ¦   «         }| j                             |¦  «        ƒ d {V —†}|r't          |t          ¦  «        st          d|›�¦  «        ‚|                     | ¦  «         | 	                    ¦   «          ||_
        |j                             t          j        ¦  «        r>|                     |¦  «        ƒ d {V —†}|j                             ¦   «         ƒ d {V —† |�|S |j        }| j        r‹| j        s0t          |j        t,          ¦  «        st/          ||j        ¦  «        }nT|j        d d d…         D ]C}|j        D ]9\  }}	|	r t5          t7          ||¬¦  «        |¦  «        }Œ' |||¦  «        ƒ d {V —†}Œ:ŒD ||¦  «        ƒ d {V —†S )Nz5match_info should be AbstractMatchInfo instance, not r?   r@   )r¥   r¨   rª   rL   Úresolverl   r   rÒ   Úadd_apprµ   Ú_match_infoÚheadersr    r   ÚEXPECTÚexpect_handlerr  Údrainr;   rQ   rP   Úrouter3   Ú_cached_build_middlewarer<   rA   r   r   )
ro   r  rc   rd   Ú
match_infoÚrespr;   rB   rC   r³   s
             rE   rõ   zApplication._handle	  s"  è è € ÝÔ%Ñ'Ô'ˆØ—’Ñ Ô ˆØœ<×/Ò/°Ñ8Ô8Ð8Ð8Ð8Ð8Ð8Ð8ˆ
Øð 	Ý˜jÕ*;Ñ<Ô<ð Ýð4Ø%/ð4ð 4ñô ð ð 	×Ò˜4Ñ Ô Ð à×ÒÑÔÐà(ˆÔàŒ?×Ò�tœ{Ñ+Ô+ð 	Ø#×2Ò2°7Ñ;Ô;Ð;Ð;Ð;Ð;Ð;Ð;ˆDØ”.×&Ò&Ñ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(ØÐØ�àÔ$ˆàÔ ð 	<ð Ô/ð <½
ØÔ ¥+ñ9ô 9ð <õ 3°7¸J¼OÑLÔL��à%œ?¨4¨4¨R¨4Ô0ð <ð <�CØ(+Ô(Að <ð <™˜˜9Ø$ð <Ý&4Ý '¨°7Ð ;Ñ ;Ô ;¸Wñ'ô '˜G˜Gð -.¨A¨c°7©O¬OÐ&;Ð&;Ð&;Ð&;Ð&;Ð&;˜G˜Gð<ð �W˜WÑ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%rG   c                 ó   — | S )zgunicorn compatibilityr]   rˆ   s    rE   Ú__call__zApplication.__call__5  s   € àˆrG   c                 ó*   — dt          | ¦  «        d›d�S )Nz<Application 0xÚxú>rš   rˆ   s    rE   Ú__repr__zApplication.__repr__9  s   € Ø.¥ D¡¤Ð.Ð.Ð.Ð.Ð.rG   c                 ó   — dS r¿   r]   rˆ   s    rE   Ú__bool__zApplication.__bool__<  s   € ØˆtrG   ©r=   N).r   )r¬   r5   r=   N)r=   rm   )r=   r5   )Zrt   Ú
__module__Ú__qualname__Ú	frozensetry   r!   ÚloggingÚLoggerr4   r   r$   r   rÍ   r   Úintr¥   r¦   rp   Útyperu   r   r{   ÚobjectÚboolr€   r   r   r7   r„   r‰   r�   r’   r•   r   r˜   rœ   r    r8   Úpropertyrc   r«   r®   r¹   r¼   rµ   rd   rÎ   r2   r×   r   r9   rÕ   r1   rà   r+   Úlistr.   rã   Ú_RespPrepareSignalrå   Ú
_AppSignalrÊ   rË   rÌ   rë   r^   Ú_Middlewaresr_   r&   r   r,   rù   rû   rý   rÿ   r  r)   r    r"   r(   r   rö   r¶   r·   r*   rõ   r  r  r   Ú__classcell__©r|   s   @rE   r5   r5   W   s…  ø€ € € € € ØˆIð	
ð 	
ð 	
ñô €Eð8 ",Ø'+Ø,.Ø15Ø&Ø!%Ø15Øð84ð 84ð 84ð ”ð84ð  Ñ$ð	84ð
 ˜jÔ)ð84ð ˜c 3˜hÔ'¨$Ñ.ð84ð ð84ð ð84ð Ô'¨$Ñ.ð84ð ð84ð 
ð84ð 84ð 84ð 84ðt
˜t MÔ2ð 
°tð 
ð 
ð 
ð 
ð ð 
+ð	+ Cð 	+¨cð 	+°dð 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð˜Fð  tð ð ð ð ð Ø5˜v bœzÐ5¨bÐ5Ð5Ð5ñ „XØ5àØ/˜sÐ/ sÐ/Ð/Ð/ñ „XØ/ð ˜s V¨B¤ZÑ/ð  °Cð  ð  ð  ð  ðð ð ð ð ØB˜v bœzÐB°"ÐB¸ÐBÐBÐBñ „XØBàØ<˜sÐ<¨3Ð<°4Ð<Ð<Ð<ñ „XØ<ð
!˜s V¨B¤ZÑ/ð 
!¸ð 
!Àð 
!ð 
!ð 
!ð 
!ð˜s V¨B¤ZÑ/ð °Dð ð ð ð ð ˜ð  ð  ð  ð  ð!˜( 3¨°¬Ñ#4Ô5ð !ð !ð !ð !ð˜#ð ð ð ð ð ØIÐI�v˜b”zÐI¨DÐI¸2À¹9ÐIÐIÐIñ „XØIàØ?�v˜b”zÐ?¨BÐ?°2¸±7Ð?Ð?Ð?ñ „XØ?àØ;Ð;�sÐ; SÐ;°3Ð;Ð;Ð;ñ „XØ;ð-ð -�s˜V BœZÑ'ð -°#ð -Àð -ð -ð -ð -ð ð;�gÔ/ð ;ð ;ð ;ñ „Xð;ð#˜gÔ7¸$Ñ>ð #À4ð #ð #ð #ð #ð$ ð ˜Dð  ð  ð  ñ „Xð ðUð Uð Uð Uð8 ð˜ð ð ð ñ „Xððð ð ð ð ð�tð ð ð ñ „Xðð"ð "ð "ð "ð1 ð 1¨mð 1Ð@Vð 1ð 1ð 1ð 1ðØ (¨¨Y¨Ô 7ðØANðà	ðð ð ð ð 1 ð 1¨mð 1Ð@Uð 1ð 1ð 1ð 1ð. Ð*:Ô!;ð .ÀÀ]Ô@Sð .ð .ð .ð .ð ð)Ð%7ð )ð )ð )ñ „Xð)ð ð ˜Jð  ð  ð  ñ „Xð ð ð!˜Zð !ð !ð !ñ „Xð!ð ð ˜Jð  ð  ð  ñ „Xð ð ð!ð !ð !ñ „Xð!ð ð˜ð ð ð ñ „Xðð ð!˜\ð !ð !ð !ñ „Xð!ð 26Ø7Cð	
ð 
ð 
ð Ô'¨$Ñ.ð
ð Ð3Ô4ð	
ð
 ð
ð 
ð
ð 
ð 
ð 
ðB 26Ø7Cð	
ð 
ð 
ð Ô'¨$Ñ.ð
ð Ð3Ô4ð	
ð
 ð
ð 
ð
ð 
ð 
ð 
ð$)ð )ð )ð )ð*ð *ð *ð *ð	6ð 	6ð 	6ð 	6ð$ &ð
ð 
à"ð
ð ð
ð !ð	
ð
 %ð
ð #ð
ð �7Œmð
ð 
ð
ð 
ð 
ð 
ð,3 X¨e°JÀÐ4DÔ.EÔ%Fð 3ð 3ð 3ð 3ð*& Wð *&°ð *&ð *&ð *&ð *&ðXð ð ð ð/˜#ð /ð /ð /ð /ð˜$ð ð ð ð ð ð ð ð rG   c                   ó6   — e Zd Zedee         fd„¦   «         ZdS )r6   r=   c                 óX   — t          t          t                   | j        d         ¦  «        S )Nr   )r   r,  ÚBaseExceptionÚargsrˆ   s    rE   Ú
exceptionszCleanupError.exceptionsA  s   € å•D�Ô'¨¬°1¬Ñ6Ô6Ð6rG   N)rt   r"  r#  r+  r,  r4  r6  r]   rG   rE   r6   r6   @  s>   € € € € € Øð7˜D Ô/ð 7ð 7ð 7ñ „Xð7ð 7ð 7rG   r6   c                   ó@   ‡ — e Zd Zdˆ fd„Zdeddfd„Zdeddfd„Zˆ xZS )rm   r=   Nc                 óV   •— t          ¦   «                              ¦   «          g | _        d S r   )rz   rp   Ú_exits)ro   r|   s    €rE   rp   zCleanupContext.__init__M  s$   ø€ Ý‰Œ×ÒÑÔÐØ?AˆŒˆˆrG   rB   c              ƒ   óì   K  — | D ]n} ||¦  «        }t          |t          ¦  «        s t          |¦  «        |¦  «        }|                     ¦   «         ƒ d {V —† | j                             |¦  «         Œod S r   )rl   r   r   Ú
__aenter__r9  rn   )ro   rB   ÚcbÚctxs       rE   rW   zCleanupContext._on_startupQ  s’   è è € Øð 	$ð 	$ˆBØ�"�S‘'”'ˆCå˜cÕ#>Ñ?Ô?ð 3Ø-Õ)¨"Ñ-Ô-¨cÑ2Ô2�à—.’.Ñ"Ô"Ð"Ð"Ð"Ð"Ð"Ð"Ð"ØŒK×Ò˜sÑ#Ô#Ð#Ð#ð	$ð 	$rG   c              ƒ   óB  K  — g }t          | j        ¦  «        D ]X}	 |                     d d d ¦  «        ƒ d {V —† Œ!# t          t          j        f$ r}|                     |¦  «         Y d }~ŒQd }~ww xY w|r+t          |¦  «        dk    r|d         ‚t          d|¦  «        ‚d S )Nr   r   z Multiple errors on cleanup stage)	r  r9  Ú	__aexit__Ú	Exceptionr¥   ÚCancelledErrorrn   r”   r6   )ro   rB   ÚerrorsÚitÚexcs        rE   rY   zCleanupContext._on_cleanup[  sÜ   è è € ØˆÝ˜4œ;Ñ'Ô'ð 	#ð 	#ˆBð#Ø—l’l 4¨¨tÑ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ð4øÝ�wÔ5Ð6ð #ð #ð #Ø—’˜cÑ"Ô"Ð"Ð"Ð"Ð"Ð"Ð"øøøøð#øøøàð 	OÝ�6‰{Œ{˜aÒÐØ˜Q”i�å"Ð#EÀvÑNÔNÐNð		Oð 	Os   œ:ºA/ÁA*Á*A/r!  )rt   r"  r#  rp   r5   rW   rY   r0  r1  s   @rE   rm   rm   L  s‘   ø€ € € € € ðBð Bð Bð Bð Bð Bð$ [ð $°Tð $ð $ð $ð $ðO [ð O°Tð Oð Oð Oð Oð Oð Oð Oð OrG   rm   )^r¥   r%  ri   Úcollections.abcr   r   r   r   r   r   r	   r
   Ú
contextlibr   r   Ú	functoolsr   r   r   Útypingr   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_urldispatcherr-   r.   r/   r0   r1   r2   r3   r4   Ú__all__r.  r-  r/  r¶   r*  Ú_MiddlewaresHandlersr,  Ú_Subappsr7   r8   r9   rF   r  rÍ   r5   r©   r6   Ú_CleanupContextCallablerm   r]   rG   rE   ú<module>r_     s³  ðØ €€€Ø €€€Ø €€€ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð HÐ GÐ GÐ GÐ GÐ GÐ GÐ GØ 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ Hà Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !à Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð #Ð "Ð "Ð "Ð "Ð "Ð "Ð "Ø *Ð *Ð *Ð *Ð *Ð *Ø Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø !Ð !Ð !Ð !Ð !Ð !Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø (Ð (Ð (Ð (Ð (Ð (Ø  Ð  Ð  Ð  Ð  Ð  Ø (Ð (Ð (Ð (Ð (Ð (Ø *Ð *Ð *Ð *Ð *Ð *Ø Ð Ð Ð Ð Ð ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð *€ð ð Ø˜Ô&€JØ ¨Ð 7Ô8ÐØ˜jÔ)€LØ# H¨U°:¸tÐ3CÔ-DÔ$EÔFÐØ�MÔ"€H€Hð €JØÐØ€LØ# HÔ-ÐØ€Hà€WˆT�]„]€Ø€WˆT�]„]€ØˆG�KÐ'7Ð8Ñ8Ô8€	ðØðØ!Ð"4Ô5ðàˆwˆi˜ >Ô2Ð2Ô3ðð ð ð ð 3˜9˜9¨TÐ2Ñ2Ô2Ð3EÑFÔFÐ ðfð fð fð fð f�.  v¨c¤{Ñ!2°CÐ!7Ô8ñ fô fð fðR7ð 7ð 7ð 7ð 7�<ñ 7ô 7ð 7ð ˆkˆ]Ð7¸Ô=Ð=Ô>Ø�ˆ}˜m¨DÔ1Ð1Ô2ñ3ð ðOð Oð Oð Oð O�ZÐ 7Ô8ñ Oô Oð Oð Oð OrG   