+
    PV-jty  ã                   óÞ  € ^ RI t ^ RIt ^ RIt^ RIt^ RIt^ RIHt ^ RIHtH	t	H
t
 ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHtHtHtHt ^ RIt^ RIt^ R	IHt ^R
IHtHt ^RI H!t!H"t" ^RI#H$t$H%t% ^RIH&t&H't'H(t(H)t)H*t*H+t+ ^RI,H-t- ^RI.H/t/H0t0 ^RI1H2t2H3t3 ^RI4H5t5 ^RI6H7t7H8t8 ^RI9H:t: ^RI;H<t< ^RI=H>t>H?t? R%t@^ tA]'       d   ^ RIBtB^RICHDtD ]	])]3R]R.]<3,          tE]	]<.]]?,          3,          tF])! RR](/ / RRRR]PŽ                  ! R4      4
      tH ! R R]I4      tJ ! R  R]I4      tK]K! 4       tL]Pš                  ! RRRR!7       ! R" R#4      4       tN]O])]N,          ]33,          tP ! R$ R]"4      tQR# )&é    N)Údeque)Ú	AwaitableÚCallableÚSequence)Úsuppress)Úescape)Ú
HTTPStatus)ÚLogger)ÚTYPE_CHECKINGÚAnyÚOptionalÚcast)Úunder_cached_property)ÚAbstractAccessLoggerÚAbstractStreamWriter)ÚPAUSE_RESUME_READING_ERRORSÚBaseProtocol)ÚDEFAULT_CHUNK_SIZEÚceil_timeout)ÚHttpProcessingErrorÚHttpRequestParserÚHttpVersion10ÚRawRequestMessageÚStreamWriterÚWebSocketReader)ÚBadHttpMethod)Úaccess_loggerÚserver_logger)ÚEMPTY_PAYLOADÚStreamReader)Útcp_keepalive)ÚHTTPExceptionÚHTTPInternalServerError)ÚAccessLogger)ÚBaseRequest)ÚResponseÚStreamResponseÚRequestHandlerÚRequestPayloadErrorÚPayloadAccessError)ÚServerzasyncio.Task[None]ÚUNKNOWNÚ/TFc                   ó   € ] tR t^NtRtRtR# )r)   zPayload parsing error.© N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__static_attributes__r/   ó    Úe/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/aiohttp/web_protocol.pyr)   r)   N   s   † Ý r7   c                   ó   € ] tR t^RtRtRtR# )r*   z-Payload was accessed after response was sent.r/   Nr0   r/   r7   r8   r*   r*   R   s   † Ý7r7   )Úauto_attribsÚfrozenÚslotsc                   ó,   a € ] tR t^Yt o V 3R ltRtV tR# )Ú_ErrInfoc                ó>   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[;R&   # )é   ÚstatusÚexcÚmessage)ÚintÚBaseExceptionÚstr)ÚformatÚ__classdict__s   "€r8   Ú__annotate__Ú_ErrInfo.__annotate__Y   s(   ø‡ ‚ á�Kñ ñ 
Ññ ñ �Lò	 r7   r/   N)r1   r2   r3   r4   Ú__annotate_func__r6   Ú__classdictcell__)rH   s   @r8   r>   r>   Y   s   ø‡ ‡ „ r7   r>   c                   óª  a a€ ] tR t^ct oRtRLtRR	R
RR]R]R]R]P                  RRRRR^€RRRRR]
RRR^/V3R lV 3R llltV3R lR lt]V3R lR l4       t]V3R lR l4       t]V3R lR l4       t]V3R lR  l4       tRMV3R! lR" lltV3R# lV 3R$ lltV3R% lV 3R& lltRNV3R' lR( lltV3R) lR* ltV3R+ lR, ltV3R- lR. ltV3R/ lR0 ltV3R1 lR2 ltV3R3 lR4 ltV3R5 lR6 ltV3R7 lR8 ltV3R9 lR: ltV3R; lR< lt V3R= lR> lt!V3R? lR@ lt"V3RA lRB lt#V3RC lRD lt$V3RE lRF lt%ROV3RG lRH llt&V3RI lRJ lt'RKt(Vt)V ;t*# )Pr(   a  HTTP protocol implementation.

RequestHandler handles incoming HTTP request. It reads request line,
request headers and request payload and calls handle_request() method.
By default it always returns with 404 response.

RequestHandler handles errors in incoming request, like bad
status line, bad headers or incomplete payload. If any error occurs,
connection gets closed.

keepalive_timeout -- number of seconds before closing
                     keep-alive connection

tcp_keepalive -- TCP keep-alive is on, default is on

debug -- enable debug mode

logger -- custom logger object

access_log_class -- custom class for access_logger

access_log -- custom logging object

access_log_format -- access log format string

loop -- Optional event loop

max_line_size -- Optional maximum header line size

max_field_size -- Optional maximum header field size

max_headers -- Optional maximum header size

timeout_ceil_threshold -- Optional value to specify
                          threshold to ceil() timeout
                          values

Úmax_field_sizeÚmax_headersÚmax_line_sizeÚloggerÚdebugÚ
access_logÚkeepalive_timeouti.  r!   TÚaccess_log_classÚaccess_log_formatFiþ  Úlingering_timeg      $@Úread_bufsizeÚauto_decompressÚtimeout_ceil_thresholdc                 óœ   <€ V ^8„  d   QhRRRS[ P                  RS[RS[RS[RS[S[,          RS[R	S[R
S[RS[RS[RS[RS[RS[RS[RS[/# )r@   Úmanagerr+   ÚlooprT   r!   rQ   rU   rS   rV   rR   rP   rO   rN   rW   rX   rY   rZ   )	ÚasyncioÚAbstractEventLoopÚfloatÚboolr
   Útyper   rF   rD   )rG   rH   s   "€r8   rI   ÚRequestHandler.__annotate__°   sÉ   ø€ ÷ Z)ñ Z)àðZ)ñ ×'Ñ'ð	Z)ñ !ðZ)ñ ðZ)ñ ðZ)ñ Ñ3Õ4ðZ)ñ ðZ)ñ ðZ)ñ ðZ)ñ ðZ)ñ ðZ)ñ ðZ)ñ  ð!Z)ñ" ð#Z)ñ$ ð%Z)ñ& !&ñ'Z)r7   c               óD  <€ \         V n        \         ^,          V n        RV n        \	        V VVV
VV\
        V\         R7	      p\        SV `  VV4       ^ V n        RV n	        RV n
        Wn        VP                  V n        VP                  V n        W n        W°n        WÀn        W@n        RV n        RV n        W0n        \/        V4      V n        \3        4       V n        RV n        RV n        RV n        RV n        RV n        RV n         ^V n!         \/        V4      V n!        WPn$        W�n%        Wpn&        V'       d*   V! Wx4      V n'        V PN                  PP                  V n)        MRV n'        RV n)        RV n*        RV n+        RV n,        / V n-        R#   \D        \F        3 d     L‚i ; i)r@   F)rP   rN   rO   Úpayload_exceptionrY   Úmax_msg_queue_sizeNg        r7   ).ÚMAX_MSG_QUEUE_SIZEÚ_max_msg_queue_sizeÚ_msg_queue_resume_sizeÚ_msg_queue_pausedr   r)   ÚsuperÚ__init__Ú_request_countÚ
_keepaliveÚ_current_requestÚ_managerÚrequest_handlerÚ_request_handlerÚrequest_factoryÚ_request_factoryrP   rO   rN   Ú_tcp_keepaliveÚ_next_keepalive_close_timeÚ_keepalive_handleÚ_keepalive_timeoutr`   Ú_lingering_timer   Ú	_messagesÚ_message_tailÚ_data_received_cbÚ_waiterÚ_handler_waiterÚ_task_handlerÚ_payload_parserÚ_timeout_ceil_thresholdÚ	TypeErrorÚ
ValueErrorrQ   rR   rS   r   ÚenabledÚ_logging_enabledÚ_closeÚ_force_closeÚ_request_in_progressÚ_cache)Úselfr\   r]   rT   r!   rQ   rU   rS   rV   rR   rP   rO   rN   rW   rX   rY   rZ   ÚparserÚ	__class__s   &&$$$$$$$$$$$$$$$ €r8   rl   ÚRequestHandler.__init__°   s¥  ø€ ô* $6ˆÔ ô '9¸AÕ&=ˆÔ#ð "'ˆÔÜ"ØØØØ'Ø)Ø#Ü1Ø+Ü1ô

ˆô 	‰Ñ˜˜vÔ&ð  ˆÔØˆŒØ48ˆÔØ'.ŒØ8?×8OÑ8OˆÔØ8?×8OÑ8OˆÔà*ÔØ&ÔØ,Ôà+Ôà*-ˆÔ'Ø8<ˆÔØ"3ÔÜ$ ^Ó4ˆÔä*/«'ˆŒØ ˆÔØ<@ˆÔà48ˆŒØ<@ˆÔØ8<ˆÔØ$(ˆÔà./ˆÔ$ð	Ü+0Ð1GÓ+HˆDÔ(ð ŒØŒ
Ø$ŒßÙ>NØó?ˆDÔð %)×$6Ñ$6×$>Ñ$>ˆDÕ!à!%ˆDÔØ$)ˆDÔ!àˆŒØ!ˆÔØ$)ˆÔ!Ø&(ˆŽøô% œ:Ð&ô 	Ùð	ús   ÄF ÆFÆFc                ó    <€ V ^8„  d   QhRS[ /# ©r@   Úreturn)rF   )rG   rH   s   "€r8   rI   rc     s   ø€ ÷ 
ñ 
™#ñ 
r7   c                óv   € R P                  V P                  P                  V P                  e   R4      # R4      # )z<{} {}>Ú	connectedÚdisconnected)rG   rŒ   r1   Ú	transport©rŠ   s   &r8   Ú__repr__ÚRequestHandler.__repr__  s;   € Ø×ÑØ�N‰N×#Ñ#ØŸ>™>Ò5ˆKó
ð 	
à;Ió
ð 	
r7   c                ó.   <€ V ^8„  d   QhRS[ R,          /# )r@   r�   zssl.SSLContext)r   )rG   rH   s   "€r8   rI   rc     s   ø€ ÷ 
ñ 
™XÐ&6Õ7ñ 
r7   c                óX   € V P                   f   R# V P                   P                  R4      # )zReturn SSLContext if available.NÚ
sslcontext©r”   Úget_extra_infor•   s   &r8   Ússl_contextÚRequestHandler.ssl_context  s1   € ð
 �~‰~Ò%ð ð	
ð —‘×.Ñ.¨|Ó<ð	
r7   c                ó‚   <€ V ^8„  d   QhRS[ S[S[ S[S[S[3,          ,          S[S[ S[3,          ,          R,          /# ©r@   r�   N©rF   ÚtuplerD   )rG   rH   s   "€r8   rI   rc     ó:   ø€ ÷ 
ñ 
á	‰u‘S™#™s¡CÐ'Õ(Õ	(©5±±c°­?Õ	:¸TÕ	Añ
r7   c                óX   € V P                   f   R# V P                   P                  R4      # )zReturn peername if available.NÚpeernamer›   r•   s   &r8   r¥   ÚRequestHandler.peername  ó1   € ð �~‰~Ò%ð ð	
ð —‘×.Ñ.¨zÓ:ð	
r7   c                ó‚   <€ V ^8„  d   QhRS[ S[S[ S[S[S[3,          ,          S[S[ S[3,          ,          R,          /# r    r¡   )rG   rH   s   "€r8   rI   rc   '  r£   r7   c                óX   € V P                   f   R# V P                   P                  R4      # )zReturn sockname if available.NÚsocknamer›   r•   s   &r8   rª   ÚRequestHandler.sockname&  r§   r7   c                ó    <€ V ^8„  d   QhRS[ /# r�   ©r`   )rG   rH   s   "€r8   rI   rc   2  s   ø€ ÷ 'ñ '¡5ñ 'r7   c                ó   € V P                   # ©N)rx   r•   s   &r8   rT   Ú RequestHandler.keepalive_timeout1  s   € à×&Ñ&Ð&r7   c                ó2   <€ V ^8„  d   QhRS[ R,          RR/# )r@   ÚtimeoutNr�   r­   )rG   rH   s   "€r8   rI   rc   5  s   ø€ ÷ 0ñ 0¡e¨d¥lð 0¸dñ 0r7   c              ƒ  ó²  "  € RV n         V P                  e   V P                  P                  4        V P                  '       da   V P                  P                  4       V n         \        V4      ;_uu_4       GRj  x€L
  V P                  G Rj  x€L
  RRR4      GRj  x€L
   \        V4      ;_uu_4       GRj  x€L
  V P                  e/   V P                  P!                  \        P                  ! 4       4       V P"                  eI   V P"                  P%                  4       '       g)   \        P&                  ! V P"                  4      G Rj  x€L
  RRR4      GRj  x€L
  T P"                  e   T P"                  P                  4        T P)                  4        R#  EL" EL EL  + GRj  x€L 
 '       g   i     EL; i  \        P                  \        P                  3 dU    RT n        \        P                  R8¼  d5   \        P                  ! 4       ;p'       d   TP                  4       '       d   h  EL—i ; i ELƒ Ló Lå  + GRj  x€L 
 '       g   i     Lü; i  \        P                  \        P                  3 dN    \        P                  R8¼  d5   \        P                  ! 4       ;p'       d   TP                  4       '       d   h  ELpi ; i5i)z™Do worker process exit preparations.

We need to clean up everything and stop accepting requests.
It is especially important for keep-alive connections.
TN©é   é   )r‡   rw   Úcancelrˆ   Ú_loopÚcreate_futurer~   r   r^   ÚCancelledErrorÚTimeoutErrorÚsysÚversion_infoÚcurrent_taskÚ
cancellingro   Ú_cancelr   ÚdoneÚshieldÚforce_close)rŠ   r²   Útasks   && r8   ÚshutdownÚRequestHandler.shutdown5  s  é € ð !ˆÔà×!Ñ!Ò-Ø×"Ñ"×)Ñ)Ô+ð ×$×$Ð$ð $(§:¡:×#;Ñ#;Ó#=ˆDÔ ð
Ü'¨×0×0Õ0Ø×.Ñ.×.Ð.÷ 1×0ð	Ü# G×,×,Õ,Ø×(Ñ(Ò4Ø×)Ñ)×1Ñ1´'×2HÒ2HÓ2JÔKà×%Ñ%Ò1¸$×:LÑ:L×:QÑ:Q×:SÒ:SÜ!Ÿ.š.¨×);Ñ);Ó<×<Ð<÷ -×,ð ×ÑÒ)Ø×Ñ×%Ñ%Ô'à×ÑÖò= 1Ú.÷ 1×0×0Ô0ûä×*Ñ*¬G×,@Ñ,@ÐAô Ø'+�Ô$ä×$Ñ$¨Ô/Ü!(×!5Ò!5Ó!7Ð7˜Ö7ØŸ™×)Ò)àúðúò -ñ
 =÷ -×,×,Ò,ûô ×&Ñ&¬×(<Ñ(<Ð=ô 	ä× Ñ  GÔ+Ü$×1Ò1Ó3Ð3�TÖ3Ø—O‘O×%Ò%àúð	üsG  ‚AKÁKÁ$G Á;FÁ<G Á?F&ÂF ÂF&ÂG ÂF#Â G Â%I" Â<H?Â=I" Ã A*IÄ+#IÅIÅIÅI" ÅIÅI" Å#:KÆG Æ F&Æ#G Æ&G 	Æ,F/Æ-
G 	Æ8G 	Æ:G Æ>KÇ G ÇAH<È!H<È7H<È8KÈ;H<È<KÈ?I" ÉIÉI" ÉI	ÉIÉ
I	ÉI	ÉI" ÉKÉI" É"AKÊ9KËKËKËKËKc                ó8   <€ V ^8„  d   QhRS[ P                  RR/# )r@   r”   r�   N)r^   ÚBaseTransport)rG   rH   s   "€r8   rI   rc   g  s!   ø€ ÷ "ñ "©×)>Ñ)>ð "À4ñ "r7   c                óÆ  <€ \         SV `  V4       \        \        P                  V4      pV P
                  '       d   \        V4       V P                  f   Q hV P                  P                  W4       V P                  p\        P                  R8¼  d)   \        P                  ! V P                  4       VRR7      pMVP                  V P                  4       4      pW@n        R # )NT©r]   Úeager_start©rµ   é   )rk   Úconnection_mader   r^   Ú	Transportru   r!   rp   r¸   r¼   r½   ÚTaskÚstartÚcreate_taskr   )rŠ   r”   Úreal_transportr]   rÄ   rŒ   s   &&   €r8   rÎ   ÚRequestHandler.connection_madeg  s£   ø€ Ü‰Ñ 	Ô*äœg×/Ñ/°Ó;ˆØ××ÐÜ˜.Ô)à�}‰}Ò(Ð(Ð(Ø�‰×%Ñ% dÔ;à�z‰zˆÜ×Ñ˜wÔ&Ü—<’< §
¡
£°4ÀTÔJ‰Dà×#Ñ# D§J¡J£LÓ1ˆDØ!Ör7   c                ó2   <€ V ^8„  d   QhRS[ R,          RR/# )r@   rB   Nr�   )rE   )rG   rH   s   "€r8   rI   rc   x  s    ø€ ÷ (ñ (¡=°4Õ#7ð (¸Dñ (r7   c                ó�  <€ V P                   f   R # V P                   P                  W4       V P                   P                  pV P                  4        \        SV `  V4       R V n         R V n        R V n        R V n        V P                  e   V P                  P                  4        V P                  e+   Vf   \        R4      pV P                  P                  V4       V'       d)   V P                  e   V P                  P                  4        R V n        V P                  e$   V P                  P                  4        R V n        R # R # )NzConnection lost)rp   Úconnection_lostÚhandler_cancellationrÃ   rk   rt   rr   Ú_parserrw   r·   ro   ÚConnectionResetErrorrÀ   r   r€   Úfeed_eof)rŠ   rB   rØ   rŒ   s   && €r8   r×   ÚRequestHandler.connection_lostx  s  ø€ Ø�=‰=Ò ÙØ�‰×%Ñ% dÔ0ð  $Ÿ}™}×AÑAÐà×ÑÔÜ‰Ñ Ô$ØˆŒØ $ˆÔØ $ˆÔØˆŒà×!Ñ!Ò-Ø×"Ñ"×)Ñ)Ô+à× Ñ Ò,ØŠ{Ü*Ð+<Ó=�Ø×!Ñ!×)Ñ)¨#Ô.ç D×$6Ñ$6Ò$BØ×Ñ×%Ñ%Ô'à!ˆÔà×ÑÒ+Ø× Ñ ×)Ñ)Ô+Ø#'ˆDÖ ñ ,r7   c                óJ   <€ V ^8„  d   QhRS[ RS[. R3,          R,          RR/# )r@   r‹   Údata_received_cbNr�   )r   r   )rG   rH   s   "€r8   rI   rc   ˜  s7   ø€ ÷ %ñ %áð%ñ # 2 t 8Õ,¨tÕ3ð%ð 
ñ	%r7   c                ó¾   € V P                   e   Q hWn         W n        V P                  '       d/   V P                   P                  V P                  4       RV n        R # R # )Nr7   )r€   r|   r{   Ú	feed_data)rŠ   r‹   rÞ   s   &&&r8   Ú
set_parserÚRequestHandler.set_parser˜  sU   € ð
 ×#Ñ#Ò+Ð+Ð+à%ÔØ!1Ôà××ÐØ× Ñ ×*Ñ*¨4×+=Ñ+=Ô>Ø!$ˆDÖñ r7   c                ó   <€ V ^8„  d   QhRR/# r    r/   )rG   rH   s   "€r8   rI   rc   ¦  s   ø€ ÷ ñ ˜dñ r7   c                ó   € R # r¯   r/   r•   s   &r8   Úeof_receivedÚRequestHandler.eof_received¦  s   € Ùr7   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r@   Údatar�   N)Úbytes)rG   rH   s   "€r8   rI   rc   ©  s   ø€ ÷ /ñ /¡%ð /¨Dñ /r7   c                ó|  € V P                   '       g   V P                  '       d   R # V P                  Ef*   V P                  '       Eg   V P                  f   Q h V P                  P                  V4      w  r#pV F:  w  rgV ;P                  ^,          un
        V P                  P                  Wg34       K<  	  V P                  pV'       d,   Ve(   VP                  4       '       g   VP                  R 4       V P                   '       g5   \#        V P                  4      V P$                  8¼  d   V P'                  4        W0n        V'       d   V'       d	   W@n        R # R # R # V P                  f6   V P                  '       d$   V'       d   V ;P(                  V,          un        R # V'       dX   V P*                  e   V P+                  4        V P                  P                  V4      w  r”V	'       d   V P-                  4        R # R # R #   \         d.   p\        RYUP                  R7      \        3.pRpRp R p?EL¾R p?ii ; i)Ni�  )rA   rB   rC   Fr7   )r‡   r†   r€   Ú	_upgradedrÙ   rà   r   r>   rC   r   rm   rz   Úappendr}   rÁ   Ú
set_resultrj   Úlenrh   Ú_pause_msg_queue_readingr{   r|   Úclose)
rŠ   rè   ÚmessagesÚupgradedÚtailrB   ÚmsgÚpayloadÚwaiterÚeofs
   &&        r8   Údata_receivedÚRequestHandler.data_received©  s°  € Ø××Ð §§ Ùð ×ÑÓ'°··±Ø—<‘<Ò+Ð+Ð+ðØ+/¯<©<×+AÑ+AÀ$Ó+GÑ(� Dó !)‘�Ø×#Ò# qÕ(Õ#Ø—‘×%Ñ% s nÖ5ñ !)ð —\‘\ˆFß˜FÒ.°v·{±{·}²}à×!Ñ! $Ô'ð
 ×*×*Ð*Ü˜Ÿ™Ó'¨4×+CÑ+CÔCà×-Ñ-Ô/à%ŒNßŸDØ%)Ö"ñ !‰xð ×!Ñ!Ò)¨d¯n¯n¨nÇØ×Ò $Õ&×÷ Ø×%Ñ%Ò1Ø×&Ñ&Ô(Ø×,Ñ,×6Ñ6°tÓ<‰IˆCßØ—
‘
–ñ ñ	 øôC 'ô ä S¨c¿;¹;ÔGÌÐWð�ð !�Ø–ûðús   ÁH ÈH;È"H6È6H;c                ó    <€ V ^8„  d   QhRS[ /# r�   ©ra   )rG   rH   s   "€r8   rI   rc   Ú  s   ø€ ÷ &ñ &©tñ &r7   c                ó   € V P                   # r¯   )rj   r•   s   &r8   Ú_reading_paused_for_msg_queueÚ,RequestHandler._reading_paused_for_msg_queueÚ  s   € Ø×%Ñ%Ð%r7   c                ó   <€ V ^8„  d   QhRR/# r    r/   )rG   rH   s   "€r8   rI   rc   Ý  s   ø€ ÷ ñ ¨$ñ r7   c                óŽ   € R V n         V P                  e    V P                  P                  4        R# R#   \         d     R# i ; i)TN)rj   r”   Úpause_readingr   r•   s   &r8   rï   Ú'RequestHandler._pause_msg_queue_readingÝ  sD   € Ø!%ˆÔØ�>‰>Ò%ðØ—‘×,Ñ,Ö.ñ &øô /ô ò ðús   —5 µAÁAc                ó   <€ V ^8„  d   QhRR/# r    r/   )rG   rH   s   "€r8   rI   rc   ç  s   ø€ ÷ ñ ¨4ñ r7   c                óH  € V P                   '       g8   V P                  R 4       \        V P                  4      V P                  8¼  d   R# RV n        V P                  '       g.   V P                  e    V P                  P                  4        R# R# R#   \         d     R# i ; i)r7   NF)
rë   rø   rî   rz   rh   rj   Ú_reading_pausedr”   Úresume_readingr   r•   s   &r8   Ú_resume_msg_queue_readingÚ(RequestHandler._resume_msg_queue_readingç  s†   € Ø�~�~ˆ~ð ×Ñ˜sÔ#Ü�4—>‘>Ó" d×&>Ñ&>Ô>ÙØ!&ˆÔØ×#×#Ð#¨¯©Ò(BðØ—‘×-Ñ-Ö/ñ )CÑ#øô /ô ò ðús   Á2B ÂB!Â B!c                ó$   <€ V ^8„  d   QhRS[ RR/# )r@   Úvalr�   Nrû   )rG   rH   s   "€r8   rI   rc   ø  s   ø€ ÷ *ñ *™dð * tñ *r7   c                ó|   € Wn         V P                  '       d$   V P                  P                  4        RV n        R# R# )z=Set keep-alive connection mode.

:param bool val: new state.
N)rn   rw   r·   )rŠ   r
  s   &&r8   Ú
keep_aliveÚRequestHandler.keep_aliveø  s4   € ð
 ŒØ×!×!Ð!Ø×"Ñ"×)Ñ)Ô+Ø%)ˆDÖ"ñ "r7   c                ó   <€ V ^8„  d   QhRR/# r    r/   )rG   rH   s   "€r8   rI   rc     s   ø€ ÷ "ñ "�tñ "r7   c                óp   € RV n         V P                  '       d   V P                  P                  4        R# R# )zwClose connection.

Stop accepting new pipelining messages and close
connection when handlers done processing messages.
TN)r†   r}   r·   r•   s   &r8   rð   ÚRequestHandler.close  s)   € ð ˆŒØ�<�<ˆ<Ø�L‰L×ÑÖ!ñ r7   c                ó   <€ V ^8„  d   QhRR/# r    r/   )rG   rH   s   "€r8   rI   rc     s   ø€ ÷ "ñ "˜Tñ "r7   c                óÎ   € RV n         V P                  '       d   V P                  P                  4        V P                  e$   V P                  P	                  4        RV n        R# R# )zForcefully close connection.TN)r‡   r}   r·   r”   rð   r•   s   &r8   rÃ   ÚRequestHandler.force_close  sI   € à ˆÔØ�<�<ˆ<Ø�L‰L×ÑÔ!Ø�>‰>Ò%Ø�N‰N× Ñ Ô"Ø!ˆDŽNñ &r7   c                ó>   <€ V ^8„  d   QhRS[ RS[RS[R,          RR/# )r@   ÚrequestÚresponseÚtimeNr�   )r%   r'   r`   )rG   rH   s   "€r8   rI   rc     s7   ø€ ÷ Pñ PÙ"ðPÙ.<ðPÙDIÈDÅLðPà	ñPr7   c                óè   € V P                   '       d`   V P                  eP   \        '       d   Vf   Q hV P                  P                  WV P                  P                  4       V,
          4       R # R # R # r¯   )r…   r   r   Úlogr¸   r  )rŠ   r  r  r  s   &&&&r8   Ú
log_accessÚRequestHandler.log_access  s[   € ð × × Ð  T×%7Ñ%7Ò%Cß‹}ØÒ'Ð'Ð'Ø×Ñ×"Ñ" 7°d·j±j·o±oÓ6GÈ$Õ6NÖOñ &DÑ r7   c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# ©r@   ÚargsÚkwr�   N©r   )rG   rH   s   "€r8   rI   rc     s"   ø€ ÷ +ñ +™sð +©#ð +°$ñ +r7   c                óf   € V P                   '       d   V P                  P                   ! V/ VB  R # R # r¯   )rR   rQ   ©rŠ   r  r  s   &*,r8   Ú	log_debugÚRequestHandler.log_debug  s'   € Ø�:�:ˆ:Ø�K‰K×Ò˜tÐ* rÔ*ñ r7   c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# r  r   )rG   rH   s   "€r8   rI   rc   !  s"   ø€ ÷ +ñ +¡3ð +©cð +°dñ +r7   c                ó>   € V P                   P                  ! V/ VB  R # r¯   )rQ   Ú	exceptionr"  s   &*,r8   Úlog_exceptionÚRequestHandler.log_exception!  s   € Ø�‰×Ò˜tÐ* rÔ*r7   c                ó   <€ V ^8„  d   QhRR/# r    r/   )rG   rH   s   "€r8   rI   rc   $  s   ø€ ÷ ñ  Dñ r7   c                óŒ  € R V n         V P                  '       g   V P                  '       g   R # V P                  pVP	                  4       pV P
                  pW#8  d#   VP                  W0P                  4      V n         R # V P                  '       d5   V P                  P                  4       '       g   V P                  4        R # R # R # r¯   )rw   r‡   rn   r¸   r  rv   Úcall_atÚ_process_keepaliver}   rÁ   rÃ   )rŠ   r]   ÚnowÚ
close_times   &   r8   r-  Ú!RequestHandler._process_keepalive$  s�   € Ø!%ˆÔØ××Ð D§O§O OÙà�z‰zˆØ�i‰i‹kˆØ×4Ñ4ˆ
ØÔà%)§\¡\°*×>UÑ>UÓ%VˆDÔ"Ùð �<�<ˆ< §¡× 1Ñ 1× 3Ò 3Ø×ÑÖñ !4‰<r7   c          
      ó~   <€ V ^8„  d   QhRS[ RS[R,          RS[S[ .S[S[,          3,          RS[S[S[3,          /# )r@   r  Ú
start_timeNrq   r�   )r%   r`   r   r   r'   r¢   ra   )rG   rH   s   "€r8   rI   rc   5  sR   ø€ ÷ )ñ )áð)ñ ˜D•Lð)ñ "¡; -±¹>Õ1JÐ"JÕKð	)ñ
 
‰~™tÐ#Õ	$ñ)r7   c              ƒ  ó¼  "  € R V n           Wn        V! V4      G Rj  x€L
 pRV n         \        VRR4      '       d   \        P                  ! R\
        4       V P                  WV4      G Rj  x€L
 w  rERT n         T P                  e   T P                  P                  R4       YE3#  L‰  RT n        i ; i LG  \         d*   pTpT P                  YT4      G Rj  x€L 
 w  rE Rp?LrRp?i\        P                   d    h \        P                   dM   pT P                  RTR7       T P                  TR4      pT P                  YT4      G Rj  x€L 
 w  rE Rp?LæRp?i\         d<   pT P                  TRT4      pT P                  YT4      G Rj  x€L 
 w  rE Rp?EL*Rp?ii ; i  RT n         T P                  e   T P                  P                  R4       i i ; i5i)	TNÚ__http_exception__Fzlreturning HTTPException object is deprecated (#2415) and will be removed, please raise the exception insteadzRequest handler timed out.©Úexc_infoiø  éô  )rˆ   ro   ÚgetattrÚwarningsÚwarnÚDeprecationWarningÚfinish_responser"   r^   rº   r»   r#  Úhandle_errorÚ	Exceptionr~   rí   )rŠ   r  r2  rq   ÚrespÚresetrB   s   &&&&   r8   Ú_handle_requestÚRequestHandler._handle_request5  s¸  é € ð %)ˆÔ!ð 	6ð-Ø(/Ô%Ù,¨WÓ5×5�à(,�Õ%ô �tÐ1°5×9Ò9Ü—’ð9ô 'ô	ð !%× 4Ñ 4°WÀJÓ O×O‰KˆDà(-ˆDÔ%Ø×#Ñ#Ò/Ø×$Ñ$×/Ñ/°Ô5àˆ{Ðñ? 6øà(,�Õ%úñ. Pøô- ô 	PØˆDØ $× 4Ñ 4°WÀJÓ O×OÐO‰KˆD”%ûÜ×%Ñ%ô 	ØÜ×#Ñ#ô 	PØ�N‰NÐ7À#ˆNÔFØ×$Ñ$ W¨cÓ2ˆDØ $× 4Ñ 4°WÀJÓ O×OÐO‰KˆD”%ûÜô 	PØ×$Ñ$ W¨c°3Ó7ˆDØ $× 4Ñ 4°WÀJÓ O×OÐO‰KˆD•%ûð	Pûð ).ˆDÔ%Ø×#Ñ#Ò/Ø×$Ñ$×/Ñ/°Õ5ð 0üsÍ   ‚GŒB) �B'žB) ¢B7 ªAF& Á-B5Á.F& Á43GÂ'B) Â)	B2Â2B7 Â5F& Â7F#ÃC&ÃCÃC&Ã!F& Ã&F#Ã=F#ÄF#Ä:EÅEÅEÅF& ÅF#Å'F#Å((FÆFÆFÆF& ÆF#Æ#F& Æ&3GÇGc                ó   <€ V ^8„  d   QhRR/# r    r/   )rG   rH   s   "€r8   rI   rc   `  s   ø€ ÷ S'ñ S'˜Tñ S'r7   c           	   ƒ  óR  "  € V P                   pV P                  pVf   Q hV P                  pRpV P                  f   Q hV P                  f   Q hV P
                  '       EgC   V P                  '       g2    VP                  4       V n        V P                  G Rj  x€L
  RV n        V P                  P                  4       w  rVV P                  e   V P                  P                  4        V P                  '       d5   \        V P                  4      V P                  8:  d   V P                  4        V P                   '       d   VP#                  4       MRpV;P$                  ^,          un        \'        W4      p\)        V\*        4      '       d   V P-                  V4      p	\.        pMV P                  p	T P                  TTT TV P0                  ;'       g    \2        P4                  ! V4      4      p
 V P7                  W§V	4      p\8        P:                  R8¼  d   \2        P<                  ! W±RR7      pMVP?                  V4      p VG Rj  x€L
 w  rM?T'       dA   T PC                  R4        RT
n"        T PF                  Ef'   TEe"   T PC                  R4       EM\I        TPJ                  4      T n&        TPO                  4       '       Eg   T PP                  pT P
                  '       g®   T'       d¦   T PC                  RT4       TP#                  4       pYþ,           p TPO                  4       '       ge   TT8  d^   \S        TT,
          4      ;_uu_4       GRj  x€L
  TPU                  4       G Rj  x€L
  RRR4      GRj  x€L
  TP#                  4       pKz  TPO                  4       '       g4   T P
                  '       g"   T PC                  R4       T P]                  4        TP_                  \`        4       RT
n"        T PF                  f   Te   T PC                  R4       T PL                  '       dx   T Pj                  '       gf   T P
                  '       gT   TP#                  4       T,           pTT n6        T Pn                  f%   TPq                  TT Pr                  4      T n7        EKQ  EKT   V P
                  '       g4   RV n        V PF                  e   V PF                  P]                  4        R# R# R#  ELR  RT n        i ; i EL´  \@         dD    T PC                  R4        RT
n"        T PF                  e   K�  Tf   K“  T PC                  R4       K¦  i ; i ELû ELæ ELÙ  + GRj  x€L 
 '       g   i     ELñ; i  \2        PV                  \2        PX                  3 dN    \8        P:                  R8¼  d5   \2        P4                  ! 4       ;p'       d   TP[                  4       '       d   h  ELSi ; i  \2        PV                   d$    T PC                  R4       T Pc                  4        h \d         d/   pT Pg                  R	TR
7       T Pc                  4         Rp?ELcRp?i\h         d    T Pc                  4        h i ; i  RT
n"        T PF                  f   Te   T PC                  R4       i i i ; i5i)a/  Process incoming request.

It reads request line, request headers and request payload, then
calls handle_request() method. Subclass has to override
handle_request(). start() handles various exceptions in request
or response handling. Connection is being closed always unless
keep_alive(True) specified.
NTrÊ   z&Ignored premature client disconnectionz'Ignored premature client disconnection.z(Ignored premature client disconnection 2z'Start lingering close timer for %s sec.zUncompleted request.zUnhandled exceptionr5  rÌ   r´   ):r¸   rp   rx   rt   rr   r‡   rz   r¹   r}   ÚpopleftrÙ   Úmessage_consumedrj   rî   ri   r  r…   r  Úrequests_countr   Ú
isinstancer>   Ú_make_error_handlerÚERRORr   r^   r¾   rA  r¼   r½   rÐ   rÒ   ÚConnectionErrorr#  Ú_taskr”   ra   r  rn   Úis_eofry   r   Úreadanyrº   r»   r¿   rð   Úset_exceptionÚ_PAYLOAD_ACCESS_ERRORrÃ   r>  r(  rE   r†   rv   rw   r,  r-  )rŠ   r]   r\   rT   r?  rC   rõ   rÑ   Úwriterrq   r  ÚcororÄ   r@  rW   r.  Úend_tÚtrB   r/  s   &                   r8   rÑ   ÚRequestHandler.start`  sE  é € ð �z‰zˆØ—-‘-ˆØÒ"Ð"Ð"Ø ×3Ñ3ÐØˆØ×$Ñ$Ò0Ð0Ð0Ø×$Ñ$Ò0Ð0Ð0à×#×#Ñ#Ø—>—>�>ð(à#'×#5Ñ#5Ó#7�D”LØŸ,™,×&Ð&à#'�D”Là#Ÿ~™~×5Ñ5Ó7ÑˆGð �|‰|Ò'Ø—‘×-Ñ-Ô/à×&×&Ð&Ü˜Ÿ™Ó'¨4×+FÑ+FÔFà×.Ñ.Ô0ð $(×#8×#8Ð#8�D—I‘I”K¸dˆEà×"Ò" aÕ'Õ"Ü! $Ó-ˆFÜ˜'¤8×,Ò,à"&×":Ñ":¸7Ó"C�Ü‘à"&×"7Ñ"7�ð
 ×+Ñ+ØØØØØ×"Ñ"×@Ð@¤g×&:Ò&:¸4Ó&@óˆGðCNà×+Ñ+¨G¸OÓL�Ü×#Ñ# wÔ.Ü"Ÿ<š<¨ÀTÔJ‘Dà×+Ñ+¨DÓ1�DðØ(,§*‘K�Dð ßØ—N‘NÐ#MÔNØð` !%�”Ø—>‘>Ó)¨dÓ.>Ø—N‘NÐ#LÖMô_ #' t§¡Ó"7�”ð —~‘~×'Ó'Ø%)×%9Ñ%9�NØ×,×,Ð,·ØŸ™ØEÀ~ôð #Ÿi™i›k˜Ø #Õ 4˜ð&Ø&-§n¡n×&6Ò&6¸3À¼;Ü+7¸À½×+D×+DÕ+Dà*1¯/©/Ó*;×$;Ð$;÷ ,E×+Dð '+§i¡i£k¢ð #Ÿ>™>×+Ò+°D×4E×4EÐ4EØŸ™Ð'=Ô>ØŸ
™
œà×%Ñ%Ô&;Ô<ð !%�”Ø—>‘>Ò)¨dÒ.>Ø—N‘NÐ#LÔMà��ˆ t§{§{ {¸4×;L×;LÐ;Là!ŸY™Y›[Ð+<Õ<�
Ø2<�Ô/Ø×)Ñ)Ò1Ø-1¯\©\Ø" D×$;Ñ$;ó.�D×*ò 2ð
 ð × × Ð Ø!%ˆDÔØ�~‰~Ò)Ø—‘×$Ñ$Ö&ñ *ñ !òu 'øà#'�D•Lúò^ #-øÜ&ô Ø—N‘NÐ#KÔLØðl !%�”Ø—>‘>Ô)¨dÔ.>Ø—N‘NÐ#LÖMðuúò4 ,Eâ$;÷ ,E×+D×+DÔ+Dûô !(× 6Ñ 6¼×8LÑ8LÐMô &ä #× 0Ñ 0°GÔ ;Ü*1×*>Ò*>Ó*@Ð%@ QÖ%@Ø$%§L¡L§N¢Nà %úð&ûô ×)Ñ)ô Ø—‘ÐGÔHØ× Ñ Ô"ØÜô #Ø×"Ñ"Ð#8À3Ð"ÔGØ× Ñ ×"Ò"ûÜ ô Ø× Ñ Ô"Øðûð !%�”Ø—>‘>Ò)¨dÒ.>Ø—N‘NÐ#LÕMð /?Ð)üs½  ‚AZ'Á"Z'Á5$S. ÂS+ÂS. ÂAZ'Ã;AZ'ÅBZ'ÇZ'Ç/AW) ÉS= ÉS:ÉS= ÉW) ÉW) É(Z'É=Z'ÊZ'ÊAW) Ë%W) Ë-*W) ÌU4 Ì.%U4 ÍUÍU4 ÍUÍ+UÍ,UÍ0U4 Í;UÍ<U4 ÎW) Î(W) Î:6W) Ï0;Z'Ð,Z'Ð>Z'ÑA%Z'Ò65Z'Ó+S. Ó.	S7Ó7Z'Ó:S= Ó=UÔW) ÔZ'Ô1Z'Ô7Z'Õ
UÕW) ÕU4 ÕUÕU4 ÕU1	ÕU Õ
U1	Õ)U1	Õ+	U4 Õ4AW&×W&×!W&×"W) ×%W&×&W) ×)?Y3Ø)Y3Ø*#YÙY6 ÙY3Ù Y3Ù3Y6 Ù6.Z$Ú$Z'c          
      óV   <€ V ^8„  d   QhRS[ RS[RS[R,          RS[S[S[3,          /# )r@   r  r?  r2  Nr�   )r%   r'   r`   r¢   ra   )rG   rH   s   "€r8   rI   rc   õ  s;   ø€ ÷ -ñ -Ù"ð-Ù*8ð-ÙFKÈdÅlð-á	‰~™tÐ#Õ	$ñ-r7   c              ƒ  óª  "  € VP                  4        V P                  e³   V P                  P                  R4       RV n        V P                  '       d   V P                  P                  V P                  4      w  rEpW`n        V F:  w  rxV ;P                  ^,          un        V P                  P                  Wx34       K<  	  V P                  e   Q h VP                  p	 V	! V4      G Rj  x€L
  VP'                  4       G Rj  x€L
  T P+                  YT4       TR3#   \         d|    Tf   T P                  R4       MT P                  RT: 24       \        4       p
\        T
P                  T
P                   T
P"                  T
P$                  R7      pTP                  p	 LÄi ; i L» L¥  \(         d    T P+                  YT4       TR3u # i ; i5i)zØPrepare the response and write_eof, then log access.

This has to
be called within the context of any exception so the access logger
can get exception information. Returns True if the client disconnects
prematurely.
NFz+Missing return statement on request handlerz3Web-handler should return a response instance, got )rA   ÚreasonÚtextÚheadersT)Ú_finishrÙ   Úset_upgradedrë   r{   rà   rm   rz   rì   r}   ÚprepareÚAttributeErrorr(  r#   r&   rA   rX  rY  rZ  Ú	write_eofrK  r  )rŠ   r  r?  r2  rñ   rë   ró   rô   rõ   Úprepare_methrB   s   &&&&       r8   r<  ÚRequestHandler.finish_responseõ  s–  é € ð 	�‰ÔØ�<‰<Ò#Ø�L‰L×%Ñ% eÔ,Ø"ˆDŒNØ×!×!Ð!Ø,0¯L©L×,BÑ,BÀ4×CUÑCUÓ,VÑ)� TØ%)Ô"Û$,‘L�CØ×'Ò'¨1Õ,Õ'Ø—N‘N×)Ñ)¨3¨.Ö9ñ %-ð
 —|‘|Ò+Ð+Ð+ð	(ØŸ<™<ˆLð	Ù˜wÓ'×'Ð'Ø—.‘.Ó"×"Ð"ð
 	�‰˜ zÔ2Ø�Uˆ{Ðøô) ô 	(ØŠ|Ø×"Ñ"Ð#PÕQà×"Ñ"ØIÈ$ÉÐRôô *Ó+ˆCÜØ—z‘z¨#¯*©*¸3¿8¹8ÈSÏ[É[ôˆDð  Ÿ<™<ŠLð	(úñ (Ù"øÜô 	Ø�O‰O˜G¨:Ô6Ø˜�:Òð	üst   ‚AGÁA>GÃD Ã!F, Ã,F(Ã-F, ÄF*ÄF, Ä	GÄBF%Æ"GÆ$F%Æ%GÆ(F, Æ*F, Æ,!GÇGÇGÇGc          
      óT   <€ V ^8„  d   QhRS[ RS[RS[R,          RS[R,          RS[/# )r@   r  rA   rB   NrC   r�   )r%   rD   rE   rF   r'   )rG   rH   s   "€r8   rI   rc   $  sF   ø€ ÷ <ñ <áð<ñ ð<ñ ˜TÕ!ð	<ñ
 �t•ð<ñ 
ñ<r7   c                ó¶  € V P                   ^8X  d@   \        V\        4      '       d*   V P                  P	                  RVP
                  VR7       MV P                  RVP
                  VR7       VP                  P                  ^ 8”  d   \        R4      hRpV\        P                  8X  dþ   \        P                  P                   R\        P                  P                   2p\        P                  P                  pRpV P                  '       d6   \        \         4      ;_uu_ 4        \"        P$                  ! 4       pRRR4       RVP&                  P)                  RR	4      9   d)   V'       d   \+        V4      pR
V R2pRV RV RV R2pRpMV'       d   TpVR,           V,           p\-        W$VR7      p	V	P/                  4        V	#   + '       g   i     L’; i)zƒHandle errors.

Returns HTTP response with specific status code. Logs additional
information. It always closes current connection.
zError handling request from %sr5  zMResponse is sent already, cannot send another response with the error messagez
text/plainÚ Nz	text/htmlÚAcceptÚ z<h2>Traceback:</h2>
<pre>z</pre>z<html><head><title>z</title></head><body>
<h1>z</h1>
z
</body></html>
z

)rA   rY  Úcontent_type)rm   rH  r   rQ   rR   Úremoter(  rQ  Úoutput_sizerK  r	   ÚINTERNAL_SERVER_ERRORÚvalueÚphraseÚdescriptionr   r>  Ú	tracebackÚ
format_excrZ  ÚgetÚhtml_escaper&   rÃ   )
rŠ   r  rA   rB   rC   ÚctÚtitlerô   Útbr?  s
   &&&&&     r8   r=  ÚRequestHandler.handle_error$  s§  € ð ×Ñ !Ô#¬
°3¼×(FÒ(Fð
 �K‰K×ÑØ0°'·.±.È3ð õ ð ×ÑØ0°'·.±.È3ð ô ð
 �>‰>×%Ñ%¨Ô)Ü!ð)óð ð
 ˆØ”Z×5Ñ5Ô5Ü!×7Ñ7×=Ñ=Ð>¸aÄ
×@`Ñ@`×@gÑ@gÐ?hÐiˆEÜ×2Ñ2×>Ñ>ˆCØˆBØ�z�zˆzÜœi×(Õ(Ü"×-Ò-Ó/�B÷ )ð ˜gŸo™o×1Ñ1°(¸BÓ?Ô?ßÜ$ R›�BØ6°r°d¸&ÐA�CðØ#˜Wð %*Ø*/¨ð 1Ø˜Ð/ð1ð ð !‘çØ�CØ &�.¨3Õ.�ä˜vÀ"ÔEˆØ×ÑÔàˆ÷- )×(ús   Ä(GÇG	c                óN   <€ V ^8„  d   QhRS[ RS[S[.S[S[,          3,          /# )r@   Úerr_infor�   )r>   r   r%   r   r'   )rG   rH   s   "€r8   rI   rc   b  s.   ø€ ÷ ñ Ù ðá	‘;�-¡©>Õ!:Ð:Õ	;ñr7   c                ó   a a€ R  VV 3R llpV# )c                ó0   € V ^8„  d   QhR\         R\        /# )r@   r  r�   )r%   r'   )rG   s   "r8   rI   Ú8RequestHandler._make_error_handler.<locals>.__annotate__e  s   € ÷ 	ñ 	¤;ð 	´>ñ 	r7   c              “   óp   <"  € SP                  V SP                  SP                  SP                  4      # 5ir¯   )r=  rA   rB   rC   )r  rw  rŠ   s   &€€r8   ÚhandlerÚ3RequestHandler._make_error_handler.<locals>.handlere  s0   øé € Ø×$Ñ$Ø˜Ÿ™¨(¯,©,¸×8HÑ8Hóð ùs   ƒ36r/   )rŠ   rw  r|  s   ff r8   rI  Ú"RequestHandler._make_error_handlerb  s   ù€ ÷	ñ 	ð
 ˆr7   )%r‰   r†   ro   r|   r‡   r~   rn   rw   rx   ry   r…   rp   rh   r{   rz   rj   ri   rv   rÙ   r€   rm   rt   rr   rˆ   r   ru   r�   rë   r}   rS   r   rR   rQ   rN   rO   rP   r”   )"rN   rO   rP   rm   rn   rp   rr   rt   ru   rv   rw   rx   ry   rz   rh   ri   rj   r{   r~   r}   r   r€   r|   rQ   rR   rS   r   r†   r‡   ro   r�   rˆ   r…   r‰   )g      .@r¯   )r7  NN)+r1   r2   r3   r4   r5   Ú	__slots__r   r$   r   Ú
LOG_FORMATr   rl   r–   r   r�   r¥   rª   ÚpropertyrT   rÅ   rÎ   r×   rá   rå   rø   rý   rï   r  r  rð   rÃ   r  r#  r(  r-  rA  rÑ   r<  r=  rI  r6   rL   Ú__classcell__)rŒ   rH   s   @@r8   r(   r(   c   sý  ù‡ € ñ%ðN#€IðJZ)ð $(ðZ)ð #ðZ)ð 'ðZ)ð 8DðZ)ð +ðZ)ð ".×!8Ñ!8ðZ)ð ðZ)ð "ðZ)ð ðZ)ð #ðZ)ð  !%ð!Z)ð" /ð#Z)ð$ !%ð%Z)ð& )*÷'Z)õ Z)÷x
ð 
ð ÷
ó ð
ð ÷
ó ð
ð ÷
ó ð
ð ÷'ó ð'÷0ò 0÷d"ó "÷"(ó (÷@%ò %÷ð ÷/ð /÷b&ð &÷ð ÷ð ÷"*ð *÷"ð "÷"ð "÷Pð P÷+ð +÷+ð +÷ð ÷")ð )÷VS'ð S'÷j-ð -÷^<ò <÷|÷ ð r7   )r(   r)   r*   )Rr^   Úasyncio.streamsr¼   rn  r9  Úcollectionsr   Úcollections.abcr   r   r   Ú
contextlibr   Úhtmlr   rq  Úhttpr	   Úloggingr
   Útypingr   r   r   r   ÚattrÚyarlÚ	propcacher   Úabcr   r   Úbase_protocolr   r   Úhelpersr   r   r   r   r   r   r   r   Úhttp_exceptionsr   r  r   r   Ústreamsr   r    Útcp_helpersr!   Úweb_exceptionsr"   r#   Úweb_logr$   Úweb_requestr%   Úweb_responser&   r'   Ú__all__rg   ÚsslÚ
web_serverr+   Ú_RequestFactoryÚ_RequestHandlerÚURLrJ  r>  r)   r*   rP  Úsr>   r¢   Ú_MsgTyper(   r/   r7   r8   Ú<module>r      s[  ðÛ Û Û 
Û Û Ý ß 9Ñ 9Ý Ý &Ý Ý ß 5Ó 5ã Û Ý +ç ;ß Dß 5÷÷ õ +ß -ß 0Ý &ß BÝ !Ý $ß 2à
I€ð
 Ð çÛå"ð àØØØØðð ðõ	€ð ˜K˜=¨)°NÕ*CÐCÕD€áØØØØØØØØ	Ø	Ø‡H‚HˆSƒMó	€ô!˜)ô !ô8˜ô 8ñ +Ó,Ð ð ‡‚�T $¨dÔ3÷ð ó 4ðð Ð" XÕ-¨|Ð;Õ<€ôG�\ö Gr7   