ó
    Û°›jp  ã                   óî  • S SK r S SKrS SKrS SKJrJr  S SKJrJrJ	r	J
r
JrJr  S SKJrJrJr  S SKJr  S SK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  \(       a  S	SKJ r   S	SK!J"r"  S	SK#J$r$J%r%  S	SK&J'r'  O
\=r$=r%=r r'\r" " S S\5      r( " S S\5      r) " S S\5      r* " S S\5      r+ " S S\5      r,\(       a	  \
\\-      r.O\
r.\S/\/4   r0 " S S\\.5      r1 " S S\5      r2 " S S \5      r3g)!é    N)ÚABCÚabstractmethod)Ú	AwaitableÚCallableÚ	GeneratorÚIterableÚSequenceÚSized)Ú
BaseCookieÚMorselÚSimpleCookie)ÚMappingProxyType)ÚTYPE_CHECKINGÚAnyÚ	TypedDict)ÚCIMultiDict)ÚURLé   )Úparse_set_cookie_headers)ÚLooseCookies)ÚApplication)ÚHTTPException)ÚBaseRequestÚRequest)ÚStreamResponsec                   ón   • \ rS rSrSS jrS\SS4S jr\S\4S j5       r	SS jr
\S	\SS
4S j5       rSrg)ÚAbstractRouteré   ÚreturnNc                 ó   • SU l         g )NF©Ú_frozen©Úselfs    ÚH/home/mande/repo/quber/.venv/lib/python3.13/site-packages/aiohttp/abc.pyÚ__init__ÚAbstractRouter.__init__   s	   € Øˆ�ó    Úappc                 ó   • g)zšPost init stage.

Not an abstract method for sake of backward compatibility,
but if the router wants to be aware of the application
it can override this.
N© ©r$   r)   s     r%   Ú	post_initÚAbstractRouter.post_init   ó   � r(   c                 ó   • U R                   $ ©Nr!   r#   s    r%   ÚfrozenÚAbstractRouter.frozen&   s   € à�|‰|Ðr(   c                 ó   • SU l         g)zFreeze router.TNr!   r#   s    r%   ÚfreezeÚAbstractRouter.freeze*   s	   € àˆ�r(   ÚrequestÚAbstractMatchInfoc              ƒ   ó   #   • g7f)z#Return MATCH_INFO for given requestNr+   ©r$   r7   s     r%   ÚresolveÚAbstractRouter.resolve.   ó   é � ùó   ‚r!   ©r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r&   r   r-   ÚpropertyÚboolr2   r5   r   r   r;   Ú__static_attributes__r+   r(   r%   r   r      s]   † ôð˜[ð ¨Tô ð ð˜ó ó ðôð ð2 Wð 2Ð1Dó 2ó ó2r(   r   c                   ó,  • \ rS rSrSr\\S\\/\	\
   4   4S j5       5       r\\S\\/\	\
S-     4   4S j5       5       r\\S\S-  4S j5       5       r\S\\\4   4S j5       r\\S\\S	4   4S
 j5       5       r\S\SS4S j5       r\SS j5       rSrg)r8   é3   r+   r   c                 ó   • g)zExecute matched request handlerNr+   r#   s    r%   ÚhandlerÚAbstractMatchInfo.handler7   r/   r(   Nc                 ó   • g)z*Expect handler for 100-continue processingNr+   r#   s    r%   Úexpect_handlerÚ AbstractMatchInfo.expect_handler<   r/   r(   c                 ó   • g)z<HTTPException instance raised on router's resolving, or NoneNr+   r#   s    r%   Úhttp_exceptionÚ AbstractMatchInfo.http_exceptionC   r/   r(   c                 ó   • g)z;Return a dict with additional info useful for introspectionNr+   r#   s    r%   Úget_infoÚAbstractMatchInfo.get_infoH   r/   r(   .c                 ó   • g)zLStack of nested applications.

Top level application is left-most element.

Nr+   r#   s    r%   ÚappsÚAbstractMatchInfo.appsL   r/   r(   r)   c                 ó   • g)z)Add application to the nested apps stack.Nr+   r,   s     r%   Úadd_appÚAbstractMatchInfo.add_appU   r/   r(   c                 ó   • g)zoFreeze the match info.

The method is called after route resolution.

After the call .add_app() is forbidden.

Nr+   r#   s    r%   r5   ÚAbstractMatchInfo.freezeY   r/   r(   r?   )r@   rA   rB   rC   Ú	__slots__rD   r   r   r   r   r   rJ   rM   r   rP   ÚdictÚstrr   rS   Útupler   rV   rY   r5   rF   r+   r(   r%   r8   r8   3   s'  † à€IàØð.˜ 7 )¨Y°~Ñ-FÐ"FÑGó .ó ó ð.ð Øð9à	�7�)˜Y ~¸Ñ'<Ñ=Ð=Ñ	>ó9ó ó ð9ð
 ØðK °Ñ 4ó Kó ó ðKð ðJ˜$˜s C˜x™.ó Jó ðJð Øð�e˜K¨Ð,Ñ-ó ó ó ðð ð8˜;ð 8¨4ó 8ó ð8ð óó ór(   r8   c                   óf   • \ rS rSrSrS\SS4S jr\S\4S j5       r\	S\
SS\4   4S j5       rS	rg)
ÚAbstractViewéd   zAbstract class based view.r7   r   Nc                 ó   • Xl         g r1   ©Ú_requestr:   s     r%   r&   ÚAbstractView.__init__g   s   € Ø�r(   c                 ó   • U R                   $ )zRequest instance.re   r#   s    r%   r7   ÚAbstractView.requestj   s   € ð �}‰}Ðr(   c                 ó   • g)zExecute the view handler.Nr+   r#   s    r%   Ú	__await__ÚAbstractView.__await__o   r/   r(   re   )r@   rA   rB   rC   Ú__doc__r   r&   rD   r7   r   r   r   rk   rF   r+   r(   r%   rb   rb   d   sZ   † Ù$ð  ð  ¨Dô  ð ð˜ó ó ðð ð(˜9 T¨4°Ð%?Ñ@ó (ó ó(r(   rb   c                   óV   • \ rS rSr% Sr\\S'   \\S'   \\S'   \\S'   \\S'   \\S'   S	rg
)ÚResolveResultét   aq  Resolve result.

This is the result returned from an AbstractResolver's
resolve method.

:param hostname: The hostname that was provided.
:param host: The IP address that was resolved.
:param port: The port that was resolved.
:param family: The address family that was resolved.
:param proto: The protocol that was resolved.
:param flags: The flags that were resolved.
ÚhostnameÚhostÚportÚfamilyÚprotoÚflagsr+   N)	r@   rA   rB   rC   rm   r_   Ú__annotations__ÚintrF   r+   r(   r%   ro   ro   t   s'   ‡ ñð ƒMØ
ƒIØ
ƒIØƒKØƒJØ†Jr(   ro   c                   ó†   • \ rS rSrSr\S\R                  4S\S\	S\R                  S\\   4S jj5       r\SS
 j5       rSrg	)ÚAbstractResolveréŠ   zAbstract DNS resolver.r   rr   rs   rt   r   c              ƒ   ó   #   • g7f)z$Return IP address for given hostnameNr+   )r$   rr   rs   rt   s       r%   r;   ÚAbstractResolver.resolve�   r=   r>   Nc              ƒ   ó   #   • g7f)zRelease resolverNr+   r#   s    r%   ÚcloseÚAbstractResolver.close“   r=   r>   r+   r?   )r@   rA   rB   rC   rm   r   ÚsocketÚAF_INETr_   rx   ÚAddressFamilyÚlistro   r;   r   rF   r+   r(   r%   rz   rz   Š   s_   † Ù àà%&ÀvÇ~Á~ñ3Øð3Ø"ð3Ø06×0DÑ0Dð3à	ˆmÑ	ô3ó ð3ð
 óó ór(   rz   zMorsel[str]c                   ó¢  • \ rS rSrSrSS.S\R                  S-  SS4S jjr\\	S\
4S j5       5       r\\	S\
4S	 j5       5       r\\	S\\\\4   \4   4S
 j5       5       r\\	S\\\\4      4S j5       5       r\	SS\S-  SS4S jj5       r\	S\SS4S j5       r\	\" 5       4S\S\SS4S jj5       rS\\   S\SS4S jr\	S\SS4S j5       rSrg)ÚAbstractCookieJaré¡   zAbstract Cookie Jar.N)Úlooprˆ   r   c                óJ   • U=(       d    [         R                  " 5       U l        g r1   )ÚasyncioÚget_running_loopÚ_loop)r$   rˆ   s     r%   r&   ÚAbstractCookieJar.__init__¤   s   € Ø×7œW×5Ò5Ó7ˆ�
r(   c                 ó   • g)z5Return True if cookies can be used with IP addresses.Nr+   r#   s    r%   ÚunsafeÚAbstractCookieJar.unsafe§   r/   r(   c                 ó   • g)z(Return True if cookies should be quoted.Nr+   r#   s    r%   Úquote_cookieÚAbstractCookieJar.quote_cookie¬   r/   r(   c                 ó   • g)z&Return the cookies stored in this jar.Nr+   r#   s    r%   ÚcookiesÚAbstractCookieJar.cookies±   r/   r(   c                 ó   • g)z0Return the host-only cookies stored in this jar.Nr+   r#   s    r%   Úhost_only_cookiesÚ#AbstractCookieJar.host_only_cookies¶   r/   r(   Ú	predicatec                 ó   • g)z,Clear all cookies if no predicate is passed.Nr+   )r$   rš   s     r%   ÚclearÚAbstractCookieJar.clear»   r/   r(   Údomainc                 ó   • g)z0Clear all cookies for domain and all subdomains.Nr+   )r$   rž   s     r%   Úclear_domainÚAbstractCookieJar.clear_domain¿   r/   r(   r•   Úresponse_urlc                 ó   • g)zUpdate cookies.Nr+   )r$   r•   r¢   s      r%   Úupdate_cookiesÚ AbstractCookieJar.update_cookiesÃ   r/   r(   Úheadersc                 ó\   • U(       a%  [        U5      =n(       a  U R                  X25        ggg)z+Update cookies from raw Set-Cookie headers.N)r   r¤   )r$   r¦   r¢   Úcookies_to_updates       r%   Úupdate_cookies_from_headersÚ-AbstractCookieJar.update_cookies_from_headersÇ   s/   € ö Ô-EÀgÓ-NÐNÐ)ÕNØ×ÑÐ 1Õ@ð Oˆ7r(   Úrequest_urlzBaseCookie[str]c                 ó   • g)z6Return the jar's cookies filtered by their attributes.Nr+   )r$   r«   s     r%   Úfilter_cookiesÚ AbstractCookieJar.filter_cookiesÎ   r/   r(   )rŒ   r1   )r@   rA   rB   rC   rm   rŠ   ÚAbstractEventLoopr&   rD   r   rE   r�   r’   r   r`   r_   r   r•   Ú	frozensetr˜   ÚClearCookiePredicaterœ   r    r   r   r¤   r	   r©   r­   rF   r+   r(   r%   r†   r†   ¡   sš  † ÙàCGò 8 × 9Ñ 9¸DÑ @ð 8ÈDõ 8ð ØðD˜ó Dó ó ðDð Øð7˜dó 7ó ó ð7ð Øð5Ð)¨%°°S°©/¸<Ð*GÑHó 5ó ó ð5ð Øð? 9¨U°3¸°8©_Ñ#=ó ?ó ó ð?ð ñ;Ð3°dÑ:ð ;Àdô ;ó ð;ð ð? 3ð ?¨4ó ?ó ð?ð ÙHKËñ  lð À#ð ÐRVô ó ððAØ ‘}ðAØ47ðAà	ôAð ðE¨#ð EÐ2Có Eó óEr(   r†   c                   ó  • \ rS rSr% SrSr\\S'   Sr\\S'   Sr	\S-  \S'   \
S\\-  \-  S	S4S
 j5       r\
SS\S	S4S jj5       r\
SS j5       r\
 SS\S\S-  S	S4S jj5       r\
SS j5       r\
S\SSS	S4S j5       rSS jrSrg)ÚAbstractStreamWriteréÓ   zAbstract stream writer.r   Úbuffer_sizeÚoutput_sizeNÚlengthÚchunkr   c              ƒ   ó   #   • g7f)zWrite chunk into stream.Nr+   ©r$   r¸   s     r%   ÚwriteÚAbstractStreamWriter.writeÚ   r=   r>   c              ƒ   ó   #   • g7f)zWrite last chunk.Nr+   rº   s     r%   Ú	write_eofÚAbstractStreamWriter.write_eofÞ   r=   r>   c              ƒ   ó   #   • g7f)zFlush the write buffer.Nr+   r#   s    r%   ÚdrainÚAbstractStreamWriter.drainâ   r=   r>   ÚencodingÚstrategyc                 ó   • g)zEnable HTTP body compressionNr+   )r$   rÃ   rÄ   s      r%   Úenable_compressionÚ'AbstractStreamWriter.enable_compressionæ   r/   r(   c                 ó   • g)zEnable HTTP chunked modeNr+   r#   s    r%   Úenable_chunkingÚ$AbstractStreamWriter.enable_chunkingì   r/   r(   Ústatus_liner¦   zCIMultiDict[str]c              ƒ   ó   #   • g7f)zWrite HTTP headersNr+   )r$   rË   r¦   s      r%   Úwrite_headersÚ"AbstractStreamWriter.write_headersð   r=   r>   c                 ó   • g)zÈForce sending buffered headers if not already sent.

Required only if write_headers() buffers headers instead of sending immediately.
For backwards compatibility, this method does nothing by default.
Nr+   r#   s    r%   Úsend_headersÚ!AbstractStreamWriter.send_headersö   r/   r(   r+   )r(   r?   )ÚdeflateN)r@   rA   rB   rC   rm   rµ   rx   rw   r¶   r·   r   ÚbytesÚ	bytearrayÚ
memoryviewr»   r¾   rÁ   r_   rÆ   rÉ   rÍ   rÐ   rF   r+   r(   r%   r³   r³   Ó   sÿ   ‡ Ù!à€K�ÓØ€K�ÓØ€FˆC�$‰JÓàð' ¨Ñ!2°ZÑ!?ð 'ÀDó 'ó ð'ð ñ  Uð  °Tô  ó ð ð ó&ó ð&ð à@Dñ+Øð+Ø36¸±:ð+à	ô+ó ð+ð
 ó'ó ð'ð ð!Øð!Ø);ð!à	ó!ó ð!÷
r(   r³   c            	       ó‚   • \ rS rSrSrSrS\R                  S\SS4S jr	\
S	\S
\S\SS4S j5       r\S\4S j5       rSrg)ÚAbstractAccessLoggeréþ   zAbstract writer to access log.©ÚloggerÚ
log_formatrÚ   rÛ   r   Nc                 ó   • Xl         X l        g r1   rÙ   )r$   rÚ   rÛ   s      r%   r&   ÚAbstractAccessLogger.__init__  s   € ØŒØ$�r(   r7   ÚresponseÚtimec                 ó   • g)zEmit log to logger.Nr+   )r$   r7   rÞ   rß   s       r%   ÚlogÚAbstractAccessLogger.log  r/   r(   c                 ó   • g)zCheck if logger is enabled.Tr+   r#   s    r%   ÚenabledÚAbstractAccessLogger.enabled  s   € ð r(   )rÛ   rÚ   )r@   rA   rB   rC   rm   r]   ÚloggingÚLoggerr_   r&   r   r   r   Úfloatrá   rD   rE   rä   rF   r+   r(   r%   r×   r×   þ   st   † Ù(à(€Ið%˜wŸ~™~ð %¸3ð %À4ô %ð ð"˜;ð "°.ð "Èð "ÐRVó "ó ð"ð ð˜ó ó ór(   r×   )4rŠ   ræ   r�   Úabcr   r   Úcollections.abcr   r   r   r   r	   r
   Úhttp.cookiesr   r   r   Útypesr   Útypingr   r   r   Ú	multidictr   Úyarlr   Ú_cookie_helpersr   Útypedefsr   Úweb_appr   Úweb_exceptionsr   Úweb_requestr   r   Úweb_responser   r   r8   rb   ro   rz   r_   ÚIterableBaserE   r±   r†   r³   r×   r+   r(   r%   Ú<module>r÷      sí   ðÛ Û Û ß #ß U× Uß 9Ñ 9Ý "ß 0Ñ 0å !Ý å 5Ý "æÝ$Ý-ß1Þ,à;>Ð>€KÐ>�'Ð>˜K¨.Ø€Mô2�Sô 2ô2.˜ô .ôb(�3ô (ô �Iô ô,�sô ö Ø˜F 3™KÑ(�Là€Lð    °Ð 5Ñ6Ð ô/E˜˜|ô /Eôd(˜3ô (ôV˜3õ r(   