� E�g���5�~�UdZddlZddlZddlZddlZddlZddlZddlZddlZddl m Z ddl m Z ddl mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z ddl!Z!ddl"m#Z#m$Z$m%Z%m&Z&ddl'm(Z(dd l)m*Z*m+Z+m,Z,dd l-m.Z.dd l/m0Z0dd l1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNdd lOmPZPmQZQmRZRmSZSmTZTddlUmVZVmWZWmXZXddlYmZZZm[Z[m\Z\m]Z]m^Z^ddl_m`Z`ddlambZbmcZcmdZdmeZemfZfmgZgmhZhmiZiddl+mjZjmkZkmlZlmmZmddlnmoZompZpmqZqddlrmsZsmtZtddlumvZvmwZwmxZxmyZymzZzdZ{erddl|m}Z}ndZ}ej~dkrerddl mZGd�ded���Z�e!j�ddd���Gd �d!����Z�e�d"d#�$��Z�ee�e�d%<e�hd&���Z�ed'eQeW��Z�eeQe�ge�fZ�Gd(�d)��Z�Gd*�d+eeee�fee���Z�e�eQZ�e�eWZ�Gd,�d-��Z�dddddddd.dddddddehde+j�dddd/d/d0�d1e�d2ezd3eyd4ed5ed6eexd7eee�d8eeed9e�d:e�d;ee�d<ee�d=e�d>ee�d?e�d@eezdAeeedBe e�e�fdCeewdDekdEee[dFee�dGeej�dHe�dIe�dJe�f4dK�Z�dS)LzHTTP Client for asyncio.�N)�suppress)� TracebackType)� TYPE_CHECKING�Any� Awaitable�Callable� Coroutine�Final� FrozenSet� Generator�Generic�Iterable�List�Mapping�Optional�Set�Tuple�Type� TypedDict�TypeVar�Union)� CIMultiDict� MultiDict�MultiDictProxy�istr)�URL�)�hdrs�http�payload)�WebSocketDataQueue)�AbstractCookieJar)�ClientConnectionError�ClientConnectionResetError�ClientConnectorCertificateError�ClientConnectorDNSError�ClientConnectorError�ClientConnectorSSLError� ClientError�ClientHttpProxyError� ClientOSError�ClientPayloadError�ClientProxyConnectionError�ClientResponseError�ClientSSLError�ConnectionTimeoutError�ContentTypeError� InvalidURL�InvalidUrlClientError�InvalidUrlRedirectClientError�NonHttpUrlClientError�NonHttpUrlRedirectClientError�RedirectClientError�ServerConnectionError�ServerDisconnectedError�ServerFingerprintMismatch�ServerTimeoutError�SocketTimeoutError�TooManyRedirects�WSMessageTypeError�WSServerHandshakeError)� ClientRequest�ClientResponse� Fingerprint� RequestInfo�_merge_ssl_params)�DEFAULT_WS_CLIENT_TIMEOUT�ClientWebSocketResponse�ClientWSTimeout)�HTTP_AND_EMPTY_SCHEMA_SET� BaseConnector�NamedPipeConnector� TCPConnector� UnixConnector)� CookieJar)� _SENTINEL�DEBUG�EMPTY_BODY_METHODS� BasicAuth� TimeoutHandle�get_env_proxy_for_url�sentinel�strip_auth_from_url)�WS_KEY� HttpVersion�WebSocketReader�WebSocketWriter)�WSHandshakeError� ws_ext_gen� ws_ext_parse)�Trace� TraceConfig)� JSONEncoder� LooseCookies� LooseHeaders�Query�StrOrURL)*r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r7r5r4r6r8r9r:r;r<r=r?r@rArBrCrIrKrLrJrF� ClientSession� ClientTimeoutrG�requestr>)� SSLContext��� )�Unpackc�Z�eZdZUeed<eed<eed<eedfed<eedfed<ee e dfed<ee dfed<e ed <e ed <ee e dfed <ee dfed <e ed <ede eegedffed<e ed<eedfed<ee dfed<ded<eee efed<ee dfed<eedfed<eee efdfed<ee dfed<ee dfed<ee dfed<ee dfed<dS)�_RequestOptions�params�data�jsonN�cookies�headers�skip_auto_headers�auth�allow_redirects� max_redirects�compress�chunked� expect100�raise_for_status�read_until_eof�proxy� proxy_authz%Union[ClientTimeout, _SENTINEL, None]�timeout�ssl�server_hostname� proxy_headers�trace_request_ctx� read_bufsize�auto_decompress� max_line_size�max_field_size)�__name__� __module__� __qualname__rb�__annotations__rrr`rar�strrQ�bool�intrrArrcrgrBr���^/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/aiohttp/client.pyrmrm�s�������� �M�M�M� �I�I�I� �I�I�I� �<��%� &�&�&�&� �<��%� &�&�&�&��X�c�]�D�0�1�1�1�1� � �4�� � � � ����������C��t�O�$�$�$�$� �4��:� �����O�O�O��D�$��.�1A�9�T�?�1R�(S�S�T�T�T�T����� ��4�� � � � ��i��o�&�&�&�&� 4�4�4�4� �z�4��,� -�-�-�-��3��9�%�%�%�%���t�+�,�,�,�,��W�S�#�X�.��4�5�5�5�5���T� �"�"�"�"��4��:�&�&�&�&���d��#�#�#�#��#�t�)�$�$�$�$�$�$r�rmF��totalT)� auto_attribs�frozen�slotsc��eZdZUdZeeed<dZeeed<dZeeed<dZ eeed<dZ eed<dS)reNr��connect� sock_read� sock_connect��ceil_threshold) r�r�r�r�r�floatr�r�r�r�r�r�r�r�rere�sr�������!�E�8�E�?�!�!�!�#�G�X�e�_�#�#�#�!%�I�x���%�%�%�$(�L�(�5�/�(�(�(��N�E�����r�rei,�)r�r��DEFAULT_TIMEOUT>�GET�PUT�HEAD�TRACE�DELETE�OPTIONS�_RetTypec?�� ��eZdZUdZegd���ZdZeej e d<dZ ee e d< d�dddddddde jeeeejdddededddddd d d �d �d eed ee deejdeedeedeedeedeeedeededeedeedeededee de!de"e!e#ege$dffde"e%e&fdee%de"e'e(fd e!d!e!d"e!d#ee)e*d$e+d%e+d&e+d'e,d(df:d)�Z-d*edd(dfd+�Z.e/r d,ed-e0d(df�fd.� Z1e2fd/e0d(dfd0�Z3e4j5d1kre6rd2ed3ed4e7e8d(d5fd6�Z9n d2ed3ed4e0d(d5fd7�Z9d8ed(e:fd9�Z;ddddddddd:dddddddedddddddddddd;�d2ed8ed<e<d=e0d>e0deedeedeeedeed?e!d@e+dAe"ee!dfdBee!dCe!de"de!e#ege$dffdDe!deedeede"e(e&fdEee!dFee=dGee>dHe"e>e!e?fdIeedJeedKee@ee0fd$ee+d ee!d%ee+d&ee+d(ef>dL�ZAeBjCdMedddddddddddddddddNdOdP�d3ed2edQeede"eDe&fdRee%dSe!dTe!dUee%deedVeed<e<deedeedeedHe"e>e!e?fdEee!dFee=dGee>dIeedJeedAe+dWe+d(dXf.dY�ZEeBjCdMedddddddddddddddddNdOdP�d3ed2edQeede"eDe&fdRee%dSe!dTe!dUee%deedVeed<e<deedeedeedHe"e>e!e?fdEee!dFee=dGee>dIeedJeedAe+dWe+d(ef.dZ�ZFdeed(d[fd\�ZGe4j5d1krse6rqd3ed4e7e8d(d5fd]�ZHd3ed4e7e8d(d5fd^�ZId3ed4e7e8d(d5fd_�ZJd3ed4e7e8d(d5fd`�ZKd3ed4e7e8d(d5fda�ZLd3ed4e7e8d(d5fdb�ZMd3ed4e7e8d(d5fdc�ZNndddd�d3ed?e!d4e0d(d5fde�ZHddd�d3ed?e!d4e0d(d5fdf�ZIddd�d3ed?e!d4e0d(d5fdg�ZJddh�d3ed=e0d4e0d(d5fdi�ZKddh�d3ed=e0d4e0d(d5fdj�ZLddh�d3ed=e0d4e0d(d5fdk�ZMd3ed4e0d(d5fdl�ZNd�dm�ZOePd(e!fdn���ZQePd(ee fdo���ZRePd(e fdp���ZSePd(eTe+e+ffdq���ZUePd(e!fdr���ZVeVjWd-e!d(dfds���ZVePd(ejfdt���ZXePd(e(fdu���ZYePd�dv���ZZePd(e[e\fdw���Z]ePd(eefdx���Z^ePd(efdy���Z_ePd(e!fdz���Z`ePd(e"e!e#ege$dfffd{���ZaePd(e!fd|���ZbePd(e!fd}���ZcePd(e)e*fd~���Zdd�d�Zed�d��Zfd�eeegd�eegd�eehd(dfd��Zid�d��Zjd�eeegd�eegd�eehd(dfd��Zk�xZlS)�rdz/First-class interface for making HTTP requests.)� _base_url�_base_url_origin�_source_traceback� _connector�_loop� _cookie_jar�_connector_owner� _default_auth�_version�_json_serialize�_requote_redirect_url�_timeout�_raise_for_status�_auto_decompress� _trust_env�_default_headers�_skip_auto_headers�_request_class�_response_class�_ws_response_class�_trace_configs� _read_bufsize�_max_line_size�_max_field_size�_resolve_charset�_default_proxy�_default_proxy_auth�_retry_connection�requote_redirect_urlNr�r�TF���c��dS)Nzutf-8r�)�r�bs r��<lambda>zClientSession.<lambda>,s��7�r�)� connector�looprqrrr|r}rsrt�json_serialize� request_class�response_class�ws_response_class�version� cookie_jar�connector_ownerrz� read_timeout� conn_timeoutr~r�� trust_envr�� trace_configsr�r�r��fallback_charset_resolver�base_urlr�r�rqrrr|r}rsrtr�r�r�r�r�r�r�rzr�r�r~r�r�r�r�r�r�r�r��returnc��d|_|� |�|j}|ptj��}|�t |t ��r%||_|�dn|���|_nHt |��|_|j���|_|jj s Jd���|j�.|jj � d��std���|tus|��t|_|tur<t!jdt$d���t'j|j|���|_|�<t'j|j|���|_t!jd t$d���net |t*��s td t-|���d ����||_|turtd ���|�td ���|�t/|���}|j|urt1d���||_|���r+t5jt9jd����|_|�t?|���}||_ |r|j �!|��||_||_"| |_#||_$| |_%||_&||_'||_(||_)||_*||_+||_,|rt[|��}nt[��}||_.|�t_d�|D����|_0nt_��|_0| |_1| |_2| |_3|pg|_4|j4D]}|�5���||_6||_7||_8d|_9dS)Nz Only absolute URLs are supported�/z!base_url must have a trailing '/'z8read_timeout is deprecated, use timeout argument instead��� stacklevelr�)r�z8conn_timeout is deprecated, use timeout argument insteadztimeout parameter cannot be of z. type, please use 'timeout=ClientTimeout(...)'zGread_timeout and timeout parameters conflict, please setup timeout.readzJconn_timeout and timeout parameters conflict, please setup timeout.connect�r�z0Session and connector has to use same event looprc3�4K�|]}t|��V��dS�N�r��.0�is r�� <genexpr>z)ClientSession.__init__.<locals>.<genexpr>�s(����/S�/S�A��Q���/S�/S�/S�/S�/S�/Sr�T):r�r��asyncio�get_running_loop� isinstancerr��originr��absolute�path�endswith� ValueErrorrTr�r��warnings�warn�DeprecationWarning�attr�evolvere�typerK� RuntimeError� get_debug� traceback� extract_stack�sys� _getframer�rMr��update_cookiesr�r�r�r�r�r�r�r�r�r�r�rr�� frozensetr�r�r�r�r��freezer�r�r�r�)�selfr�r�r�rqrrr|r}rsrtr�r�r�r�r�r�r�rzr�r�r~r�r�r�r�r�r�r�r�� real_headers� trace_configs r��__init__zClientSession.__init__ s���H48��� �<��$� ����1�w�/�1�1�� � �z�(�C�8�8� �,4�D�N�,4�,<�D�D�(�/�/�BS�BS�D� !� !� ��]�]�D�N�$(�N�$9�$9�$;�$;�D� !��>�*� N� N�,N� N� N�*� �>� %�d�n�.A�.J�.J�3�.O�.O� %��@�A�A� A� �h� � �'�/�+�D�M��8�+�+�� �N�&� ����� !%� �D�M�� N� N� N�� ��'� $� �D�M�<� P� P� P�� �� �N�&� ������ �g�}�5�5� � �>�d�7�m�m�>�>�>����$�D�M��8�+�+� �#���� �'� �&���� � �$�$�/�/�/�I� �?�$� &� &��Q�R�R� R��� � �>�>� � � O�%.�%<�S�]�1�=M�=M�%N�%N�D� "� � �"��-�-�-�J�%��� � 5� � � +� +�G� 4� 4� 4�#��� /���!����� �-���!1��� /���#���%9��"�)���+���-��� � )�-8��-A�-A�L�L�&�=�=�L�2>��� � (�&/�/S�/S�AR�/S�/S�/S�&S�&S�D� #� #�&/�k�k�D� #�+���-���"3���+�1�r��� �/� "� "�L� � � � !� !� !� !� 9���#���#-�� �'+����r��clsc�n�tjd�|j��td���dS)Nz6Inheritance class {} from ClientSession is discouragedr�r�)r�r��formatr�r�)rs r��__init_subclass__zClientSession.__init_subclass__�s?��� � �#�V�C�L�1�1� ��  � � � � � r��name�valc���||jvr/tjd�|��td���t ���||��dS)Nz8Setting custom ClientSession.{} attribute is discouragedr�r�)�ATTRSr�r�rr��super� __setattr__)r�rr� __class__s �r�r zClientSession.__setattr__�sa����4�:�%�%�� �%�%+�V�D�\�\�&� � ���� �G�G� � ��c� *� *� *� *� *r�� _warningsc��|jsMd|i}|jd|��tfi|��|dd�}|j� |j|d<|j�|��dSdS)N�sourcezUnclosed client session zUnclosed client session)�client_session�message�source_traceback)�closedr��ResourceWarningr�r��call_exception_handler)r�r �kwargs�contexts r��__del__zClientSession.__del__�s����{� 7���%�F� �I�N�3�4�3�3�_� � �HN� � � �*.�:S�T�T�G��%�1�.2�.D��*�+� �J� -� -�g� 6� 6� 6� 6� 6� 7� 7r�rh�method�urlr�_RequestContextManagerc ��dSr�r��r�rrrs r�rfzClientSession.request�s �� (+�sr�c �:�t|j||fi|����S)zPerform HTTP request.)r�_requestrs r�rfzClientSession.request�s(��*�-�$�-���*N�*N�v�*N�*N�O�O� Or�� str_or_urlc�x�t|��}|j�|S|jrJ�|j�|��Sr�)rr�r��join)r�r rs r�� _build_urlzClientSession._build_url�s>���*�o�o�� �>� !��J��|� #� #�#��>�&�&�s�+�+� +r�� )rnrorprqrrrsrtrurvrwrxryrzr{r|r}r~� verify_ssl� fingerprint� ssl_contextrr�r�r�r�r�r�r�rnrorprurvrwrxryr{r%r&r'rr�r�r�c�����K��jrtd���t||||��}|�|�td���|�t j|�j���}t| t��s| �tj dt��d}g} �j }!|pi}�� |��} ��|��}"n"#t$r}#t|��|#�d}#~#wwxYw�j�J�|"j�jjvrt'|"���|�d�|D���jz}$n�jr�j}$nd}$|��j}|��j}|�d}nH�� |��} t/|��}n"#t$r}#t1|��|#�d}#~#wwxYw|t2ur�j}%n(t|t6��st7|���}%n|}%t9�j|%j|%j���}&|&� ��}'|��j!}|��j"}|��j#}|��j$}��fd ��j%D��}(|(D]2})|)�&||"�'|��|���d{V���3|&�(��}* |*5�j)o|tTv}+ tW|"��\}"},|"j,s|rtZnt}-|-|"���| s| r|,rtd ���| �| r|,�|,} | �2�j.r+�j/r�j0|"�1��kr�j.} |�| �tdj3|vrtd ����j4�5|"��}.|�[tm�j4j7� ��}/|/�8|��|/�5|"��}0|0r|.�9|0��|�t/|��}nE�j:r>twtx��5t{|"��\}}ddd��n #1swxYwY��>||"|||$||.| |!| | |�j�j?|||*�|�|nd |||(�j@���}1 �j�A|1|(|%����d{V��}2n*#t�jC$r}3t�d|"����|3�d}3~3wwxYw|2jE�J�|2jF�J�|2jF�G|*|t�v|||%jI|�jjJ||�� �  |1�K|2���d{V��}4 |4� |2���d{V��n##t�$r|4�M���wxYwn##t�$r|2�M���wxYwne#t�t�f$r |+rd}+Y���t�$r�t�$r6}3|3jR�t|3t�jC��r�t�|3jS�|3�d}3~3wwxYw|4jTx}r �j4�8||4jU��|4jVdv�r�| �r�|(D]3})|)�W||"�'|��||4���d{V���4|dz }| �X|4��| rB|| kr<|4�M��t�| djZt�| �����|4jVdkr|4j\tdj]ks|4jVdvra|4j\tdj^krLtdj_}d}|�`tdja��r|�btdja��|4jc�`tdjd��p#|4jc�`tdje��}5|5��n(|4�f�� t/|5�jg ���}6n##t$r}#t[|5d��|#�d}#~#wwxYw|6j}7|7t�vr#|4�M��t�|5���|7s|"�j|6��}6 |6�1��}8n##t$r}9t[|6d��|9�d}9~9wwxYw|"�1��|8kr"d} |�btdj3d��|6}"i}|4�f����� ddd��n #1swxYwY|��jk}|�n7t�|��r||4���d{V��n|r|4�m��|'�;|4jn� |4jn�o|'jp��n|'�p��t�| ��|4_q|(D]3})|)�r||"�'|��||4���d{V���4|4S#t�$rh}#|&�M��|'r|'�p��d}'|(D]3})|)�s||"�'|��||#���d{V���4�d}#~#wwxYw)NzSession is closedz9data and json parameters can not be used at the same time)�dumpszChunk size is deprecated #1615rc�,�h|]}t|����Sr�r�r�s r�� <setcomp>z)ClientSession._request.<locals>.<setcomp>!s+�������Q�����r�r�)r�c �Z��g|]'}t�||���������(S))r�)r]�trace_config_ctx)r�rr�r�s ��r�� <listcomp>z*ClientSession._request.<locals>.<listcomp>QsP��� � � � � ����-�-�@Q�-�R�R� � � � � r�Tz<Cannot combine AUTH argument with credentials encoded in URLzTCannot combine AUTHORIZATION header with AUTH argument or credentials encoded in URL)� quote_cookie)rnrrrsrorqrtr�rwrxryr�r�r|r}�timer�sessionrr�r��tracesr�)r2r~zConnection timeout to host ) r0� skip_payloadr{r�r�r��timeout_ceil_thresholdr�r�F)�-�.�/i3i4rr7)r5r6)�encodedzHServer attempted redirecting to a location that does not look like a URLzInvalid redirect URL origin)trr�rDr�r � JsonPayloadr�r�r�r�r�r�r��_prepare_headersr#r3r��scheme�allowed_protocol_schema_setr5r�r�r�rr2rTr�rerRr�r�r��startr�r�r�r�r��send_request_start� update_queryr0r��IDEMPOTENT_METHODSrU�raw_hostr4r�r�r�r�r� AUTHORIZATIONr��filter_cookiesrMr/r��loadr�r� LookupErrorrSr�r�r�r�r�� TimeoutErrorr0� transport�protocol�set_response_paramsrPr��_timeout_ceil_threshold�send� BaseException�closer+r9r)�OSError�errno�args�_cookiesr�status�send_request_redirect�appendr=� request_info�tupler� METH_HEAD� METH_POST�METH_GET�get�CONTENT_LENGTH�poprr�LOCATION�URI�releaser�rHr6r"r��callablerz� connection� add_callback�cancel�_history�send_request_end�send_request_exception):r�rr rnrorprqrrrsrtrurvrwrxryrzr{r|r}r~r%r&r'rr�r�r�r�r�r�r�� redirects�historyr�r�e� skip_headers� real_timeout�tm�handler2�tracer0�retry_persistent_connection� auth_from_url� err_exc_cls� all_cookies�tmp_cookie_jar� req_cookies�req�conn�exc�resp�r_url�parsed_redirect_urlr;�redirect_origin�origin_val_errs:` ` r�rzClientSession._request�s� ������R �;� 4��2�3�3� 3���Z��k�J�J�� � �� 0��K��� �� ��&�t�4�3G�H�H�H�D��'�4�(�(� P�W�-@� �M�:�<N� O� O� O�� �(*���-����2���'�'��0�0�� ;��/�/�*�-�-�C�C��� ;� ;� ;�'� �3�3�� :����� ;������*�*�*� �:�T�_�H� H� H�'��,�,� ,� � (���!2�����'�(�L�L�� $� ��2�L�L��L� �=��'�E� � ��1�J� �=� �M�M� �1�1�-�@�@�M� /��E� � ����� /� /� /� ��'�'�Q�.����� /���� �h� � �*.�-�L�L��g�}�5�5� '�,�7�;�;�;� � �&� �� �J� �*�<�;V� � � �������� � ��-�L� � "�"�3�O� � � �/�M� � !�!�1�N� � � � � � !%� 3�  � � ��� V� V�E��*�*�6�3�3C�3C�F�3K�3K�W�U�U� U� U� U� U� U� U� U� U���� � ��@ ��X �X ��*�K�v�9K�/K�,�S�)<�S�)A�)A�&�C���<�/� )�7�9�9�!6�$� *�k�#�.�.�.�#������(�9�����|��|�M�4M�,��� � �.�%�!%��%�37�2G�3�:�:�<�<�2W�2W� $�1�� �+� �,� �.�'�9�9�(�-���� #'�"2�"A�"A�#�"F�"F�K��*�)2�)-�)9�)F�*�*�*��'�5�5�g�>�>�>�&4�&C�&C�C�&H�&H� �&�:�'�,�,�[�9�9�9��(� #�E� � �����K�%�k�2�2�K�K�0E�c�0J�0J�-�E�:�K�K�K�K�K�K�K�K�K�K�K����K�K�K�K��-�-���%� '�*6�!� +�!� '�!)� '�"+�!�Z�'+�';�#�#-�#� $�#&�?�C�C��(7�&3�%�"&�.�/.���C�6#�%)�_�%<�%<��� �&=�&�&� � � � � � ����#�/�#�#�#�4�?�#�?�?���"�#�����#����  �>�5�5�5��=�4�4�4��M�5�5�#�%+�/A�%A�'5�(7�%1�%;�%1�/3��/V�&3�'5�6� � � �@� "�),���$���#7�#7�#7�#7�#7�#7�D�&�&*�j�j��&6�&6� 6� 6� 6� 6� 6� 6� 6� 6��#0�&�&�&� $� � � � � � %�&����!7�� -�"�"�"� �J�J�L�L�L�!�"���� !7��*�+B�C����6�%�:?�7�$�H��&�����"�@�@�@��9�,��C��AU�1V�1V�,�!�+�S�X�6�C�?�����@���� #'�-�/�w�K��(�7�7����J�J�J��{�&?�?�?�O�?�%+���E�"'�"=�"=� &��(8�(8��(@�(@�'�4�#�#���������"�Q�� ����t�,�,�,�(��Y�-�-G�-G� �J�J�L�L�L�"2� '�� � 7��w���#�#�� !�K�3�.�.�4�;�$�.�3P�3P� �K�:�5�5�$�+���:W�:W�%)�]�F�#'�D�&�{�{�4�+>�?�?�A� '� � �D�,?� @� @� @� $� � 0� 0��� ?� ?�!�4�<�CS�CS� �H�D�D��!�=�!�!�L�L�N�N�N�%�25� %�4�3M�/M�3�3�3�/�/�� *�%�%�%�"?� %� j�#�#�$%�%�����%���� "5�!;��!�)B�B�B� �J�J�L�L�L�"?��"F�"F�F�!'�P�25�(�(�;N�2O�2O�/�2�.A�.H�.H�.J�.J�O�O��)�2�2�2�"?� 3� =�#�#�$2�2�����2���� �:�:�<�<�?�:�:�#'�D�#�K�K��(:�D�A�A�A�1��!#��� � ���� ��qX �X �X �X �X �X �X �X �X �X �X ����X �X �X �X �v �'�#'�#9� ��'���*�+�+� (�&�&�t�,�,�,�,�,�,�,�,�,�,�!� (��%�%�'�'�'��!��?�.��O�0�0���?�?�?�?��M�M�O�O�O�!�'�N�N�D�M�� � ���,�,��C�,�,�V�4�4�g�t������������K��� � � � �H�H�J�J�J�� �� � ������� � ���2�2��C�,�,�V�4�4�g�q����������� ����� ���s^�3C � C(�C#�#C(�+E;�; F�F�F� f�Eb)�+P �> b)� P �b)�P �Ab)�#Q9�8b)�9R �R�R � Ab)�0U � T(�'U �( U�U � U0� U,�,U0�/b)�0W�b)�W�1W � W�F7b)� ^"�!b)�" _�,^=�=_�A b)�`%�$b)�% a�/a�a�Ab)� f�)b-�-f�0b-�1Cf� g2� A#g-�-g2r�ri@�r� protocolsr~�receive_timeout� autoclose�autoping� heartbeatrtr�rnrrr|r}rr%r&r'r�r�rw� max_msg_sizer~rr�r�r�r�r��_WSRequestContextManagerc�r�t|�||||||||| | | | | |||||||||�����S)zInitiate websocket connection.r})r�� _ws_connect)r�rrr~r~rr�r�r�rtr�rnrrr|r}rr%r&r'r�r�rwr�s r�� ws_connectzClientSession.ws_connect`sp��6(� � � ���#�� /�#�!�#������%��%�'�'� /�+�!�)�- � � � � � r�c ��� K�|turEt|t��r|}n4tjdt d���t|���}nt }|�2tjdt d���tj||���}| �t��}nt| ��}tj dtj dtj d i}|���D]\}}|�||���t!jt%jd ����}|���|tj<|r"d �|��|tj<| �| |tj<|rt3|� ��}||tj<|�tjd t d���d}t7||||��}|�||| |d| | ||||�� � �d{V��} |jdkr(t=|j|j d|j|j!����|j!�"tj d���#��dkr(t=|j|j d|j|j!����|j!�"tj d���#��dkr(t=|j|j d|j|j!����|j!�"tj$d��}t!jtKj&|tNz���(�������} || kr(t=|j|j d|j|j!����d}!|rTtj|j!vrAd�|j!tj�)d ��D��}"|"D] }#|#|vr|#}!n� d}$|r�|j!�"tj��}%|%rZ tU|%��\}}$nJ#tV$r9}&t=|j|j |&j,d|j|j!���|&�d}&~&wwxYwd}d}$|j-}'|'�J�|'j.}(|(�J�|j/�d|(_0n&|(j0�tc|j/|(j0��|(_0|'j2})|)�J�tg|(d|j4���}*|(�5tm|*|��|*��to|(|)d||$���}+|�8|*|+|!|||||j4|||$�� � S#tr$r|�:���wxYw)Nzeparameter 'timeout' of type 'float' is deprecated, please use 'timeout=ClientWSTimeout(ws_close=...)'r�r�)�ws_closezofloat parameter 'receive_timeout' is deprecated, please use parameter 'timeout=ClientWSTimeout(ws_receive=...)')� ws_receive� websocket�Upgrade�13��,)rwz+ssl=None is deprecated, please use ssl=TrueTF) rnrrr{rtr|r}rr�r��ezInvalid response status)rrRrr�zInvalid upgrade header�upgradezInvalid connection headerzInvalid challenge responsec�6�g|]}|�����Sr�)�strip)r��protos r�r.z-ClientSession._ws_connect.<locals>.<listcomp>&s0��"�"�"���K�K�M�M�"�"�"r�rr�r�)�use_maskrw� notakeover)r�rw�client_notakeover);rTr�rGr�r�r�rEr�r�rr�UPGRADE� CONNECTION�SEC_WEBSOCKET_VERSION�items� setdefault�base64� b64encode�os�urandom�decode�SEC_WEBSOCKET_KEYr"�SEC_WEBSOCKET_PROTOCOL�ORIGINr[�SEC_WEBSOCKET_EXTENSIONSrDrfrRr?rUrhrrrZ�lower�SEC_WEBSOCKET_ACCEPT�hashlib�sha1rV�digest�splitr\rZrPrarHr�r��maxrGr!r�� set_parserrXrYr�rLrM),r�rrr~r~rr�r�r�rtr�rnrrr|r}rr%r&r'r�r�rwr�� ws_timeoutr��default_headers�key�value�sec_key�extstrrx�r_key�matchrH�resp_protocolsr�r�� compress_hdrsrwrv� conn_protorG�reader�writers, r�r�zClientSession._ws_connect�s9����4 �(� "� "��'�?�3�3� ?�$� � �� �>�'� � ����-�g�>�>�>� � �2�J� � &� �M�<�#��  � � � ���Z�O�L�L�L�J� �?�-8�]�]�L�L�&�w�/�/�L� �L�+� �O�Y� � &�� �� *�/�/�1�1� 0� 0�J�C�� � #� #�C�� /� /� /� /��"�2�:�b�>�>�2�2��/6�~�~�/?�/?� �T�+�,� � L�8;����8K�8K�L��4� 5� � �(.�L��� %� � A���2�2�2�F�:@�L��6� 7� �;� �M�=�"�� � � � � �C���Z��k�J�J���\�\� � �� � ���!��+�'�"�  �  �  �  �  �  �  �  ��s ��{�c�!�!�,��%��L�5��;� �L� �����|���� �b�1�1�7�7�9�9�[�H�H�,��%��L�4��;� �L� �����|������4�4�:�:�<�<� �I�I�,��%��L�7��;� �L� �����L�$�$�T�%>��C�C�E��$�W�\�'�F�2B�%C�%C�%J�%J�%L�%L�M�M�T�T�V�V�E���~�~�,��%��L�8��;� �L� �����H�� �T�8�D�L�H�H�"�"�!%��d�.I�!J�!P�!P�QT�!U�!U�"�"�"�� ,���E�� �)�)�#(����*� �J�� '� $� � 0� 0��1N� O� O� � � '� #�/;�M�/J�/J�,��*�*��+�#�#�#�4� �-� �L�$'�H�Q�K�#'�;�$(�L� ��� #� #�����#���� !�H�!&�J��?�D��#�#�#���J��)�)�)��$�,�*.� �'�'��(�4�*-��)�:�+B�+�+� �'���I��(�(�(�'� �E�� �K�K�K�F� � !� !�/�&�,�"G�"G�� P� P� P�$����!�%� ���F��*�*��������� �#�!�",�+� � � �� � � � � �J�J�L�L�L� � ���s2�8H U�P,�+U�, Q/�64Q*�*Q/�/B,U� U �CIMultiDict[str]c�B�t|j��}|r�t|ttf��st|��}t ��}|���D]:\}}||vr|�||��� |||<|�|���;|S)z3Add default headers and transform it to CIMultiDict)rr�r�rr�setr��add)r�rr�result� added_namesr�r�s r�r:zClientSession._prepare_headersos����T�2�3�3�� � )��g�� �'B�C�C� /�%�g�.�.��$'�E�E�K�%�m�m�o�o� )� )� ��U��+�%�%��J�J�s�E�*�*�*�*�"'�F�3�K��O�O�C�(�(�(�(�� r�c ��dSr�r��r�rrs r�rZzClientSession.get�� ��(+�sr�c ��dSr�r�r�s r��optionszClientSession.options�r�r�c ��dSr�r�r�s r��headzClientSession.head�r�r�c ��dSr�r�r�s r��postzClientSession.post�r�r�c ��dSr�r�r�s r��putzClientSession.put�r�r�c ��dSr�r�r�s r��patchzClientSession.patch�r�r�c ��dSr�r�r�s r��deletezClientSession.delete�r�r�)ruc �R�t|jtj|fd|i|����S)zPerform HTTP GET request.ru)rrrrY�r�rrurs r�rZzClientSession.get�sC��*��� ��M�3���8G��KQ����� r�c �R�t|jtj|fd|i|����S)zPerform HTTP OPTIONS request.ru)rrr� METH_OPTIONSr�s r�r�zClientSession.options�sD��*��� ��%�s���<K��OU����� r�c �R�t|jtj|fd|i|����S)zPerform HTTP HEAD request.ru)rrrrWr�s r�r�zClientSession.head�sC��*��� ��N�C���9H��LR����� r�)roc �R�t|jtj|fd|i|����S)zPerform HTTP POST request.ro)rrrrX�r�rrors r�r�zClientSession.post�s6��*��� �d�n�c�G�G��G��G�G��� r�c �R�t|jtj|fd|i|����S)zPerform HTTP PUT request.ro)rrr�METH_PUTr�s r�r�zClientSession.put�s6��*��� �d�m�S�F�F�t�F�v�F�F��� r�c �R�t|jtj|fd|i|����S)zPerform HTTP PATCH request.ro)rrr� METH_PATCHr�s r�r�zClientSession.patch�s6��*��� �d�o�s�H�H��H��H�H��� r�c �N�t|jtj|fi|����S)zPerform HTTP DELETE request.)rrr� METH_DELETEr�s r�r�zClientSession.delete�s0��)��� �d�.��>�>�v�>�>��� r�c��K�|js6|j�&|jr|j����d{V��d|_dSdS)zMClose underlying connector. Release all acquired resources. N)rr�r�rM�r�s r�rMzClientSession.close�s]���� �{� #���*�t�/D�*��o�+�+�-�-�-�-�-�-�-�-�-�"�D�O�O�O� #� #r�c�,�|jdup |jjS)z@Is client session closed. A readonly property. N)r�rr�s r�rzClientSession.closed�s�� ��$�&�@�$�/�*@�@r�c��|jS)z(Connector instance used for the session.�r�r�s r�r�zClientSession.connector�s ����r�c��|jS)zThe session cookies.)r�r�s r�r�zClientSession.cookie_jars ����r�c��|jS)z"The session HTTP protocol version.)r�r�s r�r�zClientSession.version� ���}�r�c��|jS)�)Do URL requoting on redirection handling.)r�r�s r�r�z"ClientSession.requote_redirect_url s ���)�)r�c�L�tjdtd���||_dS)r�z=session.requote_redirect_url modification is deprecated #2778r�r�N)r�r�r�r�)r�rs r�r�z"ClientSession.requote_redirect_urls6�� � � K� �� � � � � &)��"�"�"r�c�H�tjdtd���|jS)zSession's loop.z"client.loop property is deprecatedr�r�)r�r�r�r�r�s r�r�zClientSession.loops0�� � � 0�2D�QR� � � � ��z�r�c��|jS)zTimeout for the session.)r�r�s r�r~zClientSession.timeout!r�r�c��|jS)z*The default headers of the client session.)r�r�s r�rrzClientSession.headers&� ���$�$r�c��|jS)z2Headers for which autogeneration should be skipped)r�r�s r�rszClientSession.skip_auto_headers+s ���&�&r�c��|jS)z2An object that represents HTTP Basic Authorization)r�r�s r�rtzClientSession.auth0s ���!�!r�c��|jS)zJson serializer callable)r�r�s r�r�zClientSession.json_serialize5s ���#�#r�c��|jS)z-Should connector be closed on session closing)r�r�s r�r�zClientSession.connector_owner:r�r�c��|jS)zGShould `ClientResponse.raise_for_status()` be called for each response.)r�r�s r�rzzClientSession.raise_for_status?s �� �%�%r�c��|jS)z7Should the body response be automatically decompressed.)r�r�s r�r�zClientSession.auto_decompressFr�r�c��|jS)z� Should proxies information from environment or netrc be trusted. Information is from HTTP_PROXY / HTTPS_PROXY environment variables or ~/.netrc file if present. )r�r�s r�r�zClientSession.trust_envKs ����r�c��|jS)z7A list of TraceConfig instances used for client tracing)r�r�s r�r�zClientSession.trace_configsUs ���"�"r�c��d|_dS)zwDetach connector from session without closing the former. Session is switched to closed state anyway. Nr�r�s r��detachzClientSession.detachZs�� ����r�c� �td���)NzUse async with instead)� TypeErrorr�s r�� __enter__zClientSession.__enter__as���0�1�1�1r��exc_type�exc_val�exc_tbc��dSr�r��r�r�r�r�s r��__exit__zClientSession.__exit__ds �� �r�c�� K�|Sr�r�r�s r�� __aenter__zClientSession.__aenter__ms ����� r�c��>K�|����d{V��dSr�)rMr�s r�� __aexit__zClientSession.__aexit__ps.���� �j�j�l�l���������r�r��r�N)r�r�)r�rd)mr�r�r��__doc__r�r r�rr�� StackSummaryr�r�rIrpr)r@rArFr� HttpVersion11rTrcr��AbstractEventLoopr`rarQrr�r_rrWr"r�rrrr�rN�objectrerr^r��_CharsetResolverrrrOrr r�rr�� version_inforrkrmrfrr#rb�bytesrgrBrrrrYrGr�r�r:rZr�r�r�r�r�r�rM�propertyrr�r�rr�r��setterr�r~rrr rrsrtr�r�rzr�r�r�r�r�rLrr�rr� __classcell__)r s@r�rdrd�s��������9�9� �I� � � � � �E�D;?��x� � 6�7�>�>�>�*.�J���'�.�.�.�(,�P,�.2�48�*.�*.�$(�*.�59�$(�&*�j�-:�/=�;R�#�1�26� $� �08�(,�08� $��%)�59�!�!�"�6J�6J�AP,�P,�P,��8�$�P,��M�*� P,� �w�0�1� P,� �,�'� P,��,�'�P,���!�P,��Y�'�P,�$�H�S�M�2�P,��y�!�P,�$�P,��M�*�P,��^�,�P,� � 7�8�P,� �!P,�"�.�/�#P,�$�%P,�& � �(�N�+�Y�t�_�<�=� =� �'P,�,�E�9�,�-�-P,�.�u�o�/P,�0�v�}�,�-�1P,�2�3P,�4�5P,�6#�7P,�8 ��[� 1�2�9P,�:�;P,�<�=P,�>�?P,�@$4�AP,�B �CP,�P,�P,�P,�d �t�O�4� �� � � � � � +� +�C� +�c� +�d� +� +� +� +� +� +�(0� 7� 7�� 7�D� 7� 7� 7� 7� ��7�"�"�}�"� +�� +�� +��_�-�  +� &�  +� +� +� +� +� P�� P�$,� P�8;� P� %� P� P� P� P� ,�X�,�#�,�,�,�,����*.�*.�59�$(� $��+/�"&�� �#�$(�*.�3;�%)�'+�,0�48�)-�04�9=�&*�*.�'+�(,�EH�H�H��H��H� � H� � H��H��,�'�H��,�'�H�$�H�S�M�2�H��y�!�H��H��H���T�4��(�H��$��H� �!H�" � �$��.�!1�9�T�?�!B�C� C� �#H�(�)H�*��!�+H�,�Y�'�-H�.�}�i�/�0�/H�0�T�N�1H�2�e�_�3H�4�j�)�5H�6�:�t�[�0� 1�7H�8"�#��9H�: � �-�;H�<$�G�C��H�$5�6�=H�>�s�m�?H�@"�$��AH�B ��}�CH�D!�� �EH�F �GH�H�H�H�\ �m�#%�5=�+/���%)�$(� $��*.�$(�*.�48�%)�'+�,0�)-�04��+�14 �4 �4 � �4 �� 4 � �C�=� 4 � �� �1�2� 4 �"�%��4 ��4 ��4 ��E�?�4 ��y�!�4 ��� �4 ��4 ��,�'�4 ���!�4 � �Y�'�!4 �"�:�t�[�0� 1�#4 �$�T�N�%4 �&�e�_�'4 �(�j�)�)4 �*"�#��+4 �, � �-�-4 �.�/4 �0�14 �2 $�34 �4 �4 �4 �t�m�#%�5=�+/���%)�$(� $��*.�$(�*.�48�%)�'+�,0�)-�04��+�1W�W�W� �W�� W� �C�=� W� �� �1�2� W�"�%��W��W��W��E�?�W��y�!�W��� �W��W��,�'�W���!�W� �Y�'�!W�"�:�t�[�0� 1�#W�$�T�N�%W�&�e�_�'W�(�j�)�)W�*"�#��+W�, � �-�-W�.�/W�0�1W�2 !�3W�W�W�W�r���(>��CU�����  ��7�"�"�}�"� +�� +��_�-� +�&�  +� +� +� +�  +�� +��_�-� +�&�  +� +� +� +�  +�� +��_�-� +�&�  +� +� +� +�  +�� +��_�-� +�&�  +� +� +� +�  +�� +��_�-� +�&�  +� +� +� +�  +�� +��_�-� +�&�  +� +� +� +�  +�� +��_�-� +�&�  +� +� +� +� +�=A� � � �� �59� �LO� � %� � � � �=A� � � �� �59� �LO� � %� � � � �=B� � � �� �59� �MP� � %� � � � �15� � � �� �*-� �@C� � %� � � � �15� � � �� �*-� �@C� � %� � � � �15� � � �� �*-� �@C� � %� � � � � �h� �#� �:R� � � � � #�#�#�#��A��A�A�A��X�A���8�M�2�����X��� �-� � � ��X� ����s�C�x������X���*�d�*�*�*��X�*�� �)��)��)�)�)�!� �)���g�/�����X���������X���%�%�%��X�%��'�9�T�?�'�'�'��X�'��"�h�y�)�"�"�"��X�"��$� �$�$�$��X�$��%��%�%�%��X�%��&� �t�X�~�.� �$��?�@�@� A�&�&�&��X�&� �%��%�%�%��X�%���4�����X���#�t�K�0�#�#�#��X�#�����2�2�2�2� ��4� �.�/� ��-�(� ���'�  � �  � � � �������4� �.�/���-�(����'� � � �������r�rdc���eZdZdZdeddefddfd�Zdd�Zd ed eddfd �Z dd �Z de edeffd �Z de edeffd�Z defd�Zdeeedeedeeddfd�ZdS)�_BaseRequestContextManager)�_coro�_resp�coro�asyncio.Future[Any]Nr�c��||_dSr�)r)r�rs r�rz#_BaseRequestContextManager.__init__}s ��GK�� � � r��argc�6�|j�|��Sr�)rrK)r�rs r�rKz_BaseRequestContextManager.send�s���z���s�#�#�#r�rPrc�&�|jj|i|��Sr�)r�throw)r�rPrs r�rz _BaseRequestContextManager.throw�s���t�z���0��0�0�0r�c�4�|j���Sr�)rrMr�s r�rMz _BaseRequestContextManager.close�s���z���!�!�!r�c�8�|j���}|Sr�)r� __await__)r��rets r�rz$_BaseRequestContextManager.__await__�s���j�"�"�$�$��� r�c�*�|���Sr�)rr�s r��__iter__z#_BaseRequestContextManager.__iter__�s���~�~���r�c��hK�|j�d{V��|_|j����d{V��Sr�)rrrr�s r�rz%_BaseRequestContextManager.__aenter__�sG����%)�Z�/�/�/�/�/�/�� ��Z�*�*�,�,�,�,�,�,�,�,�,r�r�rw�tbc��NK�|j�|||���d{V��dSr�)rr�r�r�rwr"s r�rz$_BaseRequestContextManager.__aexit__�s:���� �j�"�"�8�S�"�5�5�5�5�5�5�5�5�5�5�5r�)rNr�rr)r�r�r�� __slots__r r�rrKrrrMr rr rrrrLrrr�r�r�rrysX������"�I�L�Y�'<�d�H�'L�M�L�RV�L�L�L�L�$�$�$�$�1�3�1�#�1�2G�1�1�1�1�"�"�"�"��9�S�$��%8�9����� �)�C��x�$7�8� � � � �-�(�-�-�-�-�6��4� �.�/�6��m� $�6� �]� #� 6� � 6�6�6�6�6�6r�rc��eZdZdZdeddefdeddfd�Zdefd�Zd e e e d e e d e e ddfd �Z dS) �_SessionRequestContextManager�rr�_sessionrrNr1r�c�0�||_d|_||_dSr�r()r�rr1s r�rz&_SessionRequestContextManager.__init__�s�� �� �/3�� ��� � � r�c��K� |j�d{V��|_|jS#t$r!|j����d{V���wxYwr�)rrrLr)rMr�s r�rz(_SessionRequestContextManager.__aenter__�sv���� �#�z�)�)�)�)�)�)�D�J� �:� �� � � � ��-�%�%�'�'� '� '� '� '� '� '� '� � ���s ��+Ar�rwr"c��K�|j�J�|j���|j����d{V��dSr�)rrMr)r$s r�rz'_SessionRequestContextManager.__aexit__�sV���� �z�%�%�%� � �������m�!�!�#�#�#�#�#�#�#�#�#�#�#r�)r�r�r�r%r rArdrrrrrLrrr�r�r�r'r'�s�������.�I� ��-�t�^�C�D� �� � �  � � � ��.�����$��4� �.�/�$��m� $�$� �]� #� $� � $�$�$�$�$�$r�r'r$r�)rnrorprrrsrtrurvrwrxryrzr{r|r}r~rqr�r�r�r�r�r�rrrnrorprrrsrtrurvrwrxryrzr{r|r}r~rqr�r�r�r�r�r�r�c���d}|�d}t|d���}t||||||���}t|�|||||||||| | | | | ||||||���|��S)a�Constructs and sends a request. Returns response object. method - HTTP method url - request url params - (optional) Dictionary or bytes to be sent in the query string of the new request data - (optional) Dictionary, bytes, or file-like object to send in the body of the request json - (optional) Any json compatible python object headers - (optional) Dictionary of HTTP Headers to send with the request cookies - (optional) Dict object to send with the request auth - (optional) BasicAuth named tuple represent HTTP Basic Auth auth - aiohttp.helpers.BasicAuth allow_redirects - (optional) If set to False, do not follow redirects version - Request HTTP version. compress - Set to True if request has to be compressed with deflate encoding. chunked - Set to chunk size for chunked transfer encoding. expect100 - Expect 100-continue response from server. connector - BaseConnector sub-class instance to support connection pooling. read_until_eof - Read response until eof if response does not have Content-Length header. loop - Optional event loop. timeout - Optional ClientTimeout settings structure, 5min total timeout by default. Usage:: >>> import aiohttp >>> resp = await aiohttp.request('GET', 'http://python.org/') >>> resp <ClientResponse(python.org/) [200]> >>> data = await resp.read() FNT)r�� force_close)r�rqr�r~r�r�)rnrorprrrsrtrurvrwrxryrzr{r|r}r�r�r�)rKrdr'r)rrrnrorprrrsrtrurvrwrxryrzr{r|r}r~rqr�r�r�r�r�r�r�r1s r�rfrf�s���@�O����� �d��=�=�=� �� �����'� ���G� )���� � �����/��+�'����-�)��!�%�'�)�) � � �, �/ � �r�)�rr�r�r�rpr�r�r�r�� contextlibr�typesr�typingrrrrr r r r r rrrrrrrrrrr�� multidictrrrr�yarlrr�rrr �_websocket.readerr!�abcr"�client_exceptionsr#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?� client_reqrepr@rArBrCrD� client_wsrErFrGr�rHrIrJrKrL� cookiejarrM�helpersrNrOrPrQrRrSrTrUrVrWrXrY�http_websocketrZr[r\�tracingr]r^�typedefsr_r`rarbrc�__all__rrgr rkrm�srer�r�r�r@r�r r�r rdrrr�r'rr�r�r rrfr�r�r��<module>r@s���������� � � � ����� � � � � � � � � � � � ���������������������������������������������������������������, � � � �B�B�B�B�B�B�B�B�B�B�B�B�������!�!�!�!�!�!�!�!�!�!�1�1�1�1�1�1�"�"�"�"�"�"���������������������������������������������������������������>������������������������ ��������������!� � � � � � � � � � � � � � � � � � � � � � � � � �H�G�G�G�G�G�G�G�G�G�G�G�F�F�F�F�F�F�F�F�F�F�'�'�'�'�'�'�'�'�N�N�N�N�N�N�N�N�N�N�N�N�N�N�0 ��f����������J���w���=��������%�%�%�%�%�i�u�%�%�%�%�8���T�$�d�3�3�3��������4�3��,)6� �F�QS�(T�(T�(T���}�%�T�T�T��Y�S�S�S�T�T�� �7�:�~�/F� G� G���^�U�3�S�8�9��R�R�R�R�R�R�R�R�j$!6�!6�!6�!6�!6��3��X�+=�!>���@Q�!6�!6�!6�H4�N�C��5�6M�N��$�$�$�$�$�$�$�$�J���&*�15� $� ��"�"��'+�� $�&*�,4�&*��-�)-�"&�04���5f�f�f� �f� �f� � f� � f� � f��l� #�f� ��� �.�f� �9� �f��f��f��s�m�f��d�^�f��f��t�n�f� �!f�" �H� �#f�$��#�%f�&�=�&�(� )�'f�(�l� #�)f�*�+f�,� �&�-f�.�3�-�/f�0 �7�,� -�1f�2�3f�4�5f�6#�7f�f�f�f�f�fr�
Memory