§
    `Ò³g|1  ã                  ó�  — d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dl	Zd dl
ZddlmZ ddlmZ ddlmZmZ ddlmZ ddlmZ eZ ej        d	¦  «        Z ej        e¦  «        Z ej        d
¦  «        Z ej        d¦  «        Zdd„Zdd„Z  G d„ dej!        e         ¦  «        Z" G d„ de¦  «        Z# G d„ de¦  «        Z$dS )é    )ÚannotationsNé   )Ú
_TYPE_BODY)ÚHTTPHeaderDict)ÚHTTPSConnectionÚ_get_default_user_agent)ÚConnectionError)ÚBaseHTTPResponseÚTs   ^[!#$%&'*+\-.^_`|~0-9a-z]+$s*   [\0\x00\x0a\x0d\r\n]|^[ \r\n\t]|[ \r\n\t]$ÚnameÚbytesÚreturnÚboolc                óP   — t          t                               | ¦  «        ¦  «        S )a5  
    "An implementation that validates fields according to the definitions in Sections
    5.1 and 5.5 of [HTTP] only needs an additional check that field names do not
    include uppercase characters." (https://httpwg.org/specs/rfc9113.html#n-field-validity)

    `http.client._is_legal_header_name` does not validate the field name according to the
    HTTP 1.1 spec, so we do that here, in addition to checking for uppercase characters.

    This does not allow for the `:` character in the header name, so should not
    be used to validate pseudo-headers.
    )r   ÚRE_IS_LEGAL_HEADER_NAMEÚmatch)r   s    úV/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/urllib3/http2/connection.pyÚ_is_legal_header_namer      s!   € õ Õ'×-Ò-¨dÑ3Ô3Ñ4Ô4Ð4ó    Úvaluec                óP   — t          t                               | ¦  «        ¦  «        S )aK  
    "A field value MUST NOT contain the zero value (ASCII NUL, 0x00), line feed
    (ASCII LF, 0x0a), or carriage return (ASCII CR, 0x0d) at any position. A field
    value MUST NOT start or end with an ASCII whitespace character (ASCII SP or HTAB,
    0x20 or 0x09)." (https://httpwg.org/specs/rfc9113.html#n-field-validity)
    )r   ÚRE_IS_ILLEGAL_HEADER_VALUEÚsearch)r   s    r   Ú_is_illegal_header_valuer   ,   s!   € õ Õ*×1Ò1°%Ñ8Ô8Ñ9Ô9Ð9r   c                  ó.   — e Zd ZdZdZdd„Zdd„Zdd„ZdS )Ú_LockedObjectaX  
    A wrapper class that hides a specific object behind a lock.
    The goal here is to provide a simple way to protect access to an object
    that cannot safely be simultaneously accessed from multiple threads. The
    intended use of this class is simple: take hold of it with a context
    manager, which returns the protected object.
    )ÚlockÚ_objÚobjr   c                óD   — t          j        ¦   «         | _        || _        d S ©N)Ú	threadingÚRLockr   r   )Úselfr   s     r   Ú__init__z_LockedObject.__init__D   s   € Ý”OÑ%Ô%ˆŒ	ØˆŒ	ˆ	ˆ	r   r   c                óB   — | j                              ¦   «          | j        S r!   )r   Úacquirer   ©r$   s    r   Ú	__enter__z_LockedObject.__enter__H   s   € ØŒ	×ÒÑÔÐØŒyÐr   Úexc_typeútype[BaseException] | NoneÚexc_valúBaseException | NoneÚexc_tbútypes.TracebackType | NoneÚNonec                ó8   — | j                              ¦   «          d S r!   )r   Úrelease)r$   r*   r,   r.   s       r   Ú__exit__z_LockedObject.__exit__L   s   € ð 	Œ	×ÒÑÔÐÐÐr   N)r   r   )r   r   )r*   r+   r,   r-   r.   r/   r   r0   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__r%   r)   r3   © r   r   r   r   6   sa   € € € € € ðð ð€Ið
ð ð ð ðð ð ð ðð ð ð ð ð r   r   c                  ó–   ‡ — e Zd Z	 d*d+ˆ fd
„Zd,d„Zd-ˆ fd„Zd.d„Zd/d„Zd*d0d„Zd1d„Z		 	 	 d2d3d„Z
d4d„Z	 	 d5d d d d!œd6d(„Zd-ˆ fd)„Zˆ xZS )7ÚHTTP2ConnectionNÚhostÚstrÚportú
int | NoneÚkwargsú
typing.Anyr   r0   c                óæ   •— |                       ¦   «         | _        d | _        g | _        d|v sd|v rt	          d¦  «        ‚ t          ¦   «         j        ||fi |¤Ž | j        �t	          d¦  «        ‚d S )NÚproxyÚproxy_configz$Proxies aren't supported with HTTP/2z%Tunneling isn't supported with HTTP/2)Ú_new_h2_connÚ_h2_connÚ
_h2_streamÚ_headersÚNotImplementedErrorÚsuperr%   Ú_tunnel_host)r$   r<   r>   r@   Ú	__class__s       €r   r%   zHTTP2Connection.__init__V   s‹   ø€ ð ×)Ò)Ñ+Ô+ˆŒØ&*ˆŒØ35ˆŒà�fÐÐ °&Ð 8Ð 8Ý%Ð&LÑMÔMÐMà�‰ŒÔ˜˜tÐ.Ð. vÐ.Ð.Ð.àÔÐ(Ý%Ð&MÑNÔNÐNð )Ð(r   ú)_LockedObject[h2.connection.H2Connection]c                óœ   — t           j                             d¬¦  «        }t          t           j                             |¬¦  «        ¦  «        S )NT)Úclient_side)Úconfig)Úh2rP   ÚH2Configurationr   Ú
connectionÚH2Connection)r$   rP   s     r   rE   zHTTP2Connection._new_h2_conne   s;   € Ý”×*Ò*°tÐ*Ñ<Ô<ˆÝ�Rœ]×7Ò7¸vÐ7ÑFÔFÑGÔGÐGr   c                ó  •— t          ¦   «                              ¦   «          | j        5 }|                     ¦   «          |                     ¦   «         x}r| j                             |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S r!   )rJ   ÚconnectrF   Úinitiate_connectionÚdata_to_sendÚsockÚsendall)r$   ÚconnrX   rL   s      €r   rV   zHTTP2Connection.connecti   sÁ   ø€ Ý‰Œ�ŠÑÔÐØŒ]ð 	0˜dØ×$Ò$Ñ&Ô&Ð&Ø#×0Ò0Ñ2Ô2Ð2ˆ|ð 0Ø”	×!Ò! ,Ñ/Ô/Ð/ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð 	0ð 	0s   ©AA;Á;A?ÂA?ÚmethodÚurlc                óª  — d|v rt          d¦  «        ‚d|v rt          d¦  «        ‚|pd| _        |                      |¦  «         d| j        v rd| j        › d| j        pd	› �}n| j        › d| j        pd	› �}| j                             d
¦  «         | j                             d|                     ¦   «         f¦  «         | j                             d|                     ¦   «         f¦  «         | j                             d|                     ¦   «         f¦  «         | j        5 }| 	                    ¦   «         | _
        ddd¦  «         dS # 1 swxY w Y   dS )z®putrequest
        This deviates from the HTTPConnection method signature since we never need to override
        sending accept-encoding headers or the host header.
        Ú	skip_hostz`skip_host` isn't supportedÚskip_accept_encodingz&`skip_accept_encoding` isn't supportedú/ú:ú[z]:i»  )s   :schemes   httpss   :methods
   :authoritys   :pathN)rI   Ú_request_urlÚ_validate_pathr<   r>   rH   ÚappendÚencoderF   Úget_next_available_stream_idrG   )r$   r\   r]   r@   Ú	authorityr[   s         r   Ú
putrequestzHTTP2Connection.putrequestp   s´  € ð ˜&Ð Ð Ý%Ð&CÑDÔDÐDØ! VÐ+Ð+Ý%Ð&NÑOÔOÐOà˜J 3ˆÔØ×Ò˜CÑ Ô Ð à�$”)ÐÐØ;˜DœIÐ;Ð;¨¬Ð)9°cÐ;Ð;ˆIˆIàœ9Ð9Ð9 t¤yÐ'7°CÐ9Ð9ˆIàŒ×ÒÐ3Ñ4Ô4Ð4ØŒ×Ò˜j¨&¯-ª-©/¬/Ð:Ñ;Ô;Ð;ØŒ×Ò˜m¨Y×-=Ò-=Ñ-?Ô-?Ð@ÑAÔAÐAØŒ×Ò˜h¨¯
ª
©¬Ð5Ñ6Ô6Ð6àŒ]ð 	B˜dØ"×?Ò?ÑAÔAˆDŒOð	Bð 	Bð 	Bñ 	Bô 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bøøøð 	Bð 	Bð 	Bð 	Bð 	Bð 	Bs   Ä!EÅEÅEÚheaderústr | bytesÚvaluesc                óÔ  — t          |t          ¦  «        r|                     ¦   «         n|}|                     ¦   «         }t	          |¦  «        st          dt          |¦  «        › �¦  «        ‚|D ]w}t          |t          ¦  «        r|                     ¦   «         n|}t          |¦  «        rt          dt          |¦  «        › �¦  «        ‚| j                             ||f¦  «         Œxd S )NzIllegal header name zIllegal header value )	Ú
isinstancer=   rg   Úlowerr   Ú
ValueErrorr   rH   rf   )r$   rk   rm   r   s       r   Ú	putheaderzHTTP2Connection.putheader�   sá   € å$.¨vµsÑ$;Ô$;ÐG�—’‘”�ÀˆØ—’‘”ˆÝ$ VÑ,Ô,ð 	CÝÐAµC¸±K´KÐAÐAÑBÔBÐBàð 	2ð 	2ˆEÝ&0°½Ñ&<Ô&<ÐG�E—L’L‘N”N�NÀ%ˆEÝ'¨Ñ.Ô.ð GÝ Ð!E½¸U¹¼Ð!EÐ!EÑFÔFÐFØŒM× Ò  &¨% Ñ1Ô1Ð1Ð1ð		2ð 	2r   Úmessage_bodyc                ó&  — | j         €t          d¦  «        ‚| j        5 }|                     | j         | j        |d u ¬¦  «         |                     ¦   «         x}r| j                             |¦  «         d d d ¦  «         n# 1 swxY w Y   g | _        d S )NúMust call `putrequest` first.)Ú	stream_idÚheadersÚ
end_stream)rG   r	   rF   Úsend_headersrH   rX   rY   rZ   )r$   rs   r[   rX   s       r   Ú
endheaderszHTTP2Connection.endheadersœ   sà   € ØŒ?Ð"Ý!Ð"AÑBÔBÐBàŒ]ð 	0˜dØ×ÒØœ/ØœØ(¨DÐ0ð ñ ô ð ð
  $×0Ò0Ñ2Ô2Ð2ˆ|ð 0Ø”	×!Ò! ,Ñ/Ô/Ð/ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð ˆŒˆˆs   žAA?Á?BÂBÚdatac                óº  — | j         €t          d¦  «        ‚| j        5 }|                     ¦   «         x}r| j                             |¦  «         t          |d¦  «        r½	 |                     | j        ¦  «        }|snwt          |t          ¦  «        r|                     ¦   «         }|                     | j         |d¬¦  «         |                     ¦   «         x}r| j                             |¦  «         Œ”|                     | j         ¦  «         	 ddd¦  «         dS t          |t          ¦  «        r|                     ¦   «         }	 t          |t          ¦  «        rN|                     | j         |d¬¦  «         |                     ¦   «         x}r| j                             |¦  «         nl|D ]O}|                     | j         |d¬¦  «         |                     ¦   «         x}r| j                             |¦  «         ŒP|                     | j         ¦  «         n-# t          $ r  t          dt!          |¦  «        z  ¦  «        ‚w xY wddd¦  «         dS # 1 swxY w Y   dS )z‘Send data to the server.
        `data` can be: `str`, `bytes`, an iterable, or file-like objects
        that support a .read() method.
        Nru   ÚreadTF)rx   z6`data` should be str, bytes, iterable, or file. got %r)rG   r	   rF   rX   rY   rZ   Úhasattrr}   Ú	blocksizero   r=   rg   Ú	send_datarx   r   Ú	TypeErrorÚtype)r$   r{   r[   rX   Úchunks        r   ÚsendzHTTP2Connection.sendª   sÄ  € ð
 Œ?Ð"Ý!Ð"AÑBÔBÐBàŒ]ð #	˜dØ#×0Ò0Ñ2Ô2Ð2ˆ|ð 0Ø”	×!Ò! ,Ñ/Ô/Ð/å�t˜VÑ$Ô$ð ð8Ø ŸIšI d¤nÑ5Ô5�EØ ð ØÝ! %­Ñ-Ô-ð /Ø %§¢¡¤˜Ø—N’N 4¤?°EÀe�NÑLÔLÐLØ'+×'8Ò'8Ñ':Ô':Ð:�|ð 8Øœ	×)Ò)¨,Ñ7Ô7Ð7ð8ð —’ ¤Ñ0Ô0Ð0Øð#	ð #	ð #	ñ #	ô #	ð #	ð #	ð #	õ" ˜$¥Ñ$Ô$ð %Ø—{’{‘}”}�ðÝ˜d¥EÑ*Ô*ð 	5Ø—N’N 4¤?°DÀT�NÑJÔJÐJØ'+×'8Ò'8Ñ':Ô':Ð:�|ð 8Øœ	×)Ò)¨,Ñ7Ô7Ð7øà!%ð <ð <˜ØŸš t¤¸È%˜ÑPÔPÐPØ+/×+<Ò+<Ñ+>Ô+>Ð>˜<ð <Ø œI×-Ò-¨lÑ;Ô;Ð;øØ—O’O D¤OÑ4Ô4Ð4øøÝð ð ð ÝØLÝ˜4‘j”jñ!ñô ð ðøøøð?#	ð #	ð #	ñ #	ô #	ð #	ð #	ð #	ð #	ð #	ð #	ð #	øøøð #	ð #	ð #	ð #	ð #	ð #	s1   žC1IÄ)IÅCHÈIÈ*I É IÉIÉIÚhttprw   útyping.Mapping[str, str] | NoneÚschemec                ó    — t          d¦  «        ‚)Nz;HTTP/2 does not support setting up a tunnel through a proxy)rI   )r$   r<   r>   rw   r‡   s        r   Ú
set_tunnelzHTTP2Connection.set_tunnel×   s   € õ "ØIñ
ô 
ð 	
r   ÚHTTP2Responsec           	     ó¨  — d }t          ¦   «         }| j        5 }d}|�sv| j                             d¦  «        x}�r&|                     |¦  «        }|D �]}t          |t          j        j        ¦  «        r€t          ¦   «         }|j
        D ]i\  }	}
|	dk    r"t          |
                     ¦   «         ¦  «        }Œ-|                     |	                     d¦  «        |
                     d¦  «        ¦  «         ŒjŒ¢t          |t          j        j        ¦  «        r+||j        z  }|                     |j        |j        ¦  «         Œìt          |t          j        j        ¦  «        rd}�Œ|                     ¦   «         x}r| j                             |¦  «         |�¯vd d d ¦  «         n# 1 swxY w Y   |€J ‚t-          ||| j        t1          |¦  «        ¬¦  «        S )NFiÿÿ  s   :statusÚasciiT)Ústatusrw   Úrequest_urlr{   )Ú	bytearrayrF   rY   ÚrecvÚreceive_dataro   rQ   ÚeventsÚResponseReceivedr   rw   ÚintÚdecodeÚaddÚDataReceivedr{   Úacknowledge_received_dataÚflow_controlled_lengthrv   ÚStreamEndedrX   rZ   rŠ   rd   r   )r$   r�   r{   r[   rx   Úreceived_datar’   Úeventrw   rk   r   rX   s               r   ÚgetresponsezHTTP2Connection.getresponseâ   s*  € ð ˆÝ‰{Œ{ˆØŒ]ð 	4˜dØˆJØ ñ 4à$(¤I§N¢N°5Ñ$9Ô$9Ð9�=ñ .Ø!×.Ò.¨}Ñ=Ô=�FØ!'ð .ñ .˜Ý% e­R¬YÔ-GÑHÔHð .Ý&4Ñ&6Ô&6˜GØ16´ð &ð &¡ ¨Ø#)¨ZÒ#7Ð#7Ý-0°·²±´Ñ-@Ô-@ F Fà$+§K¢KØ(.¯ª°gÑ(>Ô(>ÀÇÂÈWÑ@UÔ@Uñ%&ô %&ð %&ð %&ð	&õ (¨­r¬yÔ/EÑFÔFð .Ø  E¤JÑ.˜DØ ×:Ò:Ø %Ô <¸e¼oñô ð ð õ (¨­r¬yÔ/DÑEÔEð .Ø)-˜Jùà#'×#4Ò#4Ñ#6Ô#6Ð6�<ð 4Ø”I×%Ò% lÑ3Ô3Ð3ð3 !ñ 4ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4ð: Ð!Ð!Ð!ÝØØØÔ)Ý�t‘”ð	
ñ 
ô 
ð 	
s   ˜E<F Æ F$Æ'F$T)Úpreload_contentÚdecode_contentÚenforce_content_lengthÚbodyú_TYPE_BODY | Nonerž   r   rŸ   r    c               ó$  — d|v r	 | j         �| j                              | j        ¦  «         |                      ||¦  «         |pi }|                     ¦   «         D ]:\  }	}
|	                     ¦   «         dk    r|
dk    rŒ$|                      |	|
¦  «         Œ;dt          | j        ¦  «        vr"|                      dt          ¦   «         ¦  «         |r-|  
                    |¬¦  «         |                      |¦  «         dS |  
                    ¦   «          dS )zSend an HTTP/2 requestÚchunkedNztransfer-encodings
   user-agent)rs   )rY   Ú
settimeoutÚtimeoutrj   Úitemsrp   rr   ÚdictrH   r   rz   r„   )r$   r\   r]   r¡   rw   rž   rŸ   r    r@   ÚkÚvs              r   ÚrequestzHTTP2Connection.request  s  € ð ˜ÐÐð àŒ9Ð ØŒI× Ò  ¤Ñ.Ô.Ð.à�Š˜ Ñ$Ô$Ð$à�-˜RˆØ—M’M‘O”Oð 	%ð 	%‰DˆAˆqØ�wŠw‰yŒyÐ/Ò/Ð/°A¸²N°NØà—’˜q !Ñ$Ô$Ð$Ð$à¥ T¤]Ñ 3Ô 3Ð3Ð3Ø�NŠN˜=Õ*AÑ*CÔ*CÑDÔDÐDàð 	Ø�OŠO¨ˆOÑ.Ô.Ð.Ø�IŠI�d‰OŒOˆOˆOˆOà�OŠOÑÔÐÐÐr   c                ó€  •— | j         5 }	 |                     ¦   «          |                     ¦   «         x}r| j                             |¦  «         n# t
          $ r Y nw xY wd d d ¦  «         n# 1 swxY w Y   |                      ¦   «         | _         d | _        g | _        t          ¦   «          
                    ¦   «          d S r!   )rF   Úclose_connectionrX   rY   rZ   Ú	ExceptionrE   rG   rH   rJ   Úclose)r$   r[   r{   rL   s      €r   r¯   zHTTP2Connection.close3  sü   ø€ ØŒ]ð 	˜dðØ×%Ò%Ñ'Ô'Ð'Ø×,Ò,Ñ.Ô.Ð.�4ð ,Ø”I×%Ò% dÑ+Ô+Ð+øøÝð ð ð Ø�ðøøøð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð ×)Ò)Ñ+Ô+ˆŒØˆŒØˆŒå‰Œ�Š‰Œˆˆˆs5   ‰A,‹AAÁA,Á
AÁA,ÁAÁA,Á,A0Á3A0r!   )r<   r=   r>   r?   r@   rA   r   r0   )r   rM   ©r   r0   )r\   r=   r]   r=   r@   rA   r   r0   )rk   rl   rm   rl   r   r0   )rs   rA   r   r0   )r{   rA   r   r0   )NNr…   )
r<   r=   r>   r?   rw   r†   r‡   r=   r   r0   )r   rŠ   )NN)r\   r=   r]   r=   r¡   r¢   rw   r†   rž   r   rŸ   r   r    r   r@   rA   r   r0   )r4   r5   r6   r%   rE   rV   rj   rr   rz   r„   r‰   r�   r«   r¯   Ú__classcell__©rL   s   @r   r;   r;   U   sj  ø€ € € € € à,0ðOð Oð Oð Oð Oð Oð OðHð Hð Hð Hð0ð 0ð 0ð 0ð 0ð 0ðBð Bð Bð Bð>2ð 2ð 2ð 2ðð ð ð ð ð+ð +ð +ð +ð`  Ø37Øð	
ð 	
ð 	
ð 	
ð 	
ð(
ð (
ð (
ð (
ð\ #'Ø37ð%ð !%Ø#Ø'+ð%ð %ð %ð %ð %ð %ðNð ð ð ð ð ð ð ð ð r   r;   c                  óL   ‡ — e Zd Z	 ddˆ fd„Zedd„¦   «         Zdd„Zdd„Zˆ xZS )rŠ   Fr�   r”   rw   r   rŽ   r=   r{   r   rŸ   r   r   r0   c           	     ót   •— t          ¦   «                              ||ddd ||¬¦  «         || _        d| _        d S )Né   zHTTP/2)r�   rw   ÚversionÚversion_stringÚreasonrŸ   rŽ   r   )rJ   r%   Ú_dataÚlength_remaining)r$   r�   rw   rŽ   r{   rŸ   rL   s         €r   r%   zHTTP2Response.__init__F  sR   ø€ õ 	‰Œ×ÒØØàØ#àØ)Ø#ð 	ñ 
	
ô 
	
ð 
	
ð ˆŒ
Ø !ˆÔÐÐr   c                ó   — | j         S r!   )r¹   r(   s    r   r{   zHTTP2Response.data\  s
   € àŒzÐr   c                ó   — d S r!   r9   r(   s    r   Úget_redirect_locationz#HTTP2Response.get_redirect_location`  s   € Øˆtr   c                ó   — d S r!   r9   r(   s    r   r¯   zHTTP2Response.closec  s   € Øˆr   )F)r�   r”   rw   r   rŽ   r=   r{   r   rŸ   r   r   r0   )r   r   r°   )	r4   r5   r6   r%   Úpropertyr{   r½   r¯   r±   r²   s   @r   rŠ   rŠ   D  s�   ø€ € € € € ð  %ð"ð "ð "ð "ð "ð "ð "ð, ðð ð ñ „Xððð ð ð ðð ð ð ð ð ð ð r   rŠ   )r   r   r   r   )r   r   r   r   )%Ú
__future__r   ÚloggingÚrer"   ÚtypesÚtypingÚ	h2.configrQ   Úh2.connectionÚ	h2.eventsÚ_base_connectionr   Ú_collectionsr   rS   r   r   Ú
exceptionsr	   Úresponser
   Úorig_HTTPSConnectionÚTypeVarr   Ú	getLoggerr4   ÚlogÚcompiler   r   r   r   ÚGenericr   r;   rŠ   r9   r   r   ú<module>rÒ      sÛ  ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø 	€	€	€	Ø Ð Ð Ð Ø €€€Ø €€€à Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð à )Ð )Ð )Ð )Ð )Ð )Ø )Ð )Ð )Ð )Ð )Ð )Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ (Ð (Ð (Ð (Ð (Ð (Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'à&Ð à€F„N�3ÑÔ€à€gÔ˜Ñ!Ô!€à$˜"œ*Ð%DÑEÔEÐ Ø'˜RœZÐ(VÑWÔWÐ ð5ð 5ð 5ð 5ð:ð :ð :ð :ðð ð ð ð �F”N 1Ô%ñ ô ð ð>lð lð lð lð l�oñ lô lð lð^ ð  ð  ð  ð  Ð$ñ  ô  ð  ð  ð  r   