+
    üg©j®>  ã                  óþ  € ^ RI H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Ht ^RIHtHtHtHtHtHt . RDOt]
! R4      tRR	/R
 R lltR R lt]P2                  ! R4      tR R lt]P2                  ! R4      tR R lt]P2                  ! R4      t]P2                  ! R4      tR R lt ]P2                  ! R4      t!]P2                  ! R4      t"R R lt#R R lt$R R lt%R  R! lt&]P2                  ! R"4      t'R# R$ lt(R% R& lt)R' R( lt*R) R* lt+R+ R, lt,],t-R- R. lt.R/ R0 lt/]/t0R1 R2 lt1R3 R4 lt2]2t3R5 R6 lt4]4t5R7 R8 lt6R9 R: lt7]P2                  ! R;4      t8R< R= lt9R> R? lt:R@ RA lt;RB RC lt<R# )Eé    )ÚannotationsN)ÚSequence)ÚCallableÚTypeVarÚcast)ÚInvalidHeaderFormatÚInvalidHeaderValue)ÚConnectionOptionÚExtensionHeaderÚExtensionNameÚExtensionParameterÚSubprotocolÚUpgradeProtocolÚTÚalways_include_portFc          
     ó,   € V ^8„  d   QhRRRRRRRRRR/# )	é   ÚhostÚstrÚportÚintÚsecureÚboolr   Úreturn© )Úformats   "ÚM/var/www/html/bestweb/venv/lib/python3.14/site-packages/websockets/headers.pyÚ__annotate__r   '   s:   € ÷ ñ Ø
ðà
ðð ðð
 ðð 	ñó    c               óÂ   €  \         P                  ! V 4      pVP                  ^8X  d   RV  R2p T'       g   Y'       d   RM^P8w  d   T  RT 2p T #   \         d     L.i ; i)z
Build a ``Host`` header.

Ú[Ú]i»  Ú:)Ú	ipaddressÚ
ip_addressÚversionÚ
ValueError)r   r   r   r   Úaddresss   &&&$ r   Ú
build_hostr)   '   si   € ðÜ×&Ò& tÓ,ˆð �?‰?˜aÔØ�t�f˜A�;ˆDç˜d®f¡s¸"Ô=Ø��q˜˜Ðˆà€Køô ô áðús   ‚A ÁAÁAc               ó$   € V ^8„  d   QhRRRRRR/# )r   Úheaderr   Úposr   r   z
str | Noner   )r   s   "r   r   r   I   s!   € ÷ 	7ñ 	7�sð 	7 ð 	7¨ñ 	7r   c                ó6   € V\        V 4      8X  d   R# W,          # )z§
Return the next character from ``header`` at the given position.

Return :obj:`None` at the end of ``header``.

We never need to peek more than one character ahead.

N)Úlen)r+   r,   s   &&r   Ú
peek_aheadr/   I   s   € ð œ#˜f›+Ô%ˆ4Ð6¨6­;Ð6r   z[\t ]*c               ó$   € V ^8„  d   QhRRRRRR/# )r   r+   r   r,   r   r   r   )r   s   "r   r   r   X   s!   € ÷ ñ �cð  ð ¨ñ r   c                óX   € \         P                  W4      pVf   Q hVP                  4       # )z¡
Parse optional whitespace from ``header`` at the given position.

Return the new position.

The whitespace itself isn't returned because it isn't significant.

)Ú_OWS_reÚmatchÚend)r+   r,   r3   s   && r   Ú	parse_OWSr5   X   s*   € ô �M‰M˜&Ó&€EØÒÐÐØ�9‰9‹;Ðr   z[-!#$%&\'*+.^_`|~0-9a-zA-Z]+c               ó(   € V ^8„  d   QhRRRRRRRR/# ©r   r+   r   r,   r   Úheader_namer   ztuple[str, int]r   )r   s   "r   r   r   j   s(   € ÷ &ñ &˜ð & #ð &°Cð &¸Oñ &r   c                óŽ   € \         P                  W4      pVf   \        VRW4      hVP                  4       VP	                  4       3# )zš
Parse a token from ``header`` at the given position.

Return the token value and the new position.

Raises:
    InvalidHeaderFormat: On invalid inputs.

zexpected token)Ú	_token_rer3   r   Úgroupr4   ©r+   r,   r8   r3   s   &&& r   Úparse_tokenr=   j   s>   € ô �O‰O˜FÓ(€EØ‚}Ü! +Ð/?ÀÓMÐMØ�;‰;‹=˜%Ÿ)™)›+Ð%Ð%r   zC"(?:[\x09\x20-\x21\x23-\x5b\x5d-\x7e]|\\[\x09\x20-\x7e\x80-\xff])*"z\\([\x09\x20-\x7e\x80-\xff])c               ó(   € V ^8„  d   QhRRRRRRRR/# r7   r   )r   s   "r   r   r   ‚   s.   € ÷ Dñ D ð D¨#ð D¸Cð DÀOñ Dr   c                ó¼   € \         P                  W4      pVf   \        VRW4      h\        P	                  RVP                  4       ^R 4      VP                  4       3# )z¥
Parse a quoted string from ``header`` at the given position.

Return the unquoted value and the new position.

Raises:
    InvalidHeaderFormat: On invalid inputs.

zexpected quoted stringz\1éÿÿÿÿ)Ú_quoted_string_rer3   r   Ú_unquote_reÚsubr;   r4   r<   s   &&& r   Úparse_quoted_stringrD   ‚   sR   € ô ×#Ñ# FÓ0€EØ‚}Ü! +Ð/GÈÓUÐUÜ�?‰?˜5 %§+¡+£-°°"Ð"5Ó6¸¿	¹	»ÐCÐCr   z[\x09\x20-\x7e\x80-\xff]*z([\x22\x5c])c               ó    € V ^8„  d   QhRRRR/# )r   Úvaluer   r   r   )r   s   "r   r   r   ˜   s   € ÷ 
5ñ 
5˜sð 
5 sñ 
5r   c                ó’   € \         P                  V 4      pVf   \        R4      hR\        P	                  RV 4      ,           R,           # )z\
Format ``value`` as a quoted string.

This is the reverse of :func:`parse_quoted_string`.

z-invalid characters for quoted-string encodingÚ"z\\\1)Ú_quotable_reÚ	fullmatchr'   Ú	_quote_rerC   )rF   r3   s   & r   Úbuild_quoted_stringrL   ˜   s@   € ô ×"Ñ" 5Ó)€EØ‚}ÜÐHÓIÐIØ”—‘˜w¨Ó.Õ.°Õ4Ð4r   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# )
r   Ú
parse_itemz(Callable[[str, int, str], tuple[T, int]]r+   r   r,   r   r8   r   zlist[T]r   )r   s   "r   r   r   ¥   s:   € ÷ ?ñ ?Ø8ð?àð?ð 
ð?ð ð	?ð
 ñ?r   c                ó¶  € \        W4      R8X  d   \        W^,           4      pK$  . p V ! WV4      w  rRVP                  V4       \        W4      pV\        V4      8X  d   Mg\        W4      R8X  d   \        W^,           4      pM\	        VRW4      h\        W4      R8X  d   \        W^,           4      pK$  V\        V4      8X  g   KŸ   V\        V4      8X  g   Q hV# )aÊ  
Parse a comma-separated list from ``header`` at the given position.

This is appropriate for parsing values with the following grammar:

    1#item

``parse_item`` parses one item.

``header`` is assumed not to start or end with whitespace.

(This function is designed for parsing an entire header value and
:func:`~websockets.http.read_headers` strips whitespace from values.)

Return a list of items.

Raises:
    InvalidHeaderFormat: On invalid inputs.

Ú,zexpected comma)r/   r5   Úappendr.   r   )rN   r+   r,   r8   ÚitemsÚitems   &&&&  r   Ú
parse_listrT   ¥   sÐ   € ô> �VÓ
! SÔ
(Ü˜ a¥Ó(Šà€EØ
á˜v¨KÓ8‰	ˆØ�‰�TÔÜ˜Ó$ˆð ”#�f“+ÔØô �fÓ" cÔ)Ü˜F¨!¥GÓ,‰Cä% kÐ3CÀVÓQÐQô ˜Ó%¨Ô,Ü˜F¨!¥GÓ,ŠCð ”#�f“+ÖØð ”#�f“+ÔÐÐà€Lr   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   r+   r   r,   r   r8   r   ztuple[ConnectionOption, int]r   )r   s   "r   r   r   ç   s,   € ÷ -ñ -Øð-Øð-Ø(+ð-à!ñ-r   c                óB   € \        WV4      w  r1\        \        V4      V3# )z©
Parse a Connection option from ``header`` at the given position.

Return the protocol value and the new position.

Raises:
    InvalidHeaderFormat: On invalid inputs.

)r=   r   r
   ©r+   r,   r8   rS   s   &&& r   Úparse_connection_optionrX   ç   s%   € ô ˜F¨Ó5�I€DÜÔ  $Ó'¨Ð,Ð,r   c               ó    € V ^8„  d   QhRRRR/# )r   r+   r   r   zlist[ConnectionOption]r   )r   s   "r   r   r   ÷   s   € ÷ Hñ H˜Sð HÐ%;ñ Hr   c                ó&   € \        \        V ^ R4      # )z·
Parse a ``Connection`` header.

Return a list of HTTP connection options.

Args
    header: value of the ``Connection`` header.

Raises:
    InvalidHeaderFormat: On invalid inputs.

Ú
Connection)rT   rX   ©r+   s   &r   Úparse_connectionr]   ÷   s   € ô Ô-¨v°q¸,ÓGÐGr   z>[-!#$%&\'*+.^_`|~0-9a-zA-Z]+(?:/[-!#$%&\'*+.^_`|~0-9a-zA-Z]+)?c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   r+   r   r,   r   r8   r   ztuple[UpgradeProtocol, int]r   )r   s   "r   r   r     s,   € ÷ =ñ =Øð=Øð=Ø(+ð=à ñ=r   c                óª   € \         P                  W4      pVf   \        VRW4      h\        \        VP                  4       4      VP                  4       3# )z©
Parse an Upgrade protocol from ``header`` at the given position.

Return the protocol value and the new position.

Raises:
    InvalidHeaderFormat: On invalid inputs.

zexpected protocol)Ú_protocol_rer3   r   r   r   r;   r4   r<   s   &&& r   Úparse_upgrade_protocolra     sG   € ô ×Ñ˜vÓ+€EØ‚}Ü! +Ð/BÀFÓPÐPÜ” §¡£Ó/°·±³Ð<Ð<r   c               ó    € V ^8„  d   QhRRRR/# )r   r+   r   r   zlist[UpgradeProtocol]r   )r   s   "r   r   r     s   € ÷ Dñ D˜#ð DÐ"7ñ Dr   c                ó&   € \        \        V ^ R4      # )zª
Parse an ``Upgrade`` header.

Return a list of HTTP protocols.

Args:
    header: Value of the ``Upgrade`` header.

Raises:
    InvalidHeaderFormat: On invalid inputs.

ÚUpgrade)rT   ra   r\   s   &r   Úparse_upgradere     s   € ô Ô,¨f°a¸ÓCÐCr   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   r+   r   r,   r   r8   r   ztuple[ExtensionParameter, int]r   )r   s   "r   r   r   .  s,   € ÷ !ñ !Øð!Øð!Ø(+ð!à#ñ!r   c                óB  € \        WV4      w  r1\        W4      pRp\        W4      R8X  dq   \        W^,           4      p\        W4      R8X  d6   Tp\        WV4      w  rA\        P                  V4      f   \        VRW4      hM\        WV4      w  rA\        W4      pW43V3# )z¸
Parse a single extension parameter from ``header`` at the given position.

Return a ``(name, value)`` pair and the new position.

Raises:
    InvalidHeaderFormat: On invalid inputs.

NÚ=rH   zinvalid quoted header content)r=   r5   r/   rD   r:   rJ   r   )r+   r,   r8   ÚnamerF   Ú
pos_befores   &&&   r   Úparse_extension_item_paramrk   .  s°   € ô ˜F¨Ó5�I€DÜ
�FÓ
 €Cà€EÜ�&Ó #Ô%Ü˜ a¥Ó(ˆÜ�fÓ" cÔ)ØˆJÜ,¨V¸+ÓF‰JˆEô ×"Ñ" 5Ó)Ò1Ü)ØÐ!@À&óð ð 2ô
 % V°+Ó>‰JˆEÜ˜Ó$ˆàˆ=˜#ÐÐr   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   r+   r   r,   r   r8   r   ztuple[ExtensionHeader, int]r   )r   s   "r   r   r   R  s,   € ÷ 8ñ 8Øð8Øð8Ø(+ð8à ñ8r   c                óæ   € \        WV4      w  r1\        W4      p. p\        W4      R8X  d4   \        W^,           4      p\        WV4      w  rQVP	                  V4       KC  \        \        V4      V3V3# )zÿ
Parse an extension definition from ``header`` at the given position.

Return an ``(extension name, parameters)`` pair, where ``parameters`` is a
list of ``(name, value)`` pairs, and the new position.

Raises:
    InvalidHeaderFormat: On invalid inputs.

Ú;)r=   r5   r/   rk   rQ   r   r   )r+   r,   r8   ri   Ú
parametersÚ	parameters   &&&   r   Úparse_extension_itemrq   R  so   € ô ˜F¨Ó5�I€DÜ
�FÓ
 €Cà€JÜ
�VÓ
! SÔ
(Ü˜ a¥Ó(ˆÜ3°FÀÓM‰ˆ	Ø×Ñ˜)Ö$Ü” Ó% zÐ2°CÐ7Ð7r   c               ó    € V ^8„  d   QhRRRR/# )r   r+   r   r   zlist[ExtensionHeader]r   )r   s   "r   r   r   k  s   € ÷ Sñ S˜Cð SÐ$9ñ Sr   c                ó&   € \        \        V ^ R4      # )a¢  
Parse a ``Sec-WebSocket-Extensions`` header.

Return a list of WebSocket extensions and their parameters in this format::

    [
        (
            'extension name',
            [
                ('parameter name', 'parameter value'),
                ....
            ]
        ),
        ...
    ]

Parameter values are :obj:`None` when no value is provided.

Raises:
    InvalidHeaderFormat: On invalid inputs.

zSec-WebSocket-Extensions)rT   rq   r\   s   &r   Úparse_extensionrt   k  s   € ô. Ô*¨F°AÐ7QÓRÐRr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   ri   r   ro   zSequence[ExtensionParameter]r   r   r   )r   s   "r   r   r   ˆ  s$   € ÷ ñ Ø
ðØ%Aðàñr   c           
     óš   € RP                  \        \        V 4      .V U Uu. uF  w  rVf   T MV  RV 2NK  	  upp ,           4      # u upp i )zW
Build an extension definition.

This is the reverse of :func:`parse_extension_item`.

z; rh   )Újoinr   r   )ri   ro   rF   s   && r   Úbuild_extension_itemrx   ˆ  s`   € ð �9‰9Ü	Œc�4‹Ðñ  *ô
ñ  *‘�ð ’M‰D¨$¨¨q°°Ð'8Ò8Ù)ò
õ	
óð ùó
s   ¡Ac               ó    € V ^8„  d   QhRRRR/# )r   Ú
extensionszSequence[ExtensionHeader]r   r   r   )r   s   "r   r   r   ›  s   € ÷ 	ñ 	Ð 9ð 	¸cñ 	r   c                ó2   € RP                  R V  4       4      # )z`
Build a ``Sec-WebSocket-Extensions`` header.

This is the reverse of :func:`parse_extension`.

ú, c              3  ó<   "  € T F  w  r\        W4      x € K  	  R # 5i)N)rx   )Ú.0ri   ro   s   &  r   Ú	<genexpr>Ú"build_extension.<locals>.<genexpr>¢  s   é € ð ÙGQÑ3C°4Ô˜T×.Ð.Ãzùs   ‚©rw   )rz   s   &r   Úbuild_extensionr‚   ›  s"   € ð �9‰9ñ ÙGQóó ð r   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   r+   r   r,   r   r8   r   ztuple[Subprotocol, int]r   )r   s   "r   r   r   ª  s,   € ÷ (ñ (Øð(Øð(Ø(+ð(àñ(r   c                óB   € \        WV4      w  r1\        \        V4      V3# )z¦
Parse a subprotocol from ``header`` at the given position.

Return the subprotocol value and the new position.

Raises:
    InvalidHeaderFormat: On invalid inputs.

)r=   r   r   rW   s   &&& r   Úparse_subprotocol_itemr…   ª  s$   € ô ˜F¨Ó5�I€DÜ”˜TÓ" CÐ'Ð'r   c               ó    € V ^8„  d   QhRRRR/# )r   r+   r   r   zlist[Subprotocol]r   )r   s   "r   r   r   º  s   € ÷ 
Sñ 
S˜cð 
SÐ&7ñ 
Sr   c                ó&   € \        \        V ^ R4      # )zŒ
Parse a ``Sec-WebSocket-Protocol`` header.

Return a list of WebSocket subprotocols.

Raises:
    InvalidHeaderFormat: On invalid inputs.

zSec-WebSocket-Protocol)rT   r…   r\   s   &r   Úparse_subprotocolrˆ   º  s   € ô Ô,¨f°aÐ9QÓRÐRr   c               ó    € V ^8„  d   QhRRRR/# )r   ÚsubprotocolsúSequence[Subprotocol]r   r   r   )r   s   "r   r   r   Ê  s   € ÷ #ñ #Ð$9ð #¸cñ #r   c                ó$   € RP                  V 4      # )z`
Build a ``Sec-WebSocket-Protocol`` header.

This is the reverse of :func:`parse_subprotocol`.

r|   r�   )rŠ   s   &r   Úbuild_subprotocolr�   Ê  s   € ð �9‰9�\Ó"Ð"r   c               ó    € V ^8„  d   QhRRRR/# )r   rŠ   r‹   r   ÚNoner   )r   s   "r   r   r   ×  s   € ÷ Dñ DÐ(=ð DÀ$ñ Dr   c                óî   € \        V \        4      '       g   \        R4      h\        V \        4      '       d   \        R4      hV  F,  p\        P                  V4      '       d   K   \        RV 24      h	  R# )zL
Validate that ``subprotocols`` is suitable for :func:`build_subprotocol`.

zsubprotocols must be a listz&subprotocols must be a list, not a strzinvalid subprotocol: N)Ú
isinstancer   Ú	TypeErrorr   r:   rJ   r'   )rŠ   Úsubprotocols   & r   Úvalidate_subprotocolsr”   ×  sd   € ô
 �l¤H×-Ò-ÜÐ5Ó6Ð6Ü�,¤×$Ò$ÜÐ@ÓAÐAÛ#ˆÜ×"Ñ" ;×/Ô/ÜÐ4°[°MÐBÓCÐCó $r   c               ó    € V ^8„  d   QhRRRR/# )r   Úrealmr   r   r   )r   s   "r   r   r   å  s   € ÷ 5ñ 5¨ð 5°ñ 5r   c                ó>   € \        V 4      p \        R4      pRV  RV 2# )zq
Build a ``WWW-Authenticate`` header for HTTP Basic Auth.

Args:
    realm: Identifier of the protection space.

zUTF-8zBasic realm=z
, charset=)rL   )r–   Úcharsets   & r   Úbuild_www_authenticate_basicr™   å  s+   € ô   Ó&€EÜ! 'Ó*€GØ˜%˜ 
¨7¨)Ð4Ð4r   z[A-Za-z0-9-._~+/]+=*c               ó(   € V ^8„  d   QhRRRRRRRR/# r7   r   )r   s   "r   r   r   ö  s(   € ÷ &ñ &˜#ð & Cð &°cð &¸oñ &r   c                óŽ   € \         P                  W4      pVf   \        VRW4      hVP                  4       VP	                  4       3# )zœ
Parse a token68 from ``header`` at the given position.

Return the token value and the new position.

Raises:
    InvalidHeaderFormat: On invalid inputs.

zexpected token68)Ú_token68_rer3   r   r;   r4   r<   s   &&& r   Úparse_token68r�   ö  s@   € ô ×Ñ˜fÓ*€EØ‚}Ü! +Ð/AÀ6ÓOÐOØ�;‰;‹=˜%Ÿ)™)›+Ð%Ð%r   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   r+   r   r,   r   r8   r   r�   r   )r   s   "r   r   r     s.   € ÷ Mñ M�cð M ð M°#ð M¸$ñ Mr   c                ó@   € V\        V 4      8  d   \        VRW4      hR# )z0
Check that parsing reached the end of header.

ztrailing dataN)r.   r   )r+   r,   r8   s   &&&r   Ú	parse_endr      s$   € ð
 ŒS�‹[ÔÜ! +¨ÀÓLÐLñ r   c               ó    € V ^8„  d   QhRRRR/# )r   r+   r   r   ztuple[str, str]r   )r   s   "r   r   r     s   € ÷ -ñ - cð -¨oñ -r   c                ó  € \        V ^ R4      w  rVP                  4       R8w  d   \        RRV 24      h\        W4      R8w  d   \	        RRW4      hV^,          p\        WR4      w  r2\        WR4        \        P                  ! VP                  4       4      P                  4       p TP                  R^4      w  rVYV3#   \        P                   d    \        RR4      Rhi ; i  \         d    \        RR	4      Rhi ; i)
a  
Parse an ``Authorization`` header for HTTP Basic Auth.

Return a ``(username, password)`` tuple.

Args:
    header: Value of the ``Authorization`` header.

Raises:
    InvalidHeaderFormat: On invalid inputs.
    InvalidHeaderValue: On unsupported inputs.

ÚAuthorizationÚbasiczunsupported scheme: Ú zexpected space after schemez#expected base64-encoded credentialsNr#   z&expected username:password credentials)r=   Úlowerr	   r/   r   r�   r    Úbase64Ú	b64decodeÚencodeÚdecodeÚbinasciiÚErrorÚsplitr'   )r+   Úschemer,   Úbasic_credentialsÚ	user_passÚusernameÚpasswords   &      r   Úparse_authorization_basicr³     s%  € ô  ˜f a¨Ó9�K€FØ‡|�|ƒ~˜Ô Ü ØØ" 6 (Ð+ó
ð 	
ô �&Ó #Ô%Ü!ØÐ:¸Fó
ð 	
ð ˆ1…H€CÜ*¨6¸ÓHÑÐÜˆf˜?Ô+ðÜ×$Ò$Ð%6×%=Ñ%=Ó%?Ó@×GÑGÓIˆ	ðØ&Ÿ_™_¨S°!Ó4Ñˆð ÐÐøô �>‰>ô Ü ØØ1ó
ð ð	ðûô ô Ü ØØ4ó
ð ð	ðús   Á52B? Â(C% Â?#C"Ã%C>c               ó$   € V ^8„  d   QhRRRRRR/# )r   r±   r   r²   r   r   )r   s   "r   r   r   ?  s!   € ÷ (ñ (¨ð (°sð (¸sñ (r   c                ó˜   € RV 9  g   Q hV  RV 2p\         P                  ! VP                  4       4      P                  4       pRV,           # )zt
Build an ``Authorization`` header for HTTP Basic Auth.

This is the reverse of :func:`parse_authorization_basic`.

r#   zBasic )r§   Ú	b64encoder©   rª   )r±   r²   r°   r¯   s   &&  r   Úbuild_authorization_basicr·   ?  sQ   € ð �hÔÐÐØ�*˜A˜h˜ZÐ(€IÜ×(Ò(¨×)9Ñ)9Ó);Ó<×CÑCÓEÐØÐ'Õ'Ð'r   )r)   r]   re   rt   r‚   rˆ   r�   r”   r™   r³   r·   )=Ú
__future__r   r§   r«   r$   ÚreÚcollections.abcr   Útypingr   r   r   Ú
exceptionsr   r	   r
   r   r   r   r   r   Ú__all__r   r)   r/   Úcompiler2   r5   r:   r=   rA   rB   rD   rI   rK   rL   rT   rX   r]   r`   ra   re   rk   rq   rt   Úparse_extension_listrx   r‚   Úbuild_extension_listr…   rˆ   Úparse_subprotocol_listr�   Úbuild_subprotocol_listr”   r™   rœ   r�   r    r³   r·   r   r   r   Ú<module>rÃ      sy  ðÝ "ã Û Û Û 	Ý $ß *Ñ *ç ?÷÷ ò€ñ ˆCƒL€ðð
 !&÷õD	7ð �*Š*�YÓ
€õð �JŠJÐ6Ó7€	õ&ð  —J’JØJóÐ ð
 �jŠjÐ8Ó9€õDð  �zŠzÐ6Ó7€ð �JŠJ�Ó'€	õ
5õ?õD-õ Hð  �zŠzØEó€õ
=õ$Dõ !õH8õ2Sð4 'Ð õõ&	ð 'Ð õ(õ 
Sð +Ð õ#ð +Ð õDõ5ð �jŠjÐ0Ó1€õ&õ Mõ-÷`(r   