§
    #ˆtj.  ã                  óô  — U d dl mZ dZd dlZd dlmZ d dlmZmZm	Z	m
Z
mZmZ d dlmZ d dlmZ d dlmZmZmZmZmZmZmZmZmZ d d	lmZ d
dlmZ d
dlmZ d
dl m!Z!m"Z"  ed¦  «        Z# ed¦  «        Z$ ed¦  «        Z% e!d¦  «        Z&de'd<    G d„ d¦  «        Z( e(¦   «         Z)de'd<    G d„ de¦  «        Z* G d„ de¦  «        Z+ G d„ dee#         ¦  «        Z,e G d„ dee%e#f         ¦  «        ¦   «         Z- G d„ d¦  «        Z.edGd$„¦   «         Z/edHd'„¦   «         Z/dId*„Z/ed+d+d+d+d,œdJd3„¦   «         Z0edGd4„¦   «         Z0edHd5„¦   «         Z0	 dKd6d7d7dd,œdLd9„Z0edMd?„¦   «         Z1edNdB„¦   «         Z1e)fdOdF„Z1dS )Pé    )Úannotations)ÚAsyncCacheInfoÚAsyncCacheParametersÚAsyncLRUCacheWrapperÚcacheÚ	lru_cacheÚreduceN)ÚOrderedDict)ÚAsyncIterableÚ	AwaitableÚCallableÚ	CoroutineÚHashableÚIterable)Úupdate_wrapper)Úiscoroutinefunction)	ÚAnyÚGenericÚ
NamedTupleÚ	ParamSpecÚ	TypedDictÚTypeVarÚcastÚfinalÚoverload)ÚWeakKeyDictionaryé   )Úcurrent_time)ÚLock)ÚRunVarÚ
checkpointÚTÚSÚPÚlru_cache_itemsz¡RunVar[WeakKeyDictionary[AsyncLRUCacheWrapper[Any, Any], OrderedDict[Hashable, tuple[_InitialMissingType, Lock, float | None] | tuple[Any, None, float | None]]]]c                  ó   — e Zd ZdS )Ú_InitialMissingTypeN)Ú__name__Ú
__module__Ú__qualname__© ó    úM/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/anyio/functools.pyr'   r'   8   s   € € € € € Ø€Dr,   r'   Úinitial_missingc                  óB   — e Zd ZU ded<   ded<   ded<   ded<   ded<   dS )	r   ÚintÚhitsÚmissesú
int | NoneÚmaxsizeÚcurrsizeÚttlN©r(   r)   r*   Ú__annotations__r+   r,   r-   r   r   ?   s@   € € € € € € Ø€I€I�IØ€K€K�KØÐÐÑØ€M€M�MØ€O€O�O€O€Or,   r   c                  ó8   — e Zd ZU ded<   ded<   ded<   ded<   dS )r   r3   r4   ÚboolÚtypedÚalways_checkpointr6   Nr7   r+   r,   r-   r   r   G   s:   € € € € € € ØÐÐÑØ€K€K�KØÐÐÑØ€O€O�O€O€Or,   r   c                  ó6   — e Zd Zdd„Zdd„Zdd
„Zdd„Zdd„ZdS )Ú_LRUMethodWrapperÚwrapperúAsyncLRUCacheWrapper[..., T]ÚinstanceÚobjectc                ó"   — || _         || _        d S ©N)Ú_LRUMethodWrapper__wrapperÚ_LRUMethodWrapper__instance)Úselfr?   rA   s      r-   Ú__init__z_LRUMethodWrapper.__init__O   s   € Ø ˆŒØ"ˆŒˆˆr,   Úreturnr   c                ó4   — | j                              ¦   «         S rD   )rE   Ú
cache_info©rG   s    r-   rK   z_LRUMethodWrapper.cache_infoS   s   € ØŒ~×(Ò(Ñ*Ô*Ð*r,   r   c                ó4   — | j                              ¦   «         S rD   )rE   Úcache_parametersrL   s    r-   rN   z"_LRUMethodWrapper.cache_parametersV   s   € ØŒ~×.Ò.Ñ0Ô0Ð0r,   ÚNonec                ó8   — | j                              ¦   «          d S rD   )rE   Úcache_clearrL   s    r-   rQ   z_LRUMethodWrapper.cache_clearY   s   € ØŒ×"Ò"Ñ$Ô$Ð$Ð$Ð$r,   Úargsr   Úkwargsr"   c              �  ór   K  — | j         € | j        |i |¤Žƒ d {V —†S  | j        | j         g|¢R i |¤Žƒ d {V —†S rD   )rF   rE   )rG   rR   rS   s      r-   Ú__call__z_LRUMethodWrapper.__call__\   sm   è è € ØŒ?Ð"Ø'˜œ¨Ð8°Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ð8à#�T”^ D¤OÐE°dÐEÐEÐE¸fÐEÐEÐEÐEÐEÐEÐEÐEÐEr,   N)r?   r@   rA   rB   ©rI   r   ©rI   r   ©rI   rO   )rR   r   rS   r   rI   r"   )r(   r)   r*   rH   rK   rN   rQ   rU   r+   r,   r-   r>   r>   N   s~   € € € € € ð#ð #ð #ð #ð+ð +ð +ð +ð1ð 1ð 1ð 1ð%ð %ð %ð %ðFð Fð Fð Fð Fð Fr,   r>   c                  óB   — e Zd Zdd	„Zdd„Zd d„Zd!d„Zd"d„Z	 d#d$d„ZdS )%r   ÚfuncúCallable[P, Awaitable[T]]r4   r3   r;   r:   r<   r6   c                óº   — || _         d| _        d| _        |�t          |d¦  «        nd | _        d| _        || _        || _        || _        t          | |¦  «         d S ©Nr   )
Ú__wrapped__Ú_hitsÚ_missesÚmaxÚ_maxsizeÚ	_currsizeÚ_typedÚ_always_checkpointÚ_ttlr   )rG   rZ   r4   r;   r<   r6   s         r-   rH   zAsyncLRUCacheWrapper.__init__e   se   € ð  ˆÔØˆŒ
ØˆŒØ+2Ð+>�˜G Q™œ˜ÀDˆŒØˆŒØˆŒØ"3ˆÔØˆŒ	Ý�t˜TÑ"Ô"Ð"Ð"Ð"r,   rI   r   c                óZ   — t          | j        | j        | j        | j        | j        ¦  «        S rD   )r   r_   r`   rb   rc   rf   rL   s    r-   rK   zAsyncLRUCacheWrapper.cache_infow   s)   € ÝØŒJ˜œ d¤m°T´^ÀTÄYñ
ô 
ð 	
r,   r   c                ó8   — | j         | j        | j        | j        dœS )N©r4   r;   r<   r6   ©rb   rd   re   rf   rL   s    r-   rN   z%AsyncLRUCacheWrapper.cache_parameters|   s&   € à”}Ø”[Ø!%Ô!8Ø”9ð	
ð 
ð 	
r,   rO   c                ó˜   — t                                d ¦  «        x}r-|                     | d ¦  «         dx| _        x| _        | _        d S d S r]   )r%   ÚgetÚpopr_   r`   rc   )rG   r   s     r-   rQ   z AsyncLRUCacheWrapper.cache_clear„   sT   € Ý#×'Ò'¨Ñ-Ô-Ð-ˆ5ð 	;Ø�IŠI�d˜DÑ!Ô!Ð!Ø9:Ð:ˆDŒJÐ:˜œ¨¬¨¨ð	;ð 	;r,   rR   úP.argsrS   úP.kwargsr"   c              �  ód  K  — | j         dk    r% | j        |i |¤Žƒ d {V —†}| xj        dz  c_        |S |}|r.|t          ft	          |                     ¦   «         d¦  «        z   z  }| j        rU|t          d„ |D ¦   «         ¦  «        z  }|r7|t          ft          d„ |                     ¦   «         D ¦   «         ¦  «        z   z  }	 t           
                    ¦   «         }n8# t          $ r+ t          ¦   «         }t                               |¦  «         Y nw xY w	 ||          }n## t          $ r t          ¦   «         x}|| <   Y nw xY w	 ||         \  }}}	n7# t          $ r* t          t!          | j         ¬¦  «        d }	}}|||	f||<   Y nw xY w|€¡|	�Jt%          ¦   «         |	k    r8| xj        dz  c_        t          t!          | j         ¬¦  «        d }	}}|||	f||<   nU| xj        dz  c_        |                     |¦  «         | j        rt-          ¦   «         ƒ d {V —† t/          t0          |¦  «        S |4 ƒd {V —† ||         d         x}t          u r‰| xj        dz  c_        | j         �'| j        | j         k    r|                     d¬¦  «         n| xj        dz  c_         | j        |i |¤Žƒ d {V —†}| j        �t%          ¦   «         | j        z   nd }	|d |	f||<   n:| xj        dz  c_        |                     |¦  «         t/          t0          |¦  «        }	 d d d ¦  «        ƒd {V —† n# 1 ƒd {V —†swxY w Y   |S )	Nr   r   r+   c              3  ó4   K  — | ]}t          |¦  «        V — Œd S rD   ©Útype)Ú.0Úargs     r-   ú	<genexpr>z0AsyncLRUCacheWrapper.__call__.<locals>.<genexpr>—   s(   è è € Ð3Ð3 s�˜c™œÐ3Ð3Ð3Ð3Ð3Ð3r,   c              3  ó4   K  — | ]}t          |¦  «        V — Œd S rD   rr   )rt   Úvals     r-   rv   z0AsyncLRUCacheWrapper.__call__.<locals>.<genexpr>™   s(   è è € Ð1WÐ1WÀµ$°s±)´)Ð1WÐ1WÐ1WÐ1WÐ1WÐ1Wr,   )Úfast_acquireF)Úlast)rb   r^   r`   r.   ÚsumÚitemsrd   ÚtupleÚvaluesr%   rl   ÚLookupErrorr   ÚsetÚKeyErrorr
   r   re   r   rc   r_   Úmove_to_endr!   r   r"   Úpopitemrf   )
rG   rR   rS   ÚvalueÚkeyr   Úcache_entryÚcached_valueÚlockÚ
expires_ats
             r-   rU   zAsyncLRUCacheWrapper.__call__‰   sp  è è € àŒ=˜AÒÐØ*˜$Ô*¨DÐ;°FÐ;Ð;Ð;Ð;Ð;Ð;Ð;Ð;ˆEØˆLŒL˜AÑˆLŒLØˆLð  $ˆØð 	@à•OÐ%­¨F¯LªL©N¬N¸BÑ(?Ô(?Ñ?Ñ?ˆCàŒ;ð 	XØ•5Ð3Ð3¨dÐ3Ñ3Ô3Ñ3Ô3Ñ3ˆCØð XØ�Ð)­EÐ1WÐ1WÀvÇ}Â}ÁÄÐ1WÑ1WÔ1WÑ,WÔ,WÑWÑW�ð	'Ý#×'Ò'Ñ)Ô)ˆEˆEøÝð 	'ð 	'ð 	'Ý%Ñ'Ô'ˆEÝ×Ò Ñ&Ô&Ð&Ð&Ð&ð	'øøøð	6Ø œ+ˆKˆKøÝð 	6ð 	6ð 	6Ý(3©¬Ð5ˆK˜% ™+˜+˜+ð	6øøøð		>Ø-8¸Ô-=Ñ*ˆL˜$ 
 
øÝð 	>ð 	>ð 	>õ  Ý dÔ&=Ð"=Ð>Ñ>Ô>Øð !+˜$ˆLð
  ,¨T°:Ð=ˆK˜ÑÐÐð	>øøøð ˆ<ØÐ%­,©.¬.¸JÒ*FÐ*FØ�” !Ñ#�”å#Ý¨$Ô*AÐ&AÐBÑBÔBØð %/˜d�ð
 $0°°zÐ#A�˜CÑ Ð ð �
”
˜a‘�
”
Ø×'Ò'¨Ñ,Ô,Ð,ØÔ*ð 'Ý$™,œ,Ð&Ð&Ð&Ð&Ð&Ð&Ð&å�A˜|Ñ,Ô,Ð,àð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.à +¨CÔ 0°Ô 3Ð3�½ÐGÐGØ�” Ñ!�”Ø”=Ð,°´À4Ä=Ò1PÐ1PØ×'Ò'¨UÐ'Ñ3Ô3Ð3Ð3à�N”N aÑ'�N”Nà.˜dÔ.°Ð?¸Ð?Ð?Ð?Ð?Ð?Ð?Ð?Ð?�à26´)Ð2G•L‘N”N T¤YÑ.Ð.ÈTð ð $)¨$°
Ð#:�˜CÑ Ð ð �
”
˜a‘�
”
Ø×'Ò'¨Ñ,Ô,Ð,Ý�Q Ñ-Ô-�Ð-ð%	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.ð( ˆsI   ÃC Ã2DÄDÄD ÄD>Ä=D>ÅE Å1FÆFÈ1CLÌ
L)Ì,L)NrA   rB   Úownerútype | Noneú_LRUMethodWrapper[T]c                óP   — t          | |¦  «        }t          || j        ¦  «         |S rD   )r>   r   r^   )rG   rA   rŠ   r?   s       r-   Ú__get__zAsyncLRUCacheWrapper.__get__Ú   s+   € õ $ D¨(Ñ3Ô3ˆÝ�w Ô 0Ñ1Ô1Ð1Øˆr,   )
rZ   r[   r4   r3   r;   r:   r<   r:   r6   r3   rV   rW   rX   )rR   rn   rS   ro   rI   r"   rD   )rA   rB   rŠ   r‹   rI   rŒ   )	r(   r)   r*   rH   rK   rN   rQ   rU   rŽ   r+   r,   r-   r   r   c   s›   € € € € € ð#ð #ð #ð #ð$
ð 
ð 
ð 
ð

ð 
ð 
ð 
ð;ð ;ð ;ð ;ð
Oð Oð Oð Oðd 6:ðð ð ð ð ð ð r,   r   c                  óN   — e Zd Zdd„Zedd„¦   «         Zedd„¦   «         Zdd„ZdS )Ú_LRUCacheWrapperr4   r3   r;   r:   r<   r6   c                ó>   — || _         || _        || _        || _        d S rD   rj   )rG   r4   r;   r<   r6   s        r-   rH   z_LRUCacheWrapper.__init__ã   s%   € ð  ˆŒØˆŒØ"3ˆÔØˆŒ	ˆ	ˆ	r,   rZ   ú#Callable[P, Coroutine[Any, Any, T]]rI   úAsyncLRUCacheWrapper[P, T]c               ó   — d S rD   r+   ©rG   rZ   s     r-   rU   z_LRUCacheWrapper.__call__ë   s	   € ð &) Sr,   úCallable[..., T]úfunctools._lru_cache_wrapper[T]c               ó   — d S rD   r+   r•   s     r-   rU   z_LRUCacheWrapper.__call__ð   s	   € ð +.¨#r,   Úfú6Callable[P, Coroutine[Any, Any, T]] | Callable[..., T]ú<AsyncLRUCacheWrapper[P, T] | functools._lru_cache_wrapper[T]c               óÀ   — t          |¦  «        r't          || j        | j        | j        | j        ¦  «        S  t          j        | j        | j        ¬¦  «        |¦  «        S )N)r4   r;   )r   r   rb   rd   re   rf   Ú	functoolsr   )rG   r™   s     r-   rU   z_LRUCacheWrapper.__call__õ   sa   € õ ˜qÑ!Ô!ð 	Ý'Ø�4”= $¤+¨tÔ/FÈÌ	ñô ð ð M�yÔ"¨4¬=ÀÄÐLÑLÔLÈQÑOÔOÐOr,   N)r4   r3   r;   r:   r<   r:   r6   r3   ©rZ   r’   rI   r“   ©rZ   r–   rI   r—   )r™   rš   rI   r›   )r(   r)   r*   rH   r   rU   r+   r,   r-   r�   r�   â   s‚   € € € € € ðð ð ð ð ð)ð )ð )ñ „Xð)ð ð.ð .ð .ñ „Xð.ðPð Pð Pð Pð Pð Pr,   r�   rZ   r’   rI   r“   c               ó   — d S rD   r+   ©rZ   s    r-   r   r      ó	   € ð "% r,   r–   r—   c               ó   — d S rD   r+   r¡   s    r-   r   r     s   € ØILÈr,   ú:Callable[..., Any] | Callable[P, Coroutine[Any, Any, Any]]r   c               ó4   —  t          d¬¦  «        | ¦  «        S )z’
    A convenient shortcut for :func:`lru_cache` with ``maxsize=None``.

    This is the asynchronous equivalent to :func:`functools.cache`.

    N)r4   )r   r¡   s    r-   r   r   
  s   € ð #�9˜TÐ"Ñ"Ô" 4Ñ(Ô(Ð(r,   .ri   r4   r3   r;   r:   r<   r6   c                ó   — d S rD   r+   ri   s       r-   r   r     s	   € ð �sr,   c               ó   — d S rD   r+   r¡   s    r-   r   r     r¢   r,   c               ó   — d S rD   r+   r¡   s    r-   r   r   $  s   € ØMPÈSr,   é€   FúCCallable[..., Coroutine[Any, Any, Any]] | Callable[..., Any] | Nonec              óœ   — | €t          ||||¦  «        S t          | ¦  «        st          d¦  «        ‚ t          ||||¦  «        | ¦  «        S )aÞ  
    An asynchronous version of :func:`functools.lru_cache`.

    If a synchronous function is passed, the standard library
    :func:`functools.lru_cache` is applied instead.

    :param always_checkpoint: if ``True``, every call to the cached function will be
        guaranteed to yield control to the event loop at least once
    :param ttl: time in seconds after which to invalidate cache entries

    .. note:: Caches and locks are managed on a per-event loop basis.

    Nz#the first argument must be callable)r�   ÚcallableÚ	TypeError)rZ   r4   r;   r<   r6   s        r-   r   r   (  s[   € ð, €|Ý ¨Ð0AÀ3ÑGÔGÐGå�D‰>Œ>ð ?ÝÐ=Ñ>Ô>Ð>àCÕ˜G UÐ,=¸sÑCÔCÀDÑIÔIÐIr,   ÚinitialÚfunctionúCallable[[T, S], Awaitable[T]]ÚiterableúIterable[S] | AsyncIterable[S]c             ƒ  ó
   K  — d S rD   r+   )r¯   r±   r®   s      r-   r	   r	   G  s   è è € ð 	ˆr,   úCallable[[T, T], Awaitable[T]]úIterable[T] | AsyncIterable[T]c             ƒ  ó
   K  — d S rD   r+   )r¯   r±   s     r-   r	   r	   P  s   è è € ð
 	ˆr,   úT | _InitialMissingTypeú?Callable[[T, T], Awaitable[T]] | Callable[[T, S], Awaitable[T]]ú?Iterable[T] | Iterable[S] | AsyncIterable[T] | AsyncIterable[S]c             ƒ  óü  K  — d}t          |t          ¦  «        rŸ|                     ¦   «         }|t          u rM	 t	          t
          |                     ¦   «         ƒ d{V —†¦  «        }n3# t          $ r t          d¦  «        d‚w xY wt	          t
          |¦  «        }|2 3 d{V —†} | ||¦  «        ƒ d{V —†}d}Œ6 n­t          |t          ¦  «        r‰t          |¦  «        }|t          u rB	 t	          t
          t          |¦  «        ¦  «        }n3# t          $ r t          d¦  «        d‚w xY wt	          t
          |¦  «        }|D ]} | ||¦  «        ƒ d{V —†}d}Œnt          d¦  «        ‚|st          ¦   «         ƒ d{V —† |S )at  
    Asynchronous version of :func:`functools.reduce`.

    :param function: a coroutine function that takes two arguments: the accumulated
        value and the next element from the iterable
    :param iterable: an iterable or async iterable
    :param initial: the initial value (if missing, the first element of the iterable is
        used as the initial value)

    FNz0reduce() of empty sequence with no initial valueTz9reduce() argument 2 must be an iterable or async iterable)Ú
isinstancer   Ú	__aiter__r.   r   r"   Ú	__anext__ÚStopAsyncIterationr­   r   ÚiterÚnextÚStopIterationr!   )r¯   r±   r®   Úfunction_calledÚasync_itr„   ÚelementÚits           r-   r	   r	   X  s  è è € ð" €OÝ�(�MÑ*Ô*ð UØ×%Ò%Ñ'Ô'ˆØ•oÐ%Ð%ðÝ�Q h×&8Ò&8Ñ&:Ô&:Ð :Ð :Ð :Ð :Ð :Ð :Ñ;Ô;��øÝ%ð ð ð ÝØFñô àððøøøõ
 �˜GÑ$Ô$ˆEà%ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#�'Ø"˜( 5¨'Ñ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2ˆEØ"ˆOˆOð &˜Xõ 
�H�hÑ	'Ô	'ð UÝ�(‰^Œ^ˆØ•oÐ%Ð%ðÝ�Q¥ R¡¤Ñ)Ô)��øÝ ð ð ð ÝØFñô àððøøøõ
 �˜GÑ$Ô$ˆEàð 	#ð 	#ˆGØ"˜( 5¨'Ñ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2ˆEØ"ˆOˆOð	#õ ÐSÑTÔTÐTð ð Ý‰lŒlÐÐÐÐÐÐÐà€Ls   ¸-A& Á&BÂB7Ã'"D
 Ä
D%rž   rŸ   )rZ   r¤   rI   r   )
r4   r3   r;   r:   r<   r:   r6   r3   rI   r�   rD   )rZ   rª   r4   r3   r;   r:   r<   r:   r6   r3   rI   r   )r®   r"   r¯   r°   r±   r²   rI   r"   )r¯   r´   r±   rµ   rI   r"   )r®   r·   r¯   r¸   r±   r¹   rI   r"   )2Ú
__future__r   Ú__all__r�   Úcollectionsr
   Úcollections.abcr   r   r   r   r   r   r   Úinspectr   Útypingr   r   r   r   r   r   r   r   r   Úweakrefr   Ú_core._eventloopr   Ú_core._synchronizationr   Úlowlevelr    r!   r"   r#   r$   r%   r8   r'   r.   r   r   r>   r   r�   r   r   r	   r+   r,   r-   ú<module>rÐ      sm  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "ð€ð Ð Ð Ð Ø #Ð #Ð #Ð #Ð #Ð #ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð %Ð $Ð $Ð $Ð $Ð $Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'ð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð &Ð %Ð %Ð %Ð %Ð %à *Ð *Ð *Ð *Ð *Ð *Ø (Ð (Ð (Ð (Ð (Ð (Ø (Ð (Ð (Ð (Ð (Ð (Ð (Ð (à€GˆC�L„L€Ø€GˆC�L„L€Ø€Iˆc�N„N€ð €FÐÑÔð ð 	ð 	ð 	ñ 	ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð (;Ð':Ñ'<Ô'<€Ð <Ð <Ð <Ñ <ðð ð ð ð �Zñ ô ð ðð ð ð ð ˜9ñ ô ð ðFð Fð Fð Fð F˜ œ
ñ Fô Fð Fð* ð{ð {ð {ð {ð {˜7 1 a 4œ=ñ {ô {ñ „ð{ð|Pð Pð Pð Pð Pñ Pô Pð Pð< 
ð%ð %ð %ñ 
„ð%ð
 
Ø LÐ LÐ Lñ 
„Ø Lð)ð )ð )ð )ð 
ð ØØ!Øðð ð ð ð ñ 
„ðð 
ð%ð %ð %ñ 
„ð%ð
 
Ø PÐ PÐ Pñ 
„Ø Pð QUðJð ØØ#ØðJð Jð Jð Jð Jð Jð> 
ðð ð ñ 
„ðð 
ðð ð ñ 
„ðð (7ð	8ð 8ð 8ð 8ð 8ð 8ð 8r,   