§
    šŠtjÒ?  ã                  ó®  — 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
mZ d dlmZmZmZmZ d dlmZ d dlmZmZmZ d d	lmZ d d
lmZmZmZmZmZmZm Z   e! edd¦  «        ¦  «        Z" e! edd¦  «        ¦  «        Z#dBd„Z$dCd„Z%dDd„Z&dEd„Z'dFd"„Z(dGd$„Z)dHd&„Z*d'd'd'd'd'd(œdId1„Z+	 dJdKd5„Z,	 dJdLd7„Z-dMd9„Z.dHd:„Z/d;Z0dNd=„Z1dOd>„Z2 e3d?¦  «        Z4dPdA„Z5d'S )Qé    )Úannotations)ÚChainMap)ÚMappingÚSequence)Úgetenv)ÚAnyÚcast)ÚAsyncCallbackManagerÚBaseCallbackManagerÚCallbackManagerÚ	Callbacks)ÚRunnableConfig)ÚCONFIG_KEYSÚCOPIABLE_KEYSÚvar_child_runnable_config)ÚCheckpointMetadata)Ú_CHECKPOINT_COORDINATE_KEYSÚCONFÚCONFIG_KEY_CHECKPOINT_IDÚCONFIG_KEY_CHECKPOINT_MAPÚCONFIG_KEY_CHECKPOINT_NSÚNS_ENDÚNS_SEPÚ!LANGGRAPH_DEFAULT_RECURSION_LIMITÚ10007Ú-LANGGRAPH_DELTA_MAX_SUPERSTEPS_SINCE_SNAPSHOTÚ5000ÚnsÚstrÚreturnc                ón   — t          j        d„ |                      t           ¦  «        D ¦   «         ¦  «        S )z´Remove task IDs from checkpoint namespace.

    Args:
        ns: The checkpoint namespace with task IDs.

    Returns:
        str: The checkpoint namespace without task IDs.
    c              3  ó~   K  — | ]8}|                      ¦   «         °|                     t          ¦  «        d          V — Œ9dS )r   N)ÚisdigitÚsplitr   )Ú.0Úparts     úY/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/langgraph/_internal/_config.pyú	<genexpr>z'recast_checkpoint_ns.<locals>.<genexpr>/   sT   è è € ð ð Ø"&À$Ç,Â,Á.Ä.ðØ�
Š
•6ÑÔ˜1Ôðð ð ð ð ð ó    )r   Újoinr$   )r   s    r'   Úrecast_checkpoint_nsr+   &   s@   € õ Œ;ð ð Ø*,¯(ª(µ6Ñ*:Ô*:ðñ ô ñ ô ð r)   ÚconfigúRunnableConfig | NoneÚpatchúdict[str, Any]r   c                ó|   — | €	t           |iS t           | vri | ¥t           |i¥S i | ¥t           i | t                    ¥|¥i¥S ©N)r   )r,   r.   s     r'   Úpatch_configurabler2   4   sW   € ð €~Ý�eˆ}ÐÝ	�VÐ	Ð	Ø&�&Ð&�$ Ð&Ð&Ð&à:�&Ð:�$Ð 9 6­$¤<Ð 9°5Ð 9Ð:Ð:Ð:r)   ÚmetadataúCheckpointMetadata | Nonec                óÄ   — | €| S |r|                      d¦  «        nd x}r@| t                   }t          | t          i |¥|t                   |t
                   i¥i¦  «        S | S )NÚparents)Úgetr   r2   r   r   r   )r,   r3   r6   Úconfs       r'   Úpatch_checkpoint_mapr9   ?   s†   € ð €~ØˆØ08ÐB�X—\’\ )Ñ,Ô,Ð,¸dÐ	Cˆð Ø•dŒ|ˆÝ!Øå)ð ,Øð,àÕ1Ô2°DÕ9QÔ4Rð,ð ,ðñ
ô 
ð 	
ð ˆr)   Úvaluer   c                óN   — t          | t          ¦  «        rt          | ¦  «        n| S r1   )Ú
isinstancer   Údict©r:   s    r'   Ú_copy_mapping_valuer?   S   s!   € Ý$ U­GÑ4Ô4Ð?�4�‰;Œ;ˆ;¸%Ð?r)   ÚbaseúMapping[str, Any] | NoneÚnewc                ó’  — d„ | pi                       ¦   «         D ¦   «         }|pi                       ¦   «         D ]�\  }}|dk    rrt          |                     |¦  «        t          ¦  «        rJt          |t          ¦  «        r5i t	          t          t
          t          f         ||         ¦  «        ¥|¥||<   Œ}t          |¦  «        ||<   Œ�|S )uâ  Merge metadata without mutating inputs.

    Top-level keys merge with newer values winning. `lc_versions` is the only
    mapping-valued key that merges one level deeper, so independent LangChain
    packages can contribute package versions without changing generic metadata
    semantics. Mapping values are copied one level, so deeper nested objects
    remain shared. `None` inputs are treated as empty metadata.

    Mirrors `langchain_core.runnables.config._merge_metadata_dicts` so configs
    that pass through LangGraph's merge keep the same `lc_versions` semantics;
    keep the two in sync. Unlike lc-core, this copies mapping values one level
    (intentionally more defensive â€” do not "simplify" back to a shared ref).
    c                ó4   — i | ]\  }}|t          |¦  «        “ŒS © )r?   )r%   Úkeyr:   s      r'   ú
<dictcomp>z#_merge_metadata.<locals>.<dictcomp>g   s'   € ÐUÐUÐU±*°#°uˆcÕ& uÑ-Ô-ÐUÐUÐUr)   Úlc_versions)Úitemsr<   r7   r   r	   r   r   r?   )r@   rB   ÚmergedrF   r:   s        r'   Ú_merge_metadatarK   W   sÒ   € ð  VÐUÀÀÈ×@RÒ@RÑ@TÔ@TÐUÑUÔU€FØ�y˜b×'Ò'Ñ)Ô)ð 5ð 5‰
ˆˆUà�=Ò Ð Ý˜6Ÿ:š: c™?œ?­GÑ4Ô4ð !å˜5¥'Ñ*Ô*ð !ðÝ•w�s¥C˜xÔ(¨&°¬+Ñ6Ô6ðàðˆF�3‰KˆKõ
 .¨eÑ4Ô4ˆF�3‰KˆKØ€Mr)   r   c                óÊ  — |€| S | €2t          |t          t          f¦  «        r|                     ¦   «         n|S t          |t          ¦  «        rbt          | t          ¦  «        r| |z   S t          | t          ¦  «        r2|                      ¦   «         }|D ]}|                     |d¬¦  «         Œ|S n†t          |t          ¦  «        rqt          | t          ¦  «        r2|                     ¦   «         }| D ]}|                     |d¬¦  «         Œ|S t          | t          ¦  «        r|                      |¦  «        S t          dt          | ¦  «        › dt          |¦  «        › �¦  «        ‚)z€Merge two callbacks values (None / list / BaseCallbackManager).

    Six cases total (3 base types x 2 non-None new types).
    NT)ÚinheritzUnsupported callback types: z, )r<   Úlistr   ÚcopyÚadd_handlerÚmergeÚNotImplementedErrorÚtype)r@   rB   ÚmngrÚcbs       r'   Ú_merge_callbacksrV   w   sp  € ð
 €{ØˆØ€|Ý'¨­dÕ4GÐ-HÑIÔIÐRˆs�xŠx‰zŒzˆzÈsÐRÝ�#•tÑÔð #Ý�d�DÑ!Ô!ð 	Ø˜#‘:ÐÝ�dÕ/Ñ0Ô0ð 	Ø—9’9‘;”;ˆDØð 3ð 3�Ø× Ò  ¨TÐ Ñ2Ô2Ð2Ð2ØˆKð		õ
 
�CÕ,Ñ	-Ô	-ð #Ý�d�DÑ!Ô!ð 	Ø—8’8‘:”:ˆDØð 3ð 3�Ø× Ò  ¨TÐ Ñ2Ô2Ð2Ð2ØˆKÝ�dÕ/Ñ0Ô0ð 	#Ø—:’:˜c‘?”?Ð"Ý
ÐV½TÀ$¹Z¼ZÐVÐVÍ4ÐPSÉ9Ì9ÐVÐVÑ
WÔ
WÐWr)   Úconfigsc            
     ó  — i }| D �]n}|€Œ|                      ¦   «         D �]R\  }}|sŒ	|dk    rtt          t          t          t          t
          f         dz  |                     |¦  «        ¦  «        t          t          t          t
          f         |¦  «        ¦  «        ||<   Œƒ|dk    r'|                     |¦  «        x}r
g |¢|¢||<   Œª|||<   Œ°|t          k    r'|                     |¦  «        x}r
i |¥|¥||<   ŒÜ|||<   Œâ|dk    r;t          |                     d¦  «        t          t          |¦  «        ¦  «        |d<   �Œ#|dk    r|d         t          k    r|d         |d<   �ŒG||         ||<   �ŒT�Œpt          |vr
i |t          <   |S )z‘Merge multiple configs into one.

    Args:
        *configs: The configs to merge.

    Returns:
        RunnableConfig: The merged config.
    Nr3   ÚtagsÚ	callbacksÚrecursion_limit)rI   rK   r	   r   r   r   r7   r   rV   r   ÚDEFAULT_RECURSION_LIMIT)rW   r@   r,   rF   r:   Ú
base_values         r'   Úmerge_configsr^   “   sÃ  € ð €Dð ð (ñ (ˆØˆ>ØØ Ÿ,š,™.œ.ð 	(ñ 	(‰JˆC�Øð ØØ�jÒ Ð Ý+Ý�¥¥c Ô*¨TÑ1°4·8²8¸C±=´=ÑAÔAÝ�¥¥c Ô*¨EÑ2Ô2ñô ��S‘	�	ð ˜’�Ø!%§¢¨#¡¤Ð.�:ð &Ø 5 *Ð 5¨uÐ 5�D˜‘I�Ià %�D˜‘I�IØ�’�Ø!%§¢¨#¡¤Ð.�:ð &Ø 7 :Ð 7°Ð 7�D˜‘I�Ià %�D˜‘I�IØ˜Ò#Ð#Ý$4Ø—H’H˜[Ñ)Ô)­4µ	¸5Ñ+AÔ+Añ%ô %��[Ñ!Ñ!ð Ð)Ò)Ð)ØÐ+Ô,Õ0GÒGÐGØ.4Ð5FÔ.G�DÐ*Ñ+ùà" 3œK��S‘	‘	ñ5	(õ6 �4ÐÐØˆ�T‰
Ø€Kr)   N)rZ   r[   Úmax_concurrencyÚrun_nameÚconfigurablerZ   r[   ú
int | Noner_   r`   ú
str | Nonera   údict[str, Any] | Nonec               óÜ   — | �|                       ¦   «         ni } |�|| d<   d| v r| d= d| v r| d= |�|| d<   |�|| d<   |�|| d<   |�'i |                      t          i ¦  «        ¥|¥| t          <   | S )a°  Patch a config with new values.

    Args:
        config: The config to patch.
        callbacks: The callbacks to set.
        recursion_limit: The recursion limit to set.
        max_concurrency: The max number of concurrent steps to run, which also applies to parallelized steps.
        run_name: The run name to set.
        configurable: The configurable to set.

    Returns:
        RunnableConfig: The patched config.
    NrZ   r`   Úrun_idr[   r_   )rO   r7   r   )r,   rZ   r[   r_   r`   ra   s         r'   Úpatch_configrg   Â   s°   € ð, %Ð0ˆV�[Š[‰]Œ]ˆ]°b€FØÐð (ˆˆ{ÑØ˜ÐÐØ�zÐ"Ø�vÐÐØ�xÐ ØÐ"Ø$3ˆÐ Ñ!ØÐ"Ø$3ˆÐ Ñ!ØÐØ%ˆˆzÑØÐØ?˜&Ÿ*š*¥T¨2Ñ.Ô.Ð?°,Ð?ˆ�t‰Ø€Mr)   rY   úSequence[str] | Noner   c                óÜ  — ddl m} |                      d¦  «        }|�	|�g |¢|¢}n|�t          |¦  «        }|                      d¦  «        x}rVt	          ||¦  «        rF|r|                     |¦  «         |                      d¦  «        x}r|                     |¦  «         |}nG |j        |                      d¦  «        ||                      d¦  «        t          | ¦  «        ¬¦  «        }|S )z�Get a callback manager for a config.

    Args:
        config: The config.

    Returns:
        CallbackManager: The callback manager.
    r   )r   rY   NrZ   r3   ©Úinheritable_callbacksÚinheritable_tagsÚinheritable_metadataÚlangsmith_inheritable_metadata)	Ú langchain_core.callbacks.managerr   r7   rN   r<   Úadd_tagsÚadd_metadataÚ	configureÚ_get_tracing_metadata_defaults)r,   rY   r   Úall_tagsrZ   r3   Úmanagers          r'   Úget_callback_manager_for_configrv   ì   s&  € ð AÐ@Ð@Ð@Ð@Ð@ð �zŠz˜&Ñ!Ô!€HØÐ Ð 0Ø%�XÐ% Ð%ˆˆØ	Ð	Ý˜‘:”:ˆà—Z’Z Ñ,Ô,Ð,ˆ	ð 
µ*Ø�?ñ3ô 3ð 
ð ð 	)Ø×Ò˜xÑ(Ô(Ð(Ø—z’z *Ñ-Ô-Ð-ˆ8ð 	-Ø×"Ò" 8Ñ,Ô,Ð,Øˆˆð ,�/Ô+Ø"(§*¢*¨[Ñ"9Ô"9Ø%Ø!'§¢¨JÑ!7Ô!7Ý+IÈ&Ñ+QÔ+Qð	
ñ 
ô 
ˆð €Nr)   r
   c                óÜ  — ddl m} |                      d¦  «        }|�	|�g |¢|¢}n|�t          |¦  «        }|                      d¦  «        x}rVt	          ||¦  «        rF|r|                     |¦  «         |                      d¦  «        x}r|                     |¦  «         |}nG |j        |                      d¦  «        ||                      d¦  «        t          | ¦  «        ¬¦  «        }|S )zŸGet an async callback manager for a config.

    Args:
        config: The config.

    Returns:
        AsyncCallbackManager: The async callback manager.
    r   )r
   rY   NrZ   r3   rj   )	ro   r
   r7   rN   r<   rp   rq   rr   rs   )r,   rY   r
   rt   rZ   r3   ru   s          r'   Ú%get_async_callback_manager_for_configrx     s(  € ð FÐEÐEÐEÐEÐEð �zŠz˜&Ñ!Ô!€HØÐ Ð 0Ø%�XÐ% Ð%ˆˆØ	Ð	Ý˜‘:”:ˆà—Z’Z Ñ,Ô,Ð,ˆ	ð 
µ*ØÐ'ñ3ô 3ð 
ð ð 	)Ø×Ò˜xÑ(Ô(Ð(Ø—z’z *Ñ-Ô-Ð-ˆ8ð 	-Ø×"Ò" 8Ñ,Ô,Ð,Øˆˆð 1Ð&Ô0Ø"(§*¢*¨[Ñ"9Ô"9Ø%Ø!'§¢¨JÑ!7Ô!7Ý+IÈ&Ñ+QÔ+Qð	
ñ 
ô 
ˆð €Nr)   Úboolc                ót   — t          | t          t          t          f¦  «        rt	          | ¦  «        dk    S | d uS )Nr   )r<   rN   Útupler=   Úlenr>   s    r'   Ú_is_not_emptyr}   ;  s6   € Ý�%�$¥¥tÐ,Ñ-Ô-ð !Ý�5‰zŒz˜AŠ~Ðà˜DÐ Ð r)   c            
     ó–  ‡— t          g t          ¦   «         dt          i ¬¦  «        }t          j        ¦   «         x}r1|                     d„ |                     ¦   «         D ¦   «         ¦  «         |                     t          ¦  «        rQ| D ]N}|€Œ|                     t          ¦  «        Š‰sŒ"t          ˆfd„t          D ¦   «         ¦  «        ri |t          <    nŒO| D �]}|€Œ|                     ¦   «         D �]¶\  }}t          |¦  «        �r |t          v �r–|t          k    rn|                     |¦  «        }|r,i t          t          |¦  «        ¥t          t          |¦  «        ¥n&t          t          |¦  «                             ¦   «         ||<   Œ™|dk    r:t          |                     d¦  «        t          t           |¦  «        ¦  «        |d<   ŒÙ|dk    rut#          t          t$          t&          t(          f         dz  |                     d¦  «        ¦  «        t          t$          t&          t(          f         |¦  «        ¦  «        |d<   �ŒT|dk    rW|                     d¦  «        }|rg |¢t          t*          |¦  «        ¢n!t+          t          t*          |¦  «        ¦  «        |d<   �Œ±|||<   �Œ¸|                     ¦   «         D ]-\  }}t          |¦  «        r|t          vr||t                   |<   Œ.�Œ|                     d¦  «        }|                     d¦  «        }	|r-|	�+t,          D ]#}
|
|	v rŒ|                     |
¦  «        }|r||	|
<   Œ$|S )	zÎReturn a config with all keys, merging any provided configs.

    Args:
        *configs: Configs to merge before ensuring defaults.

    Returns:
        RunnableConfig: The merged and ensured config.
    N)rY   r3   rZ   r[   ra   c                ór   — i | ]4\  }}t          |¦  «        ¯||t          v r|                     ¦   «         n|“Œ5S rE   )r}   r   rO   )r%   ÚkÚvs      r'   rG   z!ensure_config.<locals>.<dictcomp>T  sR   € ð ð ð á�A�qÝ  Ñ#Ô#ðØ˜q¥MÐ1Ð1�1—6’6‘8”8�8°qðð ð r)   c              3  ó\   •K  — | ]&}t          ‰                     |¦  «        ¦  «        V — Œ'd S r1   )r}   r7   )r%   r€   Úexplicit_configurables     €r'   r(   z ensure_config.<locals>.<genexpr>j  sN   øè è € ð ð àõ Ð3×7Ò7¸Ñ:Ô:Ñ;Ô;ðð ð ð ð ð r)   rZ   r3   rY   ra   )r   r   r\   r   r7   ÚupdaterI   r   Úanyr   r}   r   r	   r=   rO   rV   r   rK   r   r   r   rN   Ú_PROPAGATE_TO_METADATA)rW   ÚemptyÚ
var_configr,   r€   r�   ÚexistingÚexisting_tagsra   r3   rF   r:   rƒ   s               @r'   Úensure_configr‹   B  s•  ø€ õ ØÝ‘”ØÝ/Øðñ ô €Eõ /Ô2Ñ4Ô4Ð4€zð 
Ø�Šðð à&×,Ò,Ñ.Ô.ðñ ô ñ	
ô 	
ð 	
ð  ‡y‚y•�„ð Øð 	ð 	ˆFØˆ~ØØ$*§J¢J­tÑ$4Ô$4Ð!Ø(ð ØÝð ð ð ð å4ðñ ô ñ ô ð ð !�•d‘Ø�ðð ð )#ñ )#ˆØˆ>ØØ—L’L‘N”Nð #	!ñ #	!‰DˆAˆqÝ˜QÑÔñ "! A­Ð$4Ñ$4Ø�’9�9ð
  %Ÿyšy¨™|œ|�Hð $ð2ÐA�4¥ hÑ/Ô/ÐAµ4½¸a±=´=ÐAÐAå!¥$¨™]œ]×/Ò/Ñ1Ô1ð ˜!‘H�Hð
 ˜+Ò%Ð%Ý)9ØŸ	š	 +Ñ.Ô.µµYÀÑ0BÔ0Bñ*ô *�E˜+Ñ&Ð&ð ˜*’_�_õ )8Ý�W¥S­# XÔ.°Ñ5°u·y²yÀÑ7LÔ7LÑMÔMÝ�W¥S­# XÔ.°Ñ2Ô2ñ)ô )�E˜*Ñ%Ñ%ð ˜&’[�[ð 7<·i²iÀÑ6GÔ6G�Mð )ð1Ð8˜-Ð8­$­t°Q©-¬-Ð8Ð8å!¥$¥t¨Q¡-¤-Ñ0Ô0ð ˜&‘M‘Mð  !�E˜!‘HùØ—L’L‘N”Nð 	#ð 	#‰DˆAˆqÝ˜QÑÔð # A­[Ð$8Ð$8Ø!"�•d”˜A‘øñ	#ð —9’9˜^Ñ,Ô,€LØ�yŠy˜Ñ$Ô$€HØð &˜Ð,Ý)ð 	&ð 	&ˆCØ�hˆˆØØ ×$Ò$ SÑ)Ô)ˆEØð &Ø %�˜‘øØ€Lr)   )rF   ÚtokenÚsecretÚpasswordÚauthrF   c                óè   ‡— |                       ¦   «         Š|                      d¦  «        pHt          |t          t          t
          t          f¦  «         pt          ˆfd„t          D ¦   «         ¦  «        S )NÚ__c              3  ó    •K  — | ]}|‰v V — Œ	d S r1   rE   )r%   ÚsubstrÚ	key_lowers     €r'   r(   z'_exclude_as_metadata.<locals>.<genexpr>¯  s(   øè è € Ð7Ð7 vˆv˜Ð"Ð7Ð7Ð7Ð7Ð7Ð7r)   )	ÚcasefoldÚ
startswithr<   r   ÚintÚfloatry   r…   Ú_OMIT)rF   r:   r”   s     @r'   Ú_exclude_as_metadatarš   ª  sg   ø€ Ø—’‘”€Ià�Š�tÑÔð 	8Ý˜%¥#¥s­Eµ4Ð!8Ñ9Ô9Ð9ð	8åÐ7Ð7Ð7Ð7µÐ7Ñ7Ô7Ñ7Ô7ðr)   c                ó    — |                       d¦  «        }|sdS i }|                     ¦   «         D ]\  }}t          ||¦  «        rŒ|||<   Œ|pdS )z;Get tracer-only metadata defaults from configurable values.ra   N)r7   rI   rš   )r,   ra   r3   rF   r:   s        r'   rs   rs   ³  sq   € ð —:’:˜nÑ-Ô-€LØð ØˆtØ!€HØ"×(Ò(Ñ*Ô*ð ð ‰
ˆˆUÝ  UÑ+Ô+ð 	ØØˆ�‰ˆØÐ�tÐr)   )Ú	thread_idÚcheckpoint_idÚcheckpoint_nsÚtask_idrf   Úassistant_idÚgraph_idúlist[str] | Nonec                ó*   — | sdS d„ | D ¦   «         }|pdS )aw  Drop langgraph's internal `seq:step:*` bookkeeping tags.

    `seq:step:N` tags are added internally to mark sequence steps; everything
    else (user-supplied tags and any other framework tags) is kept. Returns the
    surviving tags, or `None` if none remain. Shared by the `messages` and
    `tasks` stream handlers so both surface the same tag set on their metadata.
    Nc                ó<   — g | ]}|                      d ¦  «        °|‘ŒS )zseq:step)r–   )r%   Úts     r'   ú
<listcomp>z'filter_to_user_tags.<locals>.<listcomp>Ù  s)   € Ð@Ð@Ð@�a q§|¢|°JÑ'?Ô'?Ð@�Ð@Ð@Ð@r)   rE   )rY   Úfiltereds     r'   Úfilter_to_user_tagsr¨   Ï  s/   € ð ð ØˆtØ@Ð@˜4Ð@Ñ@Ô@€HØÐ�tÐr)   )r   r   r    r   )r,   r-   r.   r/   r    r   )r,   r-   r3   r4   r    r   )r:   r   r    r   )r@   rA   rB   rA   r    r/   )r@   r   rB   r   r    r   )rW   r-   r    r   )r,   r-   rZ   r   r[   rb   r_   rb   r`   rc   ra   rd   r    r   r1   )r,   r   rY   rh   r    r   )r,   r   rY   rh   r    r
   )r:   r   r    ry   )rF   r   r:   r   r    ry   )r,   r   r    rd   )rY   rh   r    r¢   )6Ú
__future__r   Úcollectionsr   Úcollections.abcr   r   Úosr   Útypingr   r	   Úlangchain_core.callbacksr
   r   r   r   Úlangchain_core.runnablesr   Úlangchain_core.runnables.configr   r   r   Úlanggraph.checkpoint.baser   Úlanggraph._internal._constantsr   r   r   r   r   r   r   r—   r\   Ú#DELTA_MAX_SUPERSTEPS_SINCE_SNAPSHOTr+   r2   r9   r?   rK   rV   r^   rg   rv   rx   r}   r‹   r™   rš   rs   Ú	frozensetr†   r¨   rE   r)   r'   ú<module>rµ      s3  ðØ "Ð "Ð "Ð "Ð "Ð "à  Ð  Ð  Ð  Ð  Ð  Ø -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð 4Ð 3Ð 3Ð 3Ð 3Ð 3ðð ð ð ð ð ð ð ð ð ð
 9Ð 8Ð 8Ð 8Ð 8Ð 8ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ˜#˜f˜fÐ%HÈ'ÑRÔRÑSÔSÐ Ø&) cØ
€FÐ:¸FÑCÔCñ'ô 'Ð #ð
ð ð ð ð;ð ;ð ;ð ;ðð ð ð ð(@ð @ð @ð @ðð ð ð ð@Xð Xð Xð Xð8,ð ,ð ,ð ,ðd  Ø"&Ø"&ØØ*.ð'ð 'ð 'ð 'ð 'ð 'ðV :>ð$ð $ð $ð $ð $ðR "&ð%ð %ð %ð %ð %ðP!ð !ð !ð !ðbð bð bð bðJ 	7€ðð ð ð ðð ð ð ð #˜ðñ
ô 
Ð ðð ð ð ð ð r)   