ó
     “,jü>  ã                   óÒ  • S SK r S SKJr  S SKJrJrJrJrJrJ	r	J
r
JrJr  SSKJr  SSKJrJrJr  SSKJr  SSKJr  SS	KJr  \" S
5      r\ " S S\\   5      5       rS rS r " S S5      rS\4S jrS\ S\ 4S jr!0 SS.S\\ \4   S\\ \\ \4   4   S\S\\ \4   4S jjr"SS.S\\ \4   S\S\\ \4   4S jjr#SSS.S\\ \4   S\S \ S\\ \4   4S! jjr$S"\\ \4   S#\ S \ SS4S$ jr%S\\ \\ \4   4   S%\S\\ \\ \4   4   4S& jr&S\\ \\ \4   4   S\\ \\ \4   4   4S' jr'S( r(S-S)\S*\	\\)\4      S\4S+ jjr*S\\ \\ \4   4   S\\ \\ \4   4   S\\ \\ \4   4   4S, jr+g).é    N)Ú	dataclass)	ÚAnyÚCallableÚDictÚGenericÚListÚOptionalÚTupleÚTypeVarÚUnioné   )ÚConfig)Ú
ARGS_FIELDÚARGS_FIELD_ALIASÚRESERVED_FIELDS_REVERSE)ÚConfigValidationError©Ú
is_promise)ÚSchemaÚ_PromisedTypec                   ó¦   • \ rS rSr% \\S'   \\S'   \\   \S'   \\\4   \S'   \	\
S\4   \4   \S'   \S\4S	 j5       rS\4S
 jr\SS j5       rSrg)ÚPromiseé   ÚregistryÚnameÚvar_argsÚkwargs.ÚgetterÚreturnc                 ó°   • [        U R                  [        5      (       a  U R                  e[        R                  " U R                  5      nUR
                  $ ©N)Ú
isinstancer   Ú	ExceptionÚinspectÚ	signatureÚreturn_annotation)Úselfr%   s     Ú¢C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\confection/_registry.pyÚreturn_typeÚPromise.return_type$   s=   € ä�d—k‘k¤9×-Ñ-Ø—+‘+ÐÜ×%Ò% d§k¡kÓ2ˆ	Ø×*Ñ*Ð*ó    c                 ó\  • [        U R                  [        5      (       a  U R                  e[        U R                  5      n[        U R
                  5      n[        U[        5      (       a  [        UR                  5       5      OUn[        U R                  U5      nU R                  " U0 UD6$ r!   )
r"   r   r#   Ú_recursive_resolver   r   ÚdictÚlistÚvaluesÚ_coerce_basemodel_args)r'   r   Úargss      r(   ÚresolveÚPromise.resolve+   s{   € Ü�d—k‘k¤9×-Ñ-Ø—+‘+ÐÜ# D§K¡KÓ0ˆÜ! $§-¡-Ó0ˆÜ&0°´t×&<Ñ&<Œt�D—K‘K“MÔ"À$ˆÜ'¨¯©°VÓ<ˆØ�{Š{˜DÐ+ FÑ+Ð+r+   c                 ó¼   • UR                  U5      u  p4UR                  U5      u  pV UR                  X45      nU " UUUUUS9n	U	$ ! [         a  nUn S nANS nAff = f)N)r   r   r   r   r   )Úget_constructorÚ
parse_argsÚgetr#   )
Úclsr   r0   Úreg_nameÚ	func_namer   r   r   ÚeÚoutputs
             r(   Ú	from_dictÚPromise.from_dict4   st   € à&×6Ñ6°vÓ>ÑˆØ#×.Ñ.¨vÓ6Ñˆð	Ø—\‘\ (Ó6ˆFñ ØØØØØñ
ˆð ˆøô ó 	Ø�Fûð	ús   ¨A Á
AÁAÁA© N)r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚstrÚ__annotations__r   r   r   r   r   r   r#   Úpropertyr)   r3   Úclassmethodr>   Ú__static_attributes__r@   r+   r(   r   r      sw   ‡ àƒMØ
ƒIØ�3‰iÓØ��c�‰NÓØ�(˜3 Ð-Ñ.°	Ð9Ñ:Ó:àð+˜]ó +ó ð+ð,˜ô ,ð óó ór+   r   c                 ó¬  •  SSK Jn  U" U 5      n[        U5      nUR	                  5        H“  u  pV[        U[        5      (       d  M  UR                  U5      nUb  [        U[        5      (       d  MG  [        US5      (       a  UR                  U5      XE'   Mm  [        US5      (       d  M€  UR                  U5      XE'   M•     U$ ! [         a    Us $ f = f)zËCoerce dict kwargs to BaseModel instances where the function signature
expects a BaseModel subclass.  This lets registered functions receive
constructed model instances instead of raw dicts (issue #58).
r   )Úget_type_hintsÚmodel_validateÚ	parse_obj)ÚtypingrK   r#   r.   Úitemsr"   r8   ÚtypeÚhasattrrL   rM   )Úfuncr   rK   ÚhintsÚresultr   ÚvalueÚhints           r(   r1   r1   F   s¼   € ð
Ý)á˜tÓ$ˆô �&‹\€FØ—|‘|–~‰ˆÜ˜%¤×&Ñ&ÙØ�y‰y˜‹ˆØ‰<œz¨$´×5Ñ5Ùä�4Ð)×*Ñ*Ø×.Ñ.¨uÓ5ˆF‹LÜ�T˜;×'Ó'ØŸ>™>¨%Ó0ˆF‹Lñ &ð €Møô ó ØŠðús   ‚C ÃCÃCc                 óP  • [        U [        5      (       a  U  Vs/ s H  n[        U5      PM     sn$ [        U [        5      (       a/  U R	                  5        VVs0 s H  u  p!U[        U5      _M     snn$ [        U [
        5      (       a  U R                  5       $ U $ s  snf s  snnf r!   )r"   r/   r-   r.   rO   r   r3   )ÚobjÚvÚks      r(   r-   r-   `   s…   € Ü�#”t×ÑÙ/2Ó3ªs¨!Ô" 1Ö%©sÑ3Ð3Ü	�Cœ×	Ñ	Ø58·Y±Y´[ÔA²[©T¨Q�Ô% aÓ(Ò(±[ÒAÐAÜ	�Cœ×	!Ñ	!Ø�{‰{‹}Ðàˆ
ùò 4ùãAs   šBÁB"c                   ó   • \ rS rSr\S\S\S\4S j5       r\S\S\S\4S j5       r	\S0 SS	.S
\
\\\\\\4   4   4   S\\\4   S\S\\\4   4S jj5       r\S0 SSS.S
\
\\\\\\4   4   4   S\\\4   S\S\S\4
S jj5       r\S\S\4S j5       r\S\\\4   S\\\4   4S j5       r\S\\\4   S\\\   \\\4   4   4S j5       rSrg)r   ék   Úregistry_namer;   r   c                 óB   • [        X5      (       d  g[        X5      nX#;   $ )z4Check whether a function is available in a registry.F)rQ   Úgetattr)r9   r]   r;   Úregs       r(   ÚhasÚregistry.hasl   s%   € ô �s×*Ñ*ØÜ�cÓ)ˆØÑÐr+   c                 ó¦   • [        X5      (       d  [        SU S35      e[        X5      nUR                  U5      nUc  [        SU SU S35      eU$ )z0Get a registered function from a given registry.zUnknown registry: 'Ú'zCould not find 'z' in ')rQ   Ú
ValueErrorr_   r8   )r9   r]   r;   r`   rR   s        r(   r8   Úregistry.gett   sa   € ô �s×*Ñ*ÜÐ2°=°/ÀÐCÓDÐDÜ�cÓ)ˆØ�w‰w�yÓ!ˆØ‰<ÜÐ/°	¨{¸&ÀÀÈqÐQÓRÐRØˆr+   NT)ÚschemaÚ	overridesÚvalidateÚconfigrh   ri   c                óà   • U R                  UUUSS9n[        XSS9n[        U5      n[        U5      n[	        U[
        5      (       d   eUb!  U(       a  [        U5      R                  U5        U$ )NT)rg   rh   Úinterpolate©r3   )ÚfillÚinsert_promisesÚresolve_promisesÚfix_positionalsr"   r.   r   ri   )r9   rj   rg   rh   ri   ÚpromisedÚresolvedÚfixeds           r(   r3   Úregistry.resolve   sw   € ð —‘ØØØØð	 ð 
ˆô # 3¸Ñ=ˆÜ# HÓ-ˆÜ Ó)ˆÜ˜%¤×&Ñ&Ð&Ð&ØÑ¦(Ü�5‹M×"Ñ" 6Ô*Øˆr+   F)rg   rh   rl   ri   rl   c                óÄ  • U R                  U5      (       a  Sn[        USU0/S9e[        U[        5      (       + =(       d    UR                  n[        U[        5      (       a  UR
                  OS nUn	U(       d  [        U	5      R                  5       n[        XX5S9n
[        X¨S9n
U(       d  U(       d  U
R                  [        U	SS9SS	9n
Ub  U
R                  U5        U
$ )
NzJThe top-level config object can't be a reference to a registered function.Úmsg©rj   Úerrors©rh   ri   )Úsection_orderF)Úis_interpolatedT)Úremove_extra)
r   r   r"   r   r|   r{   rl   Úfill_configÚmergeÚfill_defaults)r9   rj   rg   rh   rl   ri   Úerr_msgr|   r{   Úorig_configÚfilleds              r(   rn   Úregistry.fill–   sÕ   € ð �>‰>˜&×!Ñ!ØbˆGÜ'¨vÀÀwÐ?OÐ>PÑQÐQô )¨´Ó8Ô8×R¸F×<RÑ<RˆÜ0:¸6Ä6×0JÑ0J˜×,Ò,ÐPTˆØˆÞÜ˜KÓ(×4Ñ4Ó6ˆFÜ˜S°IÑQˆÜ˜Ñ<ˆö
 ¦?Ø—\‘\Ü�{°EÑ:Èð "ð ˆFð ÑØ× Ñ  Ô(Øˆr+   rX   c                 ó   • [        U5      $ )z{Check whether an object is a "promise", i.e. contains a reference
to a registered function (via a key starting with `"@"`.
r   )r9   rX   s     r(   r   Úregistry.is_promise¸   s   € ô
 ˜#‹Ðr+   c                 óÜ   • UR                  5        Vs/ s H  o"R                  S5      (       d  M  UPM     nn[        U5      S:w  a  SU 3n[        USU0/S9eUS   nX   nUSS  U4$ s  snf )NÚ@r   z?A block can only contain one function registry reference. Got: rw   rx   r   )ÚkeysÚ
startswithÚlenr   )r9   rX   rZ   Úid_keysr�   ÚkeyrU   s          r(   r6   Úregistry.get_constructor¿   sz   € à!Ÿh™hœjÓ>šj˜¯L©L¸×,=—1™jˆÐ>Üˆw‹<˜1ÓØWÐX_ÐW`ÐaˆGÜ'¨s¸UÀGÐ<LÐ;MÑNÐNà˜!‘*ˆCØ‘HˆEØ˜˜�G˜UÐ#Ð#ùò ?s
   “A)°A)c                 ó–   • / n0 nUR                  5        H/  u  pEUR                  S5      (       a  M  U[        :X  a  UnM+  XSU'   M1     X#4$ )Nrˆ   )rO   rŠ   r   )r9   rX   r2   r   r�   rU   s         r(   r7   Úregistry.parse_argsÊ   sK   € àˆØˆØŸ)™)ž+‰JˆCØ—>‘> #×&Ó&Øœ*Ó$Ø ’Dà"'˜3“Kñ &ð ˆ|Ðr+   r@   )rA   rB   rC   rD   rH   rE   Úboolra   r   r8   r   r   r   r   r3   rn   r   r
   r6   r   r7   rI   r@   r+   r(   r   r   k   sÎ  † Øð  ð  °ð  ¸ó  ó ð ð ð ð °ð ¸ó ó ðð ð
 Ø$&Øòà�f˜d 3¨¨S°#¨X©Ð#6Ñ7Ð7Ñ8ðð
 ˜˜S˜‘>ðð ðð 
ˆc�3ˆh‰ôó ðð, ð
 Ø$&Ø!Øòà�f˜d 3¨¨S°#¨X©Ð#6Ñ7Ð7Ñ8ðð
 ˜˜S˜‘>ðð ðð ðð 
ôó ððB ð˜Sð  Tó ó ðð ð$ $ s¨C x¡.ð $°U¸3À¸8±_ó $ó ð$ð ð	˜T # s (™^ð 	°°d¸3±iÀÀcÈ3ÀhÁÐ6OÑ0Pó 	ó ó	r+   r   r   c                 ón   • [        U [        5      (       d  g[        S U R                  5        5       5      $ )zFCheck if a dict is a config section (all string keys) vs a data value.Fc              3   óB   #   • U  H  n[        U[        5      v •  M     g 7fr!   )r"   rE   )Ú.0rZ   s     r(   Ú	<genexpr>Ú%_is_config_section.<locals>.<genexpr>Û   s   é € Ð6ª: aŒz˜!œS×!Ð!ª:ùs   ‚)r"   r.   Úallr‰   )rX   s    r(   Ú_is_config_sectionr˜   ×   s)   € ä�cœ4× Ñ ØÜÑ6¨3¯8©8¬:Ó6Ó6Ð6r+   r   c                 óN   • U [         :X  a  [        $ [        R                  " X 5      $ )z)Generate field aliases in promise schema.)r   r   r   r8   )r   s    r(   Úalias_generatorrš   Þ   s$   € ð ÔÓÜÐä"×&Ò& tÓ2Ð2r+   Trz   rj   rh   ri   c                ó@   • [        [        U5      U5      n[        XUS9$ )N©ri   )Úapply_overridesr.   Ú_fill_defaults)r   rj   rh   ri   Ú	overrideds        r(   r~   r~   ç   s!   € ô  ¤ V£¨iÓ8€IÜ˜(¸ÑAÐAr+   rœ   c                óÐ   • [        U5      nUR                  5        HF  u  pE[        U5      (       a  [        XX$S9X4'   M#  [	        U[         5      (       d  M:  [        XUS9X4'   MH     U$ )zDRecursively fill default values from registered function signatures.©ri   Úparentrœ   )r.   rO   r   Ú_fill_promise_defaultsr"   rž   )r   rj   ri   r=   r�   rU   s         r(   rž   rž   ò   s_   € ô �&‹\€FØ—l‘l–n‰
ˆÜ�e×ÑÜ0Ø¨(ñˆF‹Kô ˜œt×$Ó$Ü(¨À8ÑLˆF‹Kñ %ð €Mr+   Ú r¡   Úpromise_dictr¢   c          	      ó„  • U R                  U5      u  pEU R                  XE5      (       d  [        U5      $ U R                  XE5      n[        R
                  " U5      n[        U5      nUR                  R                  5        H1  u  pšX˜;  d  M  U
R                  5       (       a  M#  U
R                  X‰'   M3     U(       a  [        X‡XS5        UR                  5        Hc  u  p¼UR                  S5      (       a  M  [        U5      (       a  [        XX# SU 3S9X‹'   M@  [        U[        5      (       d  MW  [        XUS9X‹'   Me     U$ )zMFill default argument values for a promise block from the function signature.rˆ   Ú.r¡   rœ   )r6   ra   r.   r8   r   Úfrom_functionÚmodel_fieldsrO   Úis_requiredÚdefaultÚ_validate_promise_argsrŠ   r   r£   r"   rž   )r   r¥   ri   r¢   r:   r;   rR   rg   rƒ   Ú
param_nameÚfieldr�   rU   s                r(   r£   r£     s  € ð #×2Ñ2°<Ó@Ñ€HØ�<‰<˜×,Ñ,ä�LÓ!Ð!Ø�<‰<˜Ó,€DÜ×!Ò! $Ó'€FÜ�,Ó€Fà#×0Ñ0×6Ñ6Ö8Ñˆ
ØÕ#¨E×,=Ñ,=×,?Ó,?Ø!&§¡ˆFÓñ 9ö Ü˜v¨yÔAà—l‘l–n‰
ˆØ�>‰>˜#×ÑÙÜ�e×ÑÜ0Ø¨(¸XÀQÀsÀeÐ;LñˆF‹Kô ˜œt×$Ó$Ü(¨À8ÑLˆF‹Kñ %ð €Mr+   rƒ   r;   c                 ó  • SSK Jn  / nUR                  R                  5        Hº  u  pgUnX`;  a  [        U ;   a  [        nX€;  a<  UR                  5       (       a%  UR                  U(       a  X6/OU/SU S3S.5        M[  M]  U[        :X  a  Mi  [        X   5      (       a  M}  U" X   UR                  5      n	U	(       d  M›  UR                  U(       a  X6/OU/U	S.5        M¼     [        UR                  R                  5       5      U  V
s1 s H  oªR                  S5      (       d  M  U
iM     sn
-  [        1-  nU  H-  nXË;  d  M
  UR                  U(       a  X</OU/SU S3S.5        M/     U(       a  [        U USU S3S	9eg
s  sn
f )z7Validate promise arguments against the function schema.r   )Úvalidate_typezmissing required argument: 'rd   ©Úlocrw   rˆ   zunexpected argument: 'zConfig error for ')rj   ry   ÚtitleN)Ú
validationr°   r©   rO   r   rª   Úappendr   Ú
annotationÚsetr‰   rŠ   r   )rƒ   rg   r;   r¢   r°   ry   r­   r®   Úeffective_nameÚerrrZ   Úknownr�   s                r(   r¬   r¬   $  s‹  € õ *à€FØ#×0Ñ0×6Ñ6Ö8Ñˆ
ð $ˆØÓ#¬
°fÓ(<Ü'ˆNØÓ'Ø× Ñ ×"Ñ"Ø—‘æ7= Ñ3ÀJÀ<Ø!=¸j¸\ÈÐKñöñ #ð œzÓ)ÙÜ˜FÑ2×3Ó3ñ   Ñ 6¸×8HÑ8HÓIˆCßˆsØ—‘æ7= Ñ3ÀJÀ<Ø"ñöñ- 9ô< 	ˆF×Ñ×$Ñ$Ó&Ó'ÙÓ
2’f�§¡¨S× 1�1‘fÑ
2ñ	3äˆ,ñ	ð 
ó
 ˆØÕØ�M‰Mæ,2˜F™=¸¸Ø3°C°5¸Ð:ñöñ ö Ü#ØØØ& y k°Ð3ñ
ð 	
ð ùò 3s   ÄFÄ$Fr3   c                 óþ   • 0 nUR                  5        Hf  u  pEU R                  U5      (       a$  [        XUS9n[        R	                  U U5      X4'   M?  [        U[        5      (       a  [        XUS9X4'   Mb  XSU'   Mh     U$ )zdCreate a version of a config dict where promises are recognised and replaced by
Promise dataclasses
rm   )rO   r   ro   r   r>   r"   r.   )r   rj   r3   r=   r�   rU   s         r(   ro   ro   `  s{   € ð €FØ—l‘l–n‰
ˆØ×Ñ˜u×%Ñ%Ü# H¸WÑEˆEÜ!×+Ñ+ØØóˆF‹Kô ˜œt×$Ñ$Ü)¨(À7ÑKˆF‹Kà�3‹Kñ %ð €Mr+   c                 óÞ   • 0 nU R                  5        HV  u  p#[        U[        5      (       a  [        U5      X'   M)  [        U[        5      (       a  UR                  5       X'   MR  X1U'   MX     U$ r!   )rO   r"   r.   rp   r   r3   )rj   r=   r�   rU   s       r(   rp   rp   u  sZ   € Ø€FØ—l‘l–n‰
ˆÜ�eœT×"Ñ"Ü*¨5Ó1ˆF‹KÜ˜œw×'Ñ'ØŸ-™-›/ˆF‹Kà�3‹Kñ %ð €Mr+   c                 óx  • [        U [        5      (       a¯  0 nU R                  5        H—  u  p#U[        :X  a.  [        U[        5      (       a  [	        UR                  5       5      n[        U[        5      (       a  [        U5      nO5[        U[        5      (       d  [        U[        5      (       a  [        U5      nX1U'   M™     U$ [        U [        5      (       a  U  Vs/ s H  n[        U5      PM     sn$ [        U [        5      (       a%  [	        U  Vs/ s H  n[        U5      PM     sn5      $ U $ s  snf s  snf )z?Ensure positionals are provided as a tuple, rather than a dict.)r"   r.   rO   r   Útupler0   rq   r/   )rj   r=   r�   rU   rY   s        r(   rq   rq   �  sò   € ä�&œ$×ÑØˆØ Ÿ,™,ž.‰JˆCØ”jÓ ¤Z°´t×%<Ñ%<Ü˜eŸl™l›nÓ-�Ü˜%¤×&Ñ&Ü'¨Ó.‘Ü˜E¤4×(Ñ(¬J°u¼e×,DÑ,DÜ'¨Ó.�Ø�3‹Kñ )ð ˆÜ	�FœD×	!Ñ	!Ù,2Ó3ªF q” Ö"©FÑ3Ð3Ü	�FœE×	"Ñ	"Ü±&Ó9²&¨Q”o aÖ(±&Ñ9Ó:Ð:àˆùò	 4ùâ9s   ÃD2ÄD7rX   Úmemoc                 ó¶  ^• Tc  0 m[        U 5      nUT;   a  TU   $ [        U [        5      (       a;  0 nUTU'   U R                  5        H  u  pE[	        UT5      U[	        UT5      '   M      U$ [        U [
        5      (       a-  / nUTU'   U  H  nUR                  [	        UT5      5        M      U$ [        U [        5      (       a  [        U4S jU  5       5      $ U $ )zMDeep copy that passes through objects that can't be copied (like generators).c              3   ó<   >#   • U  H  n[        UT5      v •  M     g 7fr!   )Ú_deep_copy_with_uncopyable)r”   Úitemr¿   s     €r(   r•   Ú-_deep_copy_with_uncopyable.<locals>.<genexpr>¯  s   øé € ÐLÊÀÔ/°°d×;Ð;Êùs   ƒ)Úidr"   r.   rO   rÂ   r/   rµ   r¾   )rX   r¿   Úobj_idrT   rZ   rY   rÃ   s    `     r(   rÂ   rÂ   –  sØ   ø€ à�|Øˆä�‹W€FØ�ƒ~Ø�F‰|Ðä�#”t×ÑØˆØˆˆV‰Ø—I‘I–K‰DˆAÜ:TØ�4ó;ˆFÔ-¨a°Ó6Ó7ñ  ð ˆÜ	�Cœ×	Ñ	ØˆØˆˆV‰ÛˆDØ�M‰MÔ4°T¸4Ó@ÖAñ àˆÜ	�Cœ×	Ñ	äÔLÉÓLÓLÐLàˆ
r+   c                 ó  • [        U 5      nUR                  5        Hm  u  p4UR                  S5      nSnSnXWS./nUn	USS  H*  n
[        U	[         5      (       a  X©;  a	  [	        X†S9eXš   n	M,     US   U	;  a	  [	        X†S9eXIUS   '   Mo     U$ )z)Build first representation of the config:r§   zError parsing config overridesz*not a section value that can be overriddenr±   Néÿÿÿÿ)ry   r³   )r.   rO   Úsplitr"   r   )rj   rh   r=   r�   rU   ÚpathÚ	err_titler�   r¹   ÚnodeÚsubkeys              r(   r�   r�   ´  s­   € ô
 �&‹\€FØ—o‘oÖ'‰
ˆØ�y‰y˜‹~ˆØ4ˆ	Ø>ˆØÑ,Ð-ˆØˆØ˜3˜B“iˆFä˜t¤T×*Ñ*¨fÓ.@ä+Øñð ð ‘<ŠDñ  ð �‰8˜4ÓÜ'¨sÑDÐDØˆT�"‰X‹ñ! (ð" €Mr+   r!   ),r$   Údataclassesr   rN   r   r   r   r   r   r	   r
   r   r   Ú_configr   Ú
_constantsr   r   r   Ú_errorsr   Úutilr   r´   r   r   r   r1   r-   r   r‘   r˜   rE   rš   r~   rž   r£   r¬   ro   rp   rq   ÚintrÂ   r�   r@   r+   r(   Ú<module>rÔ      s“  ðÛ Ý !÷
÷ 
õ 
õ ÷ñ õ
 +Ý Ý á˜Ó(€ð ô&ˆg�mÑ$ó &ó ð&òRò4÷iñ iðX7˜tô 7ð3˜#ð 3 #ô 3ð ,.ØòBà��c�‰NðBð �C˜˜c 3˜h™Ð'Ñ(ð	Bð
 ðBð 
ˆ#ˆsˆ(�^õBð ;?òØ˜3 ˜8‘nðØ37ðà	ˆ#ˆsˆ(�^õð& Øò à�s˜C�x‘.ð ð ð	 ð
 ð ð 
ˆ#ˆsˆ(�^õ ðF9
Ø��c�‰Nð9
ð ð9
ð ð	9
ð
 
ô9
ðxØ˜3  S¨# X¡Ð.Ñ/ðØ:>ðà	ˆ#ˆt�C˜�H‰~Ð
Ñôð*	˜T # t¨C°¨H¡~Ð"5Ñ6ð 	¸4ÀÀTÈ#ÈsÈ(Á^Ð@SÑ;Tô 	òñ* Cð ¨x¸¸SÀ#¸X¹Ñ/Gð ÐSVõ ð<Ø��d˜3 ˜8‘nÐ$Ñ%ðà�C˜˜c 3˜h™Ð'Ñ(ðð 
ˆ#ˆt�C˜�H‰~Ð
Ñõr+   