Ë
    Á[;j»F  ã            
       ó<  — d dl Z d dl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 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mZ d d
lmZ d dlmZmZ  e j>                  e «      Z!ee › d�   Z"dZ# e$e"jJ                  «      Z&de'fd„Z(dede'defd„Z)dede'dejT                  ddfd„Z+dede'dejT                  ddfd„Z,dede'deejZ                     deejZ                     fd„Z.dede'dejZ                  deejZ                     fd„Z/dej`                  de1fd„Z2eeee$df   ee$df   f   eejf                  ejf                  f   f   Z4dee'   fd„Z5	 d)deeeee'e'f      e'e'f      d ee'   fd!„Z6 ed"g d#¢«      Z7e G d$„ d%«      «       Z8	 d*ded&e4d'e'dee4   fd(„Z9y)+é    N)ÚdefaultdictÚ
namedtuple)Ú	dataclass)Úcached_propertyÚreduce)Úchain)Úlog2)ÚDefaultDictÚDictÚIterableÚListÚSequenceÚTuple)ÚOPTIONS)Ú	bit_countÚbit_indices)ÚTTFont)ÚotBaseÚotTablesz:COMPRESSION_LEVELÚFONTTOOLS_GPOS_COMPACT_MODEÚreturnc                  ó  — t         } t        t        j                  v r9dd l}|j                  dt        › d�t        «       t        j                  t           } t        | «      dk(  r| dv rt        | «      S t        dt        › d| › �«      ‚)Nr   Ú'z}' environment variable is deprecated. Please set the 'fontTools.otlLib.optimize.gpos:COMPRESSION_LEVEL' option in TTFont.cfg.é   Ú
0123456789zBad Ú=)
ÚGPOS_COMPACT_MODE_DEFAULTÚGPOS_COMPACT_MODE_ENV_KEYÚosÚenvironÚwarningsÚwarnÚDeprecationWarningÚlenÚintÚ
ValueError)Ú	env_levelr!   s     úgG:\00. PROJECTS\API\Inventory\templateJSON\kerjaOCR\Lib\site-packages\fontTools/otlLib/optimize/gpos.pyÚ_compression_level_from_envr)      s‚   € Ü)€IÜ ¤B§J¡JÑ.Ûà�‰ØÔ)Ð*ð +ð ô ô		
ô —J‘JÔ8Ñ9ˆ	Ü
ˆ9ƒ~˜Ò˜y¨LÑ8Ü�9‹~ÐÜ
�tÔ5Ð6°a¸	°{ÐCÓ
DÐDó    ÚfontÚlevelc                 ó(  — | j                  d«      }|€| S |j                  j                  j                  D ]Y  }|j                  dk(  rt        | ||«       Œ |j                  dk(  sŒ0|j                  d   j                  dk(  sŒMt        | ||«       Œ[ | S )NÚGPOSé   é	   r   )	ÚgetÚtableÚ
LookupListÚLookupÚ
LookupTypeÚcompact_lookupÚSubTableÚExtensionLookupTypeÚcompact_ext_lookup)r+   r,   ÚgposÚlookups       r(   Úcompactr<   +   sŠ   € ð �8‰8�FÓ€Dð €|Øˆà—*‘*×'Ñ'×.Ô.ˆØ×Ñ Ò!Ü˜4 ¨Õ/Ø×Ñ !Ó#¨¯©¸Ñ(:×(NÑ(NÐRSÓ(SÜ˜t U¨FÕ3ð	 /ð €Kr*   r;   c                 ó`   — t        | ||j                  «      }||_        t        |«      |_        y ©N)Úcompact_pair_posr7   r$   ÚSubTableCount)r+   r,   r;   Únew_subtabless       r(   r6   r6   H   s(   € Ü$ T¨5°&·/±/ÓB€MØ#€F„OÜ˜}Ó-€FÕr*   c                 ó  — t        | ||j                  D �cg c]  }|j                  ‘Œ c}«      }g }|D ]5  }t        j                  «       }d|_        ||_        |j                  |«       Œ7 ||_        t        |«      |_        y c c}w ©Nr   )	r?   r7   ÚExtSubTabler   ÚExtensionPosÚFormatÚappendr$   r@   )r+   r,   r;   Úext_subtablerA   Únew_ext_subtablesÚsubtables          r(   r9   r9   N   s‡   € Ü$ØˆeÀ6Ç?Â?ÓSÁ?°<�l×.Ó.À?ÑSó€Mð ÐÛ!ˆÜ×,Ñ,Ó.ˆØˆÔØ#+ˆÔ Ø× Ñ  Õ.ð	 "ð
 (€F„OÜÐ0Ó1€FÕùò Ts   –BÚ	subtablesc                 ó²   — g }|D ]O  }|j                   dk(  r|j                  |«       Œ$|j                   dk(  sŒ4|j                  t        | ||«      «       ŒQ |S )Nr   r/   )rF   rG   ÚextendÚcompact_class_pairs)r+   r,   rK   rA   rJ   s        r(   r?   r?   \   sY   € ð €MÛˆØ�?‰?˜aÒà× Ñ  Õ*Ø�_‰_ Ó!Ø× Ñ Ô!4°T¸5À(Ó!KÕLð ð Ðr*   rJ   c                 ó  — ddl m} g }t        t        «      }|j                  j
                  D ]:  }||j                  j                  j                  |d«         j                  |«       Œ< t        t        «      }|j                  j                  j                  «       D ]  \  }}||   j                  |«       Œ i }	t        |j                  «      D ]w  \  }}
t        |
j                  «      D ]Z  \  }}t        |«      rŒt!        |dd «      t!        |dd «      f|	t#        t%        ||   «      «      t#        t%        ||   «      «      f<   Œ\ Œy t'        | |	|«      }|D ](  }|j                   ||| j)                  «       «      «       Œ* |S )Nr   )ÚbuildPairPosClassesSubtableÚValue1ÚValue2)ÚfontTools.otlLib.builderrP   r   ÚlistÚCoverageÚglyphsÚ	ClassDef1Ú	classDefsr1   rG   Ú	ClassDef2ÚitemsÚ	enumerateÚClass1RecordÚClass2RecordÚis_really_zeroÚgetattrÚtupleÚsortedÚ,cluster_pairs_by_class2_coverage_custom_costÚgetReverseGlyphMap)r+   r,   rJ   rP   rK   Úclasses1ÚgÚclasses2ÚiÚ	all_pairsÚclass1ÚjÚclass2Úgrouped_pairsÚpairss                  r(   rN   rN   i   sa  € õ Eà€IÜ,7¼Ó,=€HØ×Ñ×%Ô%ˆØ�×#Ñ#×-Ñ-×1Ñ1°!°QÓ7Ñ8×?Ñ?ÀÕBð &ä,7¼Ó,=€HØ×"Ñ"×,Ñ,×2Ñ2Ö4‰ˆˆ1Ø�‰×Ñ˜1Õð 5à€IÜ˜x×4Ñ4Ö5‰	ˆˆ6Ü" 6×#6Ñ#6Ö7‰IˆAˆvÜ˜fÔ%Øä˜ ¨$Ó/Ü˜ ¨$Ó/ðSˆI”uœV H¨Q¡KÓ0Ó1´5¼ÀÈÁÓ9LÓ3MÐNÒOñ 8ð 6ô AÀÀyÐRWÓX€MÛˆØ×ÑÑ4°U¸D×<SÑ<SÓ<UÓVÕWð àÐr*   rk   c                 óž   — t        | dd «      }t        | dd «      }|d u xs |j                  «       dk(  xr |d u xs |j                  «       dk(  S )NrQ   rR   r   )r_   ÚgetEffectiveFormat)rk   Úv1Úv2s      r(   r^   r^   „   s\   € Ü	�˜ 4Ó	(€BÜ	�˜ 4Ó	(€BØ�$ˆJÒ6˜"×/Ñ/Ó1°QÑ6ò Ø
ˆdˆ
Ò2�b×+Ñ+Ó-°Ñ2ðr*   .ÚglyphIDsc                 óÜ   — t        | «      } | d   }|gg}| dd  D ]2  }||dz   k7  r&|d   j                  |«       |j                  |g«       |}Œ4 |d   j                  |«       || d   | d   fS )Nr   r   éÿÿÿÿ)ra   rG   )rr   ÚlastÚrangesÚglyphIDs       r(   Ú_getClassRangesrx   “   sˆ   € Ü�hÓ€HØ�A‰;€DØˆfˆX€FØ˜A˜B“<ˆØ�d˜Q‘hÒØ�2‰J×Ñ˜dÔ#Ø�M‰M˜7˜)Ô$Ø‰ð	  ð
 ˆ2�J×Ñ�dÔØ�8˜A‘; ¨¡Ð,Ð,r*   Ú
class_dataÚ	class_idsc                 óú   — |sy| |d      \  }}}t        |«      }|dd  D ]6  }| |   }|t        |d   «      z  }t        ||d   «      }t        ||d   «      }Œ8 ||z
  dz   }	d|	dz  z   }
d|dz  z   }t        |
|«      S )Nr   r   r/   é   é   )r$   ÚminÚmax)ry   rz   ÚcoverageÚfirst_rangesÚmin_glyph_idÚmax_glyph_idÚrange_countrg   ÚdataÚ
glyphCountÚformat1_bytesÚformat2_bytess               r(   Ú_classDef_bytesr‰   ¡   s®   € ñ
 ØØ/9¸)ÀA¹,Ñ/GÑ,€L�, Ü�lÓ#€KØ�q�r‹]ˆØ˜!‰}ˆØ”s˜4 ™7“|Ñ#ˆÜ˜<¨¨a©Ó1ˆÜ˜<¨¨a©Ó1‰ð	 ð
  Ñ,¨qÑ0€Jà˜
 Q™Ñ&€Mà˜ a™Ñ'€MÜˆ}˜mÓ,Ð,r*   ÚClusteringContext)ÚlinesÚ
all_class1Úall_class1_dataÚall_class2_dataÚvalueFormat1_bytesÚvalueFormat2_bytesc                   ó’   — e Zd ZU eed<   eed<   ed„ «       Zed„ «       Ze	d„ «       Z
ed„ «       Ze	d„ «       Ze	d„ «       Ze	d	„ «       Zy
)ÚClusterÚctxÚindices_bitmaskc                 ó,   — t        | j                  «      S r>   )r   r”   ©Úselfs    r(   ÚindiceszCluster.indicesÉ   s   € ä˜4×/Ñ/Ó0Ð0r*   c                 ót   ‡ — t        t        j                  ˆ fd„‰ j                  D «       «      }t	        |«      S )Nc              3   óP   •K  — | ]  }‰j                   j                  |   –— Œ y ­wr>   )r“   r‹   ©Ú.0rg   r—   s     €r(   Ú	<genexpr>z)Cluster.column_indices.<locals>.<genexpr>Ñ   s   øè ø€ Ð%NÁ¸A d§h¡h§n¡n°QÕ&7Áùs   ƒ#&)r   r%   Ú__or__r˜   r   )r—   Úbitmasks   ` r(   Úcolumn_indiceszCluster.column_indicesÍ   s*   ø€ ô œŸ™Ó%NÀÇÂÓ%NÓOˆÜ˜7Ó#Ð#r*   c                 ó2   — t        | j                  «      dz   S rC   )r$   r    r–   s    r(   ÚwidthzCluster.widthÔ   s   € ô �4×&Ñ&Ó'¨!Ñ+Ð+r*   c                 ó  — d| j                   z   dz   dz   dz   | j                  z   dz   | j                  z   dz   dz   | j                  j                  | j                  j
                  z   t        | j                  «      z  | j                  z  z   S )Nr|   r/   )	Úcoverage_bytesÚclassDef1_bytesÚclassDef2_bytesr“   r�   r�   r$   r˜   r¢   r–   s    r(   ÚcostzCluster.costÙ   s¸   € ðð ×!Ñ!ñ"ð ñ	ð ñð ñð ×"Ñ"ñ#ð  ñ!ð" ×"Ñ"ñ##ð& ñ'ð* ñ+ð. �x‰x×*Ñ*¨T¯X©X×-HÑ-HÑHÜ�$—,‘,Óñ à�j‰jññ/ð	
r*   c                 ó  ‡ — dt        ˆ fd„‰ j                  D «       «      dz  z   }t        t        j                  ˆ fd„‰ j                  D «       «      «      }d}d }|D ]  \  }}|�||dz   k7  r|dz  }|}Œ d|dz  z   }t        ||«      S )Nr}   c              3   ób   •K  — | ]&  }t        ‰j                  j                  |   «      –— Œ( y ­wr>   ©r$   r“   rŒ   r›   s     €r(   r�   z)Cluster.coverage_bytes.<locals>.<genexpr>  s&   øè ø€ ÐD±|°!”#�d—h‘h×)Ñ)¨!Ñ,×-±|ùs   ƒ,/r/   c              3   óV   •K  — | ]   }‰j                   j                  |   d    –— Œ" y­w©r   N)r“   r�   r›   s     €r(   r�   z)Cluster.coverage_bytes.<locals>.<genexpr>  s&   øè ø€ ÐUÉÀ1 §¡× 8Ñ 8¸Ñ ;¸AÕ >Éùs   ƒ&)r   r   r|   )Úsumr˜   ra   r   Úfrom_iterabler~   )r—   r‡   rv   Úmerged_range_countru   ÚstartÚendrˆ   s   `       r(   r¤   zCluster.coverage_bytesù   s²   ø€ ð äÓD°t·|²|ÓDÓDÀqÑHñIð	 	ô Ü×ÑÓUÈÏÊÓUÓUó
ˆð ÐØˆÛ ‰JˆE�3ØÐ E¨T°A©XÒ$5Ø" aÑ'Ð"Ø‰Dð !ð ð
 ! 1Ñ$ñ%ð	 	ô �= -Ó0Ð0r*   c                 ó¾   ‡ — t        ‰ j                  ˆ fd„¬«      }t        ‰ j                  j                  ‰ j                  D �cg c]
  }||k7  sŒ	|‘Œ c}«      S c c}w )Nc                 óH   •— t        ‰j                  j                  |    «      S r>   rª   )rg   r—   s    €r(   Ú<lambda>z)Cluster.classDef1_bytes.<locals>.<lambda>   s   ø€ ¼¸D¿H¹H×<OÑ<OÐPQÑ<RÔ8Sr*   )Úkey)r   r˜   r‰   r“   r�   )r—   Úbiggest_indexrg   s   `  r(   r¥   zCluster.classDef1_bytes  sO   ø€ ô ˜DŸL™LÓ.SÔTˆÜØ�H‰H×$Ñ$°$·,²,Ó&U±,¨QÀ!À}ÓBT¢q°,Ñ&Uó
ð 	
ùÚ&Us   Á
A
ÁA
c                 óV   — t        | j                  j                  | j                  «      S r>   )r‰   r“   rŽ   r    r–   s    r(   r¦   zCluster.classDef2_bytes%  s!   € ô ˜tŸx™x×7Ñ7¸×9LÑ9LÓMÐMr*   N)Ú__name__Ú
__module__Ú__qualname__rŠ   Ú__annotations__r%   r   r˜   r    Úpropertyr¢   r§   r¤   r¥   r¦   © r*   r(   r’   r’   Ä   sš   … à	ÓØÓàñ1ó ð1ð ñ$ó ð$ð ñ,ó ð,ð ñ
ó ð
ð> ñ1ó ð1ð> ñ	
ó ð	
ð ñNó ñNr*   r’   rm   Úcompressionc           	      ó:  ‡‡‡$‡%‡&‡'— ‰s‰gS t        t        d„ ‰D «       «      «      }t        t        d„ ‰D «       «      «      }|D �‡cg c]   Št        ˆˆfd„t        |«      D «       «      ‘Œ" }}| j	                  «       Š'|D �cg c]  }t        ˆ'fd„|D «       «      ‘Œ }}|D �cg c]  }t        ˆ'fd„|D «       «      ‘Œ }	}d}
d}‰j                  «       D ]?  \  }}|
|d   r|d   j                  «       ndz  }
||d   r|d   j                  «       ndz  }ŒA t        |
«      dz  }t        |«      dz  }t        ||||	||«      Š%i Š$d	t        d
t        fˆ$ˆ%fd„Š&dt        dt        d
t        fˆ&fd„}t        t        |«      «      D �cg c]  } ‰&d|z  «      ‘Œ }} ‰&dt        |«      z  dz
  «      j                  }t        j!                  dt        |«      › �«       t        |«      dkD  �rd }d }d }d }t        |«      D ]c  \  }}t        ||dz   d  «      D ]J  \  }} |||«      }|j                  |j                  z
  |j                  z
  }|�||k  sŒ=|}|}|dz   |z   }|}ŒL Œe |€J ‚|€J ‚|€J ‚|€J ‚|dkD  rwt        d„ |D «       «      }d||z  z
  }t#        d|z
  «       |z  }t        j!                  dt        |«      d›d|d›d|› �«       |dk(  rt        |«      }t        |«      |dz   k  rn||= |||<   t        |«      dkD  r�Œt%        t&        «      } ‰j                  «       D ]  \  }}!|!| |d      |<   Œ g }"|D ]G  }t'        «       }#|j(                  D ]  }||   Š|#j+                  | ‰   «       Œ |"j-                  |#«       ŒI |"S c c}w c c}w c c}w c c}w )Nc              3   ó&   K  — | ]	  }|d    –— Œ y­wr¬   r½   ©rœ   Úpairs     r(   r�   z?cluster_pairs_by_class2_coverage_custom_cost.<locals>.<genexpr>5  ó   è ø€ Ð6±¨˜D �G±ùó   ‚c              3   ó&   K  — | ]	  }|d    –— Œ y­w)r   Nr½   rÁ   s     r(   r�   z?cluster_pairs_by_class2_coverage_custom_cost.<locals>.<genexpr>6  rÃ   rÄ   c              3   ó>   •K  — | ]  \  }}‰|f‰v rd |z  nd–— Œ y­w)r   r   Nr½   )rœ   rg   rk   ri   rm   s      €€r(   r�   z?cluster_pairs_by_class2_coverage_custom_cost.<locals>.<genexpr>:  s2   øè ø€ ð 
á2‘	��6ð ˜vÐ&¨%Ñ/ˆA�ŠF°QÓ6Ù2ùs   ƒc              3   ó(   •K  — | ]	  }‰|   –— Œ y ­wr>   r½   ©rœ   ÚnameÚ
name_to_ids     €r(   r�   z?cluster_pairs_by_class2_coverage_custom_cost.<locals>.<genexpr>E  ó   øè ø€ Ð9±S¨T˜
 4Õ(±Sùó   ƒc              3   ó(   •K  — | ]	  }‰|   –— Œ y ­wr>   r½   rÈ   s     €r(   r�   z?cluster_pairs_by_class2_coverage_custom_cost.<locals>.<genexpr>H  rË   rÌ   r   r   r/   r˜   r   c                 óV   •— ‰j                  | d «      }|�|S t        ‰| «      }|‰| <   |S r>   )r1   r’   )r˜   ÚclusterÚcluster_cacher“   s     €€r(   Úmake_clusterzBcluster_pairs_by_class2_coverage_custom_cost.<locals>.make_cluster^  s;   ø€ Ø×#Ñ# G¨TÓ2ˆØÐØˆNÜ˜#˜wÓ'ˆØ!(ˆ�gÑØˆr*   rÏ   Úotherc                 óB   •—  ‰| j                   |j                   z  «      S r>   )r”   )rÏ   rÒ   rÑ   s     €r(   Úmergez;cluster_pairs_by_class2_coverage_custom_cost.<locals>.mergef  s   ø€ Ù˜G×3Ñ3°e×6KÑ6KÑKÓLÐLr*   z        len(clusters) = c              3   ó4   K  — | ]  }|j                   –— Œ y ­wr>   )r§   )rœ   Úcs     r(   r�   z?cluster_pairs_by_class2_coverage_custom_cost.<locals>.<genexpr>�  s   è ø€ Ð&@±x°! q§v¥v±xùs   ‚z            len(clusters) = Ú3dz    size_reduction=z5.2fz    max_new_subtables=r0   )ra   Úsetr­   r[   rc   rx   rZ   ro   r   rŠ   r%   r’   Úranger$   r§   ÚlogÚdebugr	   r   Údictr˜   ÚupdaterG   )(r+   rm   r¾   rŒ   Ú
all_class2ri   r‹   Úclsr�   rŽ   Úformat1Úformat2rÂ   Úvaluer�   r�   rÔ   rg   ÚclustersÚcost_before_splittingÚlowest_cost_changeÚbest_cluster_indexÚbest_other_indexÚbest_mergedrÏ   rj   rÒ   ÚmergedÚcost_changeÚcost_after_splittingÚsize_reductionÚmax_new_subtablesÚpairs_by_class1ÚvaluesÚpairs_groupsÚpairs_grouprÐ   r“   rÑ   rÊ   s(    `   `                              @@@@r(   rb   rb   +  si  ý€ ñ
 àˆwˆô œÑ6±Ó6Ó6Ó7€JÜœÑ6±Ó6Ó6Ó7€Jñ !ôñ
 !ˆFô	 	ô 
ä& zÔ2ó
õ 	
ð !ð 
ð ð ×(Ñ(Ó*€Jñ FPóÙEO¸cŒÓ9±SÓ9Õ9ÀZð ð ñ FPóÙEO¸cŒÓ9±SÓ9Õ9ÀZð ð ð €GØ€GØ—{‘{–}‰ˆˆeØ°E¸!²H�5˜‘8×.Ñ.Ô0À!ÑCˆØ°E¸!²H�5˜‘8×.Ñ.Ô0À!ÑC‰ð %ô # 7Ó+¨aÑ/ÐÜ" 7Ó+¨aÑ/Ðä
ØØØØØØó€Cð )+€Mðœcð ¤gö ðM”wð M¤wð M´7õ Mô /4´C¸³JÔ.?Ó@Ñ.?¨‘˜Q !™VÕ$Ð.?€HÐ@ñ )¨!¬s°5«z©/¸QÑ)>Ó?×DÑDÐÜ‡I�IÐ(¬¨X«¨Ð8Ô9ä
ˆh‹-˜!Ó
Ø!ÐØ!ÐØÐØˆÜ# HÖ-‰JˆAˆwÜ% h¨q°1©u¨wÐ&7Ö8‘��5Ù˜w¨Ó.�Ø$Ÿk™k¨G¯L©LÑ8¸5¿:¹:ÑE�Ø%Ð-°Ð?QÓ1QØ)4Ð&Ø)*Ð&Ø'(¨1¡u¨q¡yÐ$Ø"(‘Kñ 9ð .ð "Ð-Ð-Ð-Ø!Ð-Ð-Ð-ØÐ+Ð+Ð+ØÐ&Ð&Ð&ð  Ò!ô $'Ñ&@±xÓ&@Ó#@Ð ð Ð!5Ð8MÑ!MÑMˆNô "& a¨.Ñ&8Ó!9Ð 9¸KÑ GÐÜ�I‰IØ.¬s°8«}¸RÐ.@Ð@SÐTbÐcgÐShÐh~ð  @Qð  Rð  Sôð ˜aÒä$'¨£MÐ!ô �8‹}Ð 1°AÑ 5Ò5Øð Ð%Ð&Ø'2ˆÐ#Ñ$ôm ˆh‹-˜!Ô
ôr 5@ÄÓ4E€OØŸ™ž‰ˆˆfØ)/ˆ˜˜Q™Ñ  Ò&ð &à "€LÛˆÜ!›VˆØ—”ˆAØ ‘]ˆFØ×Ñ˜¨vÑ6Õ7ð !ð 	×Ñ˜KÕ(ð ð Ðùò}ùòùòùòL As   Á%N	ÂNÂ#NÆN)F)é   ):Úloggingr   Úcollectionsr   r   Údataclassesr   Ú	functoolsr   r   Ú	itertoolsr   Úmathr	   Útypingr
   r   r   r   r   r   ÚfontTools.configr   ÚfontTools.misc.intToolsr   r   ÚfontTools.ttLibr   ÚfontTools.ttLib.tablesr   r   Ú	getLoggerr¸   rÚ   ÚCOMPRESSION_LEVELr   ÚstrÚdefaultr   r%   r)   r<   r4   r6   r9   ÚPairPosr?   rN   r]   Úboolr^   ÚValueRecordÚPairsrx   r‰   rŠ   r’   rb   r½   r*   r(   Ú<module>r     sf  ðÛ Û 	ß /Ý !ß -Ý Ý ß E× Eå $ß :Ý "ß 3à€g×Ñ˜Ó!€à˜x˜jÐ(:Ð;Ñ<Ð ð :Ð ÙÐ 1× 9Ñ 9Ó:Ð ðE Só Eð$�&ð  ð ¨ó ð:.˜ð .¨ð .°X·_±_ð .Èó .ð2˜Vð 2¨Cð 2¸¿¹ð 2ÈTó 2ð
Ø
ð
Øð
Ø)1°(×2BÑ2BÑ)Cð
àˆh×ÑÑó
ðØ
ðØðØ(0×(8Ñ(8ðà	ˆ(×
Ñ
Ñóð6˜8×0Ñ0ð °Tó ð 	Ø	ˆ%��S�‰/˜5  c ™?Ð
*Ñ+Ø	ˆ&×
Ñ
˜f×0Ñ0Ð
0Ñ1ð3ñ	€ð
-˜h s™mó 
-ð" ñ-Ø�U˜4  c¨3 h¡Ñ0°#°sÐ:Ñ;Ñ<ð-à�C‰yó-ñ, Øòó
Ð ð ÷cNð cNó ðcNðR ñLØ
ðLàðLð ðLð 
ˆ%�[ô	Lr*   