§
    £”jO4  ã                   ó  — d Z dZddlZddlZddlZddlmZ ddlmZ ddl	m
Z ddlmZmZ d„ Zg d	¢Zd
ZdZdZdZdZdZdZdZdZ G d„ d¦  «        ZddlmZmZmZmZ  G d„ d¦  «        Zd„ Z e!dk    r e ¦   «          dS dS )z3.4.22a”  This provides some general-purpose tools for finding fonts.

The FontFinder object can search for font files.  It aims to build
a catalogue of fonts which our framework can work with.  It may be useful
if you are building GUIs or design-time interfaces and want to present users
with a choice of fonts.

There are 3 steps to using it
1. create FontFinder and set options and directories
2. search
3. query

>>> import fontfinder
>>> ff = fontfinder.FontFinder()
>>> ff.addDirectories([dir1, dir2, dir3])
>>> ff.search()
>>> ff.getFamilyNames()   #or whichever queries you want...

Because the disk search takes some time to find and parse hundreds of fonts,
it can use a cache to store a file with all fonts found. The cache file name

For each font found, it creates a structure with
- the short font name
- the long font name
- the principal file (.pfb for type 1 fonts), and the metrics file if appropriate
- the time modified (unix time stamp)
- a type code ('ttf')
- the family name
- bold and italic attributes

One common use is to display families in a dialog for end users;
then select regular, bold and italic variants of the font.  To get
the initial list, use getFamilyNames; these will be in alpha order.

>>> ff.getFamilyNames()
['Bitstream Vera Sans', 'Century Schoolbook L', 'Dingbats', 'LettErrorRobot',
'MS Gothic', 'MS Mincho', 'Nimbus Mono L', 'Nimbus Roman No9 L',
'Nimbus Sans L', 'Vera', 'Standard Symbols L',
'URW Bookman L', 'URW Chancery L', 'URW Gothic L', 'URW Palladio L']

One can then obtain a specific font as follows

>>> f = ff.getFont('Bitstream Vera Sans', bold=False, italic=True)
>>> f.fullName
'Bitstream Vera Sans'
>>> f.fileName
'C:\code\reportlab\fonts\Vera.ttf'
>>>

It can also produce an XML report of fonts found by family, for the benefit
of non-Python applications.

Future plans might include using this to auto-register fonts; and making it
update itself smartly on repeated instantiation.
é    N)Úmd5)Ú	quoteattr)Úprocess_time)ÚasBytesÚasNativec                 óR   — 	 t          | ¦  «        S #  t          | d¬¦  «        cY S xY w)Nzlatin-1©Úenc)Ú	_asNative)Úss    úg/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/reportlab/lib/fontfinder.pyr   r   C   s5   € ð*Ý˜‰|Œ|Ðøð*Ý˜˜yÐ)Ñ)Ô)Ð)Ð)Ð)øøøs   ‚ ‘&)z.ttfz.ttcz.otfz.pfbz.pfaé   é   é   é   é    é@   i   i   i   c                   ó$   — e Zd ZdZd„ Zd„ Zd„ ZdS )ÚFontDescriptorzƒThis is a short descriptive record about a font.

    typeCode should be a file extension e.g. ['ttf','ttc','otf','pfb','pfa']
    c                 ó®   — d | _         d | _        d | _        d | _        d| _        d| _        d| _        d| _        d | _        d | _	        d | _
        d| _        d S )NFr   )ÚnameÚfullNameÚ
familyNameÚ	styleNameÚisBoldÚisItalicÚisFixedPitchÚ
isSymbolicÚtypeCodeÚfileNameÚmetricsFileNameÚtimeModified©Úselfs    r   Ú__init__zFontDescriptor.__init__[   s_   € ØˆŒ	ØˆŒØˆŒØˆŒØˆŒØˆŒØ!ˆÔØˆŒàˆŒØˆŒØ#ˆÔàˆÔÐÐó    c                 ó   — d| j         z  S )NzFontDescriptor(%s))r   r#   s    r   Ú__repr__zFontDescriptor.__repr__k   s   € Ø# d¤iÑ/Ð/r&   c           
      óî   — g }| j                              ¦   «         D ]?\  }}|dvr6|r4|                     |›dt          t	          |¦  «        ¦  «        ›�¦  «         Œ@dd                     |¦  «        z   dz   S )z Return an XML tag representation)r"   ú=z<font ú z/>)Ú__dict__ÚitemsÚappendr   ÚstrÚjoin)r$   ÚattrsÚkÚvs       r   ÚgetTagzFontDescriptor.getTagn   s†   € àˆØ”M×'Ò'Ñ)Ô)ð 	Cð 	C‰DˆAˆqØÐ(Ð(Ð(Øð CØ—L’L¨A¨A¨A­y½¸Q¹¼Ñ/@Ô/@Ð/@Ð!AÑBÔBÐBøØ˜#Ÿ(š( 5™/œ/Ñ)¨DÑ0Ð0r&   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r%   r(   r4   © r&   r   r   r   V   sK   € € € € € ðð ðð ð ð 0ð 0ð 0ð1ð 1ð 1ð 1ð 1r&   r   )Úrl_isdirÚ	rl_isfileÚ
rl_listdirÚrl_getmtimec                   ój   — e Zd Zg dddddfd„Zdd„Zdd„Zd„ Zd	„ Zd
„ Zd„ Z	dd„Z
d„ Zd„ Zd„ Zd„ ZdS )Ú
FontFinderTFNr   c                 ó  — || _         || _        |€t          j        ¦   «         }|pd| _        t          ¦   «         | _        || _        |                      |¦  «         g | _	        g | _
        g | _        i | _        i | _        i | _        || _        d S )NÚutf8)ÚuseCacheÚvalidateÚsysÚgetfilesystemencodingÚ_fsEncodingÚsetÚ_dirsÚ_recurÚaddDirectoriesÚ_fontsÚ_skippedFilesÚ	_badFilesÚ_fontsByNameÚ_fontsByFamilyÚ_fontsByFamilyBoldItalicÚverbose)r$   ÚdirsrB   rC   ÚrecurÚ
fsEncodingrQ   s          r   r%   zFontFinder.__init__y   s�   € Ø ˆŒØ ˆŒØÐÝÔ2Ñ4Ô4ˆJØ%Ð/¨ˆÔå‘U”UˆŒ
ØˆŒØ×Ò˜DÑ!Ô!Ð!ØˆŒàˆÔØˆŒàˆÔØ ˆÔØ(*ˆÔ%ØˆŒˆˆr&   c                 ó,  — t          |¦  «        r~| j                             |¦  «         |�|rdn| j        rZt	          j        |¦  «        D ]I\  }}}|D ]:}| j                             t          j                             ||¦  «        ¦  «         Œ;ŒDd S d S d S d S ©N)r:   rH   ÚaddrI   ÚosÚwalkÚpathr0   )r$   ÚdirNamerS   ÚrÚDÚFÚds          r   ÚaddDirectoryzFontFinder.addDirectory�   s·   € õ �GÑÔð 	:ØŒJ�NŠN˜7Ñ#Ô#Ð#ØÐ)ˆuÐ)Ð)¨t¬{Ð)ÝœW WÑ-Ô-ð :ð :‘E�A�a˜Øð :ð :˜Øœ
Ÿš¥r¤w§|¢|°A°aÑ'8Ô'8Ñ9Ô9Ð9Ð9ð:ð		:ð 	:à)Ð)Ð)Ð)ð:ð :r&   c                 ó>   — |D ]}|                       ||¬¦  «         Œd S )N)rS   )r`   )r$   ÚdirNamesrS   r[   s       r   rJ   zFontFinder.addDirectories—   s7   € Øð 	3ð 	3ˆGØ×Ò˜g¨EÐÑ2Ô2Ð2Ð2ð	3ð 	3r&   c                 óF  ‡— | j         sK| j        }|D ]A}|j        }|€Œ|| j         v r!| j         |                              |¦  «         Œ6|g| j         |<   ŒB| j        Št          ˆfd„| j                              ¦   «         D ¦   «         ¦  «        }|                     ¦   «          |S )z2Returns a list of the distinct font families foundNc              3   ó:   •K  — | ]}t          |‰¬ ¦  «        V — ŒdS ©r	   N©r   ©Ú.0Ú_rT   s     €r   ú	<genexpr>z,FontFinder.getFamilyNames.<locals>.<genexpr>§   s0   øè è € ÐSÐS°1•W˜Q :Ð.Ñ.Ô.ÐSÐSÐSÐSÐSÐSr&   )rO   rK   r   r.   rF   ÚlistÚkeysÚsort)r$   ÚfontsÚfontÚfamÚnamesrT   s        @r   ÚgetFamilyNameszFontFinder.getFamilyNames›   s¼   ø€ àÔ"ð 	6Ø”KˆEØð 6ð 6�Ø”o�Ø�; Ø˜$Ô-Ð-Ð-ØÔ'¨Ô,×3Ò3°DÑ9Ô9Ð9Ð9à04¨v�DÔ'¨Ñ,Ð,ØÔ%ˆ
ÝÐSÐSÐSÐS¸Ô8K×8PÒ8PÑ8RÔ8RÐSÑSÔSÑSÔSˆØ�
Š
‰ŒˆØˆr&   c                 ó8   — | j                              |g ¦  «        S )z5Return list of all font objects with this family name)rO   Úget)r$   r   s     r   ÚgetFontsInFamilyzFontFinder.getFontsInFamily«   s   € àÔ"×&Ò& z°"Ñ5Ô5Ð5r&   c           	      ój  — g }|                      d¦  «         |                      d¦  «         | j        D ]4}|                      dt          t          |¦  «        ¦  «        z  ¦  «         Œ5|                      ¦   «         D ]�}|r‰|                      dt          t          |¦  «        ¦  «        z  ¦  «         |                      |¦  «        D ],}|                      d|                     ¦   «         z   ¦  «         Œ-|                      d¦  «         ŒŽ|                      d¦  «         d                     |¦  «        S )	z.Reports on all families found as XML.
        z7<?xml version="1.0" encoding="UTF-8" standalone="yes"?>z<font_families>z    <directory name=%s/>z    <family name=%s>z        z    </family>z</font_families>ú
)r.   rH   r   r   rr   ru   r4   r0   )r$   Úlinesr[   r   ro   s        r   ÚgetFamilyXmlReportzFontFinder.getFamilyXmlReport¯   s/  € ð ˆØ�ŠÐNÑOÔOÐOØ�ŠÐ&Ñ'Ô'Ð'Ø”zð 	Tð 	TˆGØ�LŠLÐ3µiÅÈÑ@QÔ@QÑ6RÔ6RÑRÑSÔSÐSÐSØ×-Ò-Ñ/Ô/ð 	.ð 	.ˆJØð .Ø—’Ð3µiÅÈÑ@TÔ@TÑ6UÔ6UÑUÑVÔVÐVØ ×1Ò1°*Ñ=Ô=ð =ð =�DØ—L’L ¨d¯kªk©m¬mÑ!;Ñ<Ô<Ð<Ð<Ø—’˜_Ñ-Ô-Ð-øØ�ŠÐ'Ñ(Ô(Ð(Ø�yŠy˜ÑÔÐr&   c                 ó²   — g }| j         D ]L}d}|                     ¦   «         D ]\  }}t          ||d¦  «        |k    rd}Œ|r|                     |¦  «         ŒM|S )z%This is a general lightweight search.TNF)rK   r-   Úgetattrr.   )r$   ÚkwdsÚselectedro   ÚOKr2   r3   s          r   ÚgetFontsWithAttributesz!FontFinder.getFontsWithAttributesÀ   su   € àˆØ”Kð 	&ð 	&ˆDØˆBØŸ
š
™œð ð ‘��1Ý˜4  DÑ)Ô)¨QÒ.Ð.Ø�BøØð &Ø—’ Ñ%Ô%Ð%øØˆr&   c                 ó�   — | j         D ]'}|j        |k    r|j        |k    r|j        |k    r|c S Œ(t	          d|›d|›d|›�¦  «        ‚)z$Try to find a font matching the speczCannot find font z with bold=z	, italic=)rK   r   r   r   ÚKeyError)r$   r   ÚboldÚitalicro   s        r   ÚgetFontzFontFinder.getFontÌ   sl   € ð ”Kð 	$ð 	$ˆDØŒ *Ò,Ð,Ø”; $Ò&Ð&Ø”}¨Ò.Ð.Ø#˜˜˜øåˆhÈ
È
È
ÐTXÐTXÐTXÐZ`ÐZ`ÐaÑbÔbÐbr&   c                 óæ   ‡— | j         Št          d                     ˆfd„t          | j        ¦  «        D ¦   «         ¦  «        d¬¦  «                             ¦   «         }ddlm}  |d|z  ¦  «        }|S )zUBase this on the directories...same set of directories
        should give same cacher&   c              3   ó:   •K  — | ]}t          |‰¬ ¦  «        V — ŒdS re   rf   rg   s     €r   rj   z/FontFinder._getCacheFileName.<locals>.<genexpr>Û   s0   øè è € ÐRÐR¸!�G A¨*Ð5Ñ5Ô5ÐRÐRÐRÐRÐRÐRr&   F)Úusedforsecurityr   )Úget_rl_tempfilezfonts_%s.dat)rF   r   r0   ÚsortedrH   Ú	hexdigestÚreportlab.lib.utilsrˆ   )r$   Úhashrˆ   ÚfnrT   s       @r   Ú_getCacheFileNamezFontFinder._getCacheFileName×   s‚   ø€ ð Ô%ˆ
Ý�3—8’8ÐRÐRÐRÐR½vÀdÄjÑ?QÔ?QÐRÑRÔRÑRÔRÐchÐiÑiÔi×sÒsÑuÔuˆØ7Ð7Ð7Ð7Ð7Ð7Øˆ_˜^¨dÑ2Ñ3Ô3ˆØˆ	r&   c                 óx   — t          |d¦  «        }t          j        | |¦  «         |                     ¦   «          d S )NÚwb)ÚopenÚpickleÚdumpÚclose)r$   r    Úfs      r   ÚsavezFontFinder.saveà   s4   € Ý�˜4Ñ Ô ˆÝŒ�D˜!ÑÔÐØ	�Š‰	Œ	ˆ	ˆ	ˆ	r&   c                 ó´   — t          |d¦  «        }t          j        |¦  «        }|                     ¦   «          | j                             |j        ¦  «         d S )NÚrb)r‘   r’   Úloadr”   r,   Úupdate)r$   r    r•   Úfinder2s       r   r™   zFontFinder.loadå   sJ   € Ý�˜4Ñ Ô ˆÝ”+˜a‘.”.ˆØ	�Š‰	Œ	ˆ	ØŒ×Ò˜WÔ-Ñ.Ô.Ð.Ð.Ð.r&   c           	      ó
  — | j         rt          ¦   «         }| j        st          d¦  «        ‚| j        rs|                      ¦   «         }t          |¦  «        rP	 |                      |¦  «         | j         dk    r&t          dt          | j
        ¦  «        |fz  ¦  «         d S #  Y nxY w| j        D �]Ñ}	 t          |¦  «        }n#  Y ŒxY w|D �]²}t          j                             |¦  «        \  }}|                     ¦   «         t           v �rqt#          ¦   «         }t          j                             t          j                             ||¦  «        ¦  «        x|_        }	 t+          |¦  «        |_        n!#  | j                             |¦  «         Y ŒÇxY w|                     ¦   «         }|d         dk    r
|dd …         }||_        |dv r| j                             |¦  «         �n}|dv r®dd	lm}	m}
 	  |	|| j        ¬
¦  «        }n&# |
$ r | j                             |¦  «         Y �Œ]w xY w|j        |_        |j         |_         |j!        |_!        |j"        |_"        tF          tF          |j$        z  k    |_%        tL          tL          |j$        z  k    |_'        �nË|dk    �rÄt          t          j                             ||dz   ¦  «        ¦  «        rFt          j                             t          j                             ||dz   ¦  «        ¦  «        |_(        n’t          t          j                             ||dz   ¦  «        ¦  «        rFt          j                             t          j                             ||dz   ¦  «        ¦  «        |_(        n| j                             |¦  «         �ŒÜddl)m*}  ||j(        ¦  «        \  }}|d         |_        | +                    d|j        ¦  «        |_         | +                    dd ¦  «        |_"        tY          | +                    dd¦  «        ¦  «        dk    |_'        d| +                    dd¦  «                             ¦   «         v |_%        | j
                             |¦  «         �Œ´�ŒÓ| j        r|  -                    |¦  «         | j         r_t          ¦   «         }t          dt          | j
        ¦  «        t          | j        ¦  «        t          | j        ¦  «        ||z
  fz  ¦  «         d S d S )NzbFont search path is empty!  Please specify search directories using addDirectory or addDirectoriesé   z%loaded cached file with %d fonts (%s)r   ú.r   )ÚotfÚpfa)ÚttfÚttc)Ú
TTFontFileÚTTFError)rC   Úpfbz.afmz.AFM)ÚparseAFMFileÚFontNameÚFullNameÚ
FamilyNameÚItalicAngleg        r‚   ÚWeightÚ z7found %d fonts; skipped %d; bad %d.  Took %0.2f seconds).rQ   ÚclockrH   Ú
ValueErrorrB   rŽ   r;   r™   ÚprintÚlenrK   r<   rX   rZ   ÚsplitextÚlowerÚ
EXTENSIONSr   Únormpathr0   r    r=   r"   rL   r.   r   Úreportlab.pdfbase.ttfontsr£   r¤   rC   rM   r   r   r   r   ÚFF_FORCEBOLDÚflagsr   Ú	FF_ITALICr   r!   Úreportlab.pdfbase.pdfmetricsr¦   rt   Úfloatr–   )r$   ÚstartedÚcfnr[   Ú	fileNamesr    ÚrootÚextr•   r£   r¤   ro   r¦   ÚinfoÚglyphsÚfinisheds                   r   ÚsearchzFontFinder.searchë   sÛ  € ØŒ<ð 	Ý‘g”gˆGØŒzð 	CÝð  Bñ  Cô  Cð  CàŒ=ð 		Ø×(Ò(Ñ*Ô*ˆCÝ˜‰~Œ~ð ðØ—I’I˜c‘N”N�NØ”| Q’�ÝÐEÍÈTÌ[ÑIYÔIYÐ[^ÐH_Ñ_Ñ`Ô`Ð`Ø�FøðØ�Døøøà”zð ?	*ñ ?	*ˆGðÝ& wÑ/Ô/�	�	øðØ�øøøØ%ð :*ñ :*�ÝœG×,Ò,¨XÑ6Ô6‘	��cØ—9’9‘;”;¥*Ð,Ñ,å&Ñ(Ô(�AÝ,.¬G×,<Ò,<½R¼W¿\º\È'ÐS[Ñ=\Ô=\Ñ,]Ô,]Ð]�A”J ð!Ý)4°XÑ)>Ô)>˜œ˜øð!ØÔ*×1Ò1°(Ñ;Ô;Ð;Ø ˜øøøàŸ)š)™+œ+�CØ˜1”v ’}�}Ø! ! " "œg˜Ø!$�A”Jð
 ˜nÐ,Ð,ØÔ*×1Ò1°(Ñ;Ô;Ð;Ñ;à Ð-Ð-àRÐRÐRÐRÐRÐRÐRÐRð%Ø#- :¨hÀÄÐ#NÑ#NÔ#N˜D˜DøØ'ð %ð %ð %Ø œN×1Ò1°(Ñ;Ô;Ð;Ø$™Hð%øøøð "&¤˜œØ%)¤]˜œ
Ø&*¤n˜œØ'+¤˜œÝ$0µLÀ4Ä:Ñ4MÒ$M˜œÝ&/µ9¸t¼zÑ3IÒ&I˜œ
™
à š™õ %¥R¤W§\¢\°'¸4À&¹=Ñ%IÔ%IÑJÔJð %Ý02´×0@Ò0@ÅÄÇÂÈgÐW[Ð^dÑWdÑAeÔAeÑ0fÔ0f˜AÔ-Ð-Ý&¥r¤w§|¢|°G¸TÀF¹]Ñ'KÔ'KÑLÔLð %Ý02´×0@Ò0@ÅÄÇÂÈgÐW[Ð^dÑWdÑAeÔAeÑ0fÔ0f˜AÔ-Ð-à Ô.×5Ò5°hÑ?Ô?Ð?Ù$ØMÐMÐMÐMÐMÐMà)5¨°aÔ6GÑ)HÔ)H™˜˜vØ!% jÔ!1˜œØ%)§X¢X¨j¸!¼&Ñ%AÔ%A˜œ
Ø'+§x¢x°¸dÑ'CÔ'C˜œÝ&+¨D¯HªH°]ÀAÑ,FÔ,FÑ&GÔ&GÈ#Ò&M˜œ
à$*¨d¯hªh°xÀÑ.CÔ.C×.IÒ.IÑ.KÔ.KÐ$K˜œà”K×&Ò& qÑ)Ô)Ð)ùñu:*ðv Œ=ð 	Ø�IŠI�c‰NŒNˆNàŒ<ð 	Ý‘w”wˆHÝÐKÝ�D”KÑ Ô ¥# dÔ&8Ñ"9Ô"9½3¸t¼~Ñ;NÔ;NØ˜7Ñ"ðOñ ñ ô ð ð ð ð	ð 	s7   ÁAB ÂB#Â1CÃCÅE3Å3FÇ2HÈH(È'H(rV   )FF)r5   r6   r7   r%   r`   rJ   rr   ru   ry   r   r„   rŽ   r–   r™   rÃ   r9   r&   r   r?   r?   x   sô   € € € € € Ø¨¸ÀUÐW[Ðefð ð ð ð ð(:ð :ð :ð :ð3ð 3ð 3ð 3ðð ð ð 6ð 6ð 6ð ð  ð  ð"
ð 
ð 
ð	cð 	cð 	cð 	cðð ð ðð ð ð
/ð /ð /ðYð Yð Yð Yð Yr&   r?   c                  óâ  — ddl m}  t          | j        ¬¦  «        }d|_        d|_        dd l }|                     d¦  «         t          j         	                    t          j         
                    |j        ¦  «        d¦  «        }|                     |¦  «         |                     ¦   «          t          d¦  «         t          |                     ¦   «         ¦  «         t          d¦  «         |                     ¦   «         D ]}t          d	|z  ¦  «         Œt          ¦   «          t           j        j        } |d
¦  «         |                     d¦  «        D ]} |d|j        z  ¦  «         Œt          ¦   «           |d¦  «         |                     dd¬¦  «        D ]} ||j        dz   ¦  «         Œt          ¦   «          t          d¦  «         t          |                     ¦   «         ¦  «         d S )Nr   )Ú	rl_config)rQ   TzC:\windows\fontsrn   zcache file name...zfamilies...z	%szfonts called Vera:zBitstream Vera Sansz %szBold fonts
	F)r   r   r+   zfamily report)Ú	reportlabrÅ   r?   rQ   rB   rC   r`   rX   rZ   r0   ÚdirnameÚ__file__rÃ   r¯   rŽ   rr   rD   ÚstdoutÚwriteru   r   r   r   ry   )rÅ   ÚffrÆ   Ú	rlFontDirr   Úoutwro   s          r   ÚtestrÎ   F  sê  € à#Ð#Ð#Ð#Ð#Ð#Ý	˜IÔ-Ð	.Ñ	.Ô	.€BØ€B„KØ€B„KàÐÐÐØ‡O‚OÐ(Ñ)Ô)Ð)Ý”—’�RœWŸ_š_¨YÔ-?Ñ@Ô@À'ÑJÔJ€IØ‡O‚O�IÑÔÐØ‡I‚I�K„K€Kå	Ð
ÑÔÐÝ	ˆ"×
Ò
Ñ
 Ô
 Ñ!Ô!Ð!å	ˆ-ÑÔÐØ×'Ò'Ñ)Ô)ð #ð #ˆ
Ýˆf�zÑ!Ñ"Ô"Ð"Ð"å	�G„G€GÝŒ:Ô€DØ€DÐ	ÑÔÐØ×#Ò#Ð$9Ñ:Ô:ð  ð  ˆØˆˆU�T”YÑÑÔÐÐÝ	�G„G€GØ€DÐ	ÑÔÐØ×)Ò)°ÀÐ)ÑFÔFð  ð  ˆØˆˆTŒ]˜3ÑÑÔÐÐÝ	�G„G€GÝ	ˆ/ÑÔÐÝ	ˆ"×
Ò
Ñ
!Ô
!Ñ"Ô"Ð"Ð"Ð"r&   Ú__main__)"Ú__version__r8   rD   rX   r’   Úhashlibr   Úxml.sax.saxutilsr   Útimer   r­   r‹   r   r   r   r³   ÚFF_FIXEDÚFF_SERIFÚFF_SYMBOLICÚ	FF_SCRIPTÚFF_NONSYMBOLICr¸   Ú	FF_ALLCAPÚFF_SMALLCAPr¶   r   r:   r;   r<   r=   r?   rÎ   r5   r9   r&   r   ú<module>rÛ      sˆ  ðð €ð6	€ðn Ð Ð Ð Ð Ð Ð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø &Ð &Ð &Ð &Ð &Ð &Ø &Ð &Ð &Ð &Ð &Ð &Ø >Ð >Ð >Ð >Ð >Ð >Ð >Ð >ð*ð *ð *ð 2Ð1Ð1€
ð €Ø€Ø€Ø€	Ø€Ø€	Ø€	Ø€Ø€ð1ð 1ð 1ð 1ð 1ñ 1ô 1ð 1ðB MÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LðLð Lð Lð Lð Lñ Lô Lð Lð\#ð #ð #ðB ˆZÒÐØ€D�F„F€F€F€Fð Ðr&   