§
    ¢”j4c  ã                   ó®   — d dl mc mZ d dlmZ d dlmZ d dlmZ ddddd	d
d
d
dddddœZ	 G d„ de
¦  «        Z G d„ de
¦  «        Z G d„ de¦  «        ZdS )é    N)ÚLexer)ÚVoltLibError)ÚopenÚparse_def_glyph_Úparse_def_group_Úparse_def_script_Úparse_def_lookup_Úparse_def_anchor_Úparse_ppem_Úparse_noarg_option_Úparse_cmap_format)Ú	DEF_GLYPHÚ	DEF_GROUPÚ
DEF_SCRIPTÚ
DEF_LOOKUPÚ
DEF_ANCHORÚ	GRID_PPEMÚPRESENTATION_PPEMÚPPOSITIONING_PPEMÚCOMPILER_USEEXTENSIONLOOKUPSÚCOMPILER_USEPAIRPOSFORMAT2ÚCMAP_FORMATÚDO_NOT_TOUCH_CMAPc                   óÔ   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d „ Z"d!„ Z#d"S )#ÚParserc                 ó€  — t          j        ¦   «         | _        t          ¦   «         | _        t          ¦   «         | _        i | _        t          ¦   «         | _        t          ¦   «         | _	        t          ¦   «         | _
        d\  | _        | _        d | _        |                      |¦  «         |                      ¦   «          d S )N©NN)ÚastÚVoltFileÚdoc_ÚOrderedSymbolTableÚglyphs_ÚSymbolTableÚgroups_Úanchors_Úscripts_Úlangs_Úlookups_Únext_token_type_Únext_token_Únext_token_location_Úmake_lexer_Úadvance_lexer_)ÚselfÚpaths     úg/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/fontTools/voltLib/parser.pyÚ__init__zParser.__init__   s“   € Ý”L‘N”NˆŒ	Ý)Ñ+Ô+ˆŒÝ"‘}”}ˆŒØˆŒÝ#™œˆŒÝ!‘m”mˆŒÝ#™œˆŒØ2>Ñ/ˆÔ˜tÔ/Ø$(ˆÔ!Ø×Ò˜ÑÔÐØ×ÒÑÔÐÐÐó    c                 ó  — t          |d¦  «        r&t          |dd ¦  «        }|                     ¦   «         }n>|}t          |d¦  «        5 }|                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   t	          ||¦  «        | _        d S )NÚreadÚnameÚr)ÚhasattrÚgetattrr4   r   r   Úlexer_)r.   Úfile_or_pathÚfilenameÚdataÚfs        r0   r,   zParser.make_lexer_$   sÁ   € Ý�< Ñ(Ô(ð 	 Ý˜|¨V°TÑ:Ô:ˆHØ×$Ò$Ñ&Ô&ˆDˆDà#ˆHÝ�l CÑ(Ô(ð  ¨AØ—v’v‘x”x�ð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  å˜D (Ñ+Ô+ˆŒˆˆs   Á	A*Á*A.Á1A.c           	      óò  — | j         j        }| j        �Þ|                      ¦   «          | j        t
                               ¦   «         v r>t          | t
          | j                 ¦  «        }|                      |¦   «         ¦  «         ne|  	                    d¦  «        rnVt          dd                     t          t
                               ¦   «         ¦  «        ¦  «        z   | j        ¦  «        ‚| j        ­Þ| j         S )NÚENDz	Expected z, )r    Ú
statementsr)   r-   Ú
cur_token_ÚPARSE_FUNCSÚkeysr8   ÚappendÚis_cur_keyword_r   ÚjoinÚsortedÚcur_token_location_)r.   r@   Úfuncs      r0   ÚparsezParser.parse.   sá   € Ø”YÔ)ˆ
ØÔ#Ð/Ø×ÒÑ!Ô!Ð!ØŒ¥+×"2Ò"2Ñ"4Ô"4Ð4Ð4Ý˜t¥[°´Ô%AÑBÔB�Ø×!Ò! $ $¡&¤&Ñ)Ô)Ð)Ð)Ø×%Ò% eÑ,Ô,ð Øå"Ø $§)¢)­Fµ;×3CÒ3CÑ3EÔ3EÑ,FÔ,FÑ"GÔ"GÑGØÔ,ñô ð ð Ô#Ð/ð ŒyÐr2   c                 óâ  — |                       d¦  «        sJ ‚| j        }|                      ¦   «         }|                      d¦  «         |                      ¦   «         }|dk     rt          d| j        ¦  «        ‚d }| j        dk    rL|                      d¦  «         |                      ¦   «         g}|d         dk     rt          d| j        ¦  «        ‚n4| j        dk    r)|                      d¦  «         |                      ¦   «         }d }| j        dk    r/|                      d¦  «         |                      ¦   «         }|d	v sJ ‚d }| j        d
k    r)|                      d
¦  «         |                      ¦   «         }|                      d¦  «         | j	         
                    |¦  «        �t          d||fz  |¦  «        ‚t          j        ||||||¬¦  «        }| j	                             ||¦  «         |S )Nr   ÚIDr   zInvalid glyph IDÚUNICODEzInvalid glyph UNICODEÚUNICODEVALUESÚTYPE)ÚBASEÚLIGATUREÚMARKÚ	COMPONENTÚ
COMPONENTSÚ	END_GLYPHz#Glyph "%s" (gid %i) already defined©Úlocation)rE   rH   Úexpect_string_Úexpect_keyword_Úexpect_number_r   r*   Úparse_unicode_values_Úexpect_name_r"   Úresolver   ÚGlyphDefinitionÚdefine)r.   rW   r5   ÚgidÚgunicodeÚgtypeÚ
componentsÚ	def_glyphs           r0   r   zParser.parse_def_glyph_>   s  € Ø×#Ò# KÑ0Ô0Ð0Ð0Ð0ØÔ+ˆØ×"Ò"Ñ$Ô$ˆØ×Ò˜TÑ"Ô"Ð"Ø×!Ò!Ñ#Ô#ˆØ�Š7ˆ7ÝÐ1°4Ô3KÑLÔLÐLØˆØÔ˜yÒ(Ð(Ø× Ò  Ñ+Ô+Ð+Ø×+Ò+Ñ-Ô-Ð.ˆHØ˜Œ{˜QŠˆÝ"Ð#:¸DÔ<TÑUÔUÐUð àÔ Ò0Ð0Ø× Ò  Ñ1Ô1Ð1Ø×1Ò1Ñ3Ô3ˆHØˆØÔ˜vÒ%Ð%Ø× Ò  Ñ(Ô(Ð(Ø×%Ò%Ñ'Ô'ˆEØÐEÐEÐEÐEÐEØˆ
ØÔ˜|Ò+Ð+Ø× Ò  Ñ.Ô.Ð.Ø×,Ò,Ñ.Ô.ˆJØ×Ò˜[Ñ)Ô)Ð)ØŒ<×Ò Ñ%Ô%Ð1ÝØ5¸¸s¸ÑCÀXñô ð õ Ô'Ø�#�x ¨
¸Xð
ñ 
ô 
ˆ	ð 	Œ×Ò˜D )Ñ,Ô,Ð,ØÐr2   c                 ó”  — |                       d¦  «        sJ ‚| j        }|                      ¦   «         }d }| j        dk    r|                      ¦   «         }|                      d¦  «         | j                             |¦  «        �t          d|z  |¦  «        ‚t          j
        |||¬¦  «        }| j                             ||¦  «         |S )Nr   ÚENUMÚ	END_GROUPzBGlyph group "%s" already defined, group names are case insensitiverV   )rE   rH   rX   r*   Úparse_enum_rY   r$   r]   r   r   ÚGroupDefinitionr_   )r.   rW   r5   ÚenumÚ	def_groups        r0   r   zParser.parse_def_group_c   sÜ   € Ø×#Ò# KÑ0Ô0Ð0Ð0Ð0ØÔ+ˆØ×"Ò"Ñ$Ô$ˆØˆØÔ˜vÒ%Ð%Ø×#Ò#Ñ%Ô%ˆDØ×Ò˜[Ñ)Ô)Ð)ØŒ<×Ò Ñ%Ô%Ð1Ýð3Ø59ñ:àñô ð õ
 Ô'¨¨d¸XÐFÑFÔFˆ	ØŒ×Ò˜D )Ñ,Ô,Ð,ØÐr2   c                 óØ  — |                       d¦  «        sJ ‚| j        }d }| j        dk    r)|                      d¦  «         |                      ¦   «         }|                      d¦  «         |                      ¦   «         }| j                             |¦  «        �t          d|z  |¦  «        ‚| j         	                    ¦   «          g }| j        dk    r¸|  
                    ¦   «          |                      ¦   «         }|                      d¦  «         | j                             |j        ¦  «        �t          d|j        ›d|›d	�|¦  «        ‚| j                             |j        |¦  «         |                     |¦  «         | j        dk    °¸|                      d¦  «         | j                             ¦   «          t!          j        ||||¬
¦  «        }| j                             ||¦  «         |S )Nr   ÚNAMEÚTAGz=Script "%s" already defined, script tags are case insensitiveÚ
END_SCRIPTÚEND_LANGSYSz
Language "z" already defined in script "z%", language tags are case insensitiverV   )rE   rH   r*   rY   rX   r&   r]   r   r'   Úenter_scoper-   Úparse_langsys_Útagr_   rD   Ú
exit_scoper   ÚScriptDefinition)r.   rW   r5   rs   ÚlangsÚlangÚ
def_scripts          r0   r   zParser.parse_def_script_u   sü  € Ø×#Ò# LÑ1Ô1Ð1Ð1Ð1ØÔ+ˆØˆØÔ˜vÒ%Ð%Ø× Ò  Ñ(Ô(Ð(Ø×&Ò&Ñ(Ô(ˆDØ×Ò˜UÑ#Ô#Ð#Ø×!Ò!Ñ#Ô#ˆØŒ=× Ò  Ñ%Ô%Ð1Ýð3Ø58ñ9àñô ð ð
 	Œ×ÒÑ!Ô!Ð!ØˆØÔ ,Ò.Ð.Ø×ÒÑ!Ô!Ð!Ø×&Ò&Ñ(Ô(ˆDØ× Ò  Ñ/Ô/Ð/ØŒ{×"Ò" 4¤8Ñ,Ô,Ð8Ý"�là<@¼H¸H¸HÀcÀcÀcðKàñô ð ð
 ŒK×Ò˜tœx¨Ñ.Ô.Ð.Ø�LŠL˜ÑÔÐð Ô ,Ò.Ð.ð 	×Ò˜\Ñ*Ô*Ð*ØŒ×ÒÑ Ô Ð ÝÔ)¨$°°UÀXÐNÑNÔNˆ
ØŒ×Ò˜S *Ñ-Ô-Ð-ØÐr2   c                 ó  — |                       d¦  «        sJ ‚| j        }d }| j        dk    r)|                      d¦  «         |                      ¦   «         }|                      d¦  «         |                      ¦   «         }g }| j        dk    r]|                      ¦   «          |                      ¦   «         }|                      d¦  «         |                     |¦  «         | j        dk    °]t          j	        ||||¬¦  «        }|S )NÚDEF_LANGSYSrm   rn   rp   ÚEND_FEATURErV   )
rE   rH   r*   rY   rX   r-   Úparse_feature_rD   r   ÚLangSysDefinition)r.   rW   r5   rs   ÚfeaturesÚfeatureÚdef_langsyss          r0   rr   zParser.parse_langsys_˜   s  € Ø×#Ò# MÑ2Ô2Ð2Ð2Ð2ØÔ+ˆØˆØÔ˜vÒ%Ð%Ø× Ò  Ñ(Ô(Ð(Ø×&Ò&Ñ(Ô(ˆDØ×Ò˜UÑ#Ô#Ð#Ø×!Ò!Ñ#Ô#ˆØˆØÔ -Ò/Ð/Ø×ÒÑ!Ô!Ð!Ø×)Ò)Ñ+Ô+ˆGØ× Ò  Ñ/Ô/Ð/Ø�OŠO˜GÑ$Ô$Ð$ð	 Ô -Ò/Ð/õ
 Ô+¨D°#°xÈ(ÐSÑSÔSˆØÐr2   c                 óÂ  — |                       d¦  «        sJ ‚| j        }|                      d¦  «         |                      ¦   «         }|                      d¦  «         |                      ¦   «         }g }| j        dk    rI|                      d¦  «         |                      ¦   «         }|                     |¦  «         | j        dk    °It          j        ||||¬¦  «        }|S )NÚDEF_FEATURErm   rn   r{   ÚLOOKUPrV   )rE   rH   rY   rX   r*   rD   r   ÚFeatureDefinition)r.   rW   r5   rs   ÚlookupsÚlookupr   s          r0   r|   zParser.parse_feature_ª   sè   € Ø×#Ò# MÑ2Ô2Ð2Ð2Ð2ØÔ+ˆØ×Ò˜VÑ$Ô$Ð$Ø×"Ò"Ñ$Ô$ˆØ×Ò˜UÑ#Ô#Ð#Ø×!Ò!Ñ#Ô#ˆØˆØÔ -Ò/Ð/à× Ò  Ñ*Ô*Ð*Ø×(Ò(Ñ*Ô*ˆFØ�NŠN˜6Ñ"Ô"Ð"ð	 Ô -Ò/Ð/õ
 Ô'¨¨c°7ÀXÐNÑNÔNˆØˆr2   c                 óx  — |                       d¦  «        sJ ‚| j        }|                      ¦   «         }|d                              ¦   «         st	          d|z  |¦  «        ‚| j                             |¦  «        �t	          d|z  |¦  «        ‚d}| j        dk    r|                      ¦   «          n!| j        dk    r|                      ¦   «          d}d}d }| j        d	k    rÌ|                      ¦   «          | j        d
k    r)|                      ¦   «          |                      ¦   «         }n¥| j        dk    r|                      ¦   «          n…| j        dk    r|                      ¦   «          d}nc| j	        t          j        k    r|                      ¦   «         }n9t	          d| j	        z  |¦  «        ‚| j        dk    r|                      ¦   «          d}d }| j        dk    r/|                      d¦  «         |                      ¦   «         }|dv sJ ‚d }| j        dk    r|                      d¦  «         d}d }| j        dk    r=|                      d¦  «         |                      ¦   «                              dd¦  «        }g }	| j        dv r|                      ¦   «         }	| j        dv °|                      ¦   «         }
d }d }|
dk    r|                      |¦  «        }n.|
dk    r|                      ¦   «         }nt	          d|
z  |¦  «        ‚t%          j        ||||||||	|||¬¦  «        }| j                             ||¦  «         |S )Nr   r   z)Lookup name "%s" must start with a letterz>Lookup "%s" already defined, lookup names are case insensitiveTÚPROCESS_BASEÚ	SKIP_BASEFÚPROCESS_MARKSÚMARK_GLYPH_SETÚALLÚNONEz3Expected ALL, NONE, MARK_GLYPH_SET or an ID. Got %sÚ
SKIP_MARKSÚ	DIRECTION)ÚLTRÚRTLÚREVERSALÚCOMMENTSz\nú
©ÚEXCEPT_CONTEXTÚ
IN_CONTEXTÚAS_SUBSTITUTIONÚAS_POSITIONz/Expected AS_SUBSTITUTION or AS_POSITION. Got %srV   )rE   rH   rX   Úisalphar   r(   r]   r*   r-   r)   r   ÚSTRINGrY   r\   ÚreplaceÚparse_context_Úparse_substitution_Úparse_position_r   ÚLookupDefinitionr_   )r.   rW   r5   Úprocess_baseÚprocess_marksÚmark_glyph_setÚ	directionÚreversalÚcommentsÚcontextÚas_pos_or_subÚsubÚposÚ
def_lookups                 r0   r	   zParser.parse_def_lookup_º   sË  € Ø×#Ò# LÑ1Ô1Ð1Ð1Ð1ØÔ+ˆØ×"Ò"Ñ$Ô$ˆØ�AŒw�ŠÑ Ô ð 	ÝØ;¸dÑBÀHñô ð ð Œ=× Ò  Ñ&Ô&Ð2Ýð4Ø6:ñ;àñô ð ð
 ˆØÔ˜~Ò-Ð-Ø×ÒÑ!Ô!Ð!Ð!ØÔ Ò,Ð,Ø×ÒÑ!Ô!Ð!Ø ˆLØˆØˆØÔ˜Ò.Ð.Ø×ÒÑ!Ô!Ð!ØÔÐ#3Ò3Ð3Ø×#Ò#Ñ%Ô%Ð%Ø!%×!4Ò!4Ñ!6Ô!6��ØÔ! UÒ*Ð*Ø×#Ò#Ñ%Ô%Ð%Ð%ØÔ! VÒ+Ð+Ø×#Ò#Ñ%Ô%Ð%Ø %��ØÔ&­%¬,Ò6Ð6Ø $× 3Ò 3Ñ 5Ô 5��å"ðØ $Ô 5ñ7àñô ð ð
 Ô Ò-Ð-Ø×ÒÑ!Ô!Ð!Ø!ˆMØˆ	ØÔ˜{Ò*Ð*Ø× Ò  Ñ-Ô-Ð-Ø×)Ò)Ñ+Ô+ˆIØ Ð.Ð.Ð.Ð.ØˆØÔ˜zÒ)Ð)Ø× Ò  Ñ,Ô,Ð,ØˆHØˆØÔ˜zÒ)Ð)Ø× Ò  Ñ,Ô,Ð,Ø×*Ò*Ñ,Ô,×4Ò4°U¸DÑAÔAˆHØˆØÔÐ"BÐBÐBØ×)Ò)Ñ+Ô+ˆGð ÔÐ"BÐBÐBà×)Ò)Ñ+Ô+ˆØˆØˆØÐ-Ò-Ð-Ø×*Ò*¨8Ñ4Ô4ˆCˆCØ˜mÒ+Ð+Ø×&Ò&Ñ(Ô(ˆCˆCåØDÈÑVØñô ð õ Ô)ØØØØØØØØØØØð
ñ 
ô 
ˆ
ð 	Œ×Ò˜T :Ñ.Ô.Ð.ØÐr2   c                 ó  — | j         }g }| j        dv ród }d }|                      ¦   «         }| j        dk    r²g }g }| j        dv rb|                      ¦   «         }|                      ¦   «         }|dk    r|                     |¦  «         n|                     |¦  «         | j        dv °b|                      d¦  «         t          j        ||||¬¦  «        }|                     |¦  «         n|                      d¦  «         | j        dv °ó|S )Nr•   ÚEND_CONTEXT)ÚLEFTÚRIGHTr®   rV   )rH   r*   r\   Úparse_coverage_rD   rY   r   ÚContextDefinition)	r.   rW   ÚcontextsÚsideÚcoverageÚex_or_inÚleftÚrightr§   s	            r0   r�   zParser.parse_context_  s<  € ØÔ+ˆØˆØÔÐ"BÐBÐBØˆDØˆHØ×(Ò(Ñ*Ô*ˆHàÔ =Ò0Ð0Ø�Ø�ØÔ&Ð*;Ð;Ð;Ø×,Ò,Ñ.Ô.�DØ#×3Ò3Ñ5Ô5�HØ˜v’~�~ØŸš HÑ-Ô-Ð-Ð-àŸš XÑ.Ô.Ð.ð Ô&Ð*;Ð;Ð;ð ×$Ò$ ]Ñ3Ô3Ð3ÝÔ/Ø˜d E°Hðñ ô �ð —’ Ñ(Ô(Ð(Ð(à×$Ò$ ]Ñ3Ô3Ð3ð+ ÔÐ"BÐBÐBð, ˆr2   c                 óœ  — |                       d¦  «        sJ ‚| j        }g }g }| j        dk    rt          d|¦  «        ‚| j        dk    r˜|                      d¦  «         |                     |                      ¦   «         ¦  «         |                      d¦  «         |                     |                      ¦   «         ¦  «         |                      d¦  «         | j        dk    °˜|                      d¦  «         t          d„ |D ¦   «         ¦  «        }t          d„ |D ¦   «         ¦  «        }|d	k    r|d	k    rt          d
|¦  «        ‚t          t          t          |¦  «        t          |¦  «        ¦  «        ¦  «        }|d	k    r†|d	k    r€d„ |D ¦   «         }t          t          |¦  «        ¦  «        t          |¦  «        k    rt          j        ||¬¦  «        }	nu|rt          j        ||¬¦  «        }	n\t          j        ||¬¦  «        }	nE|d	k    r|d	k    rt          j        ||¬¦  «        }	n"|d	k    r|d	k    rt          j        ||¬¦  «        }	|	S )Nr˜   ÚSUBzExpected SUBÚWITHÚEND_SUBÚEND_SUBSTITUTIONc                 ó,   — g | ]}t          |¦  «        ‘ŒS © ©Úlen©Ú.0Úcovs     r0   ú
<listcomp>z.Parser.parse_substitution_.<locals>.<listcomp>:  s   € Ð/Ð/Ð/ C•s˜3‘x”xÐ/Ð/Ð/r2   c                 ó,   — g | ]}t          |¦  «        ‘ŒS r¾   r¿   rÁ   s     r0   rÄ   z.Parser.parse_substitution_.<locals>.<listcomp>;  s   € Ð1Ð1Ð1 S�˜C™œÐ1Ð1Ð1r2   é   zInvalid substitution typec                 ó@   — g | ]}|D ]}|                      ¦   «         ‘ŒŒS r¾   )ÚglyphSet)rÂ   rÃ   Úxs      r0   rÄ   z.Parser.parse_substitution_.<locals>.<listcomp>E  s-   € Ð?Ð?Ð? s¸3Ð?Ð?°a�a—j’j‘l”lÐ?Ð?Ð?Ð?r2   rV   )rE   rH   r*   r   rY   rD   r°   ÚmaxÚdictÚzipÚtuplerÀ   Úsetr   ÚSubstitutionAlternateDefinitionÚ+SubstitutionReverseChainingSingleDefinitionÚSubstitutionSingleDefinitionÚSubstitutionMultipleDefinitionÚSubstitutionLigatureDefinition)
r.   r¥   rW   ÚsrcÚdestÚmax_srcÚmax_destÚmappingÚglyphsr©   s
             r0   rž   zParser.parse_substitution_,  sk  € Ø×#Ò#Ð$5Ñ6Ô6Ð6Ð6Ð6ØÔ+ˆØˆØˆØÔ˜uÒ$Ð$Ý˜~¨xÑ8Ô8Ð8ØÔ %Ò'Ð'Ø× Ò  Ñ'Ô'Ð'Ø�JŠJ�t×+Ò+Ñ-Ô-Ñ.Ô.Ð.Ø× Ò  Ñ(Ô(Ð(Ø�KŠK˜×,Ò,Ñ.Ô.Ñ/Ô/Ð/Ø× Ò  Ñ+Ô+Ð+ð Ô %Ò'Ð'ð 	×ÒÐ/Ñ0Ô0Ð0ÝÐ/Ð/¨3Ð/Ñ/Ô/Ñ0Ô0ˆÝÐ1Ð1¨DÐ1Ñ1Ô1Ñ2Ô2ˆð �QŠ;ˆ;˜8 aš<˜<ÝÐ:¸HÑEÔEÐEå•s�5 ™:œ:¥u¨T¡{¤{Ñ3Ô3Ñ4Ô4ˆØ�aŠ<ˆ<˜H¨šM˜Mð @Ð?¨cÐ?Ñ?Ô?ˆFÝ•3�v‘;”;ÑÔ¥3 v¡;¤;Ò.Ð.ÝÔ9¸'ÈHÐUÑUÔU��àð Wõ ÔIØ¨(ðñ ô �C�Cõ Ô:¸7ÈXÐVÑVÔV�C�CØ˜Š\ˆ\˜h¨šl˜lÝÔ4°WÀxÐPÑPÔPˆCˆCØ�qŠ[ˆ[˜X¨š]˜]ÝÔ4°WÀxÐPÑPÔPˆCØˆ
r2   c                 ó’  — |                       d¦  «        sJ ‚| j        }|                      ¦   «         }|dvrt          d|¦  «        ‚|dk    r|                      ¦   «         }nP|dk    r|                      ¦   «         }n5|dk    r|                      ¦   «         }n|dk    r|                      ¦   «         }|                      d¦  «         |S )	Nr™   )ÚATTACHÚATTACH_CURSIVEÚADJUST_PAIRÚADJUST_SINGLEz;Expected ATTACH, ATTACH_CURSIVE, ADJUST_PAIR, ADJUST_SINGLErÛ   rÜ   rÝ   rÞ   ÚEND_POSITION)	rE   rH   r\   r   Úparse_attach_Úparse_attach_cursive_Úparse_adjust_pair_Úparse_adjust_single_rY   )r.   rW   Úpos_typeÚpositions       r0   rŸ   zParser.parse_position_W  sê   € Ø×#Ò# MÑ2Ô2Ð2Ð2Ð2ØÔ+ˆØ×$Ò$Ñ&Ô&ˆØÐWÐWÐWÝØMÈxñô ð ð �xÒÐØ×)Ò)Ñ+Ô+ˆHˆHØÐ)Ò)Ð)Ø×1Ò1Ñ3Ô3ˆHˆHØ˜Ò&Ð&Ø×.Ò.Ñ0Ô0ˆHˆHØ˜Ò(Ð(Ø×0Ò0Ñ2Ô2ˆHØ×Ò˜^Ñ,Ô,Ð,Øˆr2   c                 óî  — |                       d¦  «        sJ ‚| j        }|                      ¦   «         }g }|                      d¦  «         | j        dk    rt|                      ¦   «         }|                      d¦  «         |                      d¦  «         |                      ¦   «         }|                     ||f¦  «         | j        dk    °t|                      d¦  «         t          j        |||¬¦  «        }|S )NrÛ   ÚTOÚ
END_ATTACHÚATÚANCHORrV   )	rE   rH   r°   rY   r*   rX   rD   r   ÚPositionAttachDefinition)r.   rW   r´   Úcoverage_torÃ   Úanchor_namerå   s          r0   rà   zParser.parse_attach_j  s
  € Ø×#Ò# HÑ-Ô-Ð-Ð-Ð-ØÔ+ˆØ×'Ò'Ñ)Ô)ˆØˆØ×Ò˜TÑ"Ô"Ð"ØÔ ,Ò.Ð.Ø×&Ò&Ñ(Ô(ˆCØ× Ò  Ñ&Ô&Ð&Ø× Ò  Ñ*Ô*Ð*Ø×-Ò-Ñ/Ô/ˆKØ×Ò  [Ð1Ñ2Ô2Ð2ð Ô ,Ò.Ð.ð 	×Ò˜\Ñ*Ô*Ð*ÝÔ/Ø�k¨Hð
ñ 
ô 
ˆð ˆr2   c                 óê  — |                       d¦  «        sJ ‚| j        }g }g }| j        dk    rG|                      d¦  «         |                     |                      ¦   «         ¦  «         | j        dk    °G| j        dk    rG|                      d¦  «         |                     |                      ¦   «         ¦  «         | j        dk    °G|                      d¦  «         t          j        |||¬¦  «        }|S )NrÜ   ÚENTERÚEXITrè   rV   )rE   rH   r*   rY   rD   r°   r   ÚPositionAttachCursiveDefinition)r.   rW   Úcoverages_exitÚcoverages_enterrå   s        r0   rá   zParser.parse_attach_cursive_|  s  € Ø×#Ò#Ð$4Ñ5Ô5Ð5Ð5Ð5ØÔ+ˆØˆØˆØÔ 'Ò)Ð)Ø× Ò  Ñ(Ô(Ð(Ø×!Ò! $×"6Ò"6Ñ"8Ô"8Ñ9Ô9Ð9ð Ô 'Ò)Ð)ð Ô ,Ò.Ð.Ø× Ò  Ñ)Ô)Ð)Ø×"Ò" 4×#7Ò#7Ñ#9Ô#9Ñ:Ô:Ð:ð Ô ,Ò.Ð.ð 	×Ò˜\Ñ*Ô*Ð*ÝÔ6Ø˜O°hð
ñ 
ô 
ˆð ˆr2   c                 óü  — |                       d¦  «        sJ ‚| j        }g }g }i }| j        dk    rH|                      ¦   «          |                      ¦   «         }|                     |¦  «         | j        dk    °H| j        dk    rH|                      ¦   «          |                      ¦   «         }|                     |¦  «         | j        dk    °H| j        dk    ry|                      ¦   «         }|                      ¦   «         }|                      d¦  «         |                      ¦   «         }	|                      ¦   «         }
|	|
f|||f<   | j        dk    °y|                      d¦  «         t          j
        ||||¬¦  «        }|S )NrÝ   ÚFIRSTÚSECONDÚ
END_ADJUSTÚBYrV   )rE   rH   r*   r-   r°   rD   rZ   rY   Ú
parse_pos_r   ÚPositionAdjustPairDefinition)r.   rW   Úcoverages_1Úcoverages_2Úadjust_pairÚ
coverage_1Ú
coverage_2Úid_1Úid_2Úpos_1Úpos_2rå   s               r0   râ   zParser.parse_adjust_pair_�  s¢  € Ø×#Ò# MÑ2Ô2Ð2Ð2Ð2ØÔ+ˆØˆØˆØˆØÔ 'Ò)Ð)Ø×ÒÑ!Ô!Ð!Ø×-Ò-Ñ/Ô/ˆJØ×Ò˜zÑ*Ô*Ð*ð Ô 'Ò)Ð)ð Ô (Ò*Ð*Ø×ÒÑ!Ô!Ð!Ø×-Ò-Ñ/Ô/ˆJØ×Ò˜zÑ*Ô*Ð*ð Ô (Ò*Ð*ð Ô ,Ò.Ð.Ø×&Ò&Ñ(Ô(ˆDØ×&Ò&Ñ(Ô(ˆDØ× Ò  Ñ&Ô&Ð&Ø—O’OÑ%Ô%ˆEØ—O’OÑ%Ô%ˆEØ).°¨ˆK˜˜t˜Ñ%ð Ô ,Ò.Ð.ð 	×Ò˜\Ñ*Ô*Ð*ÝÔ3Ø˜ k¸Hð
ñ 
ô 
ˆð ˆr2   c                 óp  — |                       d¦  «        sJ ‚| j        }g }| j        dk    r_|                      ¦   «         }|                      d¦  «         |                      ¦   «         }|                     ||f¦  «         | j        dk    °_|                      d¦  «         t          j        ||¬¦  «        }|S )NrÞ   r÷   rø   rV   )	rE   rH   r*   r°   rY   rù   rD   r   ÚPositionAdjustSingleDefinition)r.   rW   Úadjust_singleÚ	coveragesrª   rå   s         r0   rã   zParser.parse_adjust_single_¨  sÄ   € Ø×#Ò# OÑ4Ô4Ð4Ð4Ð4ØÔ+ˆØˆØÔ ,Ò.Ð.Ø×,Ò,Ñ.Ô.ˆIØ× Ò  Ñ&Ô&Ð&Ø—/’/Ñ#Ô#ˆCØ× Ò  )¨SÐ!1Ñ2Ô2Ð2ð	 Ô ,Ò.Ð.ð
 	×Ò˜\Ñ*Ô*Ð*ÝÔ5°mÈhÐWÑWÔWˆØˆr2   c           	      ól  — |                       d¦  «        sJ ‚| j        }|                      ¦   «         }|                      d¦  «         |                      ¦   «         }|                      d¦  «         |                      ¦   «         }|                      d¦  «         |                      ¦   «         }|| j        v r@| j        |                              |¦  «        }|�|j        |k    rt          d|z  |¦  «        ‚| j
        dk    rd}|                      ¦   «          nd}|                      d	¦  «         |                      ¦   «         }|                      d
¦  «         t          j        |||||||¬¦  «        }|| j        vrt          ¦   «         | j        |<   | j        |                              ||¦  «         |S )Nr   ÚONÚGLYPHrS   z>Anchor "%s" already defined, anchor names are case insensitiveÚLOCKEDTFré   Ú
END_ANCHORrV   )rE   rH   rX   rY   rZ   r\   r%   r]   Ú	componentr   r*   r-   rù   r   ÚAnchorDefinitionr#   r_   )	r.   rW   r5   r`   Ú
glyph_namer  ÚanchorÚlockedrª   s	            r0   r
   zParser.parse_def_anchor_µ  sÍ  € Ø×#Ò# LÑ1Ô1Ð1Ð1Ð1ØÔ+ˆØ×"Ò"Ñ$Ô$ˆØ×Ò˜TÑ"Ô"Ð"Ø×!Ò!Ñ#Ô#ˆØ×Ò˜WÑ%Ô%Ð%Ø×&Ò&Ñ(Ô(ˆ
Ø×Ò˜[Ñ)Ô)Ð)Ø×'Ò'Ñ)Ô)ˆ	à˜œÐ&Ð&Ø”] :Ô.×6Ò6°tÑ<Ô<ˆFØÐ! fÔ&6¸)Ò&CÐ&CÝ"ð8Ø:>ñ?àñô ð ð
 Ô˜xÒ'Ð'ØˆFØ×ÒÑ!Ô!Ð!Ð!àˆFØ×Ò˜TÑ"Ô"Ð"Ø�oŠoÑÔˆØ×Ò˜\Ñ*Ô*Ð*ÝÔ%Ø�#�z 9¨f°cÀHð
ñ 
ô 
ˆð ˜Tœ]Ð*Ð*Ý(3©¬ˆDŒM˜*Ñ%ØŒ�jÔ!×(Ò(¨¨vÑ6Ô6Ð6Øˆr2   c                 óÚ   — |                       ¦   «          |                      d¦  «        sJ ‚|                      ¦   «         }|                      d¦  «         |                      ¦   «         }||fS )NÚ	ADJUST_BYré   )r-   rE   rZ   rY   )r.   Ú
adjustmentÚsizes      r0   Úparse_adjust_by_zParser.parse_adjust_by_Ø  so   € Ø×ÒÑÔÐØ×#Ò# KÑ0Ô0Ð0Ð0Ð0Ø×(Ò(Ñ*Ô*ˆ
Ø×Ò˜TÑ"Ô"Ð"Ø×"Ò"Ñ$Ô$ˆØ˜4ÐÐr2   c                 óH  — |                       ¦   «          | j        }|                      d¦  «        s
J |¦   «         ‚d }d }d }i }i }i }| j        dk    rZ|                       ¦   «          |                      ¦   «         }| j        dk    r'|                      ¦   «         \  }}	|||	<   | j        dk    °'| j        dk    rZ|                       ¦   «          |                      ¦   «         }| j        dk    r'|                      ¦   «         \  }}	|||	<   | j        dk    °'| j        dk    rZ|                       ¦   «          |                      ¦   «         }| j        dk    r'|                      ¦   «         \  }}	|||	<   | j        dk    °'|                      d¦  «         t          j        ||||||¦  «        S )NÚPOSÚADVr  ÚDXÚDYÚEND_POS)	r-   rH   rE   r*   rZ   r  rY   r   ÚPos)
r.   rW   ÚadvÚdxÚdyÚadv_adjust_byÚdx_adjust_byÚdy_adjust_byr  r  s
             r0   rù   zParser.parse_pos_à  sÝ  € à×ÒÑÔÐØÔ+ˆØ×#Ò# EÑ*Ô*Ð4Ð4¨HÑ4Ô4Ð4ØˆØˆØˆØˆØˆØˆØÔ˜uÒ$Ð$Ø×ÒÑ!Ô!Ð!Ø×%Ò%Ñ'Ô'ˆCØÔ" kÒ1Ð1Ø#'×#8Ò#8Ñ#:Ô#:Ñ �
˜DØ&0�˜dÑ#ð Ô" kÒ1Ð1ð Ô˜tÒ#Ð#Ø×ÒÑ!Ô!Ð!Ø×$Ò$Ñ&Ô&ˆBØÔ" kÒ1Ð1Ø#'×#8Ò#8Ñ#:Ô#:Ñ �
˜DØ%/�˜TÑ"ð Ô" kÒ1Ð1ð Ô˜tÒ#Ð#Ø×ÒÑ!Ô!Ð!Ø×$Ò$Ñ&Ô&ˆBØÔ" kÒ1Ð1Ø#'×#8Ò#8Ñ#:Ô#:Ñ �
˜DØ%/�˜TÑ"ð Ô" kÒ1Ð1ð 	×Ò˜YÑ'Ô'Ð'ÝŒw�s˜B  M°<ÀÑNÔNÐNr2   c                 óì   — | j         }	 |                      ¦   «                              d¦  «        }d„ |D ¦   «         }n/# t          $ r"}t	          t          |¦  «        |¦  «        ‚d }~ww xY w|g k    r|nd S )Nú,c                 óJ   — g | ] }|d k    ¯t          |dd…         d¦  «        ‘Œ!S )Ú é   Né   )Úint)rÂ   Úunis     r0   rÄ   z0Parser.parse_unicode_values_.<locals>.<listcomp>  s0   € ÐVÐVÐV°3ÈCÐSUÊIÈI�c # a b b¤'¨2Ñ.Ô.ÈIÈIÈIr2   )rH   rX   ÚsplitÚ
ValueErrorr   Ústr)r.   rW   Úunicode_valuesÚerrs       r0   r[   zParser.parse_unicode_values_   sŒ   € ØÔ+ˆð	3Ø!×0Ò0Ñ2Ô2×8Ò8¸Ñ=Ô=ˆNØVÐV¸.ÐVÑVÔVˆNˆNøÝð 	3ð 	3ð 	3Ý�s 3™xœx¨Ñ2Ô2Ð2øøøøð	3øøøà!/°2Ò!5Ð!5ˆ~ˆ~¸4Ð?s   ‰3= ½
A)ÁA$Á$A)c                 ó¸   — |                       d¦  «         | j        }t          j        |                      ¦   «         |¬¦  «        }|                       d¦  «         |S )Nrf   rV   ÚEND_ENUM)rY   rH   r   ÚEnumr°   )r.   rW   rj   s      r0   rh   zParser.parse_enum_	  sW   € Ø×Ò˜VÑ$Ô$Ð$ØÔ+ˆÝŒx˜×,Ò,Ñ.Ô.¸ÐBÑBÔBˆØ×Ò˜ZÑ(Ô(Ð(Øˆr2   c                 óP  — g }| j         }| j        dv �r…| j        dk    r+|                      ¦   «         }|                     |¦  «         �nE| j        dk    rS|                      d¦  «         |                      ¦   «         }|                     t          j        ||¬¦  «        ¦  «         nç| j        dk    rT|                      d¦  «         |                      ¦   «         }|                     t          j        || |¬¦  «        ¦  «         nˆ| j        dk    r}|                      d¦  «         |                      ¦   «         }|                      d¦  «         |                      ¦   «         }|                     t          j	        ||| |¬¦  «        ¦  «         | j        dv �°…t          |¦  «        S )N)r
  ÚGROUPÚRANGErf   rf   r
  rV   r5  r6  rç   )rH   r*   rh   rD   rY   rX   r   Ú	GlyphNameÚ	GroupNameÚRangerÍ   )r.   r´   rW   rj   r5   ÚstartÚends          r0   r°   zParser.parse_coverage_  sž  € ØˆØÔ+ˆØÔÐ"EÐEÑEØÔ 6Ò)Ð)Ø×'Ò'Ñ)Ô)�Ø—’ Ñ%Ô%Ð%Ñ%ØÔ! WÒ,Ð,Ø×$Ò$ WÑ-Ô-Ð-Ø×*Ò*Ñ,Ô,�Ø—’¥¤¨d¸XÐ FÑ FÔ FÑGÔGÐGÐGØÔ! WÒ,Ð,Ø×$Ò$ WÑ-Ô-Ð-Ø×*Ò*Ñ,Ô,�Ø—’¥¤¨d°DÀ8Ð LÑ LÔ LÑMÔMÐMÐMØÔ! WÒ,Ð,Ø×$Ò$ WÑ-Ô-Ð-Ø×+Ò+Ñ-Ô-�Ø×$Ò$ TÑ*Ô*Ð*Ø×)Ò)Ñ+Ô+�Ø—’¥¤	¨%°°dÀXÐ NÑ NÔ NÑOÔOÐOð# ÔÐ"EÐEÑEõ$ �X‰ŒÐr2   c                 ó6   — | j                              |¦  «        S ©N)r$   r]   )r.   Ú
group_names     r0   Úresolve_groupzParser.resolve_group'  s   € ØŒ|×#Ò# JÑ/Ô/Ð/r2   c                 ó8   — | j                              ||¦  «        S r=  )r"   Úrange)r.   r:  r;  s      r0   Úglyph_rangezParser.glyph_range*  s   € ØŒ|×!Ò! %¨Ñ-Ô-Ð-r2   c                 óx   — | j         }| j        }|                      ¦   «         }t          j        |||¬¦  «        }|S ©NrV   ©rH   rA   rZ   r   ÚSettingDefinition)r.   rW   Ú	ppem_nameÚvalueÚsettings        r0   r   zParser.parse_ppem_-  s>   € ØÔ+ˆØ”Oˆ	Ø×#Ò#Ñ%Ô%ˆÝÔ'¨	°5À8ÐLÑLÔLˆØˆr2   c                 óT   — | j         }| j        }d}t          j        |||¬¦  «        }|S )NTrV   )rH   rA   r   rF  ©r.   rW   r5   rH  rI  s        r0   r   zParser.parse_noarg_option_4  s2   € ØÔ+ˆØŒˆØˆÝÔ'¨¨e¸hÐGÑGÔGˆØˆr2   c                 óÆ   — | j         }| j        }|                      ¦   «         |                      ¦   «         |                      ¦   «         f}t          j        |||¬¦  «        }|S rD  rE  rK  s        r0   r   zParser.parse_cmap_format;  s]   € ØÔ+ˆØŒˆØ×$Ò$Ñ&Ô&¨×(;Ò(;Ñ(=Ô(=¸t×?RÒ?RÑ?TÔ?TÐUˆÝÔ'¨¨e¸hÐGÑGÔGˆØˆr2   c                 ó>   — | j         t          j        u o
| j        |k    S r=  )Úcur_token_type_r   rm   rA   )r.   Úks     r0   rE   zParser.is_cur_keyword_B  s   € ØÔ$­¬
Ð2ÐN¸¼ÈAÒ9MÐNr2   c                 óˆ   — |                       ¦   «          | j        t          j        urt	          d| j        ¦  «        ‚| j        S )NzExpected a string)r-   rN  r   r›   r   rH   rA   ©r.   s    r0   rX   zParser.expect_string_E  ó@   € Ø×ÒÑÔÐØÔ¥u¤|Ð3Ð3ÝÐ2°DÔ4LÑMÔMÐMØŒÐr2   c                 ó¤   — |                       ¦   «          | j        t          j        u r| j        |k    r| j        S t          d|z  | j        ¦  «        ‚)NzExpected "%s"©r-   rN  r   rm   rA   r   rH   )r.   Úkeywords     r0   rY   zParser.expect_keyword_K  sP   € Ø×ÒÑÔÐØÔ¥5¤:Ð-Ð-°$´/ÀWÒ2LÐ2LØ”?Ð"Ý˜?¨WÑ4°dÔ6NÑOÔOÐOr2   c                 óˆ   — |                       ¦   «          | j        t          j        u r| j        S t          d| j        ¦  «        ‚)NzExpected a namerT  rQ  s    r0   r\   zParser.expect_name_Q  s@   € Ø×ÒÑÔÐØÔ¥5¤:Ð-Ð-Ø”?Ð"ÝÐ,¨dÔ.FÑGÔGÐGr2   c                 óˆ   — |                       ¦   «          | j        t          j        urt	          d| j        ¦  «        ‚| j        S )NzExpected a number)r-   rN  r   ÚNUMBERr   rH   rA   rQ  s    r0   rZ   zParser.expect_number_W  rR  r2   c                 ó"  — | j         | j        | j        c| _        | _        | _        	 |                      d¦  «        rt          ‚| j         	                    ¦   «         \  | _         | _        | _        d S # t          $ r d\  | _         | _        Y d S w xY w)Nr?   r   )
r)   r*   r+   rN  rA   rH   rE   ÚStopIterationr9   ÚnextrQ  s    r0   r-   zParser.advance_lexer_]  s²   € àÔ!ØÔØÔ%ð 	HˆÔ˜dœo¨tÔ/Gð
		CØ×#Ò# EÑ*Ô*ð $Ý#Ð#ð
 ”× Ò Ñ"Ô"ñ	ØÔ%ØÔ ØÔ)Ð)Ð)øåð 	Cð 	Cð 	CØ6BÑ3ˆDÔ! 4Ô#3Ð#3Ð#3Ð#3ð	Cøøøs   §AA1 Á1BÂBN)$Ú__name__Ú
__module__Ú__qualname__r1   r,   rJ   r   r   r   rr   r|   r	   r�   rž   rŸ   rà   rá   râ   rã   r
   r  rù   r[   rh   r°   r?  rB  r   r   r   rE   rX   rY   r\   rZ   r-   r¾   r2   r0   r   r      s   € € € € € ðð ð ð,ð ,ð ,ðð ð ð #ð #ð #ðJð ð ð$!ð !ð !ðFð ð ð$ð ð ð Uð Uð Uðnð ð ð6)ð )ð )ðVð ð ð&ð ð ð$ð ð ð"ð ð ð6ð ð ð!ð !ð !ðF ð  ð  ðOð Oð Oð@@ð @ð @ðð ð ðð ð ð.0ð 0ð 0ð.ð .ð .ðð ð ðð ð ðð ð ðOð Oð Oðð ð ðPð Pð PðHð Hð Hðð ð ðCð Cð Cð Cð Cr2   r   c                   ó.   — e Zd Zd„ Zd„ Zd„ Zd„ Zdd„ZdS )	r#   c                 ó   — i g| _         d S r=  ©Úscopes_rQ  s    r0   r1   zSymbolTable.__init__p  ó   € Ø�tˆŒˆˆr2   c                 ó:   — | j                              i ¦  «         d S r=  ©rb  rD   rQ  s    r0   rq   zSymbolTable.enter_scopes  ó   € ØŒ×Ò˜BÑÔÐÐÐr2   c                 ó8   — | j                              ¦   «          d S r=  )rb  ÚpoprQ  s    r0   rt   zSymbolTable.exit_scopev  s   € ØŒ×ÒÑÔÐÐÐr2   c                 ó&   — || j         d         |<   d S )Néÿÿÿÿra  )r.   r5   Úitems      r0   r_   zSymbolTable.definey  s   € Ø!%ˆŒ�RÔ˜ÑÐÐr2   Tc                 óà   — t          | j        ¦  «        D ]}|                     |¦  «        }|r|c S Œ|r9|D ]6}|                     ¦   «         |                     ¦   «         k    r
||         c S Œ7d S r=  )Úreversedrb  ÚgetÚlower)r.   r5   Úcase_insensitiveÚscoperk  Úkeys         r0   r]   zSymbolTable.resolve|  sŒ   € Ý˜dœlÑ+Ô+ð 	ð 	ˆEØ—9’9˜T‘?”?ˆDØð Ø���ðàð 	&Øð &ð &�Ø—9’9‘;”; $§*¢*¡,¤,Ò.Ð.Ø  œ:Ð%Ð%Ð%ð /àˆtr2   N)T)r\  r]  r^  r1   rq   rt   r_   r]   r¾   r2   r0   r#   r#   o  sd   € € € € € ðð ð ð ð  ð  ðð ð ð&ð &ð &ð	ð 	ð 	ð 	ð 	ð 	r2   r#   c                   ó(   — e Zd Zd„ Zd„ Zdd„Zd„ ZdS )r!   c                 ó   — i g| _         d S r=  ra  rQ  s    r0   r1   zOrderedSymbolTable.__init__‰  rc  r2   c                 ó:   — | j                              i ¦  «         d S r=  re  rQ  s    r0   rq   zOrderedSymbolTable.enter_scopeŒ  rf  r2   Fc                 ó@   — t                                | ||¬¦  «         d S )N)rp  )r#   r]   )r.   r5   rp  s      r0   r]   zOrderedSymbolTable.resolve�  s$   € Ý×Ò˜D $Ð9IÐÑJÔJÐJÐJÐJr2   c                 óp  — t          | j        ¦  «        D ] }||v rš||v r–t          |                     ¦   «         ¦  «                             |¦  «        }t          |                     ¦   «         ¦  «                             |¦  «        }t          |                     ¦   «         ¦  «        ||dz   …         c S Œ¡d S )NrÆ   )rm  rb  ÚlistrC   Úindex)r.   r:  r;  rq  Ú	start_idxÚend_idxs         r0   rA  zOrderedSymbolTable.range’  s¤   € Ý˜dœlÑ+Ô+ð 	Cð 	CˆEØ˜ˆ~ˆ~ #¨ , ,Ý  §¢¡¤Ñ.Ô.×4Ò4°UÑ;Ô;�	Ý˜uŸzšz™|œ|Ñ,Ô,×2Ò2°3Ñ7Ô7�Ý˜EŸJšJ™LœLÑ)Ô)¨)°gÀ±kÐ*AÔBÐBÐBÐBøØˆtr2   N)F)r\  r]  r^  r1   rq   r]   rA  r¾   r2   r0   r!   r!   ˆ  sY   € € € € € ðð ð ð ð  ð  ðKð Kð Kð Kðð ð ð ð r2   r!   )ÚfontTools.voltLib.astÚvoltLibr   ÚfontTools.voltLib.lexerr   ÚfontTools.voltLib.errorr   Úior   rB   Úobjectr   r#   r!   r¾   r2   r0   ú<module>r‚     s!  ðØ #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø )Ð )Ð )Ð )Ð )Ð )Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø Ð Ð Ð Ð Ð ð $Ø#Ø%Ø%Ø%ØØ&Ø&Ø$9Ø"7Ø&Ø.ðð €ð V	Cð V	Cð V	Cð V	Cð V	CˆVñ V	Cô V	Cð V	Cðrð ð ð ð �&ñ ô ð ð2ð ð ð ð ˜ñ ô ð ð ð r2   