§
    ÛóÉjO  ã                  óH  — d Z ddlmZ ddlZddlZddlZddlmZmZm	Z	m
Z
mZmZmZmZ ddlmZmZmZmZmZmZmZmZmZ ddlmZmZ ddlmZmZmZm Z m!Z!m"Z"m#Z#  ej$        e%¦  «        Z&eeeege'f         Z(d1d„Z)d2d„Z*dde)fd3d„Z+dde)fd4d„Z,d5d!„Z-d6d%„Z.d7d)„Z/d8d-„Z0d9d0„Z1dS ):zŒAllows building all the variable fonts of a DesignSpace version 5 by
splitting the document into interpolable sub-space, then into each VF.
é    )ÚannotationsN)ÚAnyÚCallableÚDictÚIteratorÚListÚOptionalÚTupleÚcast)	ÚAxisDescriptorÚAxisMappingDescriptorÚDesignSpaceDocumentÚDiscreteAxisDescriptorÚInstanceDescriptorÚRuleDescriptorÚSimpleLocationDictÚSourceDescriptorÚVariableFontDescriptor)Ú	StatNamesÚgetStatNames)ÚConditionSetÚRangeÚRegionÚgetVFUserRegionÚlocationInRegionÚregionInRegionÚuserRegionToDesignRegionÚdocr   Úinstancer   Ú	statNamesr   ÚreturnÚstrc                ó–   — |j         p|j                             d¦  «        }|j        p|j                             d¦  «        }|› d|› d�S )zÿDefault callable to synthesize an instance filename
    when makeNames=True, for instances that don't specify an instance name
    in the designspace. This part of the name generation can be overriden
    because it's not specified by the STAT table.
    Úenú-z.ttf)Ú
familyNameÚfamilyNamesÚgetÚ	styleNameÚ
styleNames)r   r   r    r&   r)   s        úƒ/home/lighthouse/badge-speaker-benchmark/.benchmark-venv-community/lib64/python3.11/site-packages/fontTools/designspaceLib/split.pyÚdefaultMakeInstanceFilenamer,   )   sW   € ð Ô$ÐG¨	Ô(=×(AÒ(AÀ$Ñ(GÔ(G€JØÔ"ÐD iÔ&:×&>Ò&>¸tÑ&DÔ&D€IØÐ*Ð*˜9Ð*Ð*Ð*Ð*ó    úDict[str, str]ÚnameúOptional[str]c                ó<   — |                       d¦  «        |k    r| ni S )zIReturn the localised STAT names if they translate ``name``, else nothing.r$   )r(   )r    r/   s     r+   Ú_localisedNamesr2   6   s"   € à!Ÿš dÑ+Ô+¨tÒ3Ð3ˆ9ˆ9¸Ð;r-   TÚ	makeNamesÚboolÚexpandLocationsÚmakeInstanceFilenameÚMakeInstanceFilenameCallableú8Iterator[Tuple[SimpleLocationDict, DesignSpaceDocument]]c           	   #  óÂ  K  — g }i }| j         D ]z}t          |d¦  «        r+t          t          |¦  «        }|                     |¦  «         Œ=t          t
          |¦  «        }t          |j        |j        |j	        ¦  «        ||j
        <   Œ{t          j        d„ |D ¦   «         Ž }|D ];}d„ t          ||¦  «        D ¦   «         }	t          | i |¥|	¥d|||¬¦  «        }
|	|
fV — Œ<dS )aì  Split the given DS5 into several interpolable sub-designspaces.
    There are as many interpolable sub-spaces as there are combinations of
    discrete axis values.

    E.g. with axes:
        - italic (discrete) Upright or Italic
        - style (discrete) Sans or Serif
        - weight (continuous) 100 to 900

    There are 4 sub-spaces in which the Weight axis should interpolate:
    (Upright, Sans), (Upright, Serif), (Italic, Sans) and (Italic, Serif).

    The sub-designspaces still include the full axis definitions and STAT data,
    but the rules, sources, variable fonts, instances are trimmed down to only
    keep what falls within the interpolable sub-space.

    Args:
      - ``makeNames``: Whether to compute the instance family and style
        names using the STAT data.
      - ``expandLocations``: Whether to turn all locations into "full"
        locations, including implicit default axis values where missing.
      - ``makeInstanceFilename``: Callable to synthesize an instance filename
        when makeNames=True, for instances that don't specify an instance name
        in the designspace. This part of the name generation can be overridden
        because it's not specified by the STAT table.

    .. versionadded:: 5.0
    Úvaluesc                ó   — g | ]	}|j         ‘Œ
S © )r:   ©Ú.0Úaxiss     r+   ú
<listcomp>z%splitInterpolable.<locals>.<listcomp>m   s   € Ð+QÐ+QÐ+Q¸D¨D¬KÐ+QÐ+QÐ+Qr-   c                ó$   — i | ]\  }}|j         |“ŒS r<   ©r/   )r>   ÚdiscreteAxisÚvalues      r+   ú
<dictcomp>z%splitInterpolable.<locals>.<dictcomp>o   s1   € ð  
ð  
ð  
á#�˜eð Ô˜uð 
ð  
ð  
r-   T©ÚkeepVFsr3   r5   r6   N)ÚaxesÚhasattrr   r   Úappendr   r   ÚminimumÚmaximumÚdefaultr/   Ú	itertoolsÚproductÚzipÚ_extractSubSpace)r   r3   r5   r6   ÚdiscreteAxesÚinterpolableUserRegionr?   ÚvalueCombinationsr:   ÚdiscreteUserLocationÚsubDocs              r+   ÚsplitInterpolablerW   ;   sC  è è € ðD €LØ%'ÐØ”ð ð ˆÝ�4˜Ñ"Ô"ð 	õ Õ.°Ñ5Ô5ˆDØ×Ò Ñ%Ô%Ð%Ð%å�¨Ñ-Ô-ˆDÝ05Ø”Ø”Ø”ñ1ô 1Ð" 4¤9Ñ-Ð-õ
 "Ô)Ð+QÐ+QÀLÐ+QÑ+QÔ+QÐRÐØ#ð +ð +ˆð 
ð  
å'*¨<¸Ñ'@Ô'@ð 
ñ  
ô  
Ðõ "ØØ>Ð%Ð>Ð)=Ð>ØØØ+Ø!5ð
ñ 
ô 
ˆð # FÐ*Ð*Ð*Ð*Ð*ð+ð +r-   Fú)Iterator[Tuple[str, DesignSpaceDocument]]c           	   #  óÂ   K  — |                       ¦   «         D ]G}t          | |¦  «        }t          | |d|||¬¦  «        }i |j        ¥|j        ¥|_        |j        |fV — ŒHdS )a$  Convert each variable font listed in this document into a standalone
    designspace. This can be used to compile all the variable fonts from a
    format 5 designspace using tools that can only deal with 1 VF at a time.

    Args:
      - ``makeNames``: Whether to compute the instance family and style
        names using the STAT data.
      - ``expandLocations``: Whether to turn all locations into "full"
        locations, including implicit default axis values where missing.
      - ``makeInstanceFilename``: Callable to synthesize an instance filename
        when makeNames=True, for instances that don't specify an instance name
        in the designspace. This part of the name generation can be overridden
        because it's not specified by the STAT table.

    .. versionadded:: 5.0
    FrF   N)ÚgetVariableFontsr   rQ   Úlibr/   )r   r3   r5   r6   ÚvfÚvfUserRegionÚvfDocs          r+   ÚsplitVariableFontsr_   ~   sŽ   è è € ð. ×"Ò"Ñ$Ô$ð ð ˆÝ& s¨BÑ/Ô/ˆÝ ØØØØØ+Ø!5ð
ñ 
ô 
ˆð ,�u”yÐ+ B¤FÐ+ˆŒ	ØŒg�uˆnÐÐÐÐðð r-   úDict[str, DesignSpaceDocument]c                óv   — i }t          | ¦  «        D ]&\  }}t          |¦  «        D ]\  }}d|_        |||<   ŒŒ'|S )züConvert each variable font listed in this document into a standalone
    format 4 designspace. This can be used to compile all the variable fonts
    from a format 5 designspace using tools that only know about format 4.

    .. versionadded:: 5.0
    z4.1)rW   r_   ÚformatVersion)r   ÚvfsÚ	_locationrV   ÚvfNamer^   s         r+   Úconvert5to4rf   £   s_   € ð €CÝ.¨sÑ3Ô3ð  ð  Ñˆ	�6Ý/°Ñ7Ô7ð 	 ð 	 ‰MˆF�EØ"'ˆEÔØˆC�‰KˆKð	 ð €Jr-   Ú
userRegionr   rG   c               ó¬  ‡ ‡‡‡‡— t          ¦   «         }ˆ ˆfd„}‰ j        D ]Ö}‰|j                 Št          ‰t          ¦  «        r²t          |d¦  «        r¢t          t          |¦  «        }|                     t          |j	        |j        |j
        |j        t          ‰j        |j        ¦  «        ‰j        p|j        t          ‰j        |j        ¦  «        ˆfd„|j        D ¦   «         d d ¬¦
  «
        ¦  «         Œ×g x|_        }	d„ |j        D ¦   «         Š‰ j        D �]œ}
t'          ˆfd„|
j                             ¦   «         D ¦   «         ¦  «        sŒ6t'          ˆfd„|
j                             ¦   «         D ¦   «         ¦  «        s't.                               d|
j        |
j        ¦  «         Œ�t3          ¦   «         }|                     |
j                             ¦   «         ¦  «         |                     |
j                             ¦   «         ¦  «         ‰ j        D ]q}|j        |vrŒ‰|j                 Š‰j        |j        k    s'‰j        �‰j        |j        k    s‰j        |j        k    r!t.                               d	|j        ¦  «         ŒqŒr|	                     t9          |
j        |
j        ¬
¦  «        ¦  «         �Œžt;          ‰ ‰¦  «        }t=          ‰ j        |¦  «        |_        ‰ j         |_         ‰ j!        D ]¡}tE          ‰  #                    |j$        ¦  «        ‰¦  «        sŒ+| %                    tM          |j'        |j(        |j)        |j        tU          ‰ ||¦  «        ¦  «        |j+        |j,        |j-        |j.        |j/        |j0        ¬¦  «        ¦  «         Œ¢| 1                    ¦   «         }‰  1                    ¦   «         }|�|�|j2        |_2        |r}‰  3                    ¦   «         D ]h}ti          ‰ |¦  «        }tk          |‰¦  «        rF| 6                    to          |j        |j'        ˆfd„|j8        D ¦   «         |j9        ¬¦  «        ¦  «         Œi‰ j:        D �]r}tE          | ;                    ‰ ¦  «        ‰¦  «        sŒ'|�r•ty          ‰ | ;                    ‰ ¦  «        ¦  «        }|j,        p|j=         >                    d¦  «        }|j-        p|j?         >                    d¦  «        }|j2        pt�          |j=        |¦  «        }|jA        pt�          |j?        |¦  «        }|jB        }|€|j-        s|jA        s|jB        }| C                    t‰          d i d|j'        p |‰ ||¦  «        “d|j(        “d|j)        “d|j        p|› d|› �“d‰ri n|jE        “dtU          ‰ ||¦  «        ¦  «        “d|“d|“d|“d|jF        p|jG         >                    d¦  «        “d|jH        p|jH        “d|“d|“d|jI        p|jG        “d|jJ        pi “d|j9        “Ž¦  «         �Œ¿| C                    t‰          d i d|j'        “d|j(        “d|j)        “d|j        “d‰ri n|jE        “dtU          ‰ ||¦  «        ¦  «        “d|j,        “d|j-        “d|jB        “d|jF        “d|jH        “d|j2        “d|jA        “d|jI        “d|jJ        “d|j9        “Ž¦  «         �Œt‰ j9        |_9        |S )!Nc                ó@   •— ‰r|                       ‰¦  «        S | j        S ©N)ÚgetFullDesignLocationÚdesignLocation)Úobjectr   r5   s    €€r+   ÚmaybeExpandDesignLocationz3_extractSubSpace.<locals>.maybeExpandDesignLocationÇ   s(   ø€ Øð 	)Ø×/Ò/°Ñ4Ô4Ð4àÔ(Ð(r-   rK   c                óR   •— g | ]#\  }}‰j         |cxk    r‰j        k    ¯n n||f‘Œ$S r<   )rK   rL   )r>   ÚuserÚdesignÚranges      €r+   r@   z$_extractSubSpace.<locals>.<listcomp>ß   sQ   ø€ ð ð ð á(˜D &Ø œ=¨DÐAÐAÒAÐA°E´MÒAÐAÐAÐAÐAð ˜v˜àAÐAÐAr-   )
Útagr/   Ú
labelNamesÚhiddenrK   rM   rL   ÚmapÚaxisOrderingÚ
axisLabelsc                ó   — h | ]	}|j         ’Œ
S r<   rB   r=   s     r+   ú	<setcomp>z#_extractSubSpace.<locals>.<setcomp>ë   s   € Ð4Ð4Ð4 �$”)Ð4Ð4Ð4r-   c              3  ó    •K  — | ]}|‰v V — Œ	d S rj   r<   ©r>   r?   Ú
subDocAxess     €r+   ú	<genexpr>z#_extractSubSpace.<locals>.<genexpr>í   s(   øè è € ÐOÐO¨$�4˜:Ð%ÐOÐOÐOÐOÐOÐOr-   c              3  ó    •K  — | ]}|‰v V — Œ	d S rj   r<   r|   s     €r+   r~   z#_extractSubSpace.<locals>.<genexpr>ï   s(   øè è € ÐPÐP¨$�4˜:Ð%ÐPÐPÐPÐPÐPÐPr-   zPIn axis mapping from input %s, some output axes are not in the variable-font: %szALimiting axis ranges used in <mapping> elements not supported: %s)ÚinputLocationÚoutputLocation)ÚfilenameÚpathÚfontr/   rl   Ú	layerNamer&   r)   ÚmuteKerningÚmuteInfoÚmutedGlyphNamesc                óT   •— g | ]$}t          ‰|j                 t          ¦  «        ¯"|‘Œ%S r<   )Ú
isinstancer/   r   )r>   Ú
axisSubsetrg   s     €r+   r@   z$_extractSubSpace.<locals>.<listcomp>?  s@   ø€ ð %ð %ð %à *Ý)¨*°Z´_Ô*EÅuÑMÔMð%Ø&ð%ð %ð %r-   )r/   r‚   ÚaxisSubsetsr[   r$   r‚   rƒ   r„   r/   ú ÚuserLocationrl   r&   r)   ÚpostScriptFontNameÚstyleMapFamilyNameÚstyleMapStyleNameÚlocalisedFamilyNameÚlocalisedStyleNameÚlocalisedStyleMapFamilyNameÚlocalisedStyleMapStyleNamer[   r<   )Kr   rH   r/   rŠ   r   rI   r   r   ÚaddAxisrs   rt   ru   ÚmaxrK   rM   ÚminrL   rv   ÚaxisMappingsÚallr€   Úkeysr�   ÚLOGGERÚerrorÚsetÚupdaterJ   r   r   Ú_subsetRulesBasedOnConditionsÚrulesÚrulesProcessingLastÚsourcesr   Úmap_backwardrl   Ú	addSourcer   r‚   rƒ   r„   Ú_filterLocationr…   r&   r)   r†   r‡   rˆ   ÚfindDefaultr’   rZ   r   r   ÚaddVariableFontr   rŒ   r[   Ú	instancesÚgetFullUserLocationr   r'   r(   r*   r2   r“   r�   ÚaddInstancer   rŽ   r�   ÚstyleMapFamilyNamesr‘   r”   r•   )r   rg   rG   r3   r5   r6   rV   rn   r?   ÚmappingsÚmappingÚmappingAxesÚdesignRegionÚsourceÚ	vfDefaultÚ
oldDefaultr\   r]   r   r    r&   r)   r’   r“   r�   rr   r}   s   ``  `                    @@r+   rQ   rQ   ´   sÈ  øøøøø€ õ !Ñ"Ô"€Fð)ð )ð )ð )ð )ð )ð ”ð ð ˆØ˜4œ9Ô%ˆÝ�e�UÑ#Ô#ð 	­°°iÑ(@Ô(@ð 	õ �¨Ñ-Ô-ˆDØ�NŠNÝàœØœØ#œØœ;å ¤¨t¬|Ñ<Ô<Ø!œMÐ9¨T¬\Ý ¤¨t¬|Ñ<Ô<ðð ð ð à,0¬Hðñ ô ð "&Ø#ð#ñ ô ñô ð øð, &(Ð'€FÔ˜(Ø4Ð4¨¬Ð4Ñ4Ô4€JØÔ#ð "
ñ "
ˆÝÐOÐOÐOÐO°'Ô2G×2LÒ2LÑ2NÔ2NÐOÑOÔOÑOÔOð 	ØÝÐPÐPÐPÐP°'Ô2H×2MÒ2MÑ2OÔ2OÐPÑPÔPÑPÔPð 	Ý�LŠLØbØÔ%ØÔ&ñô ð ð
 å‘e”eˆØ×Ò˜7Ô0×5Ò5Ñ7Ô7Ñ8Ô8Ð8Ø×Ò˜7Ô1×6Ò6Ñ8Ô8Ñ9Ô9Ð9Ø”Hð 	ð 	ˆDØŒy Ð+Ð+ØØ˜tœyÔ)ˆEà” ¤Ò-Ð-Ø”MÐ-°%´-À4Ä<Ò2OÐ2OØ”= D¤LÒ0Ð0å—’ØWØ”Iñô ð ð ð 1ð 	�ŠÝ!Ø%Ô3Ø&Ô5ðñ ô ñ	
ô 	
ð 	
ñ 	
õ ,¨C°Ñ<Ô<€LÝ0°´¸LÑIÔI€F„LØ!$Ô!8€FÔð ”+ð 
ð 
ˆÝ × 0Ò 0°Ô1FÑ GÔ GÈÑTÔTð 	Øà×ÒÝØœØ”[Ø”[Ø”[Ý.ØÐ 9Ð 9¸&Ñ AÔ Añ ô  ð !Ô*Ø!Ô,Ø Ô*Ø"Ô.ØœØ &Ô 6ðñ ô ñ	
ô 	
ð 	
ð 	
ð& ×"Ò"Ñ$Ô$€IØ—’Ñ"Ô"€JØÐ Ð!7Ø(2Ô(Fˆ	Ô%ð ð à×&Ò&Ñ(Ô(ð 	ð 	ˆBÝ*¨3°Ñ3Ô3ˆLÝ˜l¨JÑ7Ô7ð Ø×&Ò&Ý*ØœWØ!#¤ð%ð %ð %ð %à.0¬nð%ñ %ô %ð
 œFð	ñ 	ô 	ñô ð øð ”Mð Iñ IˆÝ × <Ò <¸SÑ AÔ AÀ:ÑNÔNð 	Øàñ E	Ý$ S¨(×*FÒ*FÀsÑ*KÔ*KÑLÔLˆIð "Ô,ÐO°	Ô0E×0IÒ0IÈ$Ñ0OÔ0OˆJØ Ô*ÐL¨iÔ.B×.FÒ.FÀtÑ.LÔ.LˆIØ"*Ô">ð #Å/ØÔ% zñCô CÐð "*Ô!<ð "ÅØÔ$ iñAô AÐð "*Ô!<ÐØ!Ð)ØÔ"ð *Ø&.Ô&Að *ð &/Ô%AÐ"Ø×ÒÝ"ð ð ð Ø%Ô.ð FØ+Ð+¨C°¸9ÑEÔEøðð "œ˜ðð "œ˜ð	ð
 "œÐE¨ZÐ*EÐ*E¸)Ð*EÐ*Eøðð (7Ð!Q  ¸HÔ<Qøðõ $3Ø"Ð$=Ð$=¸hÑ$GÔ$Gñ$ô $ð $ðð  *˜zðð (˜iðð (:Ð'9ðð (0Ô'Bð (?Ø Ô4×8Ò8¸Ñ>Ô>øðð '/Ô&@ð '3Ø Ô2øð!ð" )<Ð(;ð#ð$ (:Ð'9ð%ð& 19Ô0Tð 15Ø Ô4øð)ð* 08Ô/Rð 0Øøð-ð. !œ˜ð/ñô ð ñ ð8 ×ÒÝ"ð ð ð Ø%Ô.Ð.ðà!œ˜ðð "œ˜ðð "œ˜ð	ð
 (7Ð!Q  ¸HÔ<Qøðõ $3Ø"Ð$=Ð$=¸hÑ$GÔ$Gñ$ô $ð $ðð  (Ô2Ð2ðð 'Ô0Ð0ðð (0Ô'BÐ'Bðð (0Ô'BÐ'Bðð '/Ô&@Ð&@ðð )1Ô(DÐ(Dðð (0Ô'BÐ'Bðð  19Ô0TÐ0Tð!ð" 08Ô/RÐ/Rð#ð$ !œ˜ð%ñô ð ñ ð. ”€F„Jà€Mr-   ÚconditionSetúList[Dict[str, Any]]r   c                óÔ   — i }| D ]b}|                      d¦  «        |                      d¦  «        }}t          |�|nt          j         |�|nt          j        ¦  «        ||d         <   Œc|S )NrK   rL   r/   )r(   r   ÚmathÚinf)r´   ÚcÚ	conditionrK   rL   s        r+   Ú_conditionSetFromr»   ™  sx   € Ø€AØ!ð 
ð 
ˆ	Ø$Ÿ=š=¨Ñ3Ô3°Y·]²]À9Ñ5MÔ5M�ˆÝ$ØÐ*ˆGˆGµ´°	ØÐ*ˆGˆGµ´ñ 
ô  
ˆˆ)�FÔ
ÑÐð €Hr-   r¡   úList[RuleDescriptor]r°   c           	     ó(  — g }| D �]}t          |j        g |j        ¬¦  «        }|j        D ]È}t	          |¦  «        }g }d}|                     ¦   «         D ]‚\  }	}
|	|vrŒ
t          |
t          t          f¦  «        r|
||	         v rŒ1d}Œ4|
||	         v rŒ?||	          	                    |
¦  «        }|�$| 
                    |	|j        |j        dœ¦  «         Œ€d}Œƒ|s|j         
                    |¦  «         ŒÉ|j        r| 
                    |¦  «         �Œ|S )N)r/   ÚconditionSetsÚsubsFT)r/   rK   rL   )r   r/   r¿   r¾   r»   ÚitemsrŠ   ÚfloatÚintÚintersectionrJ   rK   rL   )r¡   r°   ÚnewRulesÚruleÚnewRuleÚconditionsetÚcsÚnewConditionsetÚdiscardConditionsetÚselectionNameÚselectionValuerÃ   s               r+   r    r    ¤  s|  € ð$ &(€HØð )%ñ )%ˆÝ"0Ø”¨"°4´9ð#
ñ #
ô #
ˆð !Ô.ð #	>ð #	>ˆLÝ" <Ñ0Ô0ˆBØ46ˆOØ"'ÐØ1=×1CÒ1CÑ1EÔ1Eð 7ð 7Ñ-�˜~à ¨Ð*Ð*àÝ˜n­uµc¨lÑ;Ô;ð 7à%¨¨MÔ):Ð:Ð:Øð /3Ð+Ð+ð &¨¨MÔ):Ð:Ð:Øà')¨-Ô'8×'EÒ'EÀnÑ'UÔ'U˜à'Ð3Ø+×2Ò2à,9Ø/;Ô/CØ/;Ô/Cð!"ð !"ñô ð ð ð 37Ð/Ð/Ø&ð >ØÔ%×,Ò,¨_Ñ=Ô=Ð=øØÔ ð 	%Ø�OŠO˜GÑ$Ô$Ð$ùà€Or-   ÚlocationúDict[str, float]c                óD   ‡ — ˆ fd„|                      ¦   «         D ¦   «         S )Nc                óZ   •— i | ]'\  }}|‰v ¯	t          ‰|         t          ¦  «        ¯$||“Œ(S r<   )rŠ   r   )r>   r/   rD   rg   s      €r+   rE   z#_filterLocation.<locals>.<dictcomp>é  sH   ø€ ð ð ð áˆD�%Ø�:ÐÐ¥*¨Z¸Ô-=½uÑ"EÔ"EÐð 	ˆeàÐÐr-   )rÀ   )rg   rÍ   s   ` r+   r¦   r¦   å  s8   ø€ ðð ð ð à#Ÿ>š>Ñ+Ô+ðñ ô ð r-   )r   r   r   r   r    r   r!   r"   )r    r.   r/   r0   r!   r.   )
r   r   r3   r4   r5   r4   r6   r7   r!   r8   )
r   r   r3   r4   r5   r4   r6   r7   r!   rX   )r   r   r!   r`   )r   r   rg   r   rG   r4   r3   r4   r5   r4   r6   r7   r!   r   )r´   rµ   r!   r   )r¡   r¼   r°   r   r!   r¼   )rg   r   rÍ   rÎ   r!   rÎ   )2Ú__doc__Ú
__future__r   rN   Úloggingr·   Útypingr   r   r   r   r   r	   r
   r   ÚfontTools.designspaceLibr   r   r   r   r   r   r   r   r   Ú"fontTools.designspaceLib.statNamesr   r   ÚfontTools.designspaceLib.typesr   r   r   r   r   r   r   Ú	getLoggerÚ__name__rœ   r"   r7   r,   r2   rW   r_   rf   rQ   r»   r    r¦   r<   r-   r+   ú<module>rÚ      sz  ððð ð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø €€€Ø €€€Ø MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ Mð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð GÐ FÐ FÐ FÐ FÐ FÐ FÐ Fðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 
ˆÔ	˜8Ñ	$Ô	$€à'ØÐ,¨iÐ8¸#Ð=ô Ð ð

+ð 
+ð 
+ð 
+ð<ð <ð <ð <ð Ø Ø9Tð	@+ð @+ð @+ð @+ð @+ðJ Ø!Ø9Tð	"ð "ð "ð "ð "ðJð ð ð ð"bð bð bð bðJð ð ð ð>ð >ð >ð >ðBð ð ð ð ð r-   