Ë
    £ehå  ã                   ó2   — d dl mZmZmZ d„ Z G d„ d«      Zy)é    )ÚVariationModelÚnormalizeValueÚpiecewiseLinearMapc                 óF   — t        t        | j                  «       «      «      S ©N)ÚtupleÚsortedÚitems)Úlocs    ú]/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/fontTools/feaLib/variableScalar.pyÚLocationr      s   € Ü”˜Ÿ	™	›Ó$Ó%Ð%ó    c                   óˆ   — e Zd ZdZi fd„Zd„ Zed„ «       Zed„ «       Zd„ Z	d„ Z
d„ Zd	„ Zed
„ «       Zdd„Zdd„Zdd„Zdd„Zy)ÚVariableScalarzFA scalar with different values at different points in the designspace.c                 ót   — i | _         i | _        |j                  «       D ]  \  }}| j                  ||«       Œ y r   )ÚvaluesÚaxesr
   Ú	add_value)ÚselfÚlocation_valueÚlocationÚvalues       r   Ú__init__zVariableScalar.__init__   s:   € ØˆŒØˆŒ	Ø-×3Ñ3Ó5ò 	,‰OˆH�eØ�N‰N˜8 UÕ+ñ	,r   c           
      ó  — g }| j                   j                  «       D ]D  \  }}dj                  |D ��cg c]  \  }}d||fz  ‘Œ c}}«      }|j                  d||fz  «       ŒF ddj                  |«      z   dz   S c c}}w )Nú,z%s=%iz%s:%iú(ú ú))r   r
   ÚjoinÚappend)r   r
   r   r   Úaxr   s         r   Ú__repr__zVariableScalar.__repr__   s‚   € ØˆØ#Ÿ{™{×0Ñ0Ó2ò 	1‰OˆH�eØ—(‘(¸x×H±G°B¸˜G r¨3 iÓ/ÓHÓIˆCØ�L‰L˜ C¨ <Ñ/Õ0ð	1ð �c—h‘h˜u“oÑ&¨Ñ,Ð,ùó Is   ³A;c                 óx   ‡— t        | j                  j                  «       «      Št        ˆfd„‰dd  D «       «      S )Nc              3   ó.   •K  — | ]  }|‰d    k7  –— Œ y­w)r   N© )Ú.0Úvr   s     €r   ú	<genexpr>z+VariableScalar.does_vary.<locals>.<genexpr>   s   øè ø€ Ò6 a�1˜˜q™	•>Ñ6ùs   ƒé   )Úlistr   Úany)r   r   s    @r   Ú	does_varyzVariableScalar.does_vary   s1   ø€ ä�d—k‘k×(Ñ(Ó*Ó+ˆÜÓ6¨6°!°"¨:Ô6Ó6Ð6r   c                 ó„   — | j                   st        d«      ‚| j                   D �ci c]  }|j                  |“Œ c}S c c}w )Nz=.axes must be defined on variable scalar before interpolating)r   Ú
ValueErrorÚaxisTag)r   r!   s     r   Ú	axes_dictzVariableScalar.axes_dict   s;   € à�yŠyÜØOóð ð *.¯©Ö3 2�—
‘
˜B‘Ò3Ð3ùÒ3s   ¦=c                 ó*  — | j                  |«      }i }|j                  «       D ]c  }|| j                  vrt        d|›d|›�«      ‚| j                  |   }t	        ||   |j
                  |j                  |j                  f«      ||<   Œe t        |«      S )NzUnknown axis z in )	Úfix_locationÚkeysr0   r.   r   ÚminValueÚdefaultValueÚmaxValuer   )r   r   Únormalized_locationÚaxtagÚaxiss        r   Ú_normalized_locationz#VariableScalar._normalized_location%   s“   € Ø×$Ñ$ XÓ.ˆØ ÐØ—]‘]“_ò 	ˆEØ˜DŸN™NÑ*Ý ºEÁ8Ð!LÓMÐMØ—>‘> %Ñ(ˆDÜ)7Ø˜‘ $§-¡-°×1BÑ1BÀDÇMÁMÐ!Ró*Ð Ò&ð		ô Ð+Ó,Ð,r   c                 óˆ   — t        |«      }| j                  j                  «       D ]  \  }}||vsŒ|j                  ||<   Œ |S r   )Údictr0   r
   r5   )r   r   Útagr9   s       r   r2   zVariableScalar.fix_location2   sI   € Ü˜“>ˆØŸ™×-Ñ-Ó/ò 	2‰IˆC�Ø˜(Ò"Ø $× 1Ñ 1�˜’ð	2ð ˆr   c                 ón   — | j                   r| j                  |«      }|| j                  t        |«      <   y r   )r   r2   r   r   )r   r   r   s      r   r   zVariableScalar.add_value9   s,   € Ø�9Š9Ø×(Ñ(¨Ó2ˆHà*/ˆ�‰”H˜XÓ&Ò'r   c           	      ó¦   — | j                   j                  «       D ��ci c]   \  }}t        | j                  |«      «      |“Œ" c}}| _         y c c}}w r   )r   r
   r   r2   )r   Úlr'   s      r   Úfix_all_locationsz VariableScalar.fix_all_locations?   sD   € à:>¿+¹+×:KÑ:KÓ:M÷
Ù26°!°QŒH�T×&Ñ& qÓ)Ó*¨AÑ-ó
ˆ�ùó 
s   ž%Ac                 óì   — | j                  «        t        | j                  D �ci c]  }|j                  |j                  “Œ c}«      }|| j
                  vrt        d«      ‚| j
                  |   S c c}w )Nz Default value could not be found)rA   r   r   r/   r5   r   r.   )r   r!   Úkeys      r   ÚdefaultzVariableScalar.defaultD   sa   € à×ÑÔ Ü¸d¿i¹iÖH¸˜Ÿ
™
 B§O¡OÑ3ÒHÓIˆØ�d—k‘kÑ!ÜÐ?Ó@Ð@à�{‰{˜3ÑÐùò	 Is   ¤A1Nc                 ó,  — t        |«      }|| j                  j                  «       v r| j                  |   S t        | j                  j                  «       «      }t	        | j                  |«      «      }| j                  ||«      j                  ||«      S r   )r   r   r3   r*   r<   r:   ÚmodelÚinterpolateFromMasters)r   r   Úmodel_cacheÚavarr   r   s         r   Úvalue_at_locationz VariableScalar.value_at_locationM   sz   € Ü�xÓ ˆØ�$—+‘+×"Ñ"Ó$Ñ$Ø—;‘;˜sÑ#Ð#Ü�d—k‘k×(Ñ(Ó*Ó+ˆÜ�4×,Ñ,¨SÓ1Ó2ˆØ�z‰z˜+ tÓ,×CÑCÀCÈÓPÐPr   c                 óÔ  — |�,t        | j                  j                  «       «      }||v r||   S | j                  j                  «       D �cg c]  }t        | j	                  |«      «      ‘Œ }}|�T|j
                  }|D ���cg c]9  }|j                  «       D ��ci c]  \  }}|||v rt        |||   «      n|“Œ c}}‘Œ; }}}}t        |«      }	|�|	|<   |	S c c}w c c}}w c c}}}w r   )	r   r   r3   r<   r:   Úsegmentsr
   r   r   )
r   rH   rI   rC   ÚkÚ	locationsÚmappingr   r'   Úms
             r   rF   zVariableScalar.modelU   sÿ   € ØÐ"Ü˜Ÿ™×(Ñ(Ó*Ó+ˆCØ�kÑ!Ø" 3Ñ'Ð'ØAEÇÁ×AQÑAQÓASÖT¸A”T˜$×3Ñ3°AÓ6Õ7ÐTˆ	ÐTØÐØ—m‘mˆGð !*÷ð ð
 ð !)§¡Ó 0÷á˜˜1ð ¸AÀ¹LÔ)¨!¨W°Q©ZÔ8ÈaÑOõðˆIò ô ˜9Ó%ˆØÐ"Ø ˆK˜ÑØˆùò Uùóùôs   Á!CÂC#Â CÂ:C#ÃC#c                 óŠ   — t        | j                  j                  «       «      }| j                  ||«      j                  |«      S r   )r*   r   rF   ÚgetDeltasAndSupports)r   rH   rI   r   s       r   Úget_deltas_and_supportsz&VariableScalar.get_deltas_and_supportsi   s5   € Ü�d—k‘k×(Ñ(Ó*Ó+ˆØ�z‰z˜+ tÓ,×AÑAÀ&ÓIÐIr   c                 óž   — | j                  ||«      \  }}|j                  |«       |j                  |«      }t        | j                  «      |fS r   )rS   ÚsetSupportsÚstoreDeltasÚintrD   )r   Ústore_builderrH   rI   ÚdeltasÚsupportsÚindexs          r   Úadd_to_variation_storez%VariableScalar.add_to_variation_storem   sK   € Ø×7Ñ7¸ÀTÓJÑˆ�Ø×!Ñ! (Ô+Ø×)Ñ)¨&Ó1ˆÜ�4—<‘<Ó  %Ð'Ð'r   )NN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r"   Úpropertyr,   r0   r:   r2   r   rA   rD   rJ   rF   rS   r\   r%   r   r   r   r      sx   „ ÙPà&(ó ,ò-ð ñ7ó ð7ð ñ4ó ð4ò-òò0ò
ð
 ñ ó ð óQóó(Jô(r   r   N)ÚfontTools.varLib.modelsr   r   r   r   r   r%   r   r   ú<module>rc      s   ðß VÑ Vò&÷i(ò i(r   