Ë
    £ehÑ  ã                   óÌ   — d dl mZ d dlmZ d„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zdd
„Zeej                  _        dd„Zd„ Zeej                  _        dd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)é    )ÚttLib)ÚotTablesc                 ó�   — t        j                  «       }| D �cg c]  }t        |«      ‘Œ c}\  |_        |_        |_        |S c c}w ©N)ÚotÚVarRegionAxisÚfloatÚ
StartCoordÚ	PeakCoordÚEndCoord)ÚaxisSupportÚselfÚvs      úV/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/fontTools/varLib/builder.pyÚbuildVarRegionAxisr      s<   € Ü×ÑÓ€DØHSÖ5TÀ1´e¸AµhÒ5TÑ2€D„O�T”^ T¤]Ø€Kùò 6Us   ™Ac                 óž   — t        j                  «       }| |_        |D �cg c]  }t        |«      ‘Œ c}\  |_        |_        |_        |S c c}w r   )r   ÚSparseVarRegionAxisÚ	AxisIndexr	   r
   r   r   )Ú	axisIndexr   r   r   s       r   ÚbuildSparseVarRegionAxisr      sC   € Ü×!Ñ!Ó#€DØ€D„NØHSÖ5TÀ1´e¸AµhÒ5TÑ2€D„O�T”^ T¤]Ø€Kùò 6Us    A
c           	      ó  ‡— t        ˆfd„| j                  «       D «       «      s
J d| ‰f«       ‚t        j                  «       }g |_        ‰D ]6  }|j                  j                  t        | j                  |d«      «      «       Œ8 |S )Nc              3   ó&   •K  — | ]  }|‰v –— Œ
 y ­wr   © ©Ú.0ÚtagÚaxisTagss     €r   ú	<genexpr>z!buildVarRegion.<locals>.<genexpr>   ó   øè ø€ Ò9 3ˆs�hŒÑ9ùó   ƒúUnknown axis tag found.©r   r   r   )ÚallÚkeysr   Ú	VarRegionr   Úappendr   Úget)Úsupportr   r   r   s    `  r   ÚbuildVarRegionr)      s‚   ø€ ÜÓ9¨'¯,©,«.Ô9Ô9ð Ø!ØØð<ó Ð9ô
 �<‰<‹>€DØ€DÔØò SˆØ×Ñ×!Ñ!Ô"4°W·[±[ÀÀiÓ5PÓ"QÕRðSà€Kó    c           
      ód  ‡— t        ˆfd„| j                  «       D «       «      s
J d| ‰f«       ‚t        j                  «       }g |_        t        ‰«      D ]?  \  }}|| vrŒ|j                  j                  t        || j                  |d«      «      «       ŒA t        |j                  «      |_
        |S )Nc              3   ó&   •K  — | ]  }|‰v –— Œ
 y ­wr   r   r   s     €r   r   z'buildSparseVarRegion.<locals>.<genexpr>"   r   r    r!   r"   )r#   r$   r   ÚSparseVarRegionr   Ú	enumerater&   r   r'   ÚlenÚSparseRegionCount)r(   r   r   Úir   s    `   r   ÚbuildSparseVarRegionr2   !   s°   ø€ ÜÓ9¨'¯,©,«.Ô9Ô9ð Ø!ØØð<ó Ð9ô
 ×ÑÓ€DØ!€DÔÜ˜HÓ%ò 
‰ˆˆ3Ø�gÑØØ× Ñ ×'Ñ'Ü$ Q¨¯©°C¸Ó(CÓDõ	
ð
ô ! ×!9Ñ!9Ó:€DÔØ€Kr*   c                 óè   — t        j                  «       }t        |«      |_        g |_        | D ]'  }|j                  j                  t        ||«      «       Œ) t        |j                  «      |_        |S r   )r   ÚVarRegionListr/   ÚRegionAxisCountÚRegionr&   r)   ÚRegionCount©Úsupportsr   r   r(   s       r   ÚbuildVarRegionListr:   3   sa   € Ü×ÑÓ€DÜ˜x›=€DÔØ€D„KØò >ˆØ�‰×Ñœ>¨'°8Ó<Õ=ð>ä˜4Ÿ;™;Ó'€DÔØ€Kr*   c                 óè   — t        j                  «       }t        |«      |_        g |_        | D ]'  }|j                  j                  t        ||«      «       Œ) t        |j                  «      |_        |S r   )r   ÚSparseVarRegionListr/   r5   r6   r&   r2   r7   r8   s       r   ÚbuildSparseVarRegionListr=   =   sd   € Ü×!Ñ!Ó#€DÜ˜x›=€DÔØ€D„KØò DˆØ�‰×ÑÔ/°¸ÓBÕCðDä˜4Ÿ;™;Ó'€DÔØ€Kr*   c                 ó2   — |D �cg c]  }| |   ‘Œ	 c}S c c}w r   r   )ÚlstÚmappingr1   s      r   Ú_reorderItemrA   G   s   € Ø#Ö$�qˆC�‹FÒ$Ð$ùÒ$s   …c                 óæ  — | j                   }| j                  }dg|z  }|D ]D  }|D �cg c]  }||dk  z   j                  «       ‘Œ }}t        ||«      D �cg c]
  }t	        |Ž ‘Œ }}ŒF |D �	cg c]  }	|	r|	dz   dz	  nd‘Œ }
}	t        d„ |
D «       «      }|rÑg }|j                  d„ t        |
«      D «       «       |j                  d„ t        |
«      D «       «       |j                  d„ t        |
«      D «       «       t        |
|«      }
t        | j                  |«      | _	        t        | j                  «      | _         t        t        |«      «      D ]  }t        ||   |«      ||<   Œ |r;t	        d	„ t        |
«      D «       d¬
«      dz   | _        | xj                  dz  c_        n%t	        d„ t        |
«      D «       d¬
«      dz   | _        t        | j                  «      | _         | S c c}w c c}w c c}	w )Nr   éÿÿÿÿé   é   c              3   ó&   K  — | ]	  }|d kD  –— Œ y­w©é   Nr   )r   Úbs     r   r   z-VarData_calculateNumShorts.<locals>.<genexpr>c   s   è ø€ Ò0˜a�A˜•EÑ0ùs   ‚c              3   ó2   K  — | ]  \  }}|d kD  sŒ|–— Œ y­wrG   r   ©r   r1   rI   s      r   r   z-VarData_calculateNumShorts.<locals>.<genexpr>h   s   è ø€ ÒF™T˜Q ÀÀAÃ”qÑFùó   ‚�c              3   ó2   K  — | ]  \  }}|d k(  sŒ|–— Œ y­wrG   r   rK   s      r   r   z-VarData_calculateNumShorts.<locals>.<genexpr>i   ó   è ø€ ÒG™T˜Q ÀÀQÃ”qÑGùrL   c              3   ó2   K  — | ]  \  }}|d k(  sŒ|–— Œ y­w©é   Nr   rK   s      r   r   z-VarData_calculateNumShorts.<locals>.<genexpr>j   rN   rL   c              3   ó2   K  — | ]  \  }}|d kD  sŒ|–— Œ y­wrG   r   rK   s      r   r   z-VarData_calculateNumShorts.<locals>.<genexpr>t   ó   è ø€ Ò@‘t�q˜!¸!¸a»%”Ñ@ùrL   )ÚdefaultrQ   é €  c              3   ó2   K  — | ]  \  }}|d kD  sŒ|–— Œ y­wrP   r   rK   s      r   r   z-VarData_calculateNumShorts.<locals>.<genexpr>y   rS   rL   )ÚVarRegionCountÚItemÚ
bit_lengthÚzipÚmaxÚanyÚextendr.   rA   ÚVarRegionIndexr/   ÚrangeÚ	NumShorts)r   ÚoptimizeÚcountÚitemsÚbit_lengthsÚitemr1   ÚblÚpairrI   Úbyte_lengthsÚ	longWordsr@   s                r   ÚVarData_calculateNumShortsrj   K   sÞ  € Ø×Ñ€EØ�I‰I€EØ�#˜‘+€KØò Dˆð 48Ö8¨aˆq�A˜‘F‰|×'Ñ'Õ)Ð8ˆÐ8Ü.1°"°kÓ.BÖC d”s˜D’zÐCˆÑCðDð" 9DÖD°1¡a�a˜!‘e ’\¨QÑ.ÐD€LÐDô Ñ0 <Ô0Ó0€IáàˆØ�‰ÑF¤Y¨|Ó%<ÔFÔFØ�‰ÑG¤Y¨|Ó%<ÔGÔGØ�‰ÑG¤Y¨|Ó%<ÔGÔGä# L°'Ó:ˆÜ*¨4×+>Ñ+>ÀÓHˆÔÜ! $×"5Ñ"5Ó6ˆÔÜ”s˜5“zÓ"ò 	7ˆAÜ# E¨!¡H¨gÓ6ˆE�!ŠHð	7ñ äÑ@œy¨Ó6Ô@È"ÔMÐPQÑQð 	Œð 	�Š˜&Ñ Žô Ñ@œy¨Ó6Ô@È"ÔMÐPQÑQð 	Œô ˜d×1Ñ1Ó2€DÔØ€KùòQ 9ùÚCùò Es   ¨G$ÁG)Á,G.c                 ó   — t        | |¬«      S )z’Deprecated name for VarData_calculateNumShorts() which
    defaults to optimize=True.  Use varData.calculateNumShorts()
    or varData.optimize().©ra   ©rj   )r   ra   s     r   ÚVarData_CalculateNumShortsrn   ƒ   s   € ô & d°XÔ>Ð>r*   c                 ó   — t        | d¬«      S )NTrl   rm   )r   s    r   ÚVarData_optimizerp   Š   s   € Ü% d°TÔ:Ð:r*   c                 óV  — t        j                  «       }t        | «      |_        t	        |j                  «      x}|_        g x}|_        |r1|D ],  }t	        |«      |k(  sJ ‚|j                  t        |«      «       Œ. t	        |j                  «      |_        |j                  |¬«       |S )Nrl   )
r   ÚVarDataÚlistr^   r/   rW   rX   r&   Ú	ItemCountÚcalculateNumShorts)ÚvarRegionIndicesrc   ra   r   ÚregionCountÚrecordsre   s          r   ÚbuildVarDatary   ‘   sš   € Ü�:‰:‹<€DÜÐ/Ó0€DÔÜ(+¨D×,?Ñ,?Ó(@Ð@€K�$Ô%ØÐ€GˆdŒiÙØò 	'ˆDÜ�t“9 Ò+Ð+Ð+Ø�N‰Nœ4 ›:Õ&ð	'ô ˜Ÿ™“^€D„NØ×Ñ XÐÔ.Ø€Kr*   c                 óž   — t        j                  «       }d|_        | |_        t	        |«      |_        t        |j
                  «      |_        |S ©NrQ   )r   ÚVarStoreÚFormatr4   rs   rr   r/   ÚVarDataCount)ÚvarRegionListÚvarDataListr   s      r   ÚbuildVarStorer�   Ÿ   s>   € Ü�;‰;‹=€DØ€D„KØ&€DÔÜ˜Ó$€D„LÜ˜DŸL™LÓ)€DÔØ€Kr*   c                 ó@  — t        j                  «       }d|_        t        | «      |_        t        |j                  «      x}|_        g x}|_        |r1|D ],  }t        |«      |k(  sJ ‚|j                  t        |«      «       Œ. t        |j                  «      |_	        |S r{   )
r   ÚMultiVarDatar}   rs   r^   r/   rW   rX   r&   rt   )rv   rc   r   rw   rx   re   s         r   ÚbuildMultiVarDatar„   ¨   s‘   € Ü�?‰?Ó€DØ€D„KÜÐ/Ó0€DÔÜ(+¨D×,?Ñ,?Ó(@Ð@€K�$Ô%ØÐ€GˆdŒiÙØò 	'ˆDÜ�t“9 Ò+Ð+Ð+Ø�N‰Nœ4 ›:Õ&ð	'ô ˜Ÿ™“^€D„NØ€Kr*   c                 óž   — t        j                  «       }d|_        | |_        t	        |«      |_        t        |j
                  «      |_        |S r{   )r   ÚMultiVarStorer}   r<   rs   rƒ   r/   ÚMultiVarDataCount)r   ÚmultiVarDataListr   s      r   ÚbuildMultiVarStorer‰   ¶   sE   € Ü×ÑÓ€DØ€D„KØ,€DÔÜÐ-Ó.€DÔÜ  ×!2Ñ!2Ó3€DÔØ€Kr*   c                 ó„   — t        j                  «       }t        || «      D ��ci c]  \  }}||“Œ
 c}}|_        |S c c}}w r   )r   Ú	VarIdxMaprZ   r@   )ÚvarIdxesÚ
glyphOrderr   Úgr   s        r   ÚbuildVarIdxMapr�   Â   s9   € Ü�<‰<‹>€DÜ%(¨°XÓ%>×?™T˜Q �A�q‘DÓ?€D„LØ€Kùó @s   ¤<c                 óÆ   — t        | «      }t        d„ t        |«      D «       «      ry t        j                  «       }||_        t        |«      dkD  r	d|_        |S d|_        |S )Nc              3   ó,   K  — | ]  \  }}||k(  –— Œ y ­wr   r   )r   r1   r   s      r   r   z(buildDeltaSetIndexMap.<locals>.<genexpr>Ê   s   è ø€ Ò
1‘d�a˜ˆ1��6Ñ
1ùs   ‚éÿÿ  rQ   r   )rs   r#   r.   r   ÚDeltaSetIndexMapr@   r/   r}   )rŒ   r@   r   s      r   ÚbuildDeltaSetIndexMapr”   È   s[   € Ü�8‹n€GÜ
Ñ
1œi¨Ó0Ô
1Ô1ØÜ×ÑÓ €DØ€D„LÜ˜7“| fÒ,�!€D„KØ€Kð 34€D„KØ€Kr*   c                 ód   — t        j                  «       }d|_        | dz	  |_        | dz  |_        |S )NrU   é   r’   )r   ÚDeviceÚDeltaFormatÚ	StartSizeÚEndSize)ÚvarIdxr   s     r   ÚbuildVarDevTablerœ   Ò   s0   € Ü�9‰9‹;€DØ€DÔØ˜r‘\€D„NØ˜F‘?€D„LØ€Kr*   N)F)T)Ú	fontToolsr   ÚfontTools.ttLib.tablesr   r   r   r   r)   r2   r:   r=   rA   rj   rr   ru   rn   rp   ra   ry   r�   r„   r‰   r�   r”   rœ   r   r*   r   ú<module>rŸ      s}   ðÝ Ý 1ò
òò
òò$òò%ó2ðj !;€‡
�
Ô ó?ò;ð '€‡
�
Ô óòòòòòór*   