+
    f7ifu  c            
       s^   ^ RI Ht ^RIHt ^ RIHtHt ^RIHtH	t	H
t
Ht ^ RIt^ RIt^ RIHt ^ RIt]P"                  ! ]4      tRtRtR	tR
tRt]P2                  ! ]4      tRt]P2                  ! ]4      tRt]P2                  ! ]4      t ! R R]P                  4      t ! R R] 4      t! ! R R] 4      t" ! R R] 4      t#Rt$ ! R R] 4      t%R t& ! R R] 4      t' ! R R]&! R4      ]%4      t( ! R R]']%4      t) ! R  R!]&! R"4      ]%4      t* ! R# R$]%4      t+ ! R% R&]']%4      t,^](^])^]*^]+^],/t-R# )'    )sstruct)DefaultTable)	bytesjoinsafeEval)BigGlyphMetricsbigGlyphMetricsFormatSmallGlyphMetricssmallGlyphMetricsFormatN)dequez0
	> # big endian
	version:  16.16F
	numSizes: I
z
	> # big endian
	indexSubTableArrayOffset: I
	indexTablesSize:          I
	numberOfIndexSubTables:   I
	colorRef:                 I
aI  
	> # big endian
	ascender:              b
	descender:             b
	widthMax:              B
	caretSlopeNumerator:   b
	caretSlopeDenominator: b
	caretOffset:           b
	minOriginSB:           b
	minAdvanceSB:          b
	maxBeforeBL:           b
	minAfterBL:            b
	pad1:                  b
	pad2:                  b
z
	> # big endian
	startGlyphIndex: H
	endGlyphIndex:   H
	ppemX:           B
	ppemY:           B
	bitDepth:        B
	flags:           b
z>HHLz>HHc                   sH   a  ] tR t^Dt o RtR.tR tR tR tR t	R t
RtV tR	# )
table_E_B_L_C_zEmbedded Bitmap Location table

The ``EBLC`` table contains the locations of monochrome or grayscale
bitmaps for glyphs. It must be used in concert with the ``EBDT`` table.

See also https://learn.microsoft.com/en-us/typography/opentype/spec/eblc
ZEBDTc                s    \         V,          # N)eblc_sub_table_classes)selfindexFormat   &&F/usr/lib64/python3.14/site-packages/fontTools/ttLib/tables/E_B_L_C_.pygetIndexFormatClassZ"table_E_B_L_C_.getIndexFormatClassR   s    %k22    c           	     s   Tp^ p\         P                  ! \        VR,          V 4      pV^,          p. V n        \	        V P
                  4       F  p\        4       pV P                  P                  V4       VP                  p\         P                  ! \        WV^,            V4      pV^,          pR FI  p	\        4       p
V
\        V4      V	&   \         P                  ! \        WV^,            V
4      pV^,          pKK  	  \         P                  ! \        WV^,            V4      pV^,          pK  	  V P                   EF6  pVP                  p\	        VP                  4       EF  pVP                   V\"        ,          ,           p\$        P                  ! \&        WV\"        ,            4      pVw  rpVP                   V,           p\$        P                  ! \(        WV\*        ,            4      pVw  pppV P-                  V4      pV! W\*        ,           R V4      pVVn        VVn        VVn        VVn        VVn        VVn        VP;                  4        VP<                  P                  V4       EK  	  EK9  	  R# )r    :Ni   NNZhoriZvert)r   unpackeblcHeaderFormatstrikesrangenumSizesStrikeappendbitmapSizeTableunpack2bitmapSizeTableFormatPart1SbitLineMetricsvarssbitLineMetricsFormatbitmapSizeTableFormatPart2numberOfIndexSubTablesindexSubTableArrayOffsetindexSubTableArraySizestructindexSubTableArrayFormatindexSubHeaderFormatindexSubHeaderSizer   firstGlyphIndexlastGlyphIndexadditionalOffsetToIndexSubtabler   imageFormatimageDataOffset	decompileindexSubTables)r   datattFontZorigDataiZdummyZcurStrikeIndex	curStrikecurTablemetric	metricObjZsubtableIndexZtupr)   r*   r+   r   r,   r-   indexFormatClassindexSubTables   &&&                  r   r.   Ztable_E_B_L_C_.decompileU   s?   /b4@	Q#DMM2NILL	* 00HOO*DQV,<hE GA*+-	)2Xv&)4AF+;Y R + NN*DQUOXE FA% 3( I 00H!&x'F'F!G55#&<<= 
 mm,dq;Q7Q.R VYR2Q558WWmm($17I3I*J ?B;k?#'#;#;K#H  0:L6L6N1OQW X0?-/=,3 = -8),7)0?-'')((//>9 "H &r   c                s"   . p\        V P                  4      V n        VP                  \        P
                  ! \        V 4      4       \        V^ ,          4      pV P                   Fv  pV\        P                  ! \        4      ,          pV\        R4      \        P                  ! \        4      ,          ,          pV\        P                  ! \        4      ,          pKx  	  . pV P                   EF  pVP                  p\        VP                  4      Vn        W7n        VP                  \        ,          pTp	W8,          pTp
. pVP                   F  pW7P                  ,
          Vn        \#        \%        VP&                  VP(                  4      4      p\+        V4      Vn        \/        V4      Vn        VP3                  V4      pVP                  V4       V\        V4      ,          pK  	  \+        R VP                   4       4      Vn        \/        R VP                   4       4      Vn        VP                   FO  p\8        P
                  ! \:        VP,                  VP0                  VP                   4      pVP                  V4       KQ  	  VP=                  V4       W7P                  ,
          Vn        EK  	  V P                   F  pVP                  p\        P
                  ! \        V4      pVP                  V4       R FA  p\A        V4      V,          p\        P
                  ! \        V4      pVP                  V4       KC  	  \        P
                  ! \        V4      pVP                  V4       K  	  VP=                  V4       \C        V4      # )r    c              3   8   "   T F  qP                   x  K  	  R # 5ir   )r)   Z.0Zist   & r   	<genexpr>)table_E_B_L_C_.compile.<locals>.<genexpr>   s      +/G##/G   c              3   r9   r   )r*   r:   r;   r   r<   r=      s      ).Fs"".Fr>   r   )"lenr   r   r   r   packr   calcsizer   r    r!   r   r/   r"   r#   r$   r+   listmap
getGlyphIDnamesminr)   Zmaxr*   compileZstartGlyphIndexZendGlyphIndexr%   r'   ZextendZindexTablesSizer   r   )r   r1   dataListZdataSizeZ_ZindexSubTablePairDataListr3   r4   ZsizeOfSubTableArrayZ
lowerBoundZ
upperBoundZindexSubTableDataListr8   glyphIdsr0   r2   r5   r6   s   &&                r   rG   Ztable_E_B_L_C_.compile   s   DLL)%5t<=
 x{#8 A(()CDDH,-0@0@AV0WWWH(()CDDH 
 %'!I 00H.1)2J2J.KH+08- //2HH   "J+H!J$&!!*!9!9@@@ =  F$5$5}7J7J KL03H-/28},$,,V4%,,T2CI% ": (+ +/8/G/G+ (H$ &) ).7.F.F) &H" --{{(%%$$55	 *006 . &,,-BC'/2S2S'SH$U &X I 00H<< :HEDOOD!* N62	||$99E% + << :HEDOOD! & 	12""r   c                s    VP                  R RV P                  3.4       VP                  4        \        V P                  4       F  w  r4VP                  W1V4       K  	  R# )headerversionN)	simpletagrK   newlineZ	enumerater   toXML)r   writerr1   ZcurIndexr3      &&&  r   rN   Ztable_E_B_L_C_.toXML   sL    Y$=#>?#,T\\#:HOOHf5 $;r   c                s   VR 8X  d   \        VR,          4      V n        R# VR8X  d   \        V R4      '       g   . V n        \        VR,          4      p\	        4       pVP                  WW4V 4       V\        V P                  4      8  dC   V ;P                  R.V^,           \        V P                  4      ,
          ,          ,          un        W`P                  V&   R# R# )rJ   rK   striker   indexN)r   rK   hasattrr   r   fromXMLr?   )r   nameattrscontentr1   strikeIndexr3      &&&&&  r   rT   Ztable_E_B_L_C_.fromXML   s    8#E)$45DLX4++!"5>2KId7DA c$,,//+/C<M*M NN(1LL% r   )r   r   rK   N)__name__
__module____qualname____firstlineno__Z__doc__Zdependenciesr   r.   rG   rN   rT   __static_attributes____classdictcell____classdict__   @r   r
   r
   D   s4      8L
3;?zb#H62 2r   r
   c                   2   a  ] tR tRt o R tR tR tRtV tR# )r   i  c                s2    \        4       V n        . V n        R # r   )BitmapSizeTabler   r/   )r   s   &r   __init__ZStrike.__init__  s    .0 r   c                sR   VP                  R RV3.4       VP                  4        V P                  P                  W#4       VP	                  R4       VP                  4        V P
                   F  pVP                  W#4       K  	  VP                  R 4       VP                  4        R# )rQ   rR   zvGlyphIds are written but not read. The firstGlyphIndex and
lastGlyphIndex values will be recalculated by the compiler.N)begintagrM   r   rN   Zcommentr/   endtag)r   rX   rO   r1   r8      &&&& r   rN   ZStrike.toXML  s    G[#9":;""62 F	
 	!00M/ 1hr   c                s   V F  p\        V\        4      '       g   K  Vw  rpVR 8X  d   V P                  P                  WW44       KE  VP	                  \
        4      '       g   Kb  \        V\        \
        4      R 4      pVP                  V4      pV! RR4      p	Wyn	        V	P                  WW44       V P                  P                  V	4       K  	  R# )r   N)
isinstancetupler   rT   Z
startswith_indexSubTableSubclassPrefixr   r?   r   r   r/   r   )
r   rU   rV   rW   r1   Zlocatorelementr   r7   r8   s
   &&&&&&    r   rT   ZStrike.fromXML   s    Ggu--#* D(($$,,T'J!=>>&tC0L,M,O'PQ#*#>#>{#K  0t <,7)%%d7C##**=9 r   )r   r/   N)	rZ   r[   r\   r]   re   rN   rT   r^   r_   r`   rb   r   r   r     s     !: :r   r   c                   rc   )rd   i0  c                s    \         P                  ! \        4      ^,          p/ VC\         P                  ! \        4      ^,          Cp\	        VP                  4       4      R,          # )   :i   NN)r   	getformatr   r!   rB   Zkeys)r   	dataNamesr;   r   _getXMLMetricNamesZ"BitmapSizeTable._getXMLMetricNames3  sP    %%&@A!D	UyUG$5$56P$QRS$TU	INN$%b))r   c                sX   VP                  R 4       VP                  4        R F  p\        W4      P                  W1V4       K   	  V P	                  4        F/  pVP                  V\        W4      R7       VP                  4        K1  	  VP                  R 4       VP                  4        R# )r   valueNr   )rf   rM   getattrrN   rp   rL   rg   )r   rO   r1   r5   
metricNamerP   r   rN   ZBitmapSizeTable.toXML9  s    )*&FD!''? '113JZwt/HINN 4 	'(r   c                st   \        V P                  4       4      pV F  p\        V\        4      '       g   K  Vw  rpVR 8X  d6   VR,          p\	        4       pVP                  WW44       V\        V 4      V&   K\  W9   d!   \        VR,          4      \        V 4      V&   K  \        P                  RV4       K  	  R# )sbitLineMetrics	directionrr   z3unknown name '%s' being ignored in BitmapSizeTable.N)
setrp   ri   rj   r   rT   r   r   logwarning)	r   rU   rV   rW   r1   ro   rl   rv   r6   s	   &&&&&    r   rT   ZBitmapSizeTable.fromXMLD  s     //12	Ggu--#* D((!+.	
 ,-	!!$w?(1T
9%"#+E'N#;T
4 QSWX! r    N)	rZ   r[   r\   r]   rp   rN   rT   r^   r_   r`   rb   r   rd   rd   0  s     *	Y Yr   rd   c                   ,   a  ] tR tRt o R tR tRtV tR# )r   i[  c                s:   VP                  R RV3.4       VP                  4        \        P                  ! \        4      ^,           F/  pVP                  V\        W4      R7       VP                  4        K1  	  VP                  R 4       VP                  4        R# )ru   rv   rq   N)rf   rM   r   rn   r    rL   rs   rg   )r   rU   rO   r1   rt   rh   r   rN   ZSbitLineMetrics.toXML\  s}    )[$,?+@A!++,AB1EEJZwt/HINN F 	'(r   c                s    \        \        P                  ! \        4      ^,          4      pV FF  p\	        V\
        4      '       g   K  Vw  rpW9   g   K(  \        VR,          4      \        V 4      V&   KH  	  R# )rm   rr   N)rw   r   rn   r    ri   rj   r   r   )r   rU   rV   rW   r1   ZmetricNamesrl   rY   r   rT   ZSbitLineMetrics.fromXMLe  s^    '++,AB1EFGgu--#* D"#+E'N#;T
4  r   rz   N)rZ   r[   r\   r]   rN   rT   r^   r_   r`   rb   r   r   r   [  s     < <r   r   Zeblc_index_sub_table_c                   s`   a  ] tR tRt o R tR tRR ltR tR tR t	R t
R	 tR
 tR tRtV tR# )EblcIndexSubTableis  c                s    Wn         W n        R # r   )r0   r1   )r   r0   r1      &&&r   re   ZEblcIndexSubTable.__init__t  s    	r   c                s    VR ,          R8X  d   \        V4      hVR8X  d   \        V4      hV P                  4        \        W4      # ):Ni   NZ__r0   )ZAttributeErrorr.   rs   )r   Zattrr   r   __getattr__ZEblcIndexSubTable.__getattr__|  s@    8t &&6> &&t""r   c                sN    \        V R 4      '       d   V P                  4        R# R# )r0   N)rS   r.   )r   Zrecurser   r   ensureDecompiledZ"EblcIndexSubTable.ensureDecompiled  s    4  NN !r   c                sx    \         P                  ! \        V P                  V P                  V P
                  4      # r   )r%   r@   r'   r   r,   r-   )r   r1   r   r   rG   ZEblcIndexSubTable.compile  s1    {{   	
 	
r   c                s   VP                  V P                  P                  R V P                  3RV P                  3RV P
                  3.4       VP                  4        V P                  W4       \        VP                  V P                  4      p\        V P                  V4       F(  w  rEVP                  RWER7       VP                  4        K*  	  VP                  V P                  P                  4       VP                  4        R# )r,   r)   r*   glyphLoc)rU   ZidN)rf   Z	__class__rZ   r,   r)   r*   rM   writeMetricsrC   rD   rE   ziprL   rg   )r   rO   r1   rI   Z	glyphNameZglyphIds   &&&   r   rN   ZEblcIndexSubTable.toXML  s    NN## 0 01"D$8$89!4#6#67	
 	&) v(($**5"%djj(";IZiDNN #< 	dnn--.r   c                sd   \        VR ,          4      V n        \        VR,          4      V n        \        VR,          4      V n        V P	                  WW44       . V n        V FK  p\        V\        4      '       g   K  Vw  rpVR8X  g   K)  V P
                  P                  VR,          4       KM  	  R# )r,   r)   r*   r   rU   N)	r   r,   r)   r*   readMetricsrE   ri   rj   r   r   rU   rV   rW   r1   rl      &&&&& r   rT   ZEblcIndexSubTable.fromXML  s     $E-$89'.?(@A&u-='>?g6
Ggu--#* Dz!

!!%-0 r   c                    R # r   rz   r   rO   r1   r}   r   r   ZEblcIndexSubTable.writeMetrics      r   c                r   r   rz   )r   rU   rV   rW   r1   s   &&&&&r   r   ZEblcIndexSubTable.readMetrics  r   r   c                s    V# r   rz   )r   r0   r   r   padBitmapDataZEblcIndexSubTable.padBitmapData  s    r   c           	     s    R  p\        \        V\        V P                  V P                  4      4      4      p\        \        \         \        V!  4      4      w  V n        V n        R# )c                 s    V w  pw  r#W#8  # r   rz   )ZargsrU   Z	startByteZendByte   &   r   isValidLocationZ;EblcIndexSubTable.removeSkipGlyphs.<locals>.isValidLocation  s    +/(T'I&&r   N)rB   Zfilterr   rE   	locationsrC   )r   r   Z	dataPairss   &  r   removeSkipGlyphsZ"EblcIndexSubTable.removeSkipGlyphs  sG    	'
 TZZ1PQR	%)#dCO*D%E"
DNr   )r0   r)   r,   r*   r   rE   r1   N)F)rZ   r[   r\   r]   re   r~   r   rG   rN   rT   r   r   r   r   r^   r_   r`   rb   r   r|   r|   s  s>     #
*1*
	F 	Fr   r|   c                 sn   aa R V ,           o\         P                  ! S4      o ! VV3R lR\        4      pV# )Z>c                   s>   <a  ] tR tRt o VV3R ltVV3R ltRtV tR# )K_createOffsetArrayIndexSubTableMixin.<locals>.OffsetArrayIndexSubTableMixini  c                s  < V P                   V P                  ,
          ^,           p\        V^,           4       Uu. uF  q"S,          NK  	  pp\        W3R,          4      pV Uu. uF9  p\        P
                  ! S
V P                  \        V!  ,          4      ^ ,          NK;  	  pp\        \        V P                  V P                   ^,           4      4      pV Uu. uF  qV P                  ,           NK  	  p	p\        \        WR,          4      4      V n
        \        \        V P                  P                  V4      4      V n        V P                  4        V =V =R# u upi u upi u upi )rm   rm   NNN)r*   r)   r   r   r%   r   r0   slicerB   r-   r   rC   r1   getGlyphNamerE   r   )r   	numGlyphs
glyphIndexindexingOffsetsindexingLocationslocoffsetArrayrI   offsetZmodifiedOffsets
dataFormatoffsetDataSizes   &         r   r.   ZU_createOffsetArrayIndexSubTableMixin.<locals>.OffsetArrayIndexSubTableMixin.decompile  s;   ++d.B.BBQFI>CIPQM>R>R
^++>R   !$OR5H I -,C j$))E3K*@A!DD,  
 E$"6"68K8Ka8OPQHKVW;(<(<<<;OW!#or7J"KLDNc$++":":HEFDJ!!#	4; Xs   E#?EE#c                sZ  <a \        V P                  V P                  R ,          4       F  w  r#K  	  \        \        VP                  V P
                  4      4      o\        S4      p\        V P                  4      p\        \        V P                  V P                  ^,           4      4      p. pV Fp  pW^ ,          8w  d2   VP                  V^ ,          ^ ,          V^ ,          ^ ,          34       KA  VP                  4        VP                  VP                  4       4       Kr  	  \        V^ ,          4      VR ,           U	u. uF  q^,          NK  	  up	,           p
\        V
4      V n        V
 Uu. uF  qV P                  ,
          NK  	  pp\        P                  W4      .pTV Uu. uF  p\         P"                  ! SV4      NK  	  up,          pS\%        V4      ,          ^,          ^ 8w  d'   VP                  \         P"                  ! S^ 4      4       \'        V4      # u up	i u upi u upi )r   )r   r   rB   rC   rD   rE   r	   r   r)   r*   r   ZpopleftrF   r-   r|   rG   r%   r@   r?   r   )r   r1   curLocnxtLocZidQueueZlocQueueZallGlyphIdsZallLocationscurIdr   offsetsr   r   rH   ZoffsetValuerI   r   r   s   &&             @r   rG   ZS_createOffsetArrayIndexSubTableMixin.<locals>.OffsetArrayIndexSubTableMixin.compile  s    #&dnndnnR6H"I"I
 C 1 14::>?H HoGT^^,HuT%9%94;N;NQR;RSTKL$AJ& ''!Q!Q(HIOO% ''(8(8(:; % <?+bAQ.RAQ#1vvAQ.RRG $'w<D GNOwVD$8$888wKO)11$?@HHSHSJ4 H K 00149J :;X&& /S
 Ps    H.H#& H(r-   r   rE   NrZ   r[   r\   r]   r.   rG   r^   r_   )ra   r   r   s   @r   OffsetArrayIndexSubTableMixinr     s     	'&*	' *	'r   r   )r%   rA   object)ZformatStringForDataTyper   r   r   s   & @@r   $_createOffsetArrayIndexSubTableMixinr     s6    ..J__Z0N>' >' >'@ )(r   c                   rc   )FixedSizeIndexSubTableMixini-  c                s    VP                  R V P                  R7       VP                  4        V P                  P	                  W4       R# )	imageSizerq   N)rL   r   rM   metricsrN   r   r}   r   r   Z(FixedSizeIndexSubTableMixin.writeMetrics.  s5    DNN;6*r   c                s   V F  p\        V\        4      '       g   K  Vw  rpVR 8X  d   \        VR,          4      V n        K@  V\        P
                  8X  d.   \	        4       V n        V P                  P                  WW44       K  V\        P
                  8X  g   K  \        P                  RV P                  4       K  	  R# )r   rr   z-SmallGlyphMetrics being ignored in format %d.N)ri   rj   r   r   r   rZ   r   rT   r   rx   ry   r   r   r   r   r   Z'FixedSizeIndexSubTableMixin.readMetrics3  s    Ggu--#* D{"!)%.!9111.0$$T'B*333CTEUEU r   c                sX    V P                   \        V4      ,
          R ,          pW,           # )s    )r   r?   )r   r0   Zpads   && r   r   Z)FixedSizeIndexSubTableMixin.padBitmapDataB  s#     ~~D	)U2zr   )r   r   N)	rZ   r[   r\   r]   r   r   r   r^   r_   r`   rb   r   r   r   -  s     +
 r   r   c                       ] tR tRtRtR# )eblc_index_sub_table_1iM  rz   NrZ   r[   r\   r]   r^   rz   r   r   r   r   M       	r   r   ZLc                   r{   )eblc_index_sub_table_2iS  c                s   \         P                  ! R V P                  R,          4      w  V n        \	        4       V n        \        P                  ! \        V P                  R,          V P
                  4       \        \        V P                  V P                  ^,           4      4      p\        \        V4      ^,           4       Uu. uF&  q P                  V,          V P                  ,           NK(  	  pp\        \        W3R,          4      4      V n        \        \#        V P$                  P&                  V4      4      V n        V =V =R# u upi >LN   Nr   NNr   N)r%   r   r0   r   r   r   r   r   r   rB   r   r)   r*   r?   r-   r   r   rC   r1   r   rE   )r   rI   r2   r   r   r   r.   Z eblc_index_sub_table_2.decompileT  s    "MM$		">&(-tyy}dllKd22D4G4G!4KLM?DS]UVEV?W
?W!NNQ!5!555?W 	 
 c'2;78#dkk66AB
It{
s   ,Ec           
     s   \        \        VP                  V P                  4      4      p\	        \        \        \        V P                  !  4      4      4      V n	        \        P                  W4      .pVP                  \        P                  ! R V P                  4      4       VP                  \         P                  ! \"        V P$                  4      4       \'        V4      # )r   )rB   rC   rD   rE   rF   nextiterr   r   r-   r|   rG   r   r%   r@   r   r   r   r   r   )r   r1   rI   rH   s   &&  r   rG   Zeblc_index_sub_table_2.compile`  s    F--tzz:;
  #4S$..-A(B#CD%--d;<D$..9:%:DLLIJ""r   )r-   r   r   r   rE   Nr   r`   rb   r   r   r   S  s     
## #r   r   c                   r   )eblc_index_sub_table_3in  rz   Nr   rz   r   r   r   r   n  r   r   r   ZHc                   r{   )eblc_index_sub_table_4it  c                s   \         P                  ! R V P                  R,          4      w  pV P                  R,          p\        V^,           4       Uu. uF  q3\        ,          NK  	  pp\        WDR,          4      pV Uu. uF,  p\         P                  ! \        V\        V!  ,          4      NK.  	  pp\        \        \        \        V!  4      4      w  rVP                  4        V	 U
u. uF  qV P                  ,           NK  	  p	p
\        \        WR,          4      4      V n        \        \        V P                  P                  V4      4      V n        V =V =R# u upi u upi u up
i r   )r%   r   r0   r   codeOffsetPairSizer   codeOffsetPairFormatr   rB   rC   Zpopr-   r   r1   r   rE   )r   r   r0   r   r   r   r   Z
glyphArrayrI   r   r   s   &          r   r.   Z eblc_index_sub_table_4.decompileu  s/   }}T499R=9yy}>CIPQM>R
>R
+++>R 	 
  1DE )
( MM.UC[0AB( 	 
 !T3
+;!<=?FGwVD0000wGc'2;78#dkk66AB
It{

 Hs   E?2E)E$c                s&   \        V P                  V P                  R ,          4       F  w  r#K  	  \        V P                  ^ ,          4      V P                  R ,           Uu. uF  qD^,          NK  	  up,           p\        V4      V n        V Uu. uF  qfV P                  ,
          NK  	  pp\        \        VP                  V P                  4      4      p\        \        P                  ! V^ .4      4      p\        P                  W4      .p	V	P                  \        P                  ! R\        V4      4      4       \        W4       U
u. uF  p
\        P                  ! \         .V
O5!  NK!  	  pp
W,          p	\#        V	4      pV# u upi u upi u up
i )r   r   )r   r   rB   rF   r-   rC   rD   rE   	itertoolsZchainr|   rG   r   r%   r@   r?   r   r   )r   r1   r   r   r   r   r   rI   Z
idsPlusPadrH   ZcopZtmpr0   s   &&           r   rG   Zeblc_index_sub_table_4.compile  sD    "$..$..2DENFFE
 t~~a()t~~b?Q,R?QVV?Q,RR  #7|?FGwVD0000wGF--tzz:;)//(QC89
%--d;<D#h-89?B:?W
?WFKK,3s3?W 	 
 	"# -S
 H
s   !FF	%Fr   Nr   r`   rb   r   r   r   t  s     #( r   r   c                   r{   )eblc_index_sub_table_5i  c                s,   ^ V n         \        P                  ! RV P                  R,          4      w  V n        V P                  R,          p\
        P                  ! \        V\        4       4      w  V n	        p\        P                  ! RVR,          4      w  pVR,          p\        V4       Uu. uF9  p\        P                  ! RV^V,          ^V^,           ,           4      ^ ,          NK;  	  pp\        \        V4      ^,           4       Uu. uF&  q0P                  V,          V P                  ,           NK(  	  pp\        \        WUR,          4      4      V n        \        \!        V P"                  P$                  V4      4      V n        V =V =R# u upi u upi )r    r   r   r   >Hr   N)origDataLenr%   r   r0   r   r   r   r   r   r   r   r?   r-   rB   r   r   rC   r1   r   rE   )r   r0   r   r2   rI   r   s   &     r   r.   Z eblc_index_sub_table_5.decompile  sH   "MM$		">yy}$__!4):
d }}T484BxGLYGW
GW!FMM$QUQ!a%[ 9:1==GW 	 

 @ES]UVEV?W
?W!NNQ!5!555?W 	 
 c'2;78#dkk66AB
It{

s   ,?F
,Fc           
     s    \        \        \        \        V P                  !  4      4      4      V n        \        P                  W4      .pVP                  \        P                  ! R V P                  4      4       VP                  \        P                  ! \        V P                  4      4       \        \!        VP"                  V P$                  4      4      pVP                  \        P                  ! R \'        V4      4      4       Y# Uu. uF  p\        P                  ! RV4      NK  	  up,          p\'        V4      ^,          ^8X  d'   VP                  \        P                  ! R^ 4      4       \)        V4      # u upi )r   r   )rF   r   r   r   r   r-   r|   rG   r   r%   r@   r   r   r   r   rB   rC   rD   rE   r?   r   )r   r1   rH   rI   r   s   &&   r   rG   Zeblc_index_sub_table_5.compile  s    "4S$..-A(B#CD%--d;<D$..9:%:DLLIJF--tzz:;D#h-898D8%V[[u-8DDx=1!OOFKKa01"" Es   
 E;)r-   r   r   r   rE   r   Nr   r`   rb   r   r   r     s     #(
# 
#r   r   ).ZfontTools.miscr   Z r   ZfontTools.misc.textToolsr   r   ZBitmapGlyphMetricsr   r   r   r   r%   r   Zcollectionsr	   ZloggingZ	getLoggerrZ   rx   r   r   r    r!   r&   rA   r$   r'   r(   r   r   r
   r   r   rd   r   rk   r|   r   r   r   r   r   r   r   r   rz   r   r   <module>r      s   "  8      !      " )AB  __%9:  __%9: G2\.. G2T:V :D(Yf (YV<f <*  7 iF iF^E)V& @	(-/@	#8:K #6	(-/@	.. .b#8:K #H  r   