L i3ddlmZddlmZGddeZGddeZGddeZGd d eZGd d eZ Gd deZ GddeZ GddeZ GddeZ GddeZGddeZGddeZGddeZGddeZGdd eZGd!d"eZGd#d$eZGd%d&eZGd'd(eZGd)d*eZGd+d,eZGd-d.eZGd/d0eZGd1d2eZGd3d4eZGd5d6eZGd7d8eZGd9d:eZ y;)<) VoltLibError) NamedTuplecPeZdZUeed<eed<eed<eed<eed<eed<dZy) Posadvdxdy adv_adjust_by dx_adjust_by dy_adjust_bycd}dD]]}t||}||d|jd|z }t||di}|jD]\}}|d|d|z }_|dz }|S)Nz POS)rrr  _adjust_byz ADJUST_BY  AT z END_POS)getattrupperitems)selfresattrvalue adjust_bysize adjustments [/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/fontTools/voltLib/ast.py__str__z Pos.__str__ s' @DD$'E 4::<.%11#DTF**=rB (1(9@$D*[ D??C@  @ z N)__name__ __module__ __qualname__int__annotations__dictrrrrrs( H G G rrc eZdZddZdZdZy)ElementNc||_yNlocation)rr*s r__init__zElement.__init__s   rcyr(r$)rbuilders rbuildz Element.builds rctr()NotImplementedErrorrs rrzElement.__str__!s!!rr(rrr r+r.rr$rrr&r&s! "rr&c eZdZy) StatementNrrr r$rrr4r4%rr4c eZdZy) ExpressionNr5r$rrr8r8)r6rr8ceZdZdZdZdZy)VoltFilec@tj|dg|_y)Nr))r4r+ statementsr1s rr+zVoltFile.__init__.s4$/rcH|jD]}|j|yr()r<r.)rr-ss rr.zVoltFile.build2s! A GGG  rcRddjd|jDzdzS)N c32K|]}t|ywr(str.0r>s r z#VoltFile.__str__..7s@1A@z END )joinr<r1s rrzVoltFile.__str__6s%dii@@@@8KKrNr2r$rrr:r:-sLrr:ceZdZddZdZy)GlyphDefinitionNcvtj||||_||_||_||_||_yr()r4r+nameidunicodetype components)rrLgidgunicodegtyperPr*s rr+zGlyphDefinition.__init__;s54*   $rcd|jd|j}|jYt|jdkDr,dj d|jD}|d|dz }n|d|jd z }|j |d |j z }|j |d |j z }|d z }|S) Nz DEF_GLYPH "z" ID ,c3(K|] }d|d yw)zU+04XNr$)rEus rrFz*GlyphDefinition.__str__..Gs#GQb3L#Gz UNICODEVALUES ""z UNICODE rz TYPE z COMPONENTS z END_GLYPH)rLrMrNlenrHrOrP)rrunicodess rrzGlyphDefinition.__str__CsDII;eDGG95 << #4<< 1$88#G$,,#GG)(1554<<?"344 99 VDII;' 'C ?? & \$//!23 3C | rr(rrr r+rr$rrrJrJ:s % rrJc"eZdZddZddZdZy)GroupDefinitionNcZtj||||_||_d|_yr()r4r+rLenumglyphs_)rrLrbr*s rr+zGroupDefinition.__init__Ts'4*   rc@|1|j|vr#td|jz|j|jT|t |jh}n|j |j|j j||_|jS)NzGroup "%s" contains itself.)rLrr*rcsetaddrbglyphSet)rgroupss rrgzGroupDefinition.glyphSetZs  $))v"5-;T]]  << ~dii[) 499%99--f5DL||rcv|jxrt|jxsd}d|jd|dS)Nz DEF_GROUP "" z END_GROUP)rbrCrLrrbs rrzGroupDefinition.__str__gs6yy+S^1rTYYKs4& <tj||||_yr()r8r+glyph)rrpr*s rr+zGlyphName.__init__osD(+ rc|jfSr(rpr1s rrgzGlyphName.glyphSetss }rc"d|jdS)Nz GLYPH "r[rrr1s rrzGlyphName.__str__v$**Q''rr(rrr __doc__r+rgrr$rrrnrnls/(rrnc,eZdZdZddZdZddZdZy)EnumzAn enumNc>tj||||_yr()r8r+rb)rrbr*s rr+z Enum.__init__}sD(+ rc#>K|jD]}|ywr()rg)res r__iter__z Enum.__iter__s  AG scg}|jD]X}t|ttfr!|j |j |:|j |j Zt |Sr()rb isinstance GroupNamerxextendrgtuple)rrhglyphselements rrgz Enum.glyphSetsayy 2G'It#45 g..v67 g..01  2 V}rcRdjd|jD}d|dS)Nrjc32K|]}t|ywr(rB)rEr{s rrFzEnum.__str__..s1!s1v1rGz ENUMz END_ENUM)rHrbrls rrz Enum.__str__s)ww1tyy11tfI&&rr()rrr rvr+r|rgrr$rrrxrxzs'rrxc&eZdZdZddZddZdZy)rz A glyph groupNcLtj||||_||_yr()r8r+groupparser_)rrparserr*s rr+zGroupName.__init__s D(+  rc|jj|j}|"|j||_|jSt d|jz|j )Nz!Group "%s" is used but undefined.)r resolve_grouprrgrcrr*)rrhrs rrgzGroupName.glyphSetsY **4::6   >>&1DL<< 3tzzBDMM rc"d|jdS)Nz GROUP "r[)rr1s rrzGroupName.__str__rtrr(rur$rrrrs (rrc$eZdZdZddZdZdZy)Rangez A glyph rangeNcZtj||||_||_||_yr()r8r+startendr)rrrrr*s rr+zRange.__init__s'D(+  rctt|jj|j|jSr()rr glyph_rangerrr1s rrgzRange.glyphSets&T[[,,TZZBCCrc<d|jd|jdS)Nz RANGE "z" TO "r[)rrr1s rrz Range.__str__s$**VDHH:Q77rr(rur$rrrrs D8rrceZdZddZdZy)ScriptDefinitionNcZtj||||_||_||_yr()r4r+rLtaglangs)rrLrrr*s rr+zScriptDefinition.__init__s'4*  rcd}|j|d|jdz }|d|jdz }|jD]}||z } |dz }|S)N DEF_SCRIPT NAME "r[ TAG "" END_SCRIPT)rLrr)rrlangs rrzScriptDefinition.__str__sm 99 WTYYKq) )C z''JJ D dV C  | rr(r^r$rrrrs  rrceZdZddZdZy)LangSysDefinitionNcZtj||||_||_||_yr()r4r+rLrfeatures)rrLrrr*s rr+zLangSysDefinition.__init__s'4*   rcd}|j|d|jdz }|d|jdz }|jD]}||z } |dz }|S)N DEF_LANGSYSrr[rrz END_LANGSYS )rLrr)rrfeatures rrzLangSysDefinition.__str__sm 99 WTYYKq) )C z''}} G gY C   rr(r^r$rrrrs ! rrceZdZddZdZy)FeatureDefinitionNcZtj||||_||_||_yr()r4r+rLrlookups)rrLrrr*s rr+zFeatureDefinition.__init__s'4*  rcd|jd|jd}|ddjd|jDzdzz }|dz }|S)NzDEF_FEATURE NAME "z" TAG "rkrc3(K|] }d|d yw)zLOOKUP "r[Nr$)rEls rrFz,FeatureDefinition.__str__..sD!1oDrZr@z END_FEATURE )rLrrHr)rrs rrzFeatureDefinition.__str__sT"499+WTXXJcB sSXXDt||DDDtKK  rr(r^r$rrrrs  rrceZdZ ddZdZy)LookupDefinitionNc tj|| ||_||_||_||_||_||_||_||_ | |_ | |_ yr() r4r+rL process_base process_marksmark_glyph_set directionreversalcommentscontextsubpos) rrLrrrrrrrrrr*s rr+zLookupDefinition.__init__s] 4* (*,"     rcd|jd}|d|jxrdxsdz }|jrY|dz }|jr|d|jdz }n9t |jt r|d|jdz }n |dz }n|d z }|j |d |j z }|jr|d z }|j%|jjd d }|d|dz }|jr)|d d jd|jDzz }n|dz }|jr|d |jz }|jr|d |jz }|S)Nz DEF_LOOKUP "r[r PROCESS_BASE SKIP_BASEz PROCESS_MARKS zMARK_GLYPH_SET "ALLz SKIP_MARKSz DIRECTION z REVERSALr@z\nz COMMENTS "c32K|]}t|ywr(rBrEcs rrFz+LookupDefinition.__str__..s#AqCF#ArGz IN_CONTEXT END_CONTEXT)rLrrrr~rCrrrreplacerrHrr)rrrs rrzLookupDefinition.__str__s~TYYKq) 4$$7F;GHH    $ $C"")$*=*=)>a@@D..44--.a00u  = C >> % [ 01 1C == ; C == $}},,T59H \(1- -C << 4$))#ADLL#AAA AC . .C 88 Rz? "C 88 Rz? "C rr(r^r$rrrrs4rrceZdZddZdZy)SubstitutionDefinitionNc>tj||||_yr()r4r+mapping)rrr*s rr+zSubstitutionDefinition.__init__&s4* rcd}|jjD]A\}}djd|D}djd|D}|d|d|dz }C|dz }|S) NzAS_SUBSTITUTION rjc32K|]}t|ywr(rBrDs rrFz1SubstitutionDefinition.__str__..-.Q#a&.rGc32K|]}t|ywr(rB)rEds rrFz1SubstitutionDefinition.__str__...rrGSUBz WITHz END_SUB END_SUBSTITUTION)rrrH)rrsrcdsts rrzSubstitutionDefinition.__str__*sz! **, 5HC''.#..C''.#..C SVC5 4 4C 5 !! rr(r^r$rrrr%s rrc eZdZy)SubstitutionSingleDefinitionNr5r$rrrr4r6rrc eZdZy)SubstitutionMultipleDefinitionNr5r$rrrr8r6rrc eZdZy)SubstitutionLigatureDefinitionNr5r$rrrr<r6rrc eZdZy)SubstitutionAlternateDefinitionNr5r$rrrr@r6rrc eZdZy)+SubstitutionReverseChainingSingleDefinitionNr5r$rrrrDr6rrceZdZddZdZy)PositionAttachDefinitionNcLtj||||_||_yr()r4r+coverage coverage_to)rrrr*s rr+z!PositionAttachDefinition.__init__Is!4*  &rcdjd|jD}d|d}|jD](\}}djd|D}||d|dz }*|dz }|S) Nrjc32K|]}t|ywr(rBrs rrFz3PositionAttachDefinition.__str__..Os9a3q69rGzAS_POSITION ATTACHz TOc32K|]}t|ywr(rBrs rrFz3PositionAttachDefinition.__str__..R8!s1v8rGz AT ANCHOR "r[ END_ATTACH END_POSITION)rHrr)rrranchors rrz PositionAttachDefinition.__str__Ns7794==99#H:T2 $ 0 0 6 Hfww8x88H hZ|F815 5C 6 ++ rr(r^r$rrrrHs ' rrceZdZddZdZy)PositionAttachCursiveDefinitionNcLtj||||_||_yr()r4r+coverages_exitcoverages_enter)rrrr*s rr+z(PositionAttachCursiveDefinition.__init__Ys"4*,.rcd}|jD]"}djd|D}|d|z }$|jD]"}djd|D}|d|z }$|dz }|S)NzAS_POSITION ATTACH_CURSIVErjc32K|]}t|ywr(rBrs rrFz:PositionAttachCursiveDefinition.__str__..arrGz EXIT c32K|]}t|ywr(rBrs rrFz:PositionAttachCursiveDefinition.__str__..drrGz ENTER r)rrHrrrrs rrz'PositionAttachCursiveDefinition.__str__^s+++ (Hww8x88H WXJ' 'C (,, )Hww8x88H XhZ( (C ) ++ rr(r^r$rrrrXs / rrceZdZddZdZy)PositionAdjustPairDefinitionNcZtj||||_||_||_yr()r4r+ coverages_1 coverages_2 adjust_pair)rrrrr*s rr+z%PositionAdjustPairDefinition.__init__ks*4*&&&rc ^d}|jD]"}djd|D}|d|z }$|dz }|jD]"}djd|D}|d|z }$|dz }|jj D]\\}}\}}|d|d|d||dz }|d z }|S) NzAS_POSITION ADJUST_PAIR rc32K|]}t|ywr(rBrs rrFz7PositionAdjustPairDefinition.__str__..t91A9rGz FIRST r@c32K|]}t|ywr(rBrs rrFz7PositionAdjustPairDefinition.__str__..xrrGz SECOND  BY END_ADJUST END_POSITION)rrHrrr)rrrid_1id_2pos_1pos_2s rrz$PositionAdjustPairDefinition.__str__qs*(( (Hxx999H WXJ' 'C ( t (( )Hxx999H XhZ( (C ) t ,0,<,<,B,B,D 8 (LT4.5% QtfAdV3ugeWB7 7C 8 ++ rr(r^r$rrrrjs ' rrceZdZddZdZy)PositionAdjustSingleDefinitionNc>tj||||_yr()r4r+ adjust_single)rrr*s rr+z'PositionAdjustSingleDefinition.__init__s4**rcd}|jD]'\}}djd|D}||d|z })|dz }|S)NzAS_POSITION ADJUST_SINGLErjc32K|]}t|ywr(rBrs rrFz9PositionAdjustSingleDefinition.__str__..rrGrr)rrH)rrrrs rrz&PositionAdjustSingleDefinition.__str__s[*!// )MHcww8x88H hZs3%( (C ) ++ rr(r^r$rrrrs +rrceZdZddZdZy)ContextDefinitionNcvtj||||_||ng|_|||_yg|_yr()r4r+ex_or_inleftright)rrr r r*s rr+zContextDefinition.__init__s94*   ,D" #/U R rc|jdz}|jD]#}djd|D}|d|dz }%|jD]#}djd|D}|d|dz }%|dz }|S)Nr@rjc32K|]}t|ywr(rBrs rrFz,ContextDefinition.__str__..rrGz LEFTc32K|]}t|ywr(rBrs rrFz,ContextDefinition.__str__..rrGz RIGHT END_CONTEXT)rr rHr rs rrzContextDefinition.__str__smmd"  (Hww8x88H U8*B' 'C (  )Hww8x88H VH:R( (C ) } r)NNNr^r$rrrrs 8 rrceZdZddZdZy)AnchorDefinitionNctj||||_||_||_||_||_||_yr()r4r+rLrQ glyph_name componentlockedr)rrLrQrrrrr*s rr+zAnchorDefinition.__init__s<4* $" rc |jxrdxsd}d|jd|jd|jd|j|d|j d S) Nz LOCKEDrjz DEF_ANCHOR "z" ON z GLYPH z COMPONENT rz END_ANCHOR)rrLrQrrr)rrs rrzAnchorDefinition.__str__sb*0b499+&88*doo&$..)h488*K  ) rr(r^r$rrrrs   rrceZdZddZdZy)SettingDefinitionNcLtj||||_||_yr()r4r+rLr)rrLrr*s rr+zSettingDefinition.__init__s 4*  rc|jdur |jSt|jttfr3dj d|jD}|jd|S|jd|jS)NTrc32K|]}t|ywr(rB)rEvs rrFz,SettingDefinition.__str__..s8SV8rG)rrLr~rlistrH)rrs rrzSettingDefinition.__str__sr :: ii[ ! djj5$- 0HH8TZZ88Eii[%) )))Adjj\**rr(r^r$rrrrs  +rrN)!fontTools.voltLib.errorrtypingrrobjectr&r4r8r:rJr`rnrxrrrrrrrrrrrrrrrrrrrr$rrr sc0**"f"     Ly Li2=i=2 ( (':'2( (, 8J 8 y$ $  7y7t Y  #9  %;  %;  &<  2H  y  i$9. Y  & y , + +r