+
    iC/                     V   ^ RI HtHtHtHtHt ^ RIHt ^RIH	t	H
t
HtHtHtHtHtHtHtHtHtHtHtHt ^ RIt^ RIHt ^ RIHt ^ RIt]P:                  ! ]4      tRt ]PB                  ! ]! R]R	.4      4      t"]! R
]R	.4      t#]PB                  ! ]#4      t$]PB                  ! R4      t%Rt&RPO                  ]&PQ                  4       4      t&]PB                  ! ]&4      t)]PB                  ! ]! R]R.4      4      t* ! R R]+4      t, ! R R]+4      t- ! R R].4      t/ ! R R]	4      t0R t1RR lt2R# )    )bytechrbyteord	bytesjointobytestostr)eexec)PSOperatorsps_StandardEncodingps_array
ps_booleanps_dict
ps_integer
ps_literalps_markps_nameps_operatorps_procedureps_procmarkps_real	ps_stringN)Callable)
whitespaces	   ()<>[]{}%   [s   ]*s   [^][(){}<>/%s   %[^
]*sf   
	\(
		(
			(
				[^()]*   \   [()]
			)
			|
			(
				[^()]*  \(   [^()]*  \)
			)
		)*
		[^()]*
	\)
    s   <[s   0-9A-Fa-f]*>c                       ] tR t^7tRtR# )PSTokenError N__name__
__module____qualname____firstlineno____static_attributes__r   r   t/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/fontTools/misc/psLib.pyr   r   7       r   r   c                       ] tR t^;tRtR# )PSErrorr   Nr   r   r   r$   r'   r'   ;   r%   r   r'   c                      a  ] tR t^?t o R
R ltRR ltR t]]]	P                  ]P                  ]P                  ]P                  3R lt]P                  3R ltR tR tRtV tR	# )PSTokenizerc                p    \        V4      pWn        \        V4      V n        ^ V n        RV n        W n        R# )r   FN)r   buflenposclosedencoding)selfr+   r/   s   &&&r$   __init__PSTokenizer.__init__@   s.    cls8 r   c                    V P                   '       d   \        R4      hVe   V^ 8  d   V P                  pM'\        V P                  V,           V P                  4      pV P
                  V P                  V pW n        V# )zRead at most 'n' bytes from the buffer, or less if the read
hits EOF before obtaining 'n' bytes.
If 'n' is negative or omitted, read all data until EOF is reached.
zI/O operation on closed file)r.   
ValueErrorr,   minr-   r+   )r0   nnewposrs   &&  r$   readPSTokenizer.readI   sc    
 ;;;;<<9AXXFAtxx0FHHTXX'r   c                D    V P                   '       g   R V n         V =V =R# R# )TN)r.   r+   r-   r0   s   &r$   closePSTokenizer.closeX   s     {{{DK$( r   c                D   V P                  4        V P                  V P                  8  d   R# V P                  pV P                  p\	        \        W,          4      4      p	W9   d   V	R9   d   Rp
T	pEMV	R8X  d    Rp
V! W4      P                  4       w  rWV pMV	R8X  d8   Rp
V! W4      pVf   \        RV,          4      hVP                  4       w  rWV pMV	R8X  d8   R	p
V! W4      pVf   \        R
V,          4      hVP                  4       w  rWV pMa\        RV,          4      hV	R8X  d   Rp
V! W^,           4      pM
Rp
V! W4      pVf   \        RV,          4      hVP                  4       w  rWV pWq! V4      ,           V n        \        WP                  R7      pW3# )Ns   {}[]
do_special   %
do_comment   (	do_stringzbad string at character %d   <do_hexstringzbad hexstring at character %dzbad token at character %d   /
do_literal r/   )NN)
	skipwhiter-   r,   r+   r   r   spanr   r   r/   )r0   r,   
ps_specialstringmatchhexstringmatchcommentmatchendmatchr-   r+   char	tokentypetoken_nextposms   &&&&&&&        r$   getnexttokenPSTokenizer.getnexttoken]   s    	88txxhhhhwsx()w(	(	)#388:
('	)9&'Cc'IJJVVX
(*	"3,9&'F'LMMVVX
("#>#DEEt|(	S'*	S&y"#>#DEEJAG$EU#emm4r   c                l    V! V P                   V P                  4      P                  4       w  r#W0n        R # N)r+   r-   rL   )r0   
whitematchrU   rV   s   &&  r$   rK   PSTokenizer.skipwhite   s&    $((388:
r   c                   V P                   ^,           V n         V P                  V P                   R V n        \        P                  ! V P                  R4      w  V n        p\        V P                  4      V n        ^V n         R# )   Niq  )r-   r+   dirtybufr   decryptr,   )r0   Rs   & r$   
starteexecPSTokenizer.starteexec   sW    88a<,mmDMM59!txx=r   c                T    \        V R 4      '       g   R# V P                  V n        V =R# )r`   N)hasattrr`   r+   r<   s   &r$   	stopeexecPSTokenizer.stopeexec   s"    tZ((==Mr   )r+   r.   r`   r/   r,   r-   N)r   ascii))r   r    r!   r"   r1   r9   r=   r,   rM   stringREmatchhexstringRE	commentREendofthingRErX   skipwhiteRErK   rc   rg   r#   __classdictcell____classdict__s   @r$   r)   r)   ?   sa     !# NN"((__##5 n $/#4#4  r   r)   c                      a  ] tR t^t o RR ltR tR t]3R ltR t	R t
R t]]]]]3R ltR	 tR
 tR tR tR tR tR tR tR tRtV tR# )PSInterpreterc                    / p/ pWn         W#.V n        . V n        ^ V n        \	        4       V n        V P                  4        R# )r   N)r/   	dictstackstack	proclevelr   procmarkfillsystemdict)r0   r/   
systemdictuserdicts   &&  r$   r1   PSInterpreter.__init__   s>    
 $/
#r   c                >   V P                   ^ ,          p\        4       ;VR&   ;VR&   V n        \        RV P                  4      VR&   \        ^4      VR&   \        ^ 4      VR&   \        \        4      VR&   \        / 4      VR&   V P                  WP                  4       R# )	r   [mark]truefalseStandardEncodingFontDirectoryN)rw   r   r   r   do_makearrayr   r   r
   r   suckoperators	__class__)r0   r|   s   & r$   r{   PSInterpreter.fillsystemdict   s    ^^A&
;B9D
3D*V,ty%c4+<+<=
3']
6(m
7)12E)F
%&&-bk
?#:~~6r   c                   \        V4       FL  p\        W4      p\        V\        4      '       g   K&  VR ,          R8X  g   K6  VR,          p\	        W44      W&   KN  	  VP
                   F  pV P                  W4       K  	  R# ):N   Nps_:r   NNN)dirgetattr
isinstancer   r   	__bases__r   )r0   r|   klassnameattr	baseclasss   &&&   r$   r   PSInterpreter.suckoperators   sf    JD4&D$))d2h%.?Bx#.t#:
 	 
 Iz5 )r   c           	        \        WP                  4      ;q0n        VP                  pV P                  pV P
                  p  V! 4       w  rxV'       g   M1V'       d   V! W4      p	V	! V4      p
MV! V4      p
V
f   K:  V! V
4       KD  VP                  4        RV n        R#    T P                  e   \        P                  RT P                  P                  T P                  P                  ^2,
          T P                  P                   T P                  P                  T P                  P                  T P                  P                  ^2,            4       h ; i)r_   Nz/ps error:
- - - - - - -
%s
>>>
%s
- - - - - - -)r)   r/   	tokenizerrX   do_tokenhandle_objectr=   logdebugr+   r-   )r0   datar   r   rX   r   r   rS   rT   handlerobjects   &&&        r$   	interpretPSInterpreter.interpret   s   %0}}%EE	N --==**	#/> 	%d6G$U^F%e_F%!&)OO!DN	~~)		$ NN&&t~~'9'9B'>ASASTNN&&t~~'9'9DNN<N<NQS<ST	 s   B B ;!B B4Ec                   V P                   '       g   VP                  '       g   VP                  R 8X  g   VP                  R8w  d   V P                  VP                  4      pVP                  '       d   V P                  V4       R# VP                  R 8X  d   V P                  V4       R# VP                  4        R# V P                  V4       R# )proceduretypeoperatortypeN)ry   literaltyperesolve_namevaluepushcall_procedurefunctionr0   r   s   &&r$   r   PSInterpreter.handle_object   s    &...FKK?4R{{n,**6<<8~~~		&!;;/1''/OO%IIfr   c                T    V P                   pVP                   F  pV! V4       K  	  R # r[   )r   r   )r0   procr   items   &&  r$   r   PSInterpreter.call_procedure   s#    **JJD$ r   c                    V P                   p\        \        V4      ^,
          RR4       F!  pWV,          9   g   K  W#,          V,          u # 	  \        R\	        V4      ,           4      h)r_   zname error: rj   )rw   ranger,   r'   str)r0   r   rw   is   &&  r$   r   PSInterpreter.resolve_name   sT    NN	s9~)2r2A|# |D)) 3 ns4y011r   c                    V! V4      pV! V4      #   \         \        3 d     T! T4      pT! T4      u #   \         \        3 ds    R T9   d_   TP                  R 4      p T! TRT 4      p	T! Y^,           R T	4      pT! T4      u u #   \         \        3 d    T! T4      u u u # i ; iT! T4      u u # i ; ii ; i)#N)r4   OverflowErrorfind)
r0   rT   intfloatr   r   r   numhashposbases
   &&&&&&&   r$   r   PSInterpreter.do_token   s    	#e*C& c?"% M* 	$$El s|# . *%<#jjoG/"5'?3!%!"6=  *#. '6 .&u~-.
 #5>)*	$sY    B=6B=)B9 B	=B9B=	B)"B9$B=(B))B94B=8B99B=c                    R # r[   r   r0   rT   s   &&r$   rB   PSInterpreter.do_comment  s    r   c                &    \        VR ,          4      # ):r_   NN)r   r   s   &&r$   rH   PSInterpreter.do_literal!  s    %)$$r   c                    \        V^R 4      # )r_   rj   )r   r   s   &&r$   rD   PSInterpreter.do_string$  s    q%%r   c                X   R P                  V^R P                  4       4      p\        V4      ^,          '       d
   VR,           p. p\        ^ \        V4      ^4       F0  pVP	                  \        \        W$V^,            ^4      4      4       K2  	  R P                  V4      p\        V4      # )rI   0rj   )joinsplitr,   r   appendchrr   r   )r0   rT   hexStrcleanstrr   s   &&   r$   rF   PSInterpreter.do_hexstring'  s    q**,-v;??c\Fq#f+q)AOOCFq1u$5r :;< *778$""r   c                   VR 8X  d%   V P                   ^,           V n         V P                  # VR8X  dk   . p V P                  4       pW0P                  8X  d   MVP                  V4       K5  V P                   ^,
          V n         VP	                  4        \        V4      # VR8X  d   V P                  # VR8X  d   \        R4      # \        R4      h){}r   r   zhuh?)	ry   rz   popr   reverser   r   r   r   )r0   rT   r   	topobjects   &&  r$   r@   PSInterpreter.do_special1  s    C<!^^a/DN== c\D HHJ	-I&!^^a/DNLLN%%c\99c\3<v&&r   c                <    V P                   P                  V4       R # r[   )rx   r   r   s   &&r$   r   PSInterpreter.pushF  s    

&!r   c                    V P                   pV'       g   \        R 4      hVR,          pV'       d8   VP                  V9  d'   \        R\        V4      : RVP                  : 24      hVR V# )zstack underflowztypecheck, expected z, found rj   )rx   r'   r   repr)r0   typesrx   r   s   &*  r$   r   PSInterpreter.popI  s]    

+,,r{{%':>u+v{{S  "Ir   c                    . p V P                  4       pW P                  8X  d   MVP                  V4       K5  VP                  4        V P	                  \        V4      4       R# )r_   N)r   r   r   r   r   r   )r0   arrayr   s   &  r$   r   PSInterpreter.do_makearrayV  sG    
III%LL#		(5/"r   c                    V = V =R# )zRemove circular references.N)rx   rw   r<   s   &r$   r=   PSInterpreter.close`  s    JNr   )rw   r/   r   ry   rz   rx   r   Nri   )r   r    r!   r"   r1   r{   r   r   r   r   r   r   r   r   r   r   r   r   rB   rH   rD   rF   r@   r   r   r   r=   r#   rq   rr   s   @r$   ru   ru      sv     76 '. B 
2 #>%&#'*"# r   ru   c                    \        V P                  4      pV\        8X  d5   / pV P                  P                  4        F  w  r4\	        V4      W#&   K  	  V# V\
        8X  d   R .\        V P                  4      ,          p\        \        V P                  4      4       F!  p\	        V P                  V,          4      W%&   K#  	  V P                   R8X  d   \        V4      pV# V P                  pV# )Nr   )	r   r   dictitemsunpack_itemlistr,   r   tuple)r   tpnewitemkeyr   r   s   &     r$   r   r   f  s    	djj	B	Tz****,JC&u-GL - N 
t&3tzz?*s4::'A$TZZ]3GJ (99'GnG N **Nr   c                 2   \         P                  ! R V 4      pV'       d#   VP                  ^4      pVP                  4       pMRp\	        VR7      pVP                  R4       VP                  V 4       VP                  ^ ,          R,          P                  pW59   d
   WS,          pMY\        VP                  4       4      p\        V4      ^8  d   VP                  R4       VP                  4        WW^ ,          ,          pVP                  4        \        V4      # )s    /FontName\s+/([^ \t\n\r]+)\s+defNrJ   sC   /Helvetica 4 dict dup /Encoding StandardEncoding put definefont popr   	Helvetica)researchgroupdecoderu   r   rw   r   r   keysr,   removesortr=   r   )r   r/   rW   fontNameinterpreterfontdirrawfont	fontNamess   &&      r$   suckfontr   w  s    
		6=A771:??$2KN $##A&7==G# (	y>A[)A,'wr   r   )3fontTools.misc.textToolsr   r   r   r   r   fontTools.miscr   psOperatorsr	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   collections.abcr   stringr   logging	getLoggerr   r   rM   compilerp   endofthingPatro   rn   	stringPatr   r   rk   rm   	Exceptionr   r'   r   r)   ru   r   r   r   r   r$   <module>r     s   P P       
 $   !
jjD*e#<=>?J>?zz-(JJ|$		 HHY__&'	::i jjE:#GHI	9 		i 	d& dN}K }@" r   