Ë
    £ehC/  ã                   óR  — d dl mZmZmZmZmZ d dlmZ ddlm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZ d dlZd dlmZ d dlmZ d dlZ ej:                  e«      ZdZ  ejB                   ed	ed
g«      «      Z" eded
g«      Z# ejB                  e#«      Z$ ejB                  d«      Z%dZ&djO                  e&jQ                  «       «      Z& ejB                  e&«      Z) ejB                   ededg«      «      Z* G d„ de+«      Z, G d„ de+«      Z- G d„ de.«      Z/ G d„ de	«      Z0d„ Z1dd„Z2y)é    )Ú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                   ó   — e Zd Zy)ÚPSTokenErrorN©Ú__name__Ú
__module__Ú__qualname__© r   úR/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/fontTools/misc/psLib.pyr   r   7   ó   „ Ør   r   c                   ó   — e Zd Zy)ÚPSErrorNr   r"   r   r#   r&   r&   ;   r$   r   r&   c                   ó°   — e Zd Zd	d„Zd
d„Zd„ Zeeej                  e
j                  ej                  ej                  fd„Zej                  fd„Zd„ Zd„ Zy)ÚPSTokenizerc                 ór   — t        |«      }|| _        t        |«      | _        d| _        d| _        || _        y )Nr   F)r   ÚbufÚlenÚposÚclosedÚencoding)Úselfr*   r.   s      r#   Ú__init__zPSTokenizer.__init__@   s2   € ä�c‹lˆØˆŒÜ�s“8ˆŒØˆŒØˆŒØ ˆ�r   c                 óâ   — | j                   rt        d«      ‚|�|dk  r| j                  }n#t        | j                  |z   | j                  «      }| j
                  | j                  | }|| _        |S )z¼Read 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 filer   )r-   Ú
ValueErrorr+   Úminr,   r*   )r/   ÚnÚnewposÚrs       r#   ÚreadzPSTokenizer.readI   sc   € ð
 �;Š;ÜÐ;Ó<Ð<Øˆ9˜˜AšØ—X‘X‰Fä˜Ÿ™ A™ t§x¡xÓ0ˆFØ�H‰H�T—X‘X Ð'ˆØˆŒØˆr   c                 ó4   — | j                   sd| _         | `| `y y )NT)r-   r*   r,   ©r/   s    r#   ÚclosezPSTokenizer.closeX   s   € Ø�{Š{ØˆDŒKØ�˜$™(ð r   c                 ó   — | j                  «        | j                  | j                  k\  ry| j                  }| j                  }t	        t        ||   «      «      }	|	|v r°|	dv rd}
|	}nî|	dk(  r"d}
 |||«      j                  «       \  }}||| }nÇ|	dk(  r4d}
 |||«      }|€t        d|z  «      ‚|j                  «       \  }}||| }nŽ|	d	k(  r4d
}
 |||«      }|€t        d|z  «      ‚|j                  «       \  }}||| }nUt        d|z  «      ‚|	dk(  rd}
 |||dz   «      }nd}
 |||«      }|€t        d|z  «      ‚|j                  «       \  }}||| }| ||«      z   | _        t        || j                  ¬«      }|
|fS )N)NNs   {}[]Ú
do_specialó   %Ú
do_commentó   (Ú	do_stringzbad string at character %dó   <Údo_hexstringzbad hexstring at character %dzbad token at character %dó   /Ú
do_literalr	   Ú ©r.   )
Ú	skipwhiter,   r+   r*   r   r   Úspanr   r   r.   )r/   r+   Ú
ps_specialÚstringmatchÚhexstringmatchÚcommentmatchÚendmatchr,   r*   ÚcharÚ	tokentypeÚtokenÚ_ÚnextposÚms                  r#   ÚgetnexttokenzPSTokenizer.getnexttoken]   s¼  € ð 	�‰ÔØ�8‰8�t—x‘xÒØØ�h‰hˆØ�h‰hˆÜ”w˜s 3™xÓ(Ó)ˆØ�:ÑØ�w‰Ø(�	Ø‘Ø˜’Ø(�	Ù)¨#¨sÓ3×8Ñ8Ó:‘
��7Ø˜C Ð(‘Ø˜’Ø'�	Ù  SÓ)�Ø�9Ü&Ð'CÀcÑ'IÓJÐJØŸV™V›X‘
��7Ø˜C Ð(‘Ø˜’Ø*�	Ù" 3¨Ó,�Ø�9Ü&Ð'FÈÑ'LÓMÐMØŸV™V›X‘
��7Ø˜C Ð(‘ä"Ð#>ÀÑ#DÓEÐEà�tŠ|Ø(�	Ù˜S #¨¡'Ó*‘à�	Ù˜S #Ó&�ØˆyÜ"Ð#>ÀÑ#DÓEÐEØŸ™›‰JˆAˆwØ˜˜GÐ$ˆEØ™˜U›Ñ#ˆŒÜ�e d§m¡mÔ4ˆØ˜%ÐÐr   c                 ón   —  || j                   | j                  «      j                  «       \  }}|| _        y ©N)r*   r,   rH   )r/   Ú
whitematchrQ   rR   s       r#   rG   zPSTokenizer.skipwhite”   s*   € Ù §¡¨$¯(©(Ó3×8Ñ8Ó:‰
ˆˆ7Øˆ�r   c                 óú   — | j                   dz   | _         | j                  | j                   d  | _        t        j                  | j                  d«      \  | _        }t        | j                  «      | _        d| _         y )Nr	   iqÙ  é   )r,   r*   Údirtybufr   Údecryptr+   )r/   ÚRs     r#   Ú
starteexeczPSTokenizer.starteexec˜   sW   € Ø—8‘8˜a‘<ˆŒØŸ™ §¡ Ð,ˆŒÜ—m‘m D§M¡M°5Ó9‰ˆŒ�!Ü�t—x‘x“=ˆŒØˆ�r   c                 óD   — t        | d«      sy | j                  | _        | `y )NrZ   )ÚhasattrrZ   r*   r9   s    r#   Ú	stopeexeczPSTokenizer.stopeexecŸ   s   € Ü�t˜ZÔ(ØØ—=‘=ˆŒØ‰Mr   N)r   Úascii)éÿÿÿÿ)r   r    r!   r0   r7   r:   r+   rI   ÚstringREÚmatchÚhexstringREÚ	commentREÚendofthingRErT   ÚskipwhiteRErG   r]   r`   r"   r   r#   r(   r(   ?   sY   „ ó!óò#ð ØØ—N‘NØ"×(Ñ(Ø—_‘_Ø×#Ñ#ó5 ðn $/×#4Ñ#4ó òór   r(   c                   ó„   — e Zd Zdd„Zd„ Zd„ Zefd„Zd„ Zd„ Z	d„ Z
eeeeefd„Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚPSInterpreterc                 ó†   — i }i }|| _         ||g| _        g | _        d| _        t	        «       | _        | j                  «        y )Nr   )r.   Ú	dictstackÚstackÚ	proclevelr   ÚprocmarkÚfillsystemdict)r/   r.   Ú
systemdictÚuserdicts       r#   r0   zPSInterpreter.__init__§   sB   € Øˆ
ØˆØ ˆŒØ$ hÐ/ˆŒØˆŒ
ØˆŒÜ#›ˆŒØ×ÑÕr   c                 ó6  — | j                   d   }t        «       x|d<   x|d<   | _        t        d| j                  «      |d<   t        d«      |d<   t        d«      |d<   t        t        «      |d<   t        i «      |d	<   | j                  || j                  «       y )
Nr   ú[Úmarkú]r	   ÚtrueÚfalseÚStandardEncodingÚFontDirectory)rl   r   ru   r   Údo_makearrayr   r   r   r   ÚsuckoperatorsÚ	__class__)r/   rq   s     r#   rp   zPSInterpreter.fillsystemdict±   s‘   € Ø—^‘^ AÑ&ˆ
Ü;B»9ÐDˆ
�3‰ÐD˜* VÑ,¨t¬yÜ% c¨4×+<Ñ+<Ó=ˆ
�3‰Ü'¨›]ˆ
�6ÑÜ(¨›mˆ
�7ÑÜ)1Ô2EÓ)Fˆ
Ð%Ñ&Ü&-¨b£kˆ
�?Ñ#Ø×Ñ˜: t§~¡~Õ6r   c                 óÞ   — t        |«      D ]<  }t        | |«      }t        |t        «      sŒ |d d dk(  sŒ)|dd  }t	        ||«      ||<   Œ> |j
                  D ]  }| j                  ||«       Œ y )Né   Úps_)ÚdirÚgetattrÚ
isinstancer   r   Ú	__bases__r|   )r/   rq   ÚklassÚnameÚattrÚ	baseclasss         r#   r|   zPSInterpreter.suckoperators»   sy   € Ü˜“Jò 	;ˆDÜ˜4 Ó&ˆDÜ˜$¤Õ)¨d°2°A¨h¸%Ó.?Ø˜A˜B�x�Ü#.¨t°TÓ#:�
˜4Ò ð		;ð
 Ÿ™ò 	6ˆIØ×Ñ˜z¨9Õ5ñ	6r   c           	      óz  — t        || j                  «      x}| _        |j                  }| j                  }| j
                  }	 	  |«       \  }}|sn'|r || |«      }	 |	|«      }
n ||«      }
|
� ||
«       Œ4|j                  «        d | _        y #  | j                  �›t        j                  d| j                  j                  | j                  j                  dz
  | j                  j                   | j                  j                  | j                  j                  | j                  j                  dz    «       ‚ xY w)Nz/ps error:
- - - - - - -
%s
>>>
%s
- - - - - - -é2   )r(   r.   Ú	tokenizerrT   Údo_tokenÚhandle_objectr:   ÚlogÚdebugr*   r,   )r/   Údatar‚   r‹   rT   rŒ   r�   rO   rP   ÚhandlerÚobjects              r#   Ú	interpretzPSInterpreter.interpretÄ   s  € Ü%0°°t·}±}Ó%EÐEˆ	�D”NØ ×-Ñ-ˆØ—=‘=ˆØ×*Ñ*ˆð	ØÙ#/£>Ñ �	˜5ÙØÙÙ% d¨IÓ6�GÙ$ U›^‘Fá% e›_�FØÐ%Ù! &Ô)ð ð �O‰OÔØ!ˆD�Nøð	Ø�~‰~Ð)Ü—	‘	ð$ð —N‘N×&Ñ& t§~¡~×'9Ñ'9¸BÑ'>ÀÇÁ×ASÑASÐTØ—N‘N×&Ñ& t§~¡~×'9Ñ'9¸D¿N¹N×<NÑ<NÐQSÑ<SÐTô	ð ús   ÁAB ÂB*D:c                 óh  — | j                   s•|j                  s‰|j                  dk(  sz|j                  dk7  r| j                  |j                  «      }|j                  r| j                  |«       y |j                  dk(  r| j                  |«       y |j                  «        y | j                  |«       y )NÚproceduretypeÚoperatortype)rn   ÚliteralÚtypeÚresolve_nameÚvalueÚpushÚcall_procedureÚfunction©r/   r’   s     r#   r�   zPSInterpreter.handle_objectå   s}   € Ø—’ &§.¢.°F·K±KÀ?Ò4RØ�{‰{˜nÒ,Ø×*Ñ*¨6¯<©<Ó8�Ø�~Š~Ø—	‘	˜&Õ!à—;‘; /Ò1Ø×'Ñ'¨Õ/à—O‘OÕ%à�I‰I�fÕr   c                 óN   — | j                   }|j                  D ]
  } ||«       Œ y rV   )r�   rš   )r/   Úprocr�   Úitems       r#   rœ   zPSInterpreter.call_procedureó   s(   € Ø×*Ñ*ˆØ—J‘Jò 	 ˆDÙ˜$Õñ	 r   c                 ó¦   — | j                   }t        t        |«      dz
  dd«      D ]  }|||   v sŒ||   |   c S  t        dt	        |«      z   «      ‚)Nr	   rb   zname error: )rl   Úranger+   r&   Ústr)r/   r†   rl   Úis       r#   r™   zPSInterpreter.resolve_nameø   s]   € Ø—N‘Nˆ	Ü”s˜9“~¨Ñ)¨2¨rÓ2ò 	*ˆAØ�y ‘|Ò#Ø  ‘| DÑ)Ò)ð	*ô �n¤s¨4£yÑ0Ó1Ð1r   c                 óh  — 	  ||«      } ||«      S # t         t        f$ r� 	  ||«      } ||«      cY S # t         t        f$ rj d|v rY|j                  d«      }	  ||d | «      }	 |||dz   d  |	«      } ||«      cY cY S # t         t        f$ r  ||«      cY cY cY S w xY w ||«      cY cY S w xY ww xY w)Nú#r	   )r2   ÚOverflowErrorÚfind)
r/   rP   ÚintÚfloatr   r   r   ÚnumÚhashposÚbases
             r#   rŒ   zPSInterpreter.do_tokenÿ   sÚ   € ð	#Ù�e“*ˆCñ& ˜c“?Ð"øô% œMÐ*ò 	$ð$Ù˜E“l�ñ ˜s“|Ò#øô ¤Ð.ò *Ø˜%‘<Ø#Ÿj™j¨›o�Gð/Ù" 5¨¨' ?Ó3˜Ù! %¨°!©¨Ð"6¸Ó=˜ñ  *¨#›Ô.øô '¬Ð6ò .Ù& u›~Ö-ð.úñ
 # 5›>Ô)ð*úð	$úsY   ‚ ’B1¢4ªB1´$B-ÁA?Á3B-Á;B1Á?BÂB-ÂB1ÂBÂB-Â(B1Â,B-Â-B1c                  ó   — y rV   r"   ©r/   rP   s     r#   r>   zPSInterpreter.do_comment  s   € Ør   c                 ó   — t        |dd  «      S )Nr	   )r   r°   s     r#   rD   zPSInterpreter.do_literal!  s   € Ü˜%  ˜)Ó$Ð$r   c                 ó   — t        |dd «      S )Nr	   rb   )r   r°   s     r#   r@   zPSInterpreter.do_string$  s   € Ü˜˜q ˜Ó%Ð%r   c                 ó2  — dj                  |dd j                  «       «      }t        |«      dz  r|dz   }g }t        dt        |«      d«      D ],  }|j	                  t        t        |||dz    d«      «      «       Œ. dj                  |«      }t        |«      S )NrE   r	   rb   é   Ú0r   é   )ÚjoinÚsplitr+   r£   ÚappendÚchrrª   r   )r/   rP   ÚhexStrÚcleanstrr¥   s        r#   rB   zPSInterpreter.do_hexstring'  s�   € Ø—‘˜˜q ˜×*Ñ*Ó,Ó-ˆÜˆv‹;˜Š?Ø˜c‘\ˆFØˆÜ�qœ#˜f›+ qÓ)ò 	=ˆAØ�O‰OœC¤ F¨1¨q°1©uÐ$5°rÓ :Ó;Õ<ð	=à—7‘7˜8Ó$ˆÜ˜Ó"Ð"r   c                 óv  — |dk(  r | j                   dz   | _         | j                  S |dk(  rdg }	 | j                  «       }|| j                  k(  rn|j                  |«       Œ2| j                   dz
  | _         |j	                  «        t        |«      S |dk(  r| j                  S |dk(  rt        d«      S t        d«      ‚)Nú{r	   ú}rt   rv   zhuh?)	rn   ro   Úpopr¹   Úreverser   ru   r   r   )r/   rP   r    Ú	topobjects       r#   r<   zPSInterpreter.do_special1  s°   € Ø�CŠ<Ø!Ÿ^™^¨aÑ/ˆDŒNØ—=‘=Ð Ø�cŠ\ØˆDØØ ŸH™H›J�	Ø §¡Ò-ØØ—‘˜IÔ&ð	 ð
 "Ÿ^™^¨aÑ/ˆDŒNØ�L‰LŒNÜ Ó%Ð%Ø�cŠ\Ø—9‘9ÐØ�cŠ\Ü˜3“<Ðä˜vÓ&Ð&r   c                 ó:   — | j                   j                  |«       y rV   )rm   r¹   rž   s     r#   r›   zPSInterpreter.pushF  s   € Ø�
‰
×Ñ˜&Õ!r   c                 ó°   — | j                   }|st        d«      ‚|d   }|r2|j                  |vr$t        dt        |«      ›d|j                  ›�«      ‚|d= |S )Nzstack underflowrb   ztypecheck, expected z, found )rm   r&   r˜   Úrepr)r/   Útypesrm   r’   s       r#   rÀ   zPSInterpreter.popI  s]   € Ø—
‘
ˆÙÜÐ+Ó,Ð,Ø�r‘ˆÙØ�{‰{ %Ñ'ÝÜ:>¸u½+ÀvÇ{Â{ÐSóð ð �"ˆIØˆr   c                 óÂ   — g }	 | j                  «       }|| j                  k(  rn|j                  |«       Œ2|j                  «        | j	                  t        |«      «       y rV   )rÀ   ru   r¹   rÁ   r›   r   )r/   ÚarrayrÂ   s      r#   r{   zPSInterpreter.do_makearrayV  sP   € ØˆØØŸ™›
ˆIØ˜DŸI™IÒ%ØØ�L‰L˜Ô#ð	 ð
 	�‰ŒØ�	‰	”(˜5“/Õ"r   c                 ó   — | ` | `y)zRemove circular references.N)rm   rl   r9   s    r#   r:   zPSInterpreter.close`  s   € àˆJØ‰Nr   N©ra   )r   r    r!   r0   rp   r|   r‚   r“   r�   rœ   r™   rª   r«   r   r   r   rŒ   r>   rD   r@   rB   r<   r›   rÀ   r{   r:   r"   r   r#   rj   rj   ¦   sn   „ óò7ò6ð '.ó òBò ò
2ð ØØØØó#ò>ò%ò&ò#ò'ò*"òò#ór   rj   c                 óº  — t        | j                  «      }|t        k(  r4i }| j                  j                  «       D ]  \  }}t	        |«      ||<   Œ |S |t
        k(  rsd gt        | j                  «      z  }t        t        | j                  «      «      D ]  }t	        | j                  |   «      ||<   Œ | j                   dk(  rt        |«      }|S | j                  }|S )Nr•   )	r˜   rš   ÚdictÚitemsÚunpack_itemÚlistr+   r£   Útuple)r¡   ÚtpÚnewitemÚkeyrš   r¥   s         r#   rÎ   rÎ   f  sÌ   € Ü	ˆd�j‰jÓ	€BØ	ŒT‚zØˆØŸ*™*×*Ñ*Ó,ò 	.‰JˆC�Ü& uÓ-ˆG�CŠLð	.ð €Nð 
ŒtŠØ�&œ3˜tŸz™z›?Ñ*ˆÜ”s˜4Ÿ:™:“Ó'ò 	4ˆAÜ$ T§Z¡Z°¡]Ó3ˆG�AŠJð	4à�9‰9˜Ò'Ü˜G“nˆGð €Nð —*‘*ˆØ€Nr   c                 óø  — t        j                  d| «      }|r"|j                  d«      }|j                  «       }nd }t	        |¬«      }|j                  d«       |j                  | «       |j                  d   d   j                  }||v r||   }nPt        |j                  «       «      }t        |«      dkD  r|j                  d«       |j                  «        ||d      }|j                  «        t        |«      S )Ns    /FontName\s+/([^ \t\n\r]+)\s+defr	   rF   sC   /Helvetica 4 dict dup /Encoding StandardEncoding put definefont popr   rz   Ú	Helvetica)ÚreÚsearchÚgroupÚdecoderj   r“   rl   rš   rÏ   Úkeysr+   ÚremoveÚsortr:   rÎ   )r�   r.   rS   ÚfontNameÚinterpreterÚfontdirÚrawfontÚ	fontNamess           r#   Úsuckfontrâ   w  sç   € Ü
�	‰	Ð6¸Ó=€AÙØ—7‘7˜1“:ˆØ—?‘?Ó$‰àˆÜ¨Ô2€KØ×ÑØNôð ×Ñ˜$ÔØ×#Ñ# AÑ& Ñ7×=Ñ=€GØ�7ÑØ˜(Ñ#‰ô ˜Ÿ™›Ó(ˆ	Üˆ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Ž   rI   Úcompilerh   ÚendofthingPatrg   rf   Ú	stringPatr·   r¸   rc   re   Ú	Exceptionr   r&   r’   r(   rj   rÎ   râ   r"   r   r#   ú<module>rî      s   ðß PÕ PÝ  ÷÷ ÷ ÷ ó  
Ý $Ý Û ð €g×Ñ˜Ó!€à€
àˆb�j‰j™ D¨*°eÐ#<Ó=Ó>€Ù˜?¨J¸Ð>Ó?€Øˆr�z‰z˜-Ó(€ØˆB�J‰J�|Ó$€	ð€	ð �H‰H�Y—_‘_Ó&Ó'€	Øˆ2�:‰:�iÓ €àˆb�j‰j™ E¨:°Ð#GÓHÓI€ô	�9ô 	ô	ˆiô 	ôd�&ô dôN}�Kô }ò@ô" r   