
    ]MhT=                     T   d ddddZ  G d de          Z G d de          Z G d	 d
e          Z G d de          Z G d de          Z G d de          Zg dZg dZ	g dZ
d Zd Zd Z G d de          Z G d de          Z G d de          Z G d de          Z G d d e          Z G d! d"e          Z G d# d$e          Z G d% d&e          Z G d' d(e          Z G d) d*e          Z G d+ d,e          Zd-Zd.d/lmZ  e eee                    Zd0S )1 readonlyexecuteonlynoaccess)             c                   &    e Zd ZdZdZdZd Zd ZdS )	ps_objectr   r   Nc                 L    || _         | j        j        dd          dz   | _        d S Nr	   typevalue	__class____name__r   )selfr   s     Z/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/fontTools/misc/psOperators.py__init__zps_object.__init__	   s'    
N+ABB/&8			    c                 \    d| j         j        dd          dt          | j                  dS )N<r	    >)r   r   reprr   r   s    r   __repr__zps_object.__repr__   s3      N3ABB777dj9I9I9I9IJJr   )r   
__module____qualname__literalaccessr   r   r    r   r   r   r      sF        GFE9 9 9K K K K Kr   r   c                       e Zd ZdZd Zd ZdS )ps_operatorr   c                 Z    || _         || _        | j        j        dd          dz   | _        d S r   )namefunctionr   r   r   )r   r&   r'   s      r   r   zps_operator.__init__   s.    	 N+ABB/&8			r   c                     d| j         z  S )Nz<operator %s>)r&   r   s    r   r   zps_operator.__repr__   s    **r   N)r   r   r   r    r   r   r"   r   r   r$   r$      s7        G9 9 9
+ + + + +r   r$   c                       e Zd ZdZd Zd ZdS )ps_procedurer   c                     dS )Nz<procedure>r"   r   s    r   r   zps_procedure.__repr__    s    }r   c                     d}t          t          | j                            D ]B}|r!|dz   t          | j        |                   z   }%|t          | j        |                   z   }C|dz   S )N{r   })rangelenr   str)r   psstringis      r   __str__zps_procedure.__str__#   sp    s4:'' 	9 	9A 9#c>C
1,>,>>#c$*Q-&8&88#~r   N)r   r   r   r    r   r4   r"   r   r   r*   r*      s7        G      r   r*   c                       e Zd ZdZd ZdS )ps_namer   c                 2    | j         r
d| j        z   S | j        S N/)r    r   r   s    r   r4   zps_name.__str__0   s!    < 	##:r   N)r   r   r   r    r4   r"   r   r   r6   r6   -   s(        G    r   r6   c                       e Zd Zd ZdS )
ps_literalc                     d| j         z   S r8   r   r   s    r   r4   zps_literal.__str__8   s    TZr   Nr   r   r   r4   r"   r   r   r;   r;   7   #                 r   r;   c                       e Zd Zd Zd ZdS )ps_arrayc                    d}t          t          | j                            D ]X}| j        |         }t          |j                 }|rd|z   }|r|dz   t          |          z   |z   }C|t          |          z   |z   }Y|dz   S )N[r   ])r/   r0   r   _accessstringsr!   r1   )r   r2   r3   itemr!   s        r   r4   zps_array.__str__=   s    s4:'' 	9 	9A:a=D#DK0F &v 9#c>CII5>#c$ii/&8#~r   c                     dS )Nz<array>r"   r   s    r   r   zps_array.__repr__J   s    yr   Nr   r   r   r4   r   r"   r   r   rA   rA   <   s2              r   rA   )
FontInfoFontNameEncoding	PaintTypeFontType
FontMatrixFontBBoxUniqueIDMetricsStrokeWidth)	versionNoticeFullName
FamilyNameWeightItalicAngleisFixedPitchUnderlinePositionUnderlineThickness)PrivateCharStringsFIDc                    d}t           |j                 }|r|dz   }| dk    r|d| dt          |j                  dz   }nC| dk    r|t	          ||          z   }n)|dt          |           dt          |          d|dz   }|S )Nr   r   r]   r9   z def
rK   def
)rE   r!   _type1_CharString_reprr   _type1_Encoding_reprr1   )keyr   r2   r!   s       r   _type1_item_reprrd   j   s    HEL)F #
m8CC"5;////
 
 

		25&AAA8#c((((CJJJJOOOr   c                     | j         } d}t          d          D ]}| |         j         }|dk    r
|d||fz  z   } ||z   dz   S )Nz</Encoding 256 array
0 1 255 {1 index exch /.notdef put} for
   .notdefzdup %d /%s put
r`   )r   r/   )encodingr!   r2   r3   r&   s        r   rb   rb   {   sa    ~HOH3ZZ A A{ 9"44y"@@Hfw&&r   c                 H    t          |                                           }dS )Nxxx)sorteditems)charstringsrl   s     r   ra   ra      s     ;$$&&''E5r   c                       e Zd Zd Zd ZdS )ps_fontc                    dt          | j                  z  }t          D ]3}	 | j        |         }|t          ||          z   }$# t          $ r Y 0w xY wt          | j                                                  }|D ])\  }}|t          t          z   vr|t          ||          z   }*|dz   }t          D ]3}	 | j        |         }|t          ||          z   }$# t          $ r Y 0w xY w|dz   dz   dz   dz   S )N%d dict dup begin
z&currentdict end
currentfile eexec
dup z@dup/FontName get exch definefont pop
mark currentfile closefile
a  0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
cleartomark
)r0   r   _type1_pre_eexec_orderrd   KeyErrorrk   rl   _type1_post_eexec_order)r   r2   rc   r   rl   s        r   r4   zps_font.__str__   sb   (3tz??:) 	C 	CCC
3 $&6sE&B&BB     tz''))** 	C 	CJC03JJJJ#&6sE&B&BBHH* 	C 	CCC
3 $&6sE&B&BB    
 RS#$  		
s#   A
AA4C
C"!C"c                     dS )Nz<font>r"   r   s    r   r   zps_font.__repr__       xr   NrH   r"   r   r   ro   ro      s2        
 
 
:    r   ro   c                       e Zd ZdS )ps_fileN)r   r   r   r"   r   r   rz   rz      s        Dr   rz   c                       e Zd Zd Zd ZdS )ps_dictc           	         dt          | j                  z  }t          | j                                                  }|D ]G\  }}t          |j                 }|r|dz   }|dt          |          dt          |          d|dz   }H|dz   S )Nrq   r   r9   r`   zend )r0   r   rk   rl   rE   r!   r1   )r   r2   rl   rc   r   r!   s         r   r4   zps_dict.__str__   s    (3tz??:tz''))** 	T 	TJC#EL1F &#xc#hhhhE



FFF"SSHH&  r   c                     dS )Nz<dict>r"   r   s    r   r   zps_dict.__repr__   rx   r   NrH   r"   r   r   r|   r|      s2        ! ! !    r   r|   c                       e Zd Zd ZdS )ps_markc                 L    d| _         | j        j        dd          dz   | _        d S )Nmarkr	   r   r   r   s    r   r   zps_mark.__init__   s'    
N+ABB/&8			r   Nr   r   r   r   r"   r   r   r   r      #        9 9 9 9 9r   r   c                       e Zd Zd ZdS )ps_procmarkc                 L    d| _         | j        j        dd          dz   | _        d S )Nprocmarkr	   r   r   r   s    r   r   zps_procmark.__init__   s'    
N+ABB/&8			r   Nr   r"   r   r   r   r      r   r   r   c                       e Zd Zd ZdS )ps_nullc                 >    | j         j        dd          dz   | _        d S r   )r   r   r   r   s    r   r   zps_null.__init__   s     N+ABB/&8			r   Nr   r"   r   r   r   r      s#        9 9 9 9 9r   r   c                       e Zd Zd ZdS )
ps_booleanc                     | j         rdS dS )Ntruefalser=   r   s    r   r4   zps_boolean.__str__   s    : 	67r   Nr>   r"   r   r   r   r      s#            r   r   c                       e Zd Zd ZdS )	ps_stringc                 @    dt          | j                  dd         z  S )Nz(%s)r   r   r   r   s    r   r4   zps_string.__str__   s     TZ((2...r   Nr>   r"   r   r   r   r      s#        / / / / /r   r   c                       e Zd Zd ZdS )
ps_integerc                 *    t          | j                  S Nr   r   s    r   r4   zps_integer.__str__       DJr   Nr>   r"   r   r   r   r      r?   r   r   c                       e Zd Zd ZdS )ps_realc                 *    t          | j                  S r   r   r   s    r   r4   zps_real.__str__   r   r   Nr>   r"   r   r   r   r      r?   r   r   c                   :   e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZeefdZd Zd Zd Zd Zd Z d Z!d Z"d Z#d  Z$d! Z%d" Z&d# Z'd$ Z(d% Z)d& Z*d' Z+d( Z,d) Z-d* Z.d+ Z/d, Z0d- Z1d. Z2d/ Z3d0 Z4d1 Z5d2S )3PSOperatorsc                     |                                  }|                                  }|| j        d         |j        <   d S Nr   )pop	dictstackr   )r   objr&   s      r   ps_defzPSOperators.ps_def   s5    hhjjxxzz),r4:&&&r   c                     |                      d          }|                     |           |                     |           d S Nproceduretype)r   	proc_bindpushr   procs     r   ps_bindzPSOperators.ps_bind   s8    xx((t		$r   c                 (   t          t          |j                            D ]o}|j        |         }|j        dk    r|                     |           0|j        s8	 |                     |j                  }|j        dk    r
||j        |<   h#  Y lxY wpd S )Nr   operatortype)r/   r0   r   r   r   r    resolve_name)r   r   r3   rF   r   s        r   r   zPSOperators.proc_bind   s    s4:'' 	0 	0A:a=DyO++t$$$$| 00"//
;; 8~55,/DJqM		0	0 	0s   B

Bc                     t          | j                  dk     rt          d          |                                 }|                                 }|                     |           |                     |           d S )Nr   stack underflow)r0   stackRuntimeErrorr   r   )r   obj1obj2s      r   ps_exchzPSOperators.ps_exch  s`    tz??Q0111xxzzxxzz		$		$r   c                 r    | j         st          d          |                     | j         d                    d S )Nr   r   )r   r   r   r   s    r   ps_dupzPSOperators.ps_dup	  s9    z 	20111		$*R.!!!!!r   c                     |                                  }|j        dk    r|                     |           d S |                     |           d S r   )r   r   call_procedurehandle_objectr   r   s     r   ps_execzPSOperators.ps_exec  sP    hhjj8&&$$$$$s#####r   c                 n    |                      t          t          | j                                       d S r   )r   r   r0   r   r   s    r   ps_countzPSOperators.ps_count  s*    		*S__--.....r   c                     |                                  }|                                  }|                     t          |j        |j        k                         d S r   r   r   r   r   r   any1any2s      r   ps_eqzPSOperators.ps_eq  E    xxzzxxzz		*TZ4:56677777r   c                     |                                  }|                                  }|                     t          |j        |j        k                         d S r   r   r   s      r   ps_nezPSOperators.ps_ne  r   r   c                 f    |                                  }d|_        |                     |           d S Nr   )r   r    r   r   s     r   ps_cvxzPSOperators.ps_cvx"  s)    hhjj		#r   c                     t          d          t          d          t          d          t          d          t          d          t          d          g}|                     t          |                     d S )Ng      ?r   )r   r   r   rA   )r   matrixs     r   	ps_matrixzPSOperators.ps_matrix'  sa    CLLqMMqMMCLLqMMqMM
 			(6""#####r   c                     |                      d          j        }|                     t          d|z                       d S )Nintegertype )r   r   r   r   )r   nums     r   r   zPSOperators.ps_string2  s:    hh}%%+		)D3J''(((((r   c                 |    |                                  }|                     t          |j                             d S r   )r   r   r   r   r   s     r   ps_typezPSOperators.ps_type6  s1    hhjj		)CH%%&&&&&r   c                    |                                  }|                                  }|j        }t          t          | j                  dz
  dd          D ]#}|| j        |         v r|| j        |         |<    n$|| j        d         |<   d S )Nr   r   )r   r   r/   r0   r   )r   r   rc   r&   r3   s        r   ps_storezPSOperators.ps_store:  s    

hhjjys4>**Q.B77 	 	At~a(((*/q!$' ) $)r4   r   c                 r    |                                  }|                     t          d                     d S r   )r   r   r   r   r&   s     r   ps_wherezPSOperators.ps_whereD  s-    xxzz		*Q--     r   c                 `    |                      t          | j        d                              d S r   r   r|   r   r   s    r   ps_systemdictzPSOperators.ps_systemdictI  )    		'$.+,,-----r   c                 `    |                      t          | j        d                              d S Nr   r   r   s    r   ps_userdictzPSOperators.ps_userdictL  r   r   c                 `    |                      t          | j        d                              d S r   r   r   s    r   ps_currentdictzPSOperators.ps_currentdictO  s)    		'$.,--.....r   c                 T    |                      t          | j                             d S r   )r   rz   	tokenizerr   s    r   ps_currentfilezPSOperators.ps_currentfileR  s$    		'$.))*****r   c                 b    |                      d          j        }|                                 d S Nfiletype)r   r   
starteexecr   fs     r   ps_eexeczPSOperators.ps_eexecU  s'    HHZ  &	r   c                     |                      d          j        }|                                 |                                 d S r   )r   r   	skipwhite	stopeexecr   s     r   ps_closefilezPSOperators.ps_closefileY  s4    HHZ  &		r   c                     |                                  }|| j        k    r!|                                  }|| j        k    d S d S r   )r   r   r   s     r   ps_cleartomarkzPSOperators.ps_cleartomark^  sD    hhjjTY((**C TYr   c                    |                      d          }|j        }|                      d          }|j        j        dz   |j        _        |j                             ||                    }||_        |                     |           |                      | ||           ||          k                         d S )N
stringtyper   r   )r   r   posreadr   )r   r   r0   soldstrr   newstrs          r   ps_readstringzPSOperators.ps_readstringc  s    HH\""HHZ   gkAocc&kk**		!		**SS[[CCKK78899999r   c                     |                                  }|                      dd          }|                     t          |j        |j        v                      d S )Ndicttypefonttyper   )r   rc   ds      r   ps_knownzPSOperators.ps_knowno  sK    hhjjHHZ,,		*SY!'12233333r   c                     |                      d          }|                      d          j        r|                     |           d S d S Nr   booleantyper   r   r   r   s     r   ps_ifzPSOperators.ps_ift  sN    xx((88M""( 	&%%%%%	& 	&r   c                     |                      d          }|                      d          }|                      d          j        r|                     |           d S |                     |           d S r  r  )r   proc2proc1s      r   	ps_ifelsezPSOperators.ps_ifelsey  so    ))))88M""( 	'&&&&&&&&&&r   c                 |    |                                  }|j        dk     rd|_        |                     |           d S r   r   r!   r   r   s     r   ps_readonlyzPSOperators.ps_readonly  4    hhjj:>>CJ		#r   c                 |    |                                  }|j        dk     rd|_        |                     |           d S )Nr   r  r   s     r   ps_executeonlyzPSOperators.ps_executeonly  r  r   c                 |    |                                  }|j        dk     rd|_        |                     |           d S )Nr	   r  r   s     r   ps_noaccesszPSOperators.ps_noaccess  r  r   c                     |                      dd          }|j        dk    r*|                     t          |j                              d S |                     t          |j                              d S )Nr  r   )r   r   r   r   r   r   r   s     r   ps_notzPSOperators.ps_not  sj    hh}m448}$$IIjSY//00000IIj#),,-----r   c                 Z    |                      d          }t          d|j                   d S )Nr   zPS output --->)r   printr   )r   r1   s     r   ps_printzPSOperators.ps_print  s,    hh|$$	*****r   c                    |                      d          }|                      d          }t          |j                  }|j        d |         |j        k    rh|                     t	          |j        |d                               |                     |           |                     t          d                     d S |                     |           |                     t          d                     d S )Nr   r   r   )r   r0   r   r   r   r   )r   seekr   seeklens       r   ps_anchorsearchzPSOperators.ps_anchorsearch  s    xx%%HH\""dj//78G8
**IIi 122333IIdOOOIIjmm$$$$$IIaLLLIIjmm$$$$$r   c                     |                      d          }t          d g|j        z            }|                     |           d S Nr   )r   rA   r   r   )r   r   arrays      r   rA   zPSOperators.ps_array  sA    hh}%%$#)+,,		%r   c                     |                      d          }t          t          |j                  dz
  dd          D ]}|                                  |j        |<   |                     |           d S )N	arraytyper   r   )r   r/   r0   r   r   )r   r  r3   s      r   	ps_astorezPSOperators.ps_astore  sj    %%s5;''!+R44 	( 	(A!XXZZEKNN		%r   c                     |                                  }|                     |                     |j                             d S r   )r   r   r   r   r   s     r   ps_loadzPSOperators.ps_load  s7    xxzz		$##DJ//00000r   c                    |                                  }|                                  }|                      dddd          }|j        }|dk    s|dk    r||j        |j        <   d S |dk    r||j        |j        <   d S |dk    rE|j        }|j        d |         t          |j                  z   |j        |dz   d          z   |_        d S d S )Nr  r   r   r   r   )r   r   r   chr)r   r   r   obj3tpindexs         r   ps_putzPSOperators.ps_put  s    xxzzxxzzxxZOOYo 5 5%)DJtz""":%)DJtz"""<JEFUF+c$*oo=
5ST9;;@WWDJJJ  r   c                    |                                  }|j        dk    r	 |                      ddddd          }|j        }|dv r'|                     |j        |j                            d S |dv r'|                     |j        |j                            d S |dk    rA|                     t	          t          |j        |j                                                d S J d
            )NrK   r  r   r   r   r   )r  r   )r   r   Fzshouldn't get here)r   r   r   r   r   ord)r   r   r   r&  s       r   ps_getzPSOperators.ps_get  s    xxzz:##xx\?J
 
 Y///IIdj,-----+++IIdj,-----<IIjTZ
%;!<!<==>>>>>.....r   c                    |                      d          }|                      d          }|                      dd          }|j        }|dk    rC|                     t          |j        |j        |j        |j        z                                 d S |dk    rC|                     t          |j        |j        |j        |j        z                                 d S d S )Nr   r  r   )r   r   r   rA   r   r   )r   r   r   r%  r&  s        r   ps_getintervalzPSOperators.ps_getinterval  s    xx&&xx&&xx\22YIIhtz$*tzDJ7N*NOPPQQQQQ<IIi
4:
TZ8O+O PQQRRRRR  r   c                    |                      dd          }|                      d          }|                      dd          }|j        }|dk    r2|j        |j        |j        |j        t          |j                  z   <   d S |dk    rS|j        d |j                 }||j        z   }||j        |j        t          |j                  z   d          z   }||_        d S d S )Nr  r   r   )r   r   r   r0   )r   r   r   r%  r&  r   s         r   ps_putintervalzPSOperators.ps_putinterval  s    xx\22xx&&xx\22YDHJDJtzDJTZ$@@AAA<Z$*-Fdj(Fdjc$*oo)E)G)GHHFDJJJ	  r   c                 z    |                      t          |                     d          j                             d S )Nr   )r   r6   r   r   r   s    r   ps_cvnzPSOperators.ps_cvn  s1    		'$((<0067788888r   c                     |                      d          j        }|dk     rt          d          |                     | j        d|z
                      d S )Nr   r   zindex may not be negativer   )r   r   r   r   r   )r   ns     r   ps_indexzPSOperators.ps_index  sQ    HH]##)q55:;;;		$*R!V$%%%%%r   c                    |                      d          }|                      dd          j        }|                      dd          j        }|                      dd          j        }	 |dk    r	||k    rd S n||k     rd S t          |          t          d          k    r#|                     t	          |                     n"|                     t          |                     |                     |           ||z   })Nr   r   realtyper   r   g        )r   r   r   r   r   r   r   )r   r   limit	incrementr3   s        r   ps_forzPSOperators.ps_for  s    xx((
339HH]J77=	HH]J//5	1}}u99E  u99EAww$s))##		'!**%%%%		*Q--(((%%%IA	r   c                 v   |                      d          }|                      ddd          }|j        }|dk    r6|j        D ],}|                     |           |                     |           -d S |dk    rP|j        D ]F}|                     t          t          |                               |                     |           Gd S |dk    rk|j                                        D ]S\  }}|                     t          |                     |                     |           |                     |           Rd S d S )Nr   r  r   r   )	r   r   r   r   r   r   r*  rl   r6   )r   r   r   r&  rF   rc   r   s          r   	ps_forallzPSOperators.ps_forall
  sY   xx((hh{L*==X	 * *		$##D))))* * <	 * *		*SYY//000##D))))* * :!ioo// * *
U		'#,,'''		%   ##D))))	 * *r   c                     |                      d          }|                                  }t          |j                  }|| j        d         d         j        |j        <   |                     |           d S )Nr   r   FontDirectory)r   ro   r   r   r   )r   fontr&   s      r   ps_definefontzPSOperators.ps_definefont  s]    xx
##xxzztz""?Cq/*0<		$r   c                     |                                  }| j        d         d         j        |j                 }|                     |           d S )Nr   r=  )r   r   r   r   )r   r&   r>  s      r   ps_findfontzPSOperators.ps_findfont#  s=    xxzz~a 17
C		$r   c                 .    |                                   d S r   )r   r   s    r   ps_popzPSOperators.ps_pop(  s    




r   c                 t    |                      d           |                     t          i                      d S r  )r   r   r|   r   s    r   r|   zPSOperators.ps_dict+  s2    		'"++r   c                 j    | j                             |                     d          j                   d S )Nr   )r   appendr   r   r   s    r   ps_beginzPSOperators.ps_begin/  s-    dhhz22899999r   c                 d    t          | j                  dk    r
| j        d= d S t          d          )Nr   r   zdictstack underflow)r0   r   r   r   s    r   ps_endzPSOperators.ps_end2  s6    t~""r"""4555r   N)6r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r0   r   r   r  r	  r  r  r  r  r  r  rA   r   r"  r(  r+  r-  r/  r1  r4  r9  r;  r?  rA  rC  r|   rG  rI  r"   r   r   r   r      s       - - -
  
0 0 0  " " "
$ $ $/ / /8 8 8
8 8 8
  
	$ 	$ 	$) ) )' ' ') ) )! ! !
. . .. . ./ / /+ + +    
  
 (2s 
: 
: 
: 
:4 4 4
& & &
' ' '      . . .+ + +
% 
% 
%  
  1 1 1X X X/ / /"S S S     9 9 9& & &  &* * *$    
    : : :6 6 6 6 6r   r   rg   r   )StandardEncodingN)rE   objectr   r$   r*   r6   r;   rA   rt   _type1_fontinfo_orderrv   rd   rb   ra   ro   rz   r|   r   r   r   r   r   r   r   r   notdef$fontTools.encodings.StandardEncodingrJ  listmapps_StandardEncodingr"   r   r   <module>rR     s  J=ZHH
K 
K 
K 
K 
K 
K 
K 
K	+ 	+ 	+ 	+ 	+) 	+ 	+ 	+    9        i                  
    y   $   
 
 
  <;;   "' ' '  
    i   D	 	 	 	 	i 	 	 	    i   9 9 9 9 9i 9 9 99 9 9 9 9) 9 9 99 9 9 9 9i 9 9 9
       / / / / /	 / / /
               
         i      
O6 O6 O6 O6 O6& O6 O6 O6d
 
 A A A A A Ad33w(899::   r   