+
    iir                    l   R t ^ RIHt ^ RIHt ]'       g   R]9   d   ^RIH	t	 M^ RI	t	 ^ RI
tR tR tR tR	 t ! R
 R]4      t^ RIt]	P(                  t^ RIHtHtHt ^ RIt^ RIt ! R R]4      t]	P:                  ! ]4       R R ltR R lt]	P@                  t ]	PB                  t! ! R R]4      t"]	PF                  ! ]"4        ! R R]4      t$]	PJ                  ! ]$4       R R lt&R R lt'R R lt(R R lt)R R  lt*]	PV                  t+]	PX                  t,]	PZ                  t-]	P\                  t.R! R" lt/R# R$ lt0R% R& lt1R' R( lt2R) R* lt3R+ R, lt4R- R. lt5R/ R0 lt6R1 R2 lt7]	Pp                  t8 ]	Pr                  t9 RmR3 R4 llt:RnR5 R6 llt;R7 R8 lt<R9 R: lt=R; R< lt>RnR= R> llt?R? R@ lt@RA RB ltARC RD ltBRoRE RF lltCRG RH ltD ! RI RJ]P                  4      tF]	P                  ! ]F4       RK RL ltH]	P                  tI ]	P                  tJ ]	P                  tK ]	P                  tL RM RN ltMRO RP ltNRQ RR ltORS RT ltPRU RV ltQRW RX ltRRY RZ ltSR[ R\ ltTR] R^ ltUR_ R` ltVRa Rb ltWRc Rd ltXRe Rf ltYRg Rh ltZ ! Ri Rj]4      t[]	P                  ! ][4       Rk Rl lt]R#   ] d	    ^ RIt ELi ; i)pa  Routines to manipulate function stack frames, stack variables, register variables and local labels.

The frame is represented as a structure::

  +------------------------------------------------+
  | function arguments                             |
  +------------------------------------------------+
  | return address (isn't stored in func_t)        |
  +------------------------------------------------+
  | saved registers (SI, DI, etc - func_t::frregs) |
  +------------------------------------------------+ <- typical BP
  |                                                |  |
  |                                                |  | func_t::fpd
  |                                                |  |
  |                                                | <- real BP
  | local variables (func_t::frsize)               |
  |                                                |
  |                                                |
  +------------------------------------------------+ <- SP

To access the structure of a function frame and stack variables, use:

* tinfo_t::get_func_frame(const func_t *pfn) (the preferred way)
* get_func_frame(tinfo_t *out, const func_t *pfn)
* tinfo_t::get_udt_details() gives info about stack variables: their type,
  names, offset, etc

.. tip::
   The `IDA Domain API <https://ida-domain.docs.hex-rays.com/>`_ simplifies
   common tasks and provides better type hints, while remaining fully compatible
   with IDAPython for advanced use cases.

   For function frame operations, see :mod:`ida_domain.functions`.)annotations)version_info.)
_ida_frameNc                     R V P                   P                  4       ,           pRV P                  P
                  : RV P                  P                  : RV: R2#   \        P                   d    Rp LPi ; i)z	proxy of  <r   z; z >)this__repr____builtin__	Exception	__class__
__module____name__)selfstrthiss   & AC:\Users\user\Downloads\ida93sp2\portable_win\python\ida_frame.py
_swig_reprr   .   sg    		 2 2 44 "^^669     s   !A A43A4c                   a  V 3R  lpV# )c                  < VR 8X  d   S! WV4       R# VR8X  d   V P                   P                  V4       R# \        W4      '       d5   \        \	        \        V 4      V4      \        4      '       d   S! WV4       R# \        RV ,          4      h)r	   thisownz(You cannot add instance attributes to %sN)r	   ownhasattr
isinstancegetattrtypepropertyAttributeError)r   namevaluesets   &&&r   set_instance_attrE_swig_setattr_nondynamic_instance_variable.<locals>.set_instance_attr9   su    6>E"YIIMM% T  ZT
D0I& &E" !K"       )r    r!   s   f r   *_swig_setattr_nondynamic_instance_variabler%   7   s    
 r#   c                   a  V 3R  lpV# )c                   < \        W4      '       d+   \        \        W4      \        4      '       g   S! WV4       R# \	        R V ,          4      h)z%You cannot add class attributes to %sN)r   r   r   r   r   )clsr   r   r    s   &&&r   set_class_attr?_swig_setattr_nondynamic_class_variable.<locals>.set_class_attrI   s:    3j1CX&N&N5! !H3!NOOr#   r$   )r    r)   s   f r   '_swig_setattr_nondynamic_class_variabler+   G   s    P
 r#   c                   a  V 3R lpV# )zlClass decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclassc                p   < S! V P                   V P                  V P                  P                  4       4      # N)r   	__bases____dict__copy)r(   	metaclasss   &r   wrapper$_swig_add_metaclass.<locals>.wrapperT   s'    s}}cll6G6G6IJJr#   r$   )r2   r3   s   f r   _swig_add_metaclassr5   Q   s    KNr#   c                  >    ] tR t^YtRt]! ]P                  4      tRtR# )_SwigNonDynamicMetazKMeta class to enforce nondynamic attributes (no new attributes) for a classr$   N)	r   r   __qualname____firstlineno____doc__r+   r   __setattr____static_attributes__r$   r#   r   r7   r7   Y   s    U9$:J:JKKr#   r7   )TupleListUnionc                     ] tR t^et]! R R RR7      t]tR t]	P                  tR R ltR R	 ltR
 R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR  R! ltR" R# ltR$ R% ltR& R' ltR( R) ltR* R+ ltR, R- ltR. R/ lt R0 R1 lt!R2 R3 lt"R4 R5 lt#R6 R7 lt$R8 R9 lt%R: R; lt&R< R= lt'R> R? lt(R@ RA lt)]*PV                  t,]*PZ                  t.]*P^                  t0RBt1RC# )D
xreflist_tc                	6    V P                   P                  4       # r.   r	   r   xs   &r   <lambda>xreflist_t.<lambda>f       r#   c                	8    V P                   P                  V4      # r.   rC   rE   vs   &&r   rF   rG   f       AFFJJqMr#   The membership flagdocc                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   xreflist_t_swiginitnew_xreflist_tr   argss   &*r   __init__xreflist_t.__init__j   s    &&tZ-F-F-MNr#   c                   V ^8  d   QhRR/# )   returnz'xreflist_entry_t &'r$   )formats   "r   __annotate__xreflist_t.__annotate__n   s     < <!5 <r#   c                	2    \         P                  ! V .VO5!  # r.   )r   xreflist_t_push_backrS   s   &*r   	push_backxreflist_t.push_backn   s    ..t;d;;r#   c                   V ^8  d   QhRR/# rX   rY   Noner$   )rZ   s   "r   r[   r\   q        4 4 4r#   c                	.    \         P                  ! V 4      # r.   )r   xreflist_t_pop_backr   s   &r   pop_backxreflist_t.pop_backq       --d33r#   c                   V ^8  d   QhRR/# rX   rY   intr$   )rZ   s   "r   r[   r\   t   s     0 0S 0r#   c                	.    \         P                  ! V 4      # r.   )r   xreflist_t_sizerg   s   &r   sizexreflist_t.sizet   s    ))$//r#   c                   V ^8  d   QhRR/# )rX   rY   boolr$   )rZ   s   "r   r[   r\   w        1 1d 1r#   c                	.    \         P                  ! V 4      # r.   )r   xreflist_t_emptyrg   s   &r   emptyxreflist_t.emptyw       **400r#   c                    V ^8  d   QhRRRR/# )rX   _idxrm   rY   'xreflist_entry_t const &'r$   )rZ   s   "r   r[   r\   z   s     4 4s 48 4r#   c                	.    \         P                  ! W4      # r.   )r   xreflist_t_at)r   r{   s   &&r   atxreflist_t.atz   s    ''33r#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   r\   }   s     2 2t 2r#   c                	.    \         P                  ! V 4      # r.   )r   xreflist_t_qclearrg   s   &r   qclearxreflist_t.qclear}   s    ++D11r#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   r\      rt   r#   c                	.    \         P                  ! V 4      # r.   )r   xreflist_t_clearrg   s   &r   clearxreflist_t.clear   ry   r#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   r\      s     9 9d 9r#   c                	2    \         P                  ! V .VO5!  # r.   )r   xreflist_t_resizerS   s   &*r   resizexreflist_t.resize   s    ++D8488r#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   r\      s     7 7D 7r#   c                	2    \         P                  ! V .VO5!  # r.   )r   xreflist_t_growrS   s   &*r   growxreflist_t.grow       ))$666r#   c                   V ^8  d   QhRR/# rl   r$   )rZ   s   "r   r[   r\      s     4 4 4r#   c                	.    \         P                  ! V 4      # r.   )r   xreflist_t_capacityrg   s   &r   capacityxreflist_t.capacity   rj   r#   c                    V ^8  d   QhRRRR/# )rX   cntrm   rY   rc   r$   )rZ   s   "r   r[   r\      s     8 83 8$ 8r#   c                	.    \         P                  ! W4      # r.   )r   xreflist_t_reserve)r   r   s   &&r   reservexreflist_t.reserve   s    ,,T77r#   c                   V ^8  d   QhRR/# rb   r$   )rZ   s   "r   r[   r\      rd   r#   c                	.    \         P                  ! V 4      # r.   )r   xreflist_t_truncaterg   s   &r   truncatexreflist_t.truncate   rj   r#   c                    V ^8  d   QhRRRR/# )rX   r'xreflist_t'rY   rc   r$   )rZ   s   "r   r[   r\      s     3 3l 3d 3r#   c                	.    \         P                  ! W4      # r.   )r   xreflist_t_swapr   r   s   &&r   swapxreflist_t.swap       ))$22r#   c                   V ^8  d   QhRR/# )rX   rY   z'xreflist_entry_t *'r$   )rZ   s   "r   r[   r\      s     3 3, 3r#   c                	.    \         P                  ! V 4      # r.   )r   xreflist_t_extractrg   s   &r   extractxreflist_t.extract       ,,T22r#   c               $    V ^8  d   QhRRRRRR/# )rX   s'xreflist_entry_t'lenrm   rY   rc   r$   )rZ   s   "r   r[   r\      s"     : :* : : :r#   c                	0    \         P                  ! WV4      # r.   )r   xreflist_t_inject)r   r   r   s   &&&r   injectxreflist_t.inject   s    ++DS99r#   c                    V ^8  d   QhRRRR/# rX   r   r   rY   rs   r$   )rZ   s   "r   r[   r\           5 5 5 5r#   c                	.    \         P                  ! W4      # r.   )r   xreflist_t___eq__r   s   &&r   __eq__xreflist_t.__eq__       ++D44r#   c                    V ^8  d   QhRRRR/# r   r$   )rZ   s   "r   r[   r\      r   r#   c                	.    \         P                  ! W4      # r.   )r   xreflist_t___ne__r   s   &&r   __ne__xreflist_t.__ne__   r   r#   c                   V ^8  d   QhRR/# rX   rY   z-'qvector< xreflist_entry_t >::const_iterator'r$   )rZ   s   "r   r[   r\      s     8 8J 8r#   c                	2    \         P                  ! V .VO5!  # r.   )r   xreflist_t_beginrS   s   &*r   beginxreflist_t.begin       **47$77r#   c                   V ^8  d   QhRR/# r   r$   )rZ   s   "r   r[   r\      s     6 6H 6r#   c                	2    \         P                  ! V .VO5!  # r.   )r   xreflist_t_endrS   s   &*r   endxreflist_t.end   s    ((555r#   c               $    V ^8  d   QhRRRRRR/# )rX   itr   rE   rY   ''qvector< xreflist_entry_t >::iterator'r$   )rZ   s   "r   r[   r\      s$     9 9+ 90B 939r#   c                	0    \         P                  ! WV4      # r.   )r   xreflist_t_insert)r   r   rE   s   &&&r   insertxreflist_t.insert   s    ++Da88r#   c                   V ^8  d   QhRR/# )rX   rY   r   r$   )rZ   s   "r   r[   r\      s     8 8D 8r#   c                	2    \         P                  ! V .VO5!  # r.   )r   xreflist_t_eraserS   s   &*r   erasexreflist_t.erase   r   r#   c                   V ^8  d   QhRR/# r   r$   )rZ   s   "r   r[   r\      s     7 7I 7r#   c                	2    \         P                  ! V .VO5!  # r.   )r   xreflist_t_findrS   s   &*r   findxreflist_t.find   r   r#   c                    V ^8  d   QhRRRR/# rX   rE   r   rY   rs   r$   )rZ   s   "r   r[   r\      s     2 2' 24 2r#   c                	.    \         P                  ! W4      # r.   )r   xreflist_t_hasr   rE   s   &&r   hasxreflist_t.has   s    ((11r#   c                    V ^8  d   QhRRRR/# r   r$   )rZ   s   "r   r[   r\      s     9 9. 9$ 9r#   c                	.    \         P                  ! W4      # r.   )r   xreflist_t_add_uniquer   s   &&r   
add_uniquexreflist_t.add_unique   s    //88r#   c                    V ^8  d   QhRRRR/# r   r$   )rZ   s   "r   r[   r\      s     3 3( 3D 3r#   c                	.    \         P                  ! W4      # r.   )r   xreflist_t__delr   s   &&r   _delxreflist_t._del   r   r#   c                   V ^8  d   QhRR/# rl   r$   )rZ   s   "r   r[   r\      s     3 3 3r#   c                	.    \         P                  ! V 4      # r.   )r   xreflist_t___len__rg   s   &r   __len__xreflist_t.__len__   r   r#   c                    V ^8  d   QhRRRR/# )rX   irm   rY   r|   r$   )rZ   s   "r   r[   r\      s     : :S :$> :r#   c                	.    \         P                  ! W4      # r.   )r   xreflist_t___getitem__)r   r   s   &&r   __getitem__xreflist_t.__getitem__   s    0099r#   c               $    V ^8  d   QhRRRRRR/# )rX   r   rm   rK   r   rY   rc   r$   )rZ   s   "r   r[   r\      s"     = =S =%7 =4 =r#   c                	0    \         P                  ! WV4      # r.   )r   xreflist_t___setitem__)r   r   rK   s   &&&r   __setitem__xreflist_t.__setitem__   s    00!<<r#   c                    V ^8  d   QhRRRR/# )rX   rE   r   rY   rc   r$   )rZ   s   "r   r[   r\      s     5 5* 5d 5r#   c                	.    \         P                  ! W4      # r.   )r   xreflist_t_appendr   s   &&r   appendxreflist_t.append   r   r#   c                    V ^8  d   QhRRRR/# )rX   rE   r   rY   rc   r$   )rZ   s   "r   r[   r\      r   r#   c                	.    \         P                  ! W4      # r.   )r   xreflist_t_extendr   s   &&r   extendxreflist_t.extend   r   r#   r$   N)2r   r   r8   r9   r   r   r   r
   rU   r   delete_xreflist_t__swig_destroy__r_   rh   rp   rw   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  r  
ida_idaapi_qvector_frontfront_qvector_backback_bounded_getitem_iterator__iter__r<   r$   r#   r   rA   rA   e   s    -/I!#GHO!33<4014219748433:55869872933:=55%%E##D33Hr#   rA   c               $    V ^8  d   QhRRRRRR/# )rX   pfn'func_t const *'frameoffrm   rY   rs   r$   )rZ   s   "r   r[   r[      s"     4 4( 4C 44 4r#   c                .    \         P                  ! W4      # r.   )r   is_funcarg_offr  r  s   &&r   r   r      s    $$S33r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  r  r  rm   rY   r$   )rZ   s   "r   r[   r[      s"     . ." .c .S .r#   c                .    \         P                  ! W4      # r.   )r   lvar_offr!  s   &&r   r$  r$     s    s--r#   c                  0   ] tR t^t$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   ]! ]P                  ]P                  4      tR]R&   R	 R
 ltR R ltR R ltR R ltR R ltR R ltR R ltR t]P0                  tRtR# )stkpnt_tc                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   stkpnt_t.<lambda>   rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r(     rL   r#   rM   rN   ida_idaapi.ea_tearm   spdc                    V ^8  d   QhRRRR/# rX   r   
'stkpnt_t'rY   rs   r$   )rZ   s   "r   r[   stkpnt_t.__annotate__        3 3
 3d 3r#   c                	.    \         P                  ! W4      # r.   )r   stkpnt_t___eq__r   s   &&r   r   stkpnt_t.__eq__   r   r#   c                    V ^8  d   QhRRRR/# r.  r$   )rZ   s   "r   r[   r0     r1  r#   c                	.    \         P                  ! W4      # r.   )r   stkpnt_t___ne__r   s   &&r   r   stkpnt_t.__ne__   r   r#   c                    V ^8  d   QhRRRR/# r.  r$   )rZ   s   "r   r[   r0     r1  r#   c                	.    \         P                  ! W4      # r.   )r   stkpnt_t___lt__r   s   &&r   __lt__stkpnt_t.__lt__   r   r#   c                    V ^8  d   QhRRRR/# r.  r$   )rZ   s   "r   r[   r0     r1  r#   c                	.    \         P                  ! W4      # r.   )r   stkpnt_t___gt__r   s   &&r   __gt__stkpnt_t.__gt__   r   r#   c                    V ^8  d   QhRRRR/# r.  r$   )rZ   s   "r   r[   r0     r1  r#   c                	.    \         P                  ! W4      # r.   )r   stkpnt_t___le__r   s   &&r   __le__stkpnt_t.__le__   r   r#   c                    V ^8  d   QhRRRR/# r.  r$   )rZ   s   "r   r[   r0     r1  r#   c                	.    \         P                  ! W4      # r.   )r   stkpnt_t___ge__r   s   &&r   __ge__stkpnt_t.__ge__   r   r#   c                    V ^8  d   QhRRRR/# )rX   r   r/  rY   rm   r$   )rZ   s   "r   r[   r0     s     4 4 4s 4r#   c                	.    \         P                  ! W4      # r.   )r   stkpnt_t_comparer   s   &&r   comparestkpnt_t.compare       **433r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   stkpnt_t_swiginitnew_stkpnt_trg   s   &r   rU   stkpnt_t.__init__   s    $$T:+B+B+DEr#   r$   N)r   r   r8   r9   r   r   r   r
   r   stkpnt_t_ea_getstkpnt_t_ea_setr+  __annotations__stkpnt_t_spd_getstkpnt_t_spd_setr,  r   r   r<  rA  rF  rK  rP  rU   delete_stkpnt_tr  r<   r$   r#   r   r&  r&     s    -/I!#GH":#=#=zB 
33ZC 3333334F!11r#   r&  c                      ] tR tRt]! R R RR7      t]tR R ltR R	 lt	R
 R lt
R R ltR R ltR R ltR R ltR t]P"                  tRtR# )	stkpnts_ti  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   stkpnts_t.<lambda>  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r`    rL   r#   rM   rN   c                    V ^8  d   QhRRRR/# rX   r   'stkpnts_t'rY   rs   r$   )rZ   s   "r   r[   stkpnts_t.__annotate__       4 4 4t 4r#   c                	.    \         P                  ! W4      # r.   )r   stkpnts_t___eq__r   s   &&r   r   stkpnts_t.__eq__  rR  r#   c                    V ^8  d   QhRRRR/# rc  r$   )rZ   s   "r   r[   re  
  rf  r#   c                	.    \         P                  ! W4      # r.   )r   stkpnts_t___ne__r   s   &&r   r   stkpnts_t.__ne__
  rR  r#   c                    V ^8  d   QhRRRR/# rc  r$   )rZ   s   "r   r[   re    rf  r#   c                	.    \         P                  ! W4      # r.   )r   stkpnts_t___lt__r   s   &&r   r<  stkpnts_t.__lt__  rR  r#   c                    V ^8  d   QhRRRR/# rc  r$   )rZ   s   "r   r[   re    rf  r#   c                	.    \         P                  ! W4      # r.   )r   stkpnts_t___gt__r   s   &&r   rA  stkpnts_t.__gt__  rR  r#   c                    V ^8  d   QhRRRR/# rc  r$   )rZ   s   "r   r[   re    rf  r#   c                	.    \         P                  ! W4      # r.   )r   stkpnts_t___le__r   s   &&r   rF  stkpnts_t.__le__  rR  r#   c                    V ^8  d   QhRRRR/# rc  r$   )rZ   s   "r   r[   re    rf  r#   c                	.    \         P                  ! W4      # r.   )r   stkpnts_t___ge__r   s   &&r   rK  stkpnts_t.__ge__  rR  r#   c                    V ^8  d   QhRRRR/# )rX   r   rd  rY   rm   r$   )rZ   s   "r   r[   re    s     5 5 5 5r#   c                	.    \         P                  ! W4      # r.   )r   stkpnts_t_comparer   s   &&r   rP  stkpnts_t.compare  r   r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   stkpnts_t_swiginitnew_stkpnts_trg   s   &r   rU   stkpnts_t.__init__  s    %%dJ,D,D,FGr#   r$   N)r   r   r8   r9   r   r   r   r
   r   r   r<  rA  rF  rK  rP  rU   r   delete_stkpnts_tr  r<   r$   r#   r   r^  r^    sO    -/I!#GH4444445H!22r#   r^  c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )rX   r  
'func_t *'frsizerm   frregs'ushort'argsize	'asize_t'rY   rs   r$   )rZ   s   "r   r[   r[   $  s1     
> 
>: 
>s 
>H 
>
>
>r#   c                0    \         P                  ! WW#4      # )a  Add function frame. 
        
:param pfn: pointer to function structure
:param frsize: size of function local variables
:param frregs: size of saved registers
:param argsize: size of function arguments range which will be purged upon return. this parameter is used for __stdcall and __pascal calling conventions. for other calling conventions please pass 0.
:returns: 1: ok
:returns: 0: failed (no function, frame already exists))r   	add_framer  r  r  r  s   &&&&r   r  r  $  s     V==r#   c                    V ^8  d   QhRRRR/# )rX   r  r  rY   rs   r$   )rZ   s   "r   r[   r[   1  s     % %: % %r#   c                .    \         P                  ! V 4      # )z^Delete a function frame. 
        
:param pfn: pointer to function structure
:returns: success)r   	del_framer  s   &r   r  r  1  s    
 $$r#   c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
rX   r  r  r  r  r  r  r  rY   rs   r$   )rZ   s   "r   r[   r[   9  s8     	C 	C
 	CI 	Cx 	C	C	Cr#   c                0    \         P                  ! WW#4      # )a  Set size of function frame. Note: The returned size may not include all stack arguments. It does so only for __stdcall and __fastcall calling conventions. To get the entire frame size for all cases use frame.get_func_frame(pfn).get_size() 
        
:param pfn: pointer to function structure
:param frsize: size of function local variables
:param frregs: size of saved registers
:param argsize: size of function arguments that will be purged from the stack upon return
:returns: success)r   set_frame_sizer  s   &&&&r   r  r  9  s     $$S&BBr#   c                    V ^8  d   QhRRRR/# )rX   r  r  rY   r  r$   )rZ   s   "r   r[   r[   E  s     * *( *I *r#   c                .    \         P                  ! V 4      # )a  Get full size of a function frame. This function takes into account size of local variables + size of saved registers + size of return address + number of purged bytes. The purged bytes correspond to the arguments of the functions with __stdcall and __fastcall calling conventions. 
        
:param pfn: pointer to function structure, may be nullptr
:returns: size of frame in bytes or zero)r   get_frame_sizer  s   &r   r  r  E  s    
 $$S))r#   c                    V ^8  d   QhRRRR/# )rX   r  r  rY   rm   r$   )rZ   s   "r   r[   r[   M  s     - -+ -s -r#   c                .    \         P                  ! V 4      # )zjGet size of function return address. 
        
:param pfn: pointer to function structure, can't be nullptr)r   get_frame_retsizer  s   &r   r  r  M  s     '',,r#   c               (    V ^8  d   QhRRRRRRRR/# )	rX   rangez	'range_t'r  r  partz'frame_part_t'rY   rc   r$   )rZ   s   "r   r[   r[   Z  s+     7 7) 7*: 777r#   c                0    \         P                  ! WV4      # )zGet offsets of the frame part in the frame. 
        
:param range: pointer to the output buffer with the frame part start/end(exclusive) offsets, can't be nullptr
:param pfn: pointer to function structure, can't be nullptr
:param part: frame part)r   get_frame_part)r  r  r  s   &&&r   r  r  Z  s     $$U66r#   c                    V ^8  d   QhRRRR/# rX   r  r  rY   r*  r$   )rZ   s   "r   r[   r[   d  s     * *( *O *r#   c                .    \         P                  ! V 4      # )z+Get starting address of arguments section.
)r   frame_off_argsr  s   &r   r  r  d  s     $$S))r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r[   j       - -+ - -r#   c                .    \         P                  ! V 4      # )z0Get starting address of return address section.
)r   frame_off_retaddrr  s   &r   r  r  j       '',,r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r[   p  r  r#   c                .    \         P                  ! V 4      # )z1Get starting address of saved registers section.
)r   frame_off_savregsr  s   &r   r  r  p  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r[   v  s     + +) +_ +r#   c                .    \         P                  ! V 4      # )z.Get start address of local variables section.
)r   frame_off_lvarsr  s   &r   r  r  v  s     %%c**r#   c               $    V ^8  d   QhRRRRRR/# )rX   out	'tinfo_t'r  r  rY   rs   r$   )rZ   s   "r   r[   r[   |  s"     / /	 /(8 /D /r#   c                .    \         P                  ! W4      # )zvGet type of function frame 
        
:param out: type info
:param pfn: pointer to function structure
:returns: success)r   get_func_frame)r  r  s   &&r   r  r  |  s     $$S..r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  r  soffrm   rY   r$   )rZ   s   "r   r[   r[     s!     / /z / / /r#   c                .    \         P                  ! W4      # )zConvert struct offsets into fp-relative offsets. This function converts the offsets inside the udt_type_data_t object into the frame pointer offsets (for example, EBP-relative). 
        )r   soff_to_fpoff)r  r  s   &&r   r  r    s     ##C..r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  r  fpdr  rY   rs   r$   )rZ   s   "r   r[   r[     s!     + +J +Y +$ +r#   c                .    \         P                  ! W4      # )zUpdate frame pointer delta. 
        
:param pfn: pointer to function structure
:param fpd: new fpd value. cannot be bigger than the local variable range size.
:returns: success)r   
update_fpd)r  r  s   &&r   r  r    s       **r#   c               (    V ^8  d   QhRRRRRRRR/# )rX   r+  r*  nbytesrm   override_old_valuers   rY   r$   )rZ   s   "r   r[   r[     s/     A A? AC AT AAr#   c                0    \         P                  ! WV4      # )a  Set the number of purged bytes for a function or data item (funcptr). This function will update the database and plan to reanalyze items referencing the specified address. It works only for processors with PR_PURGING bit in 16 and 32 bit modes. 
        
:param ea: address of the function of item
:param nbytes: number of purged bytes
:param override_old_value: may overwrite old information about purged bytes
:returns: success)r   
set_purged)r+  r  r  s   &&&r   r  r    s       -?@@r#   c               0    V ^8  d   QhRRRRRRRRR	R
RR/# )rX   r  r  r   stroffrm   tifr  repr'value_repr_t'rY   rs   r$   )rZ   s   "r   r[   r[     s8     
? 
?z 
? 
?3 
?Y 
?

?!%
?r#   c                2    \         P                  ! WW#V4      # )aX  Define/redefine a stack variable. 
        
:param pfn: pointer to function
:param name: variable name, nullptr means autogenerate a name
:param off: offset of the stack variable in the frame. negative values denote local variables, positive - function arguments.
:param tif: variable type
:param repr: variable representation
:returns: success)r   define_stkvar)r  r   r  r  r  s   &&&&&r   r  r    s     ##Cs>>r#   c               4    V ^8  d   QhRRRRRRRRR	R
RRRR/# )rX   r  r  r   r  offsetrm   r  r  r  r  	etf_flags'uint'rY   rs   r$   )rZ   s   "r   r[   r[     sK     
P 
P* 
P# 
Ps 
P
P#
P5;
PAE
Pr#   c                2    \         P                  ! WW#WE4      # )a  Add member to the frame type 
        
:param pfn: pointer to function
:param name: variable name, nullptr means autogenerate a name
:param offset: member offset in the frame structure, in bytes
:param tif: variable type
:param repr: variable representation
:returns: success)r   add_frame_member)r  r   r  r  r  r  s   &&&&&&r   r  r    s     &&s&tOOr#   c                    V ^8  d   QhRRRR/# rX   r   r  rY   rs   r$   )rZ   s   "r   r[   r[     s     5 53 5$ 5r#   c                .    \         P                  ! V 4      # )z*Is member name prefixed with "anonymous"?
)r   is_anonymous_member_namer   s   &r   r  r    s     ..t44r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r[     s     1 1s 1d 1r#   c                .    \         P                  ! V 4      # )z'Is member name an auto-generated name?
)r   is_dummy_member_namer  s   &r   r  r    s     **400r#   c                    V ^8  d   QhRRRR/# )rX   tidz'tid_t'rY   rs   r$   )rZ   s   "r   r[   r[     s     3 3 3D 3r#   c                .    \         P                  ! V 4      # )zIs stkvar with TID the return address slot or the saved registers slot ? 
        
:param tid: frame member type id return address or saved registers member?)r   is_special_frame_member)r  s   &r   r  r    s     --c22r#   c               0    V ^8  d   QhRRRRRRRRR	R
RR/# )rX   r  r  r  rm   r  r  r  r  r  r  rY   rs   r$   )rZ   s   "r   r[   r[     sC     	O 	O/ 	O 	O	O#	O5;	OAE	Or#   c                2    \         P                  ! WW#V4      # )zChange type of the frame member 
        
:param pfn: pointer to function
:param offset: member offset in the frame structure, in bytes
:param tif: variable type
:param repr: variable representation
:returns: success)r   set_frame_member_type)r  r  r  r  r  s   &&&&&r   r  r    s     ++CINNr#   c               (    V ^8  d   QhRRRRRRRR/# )rX   r  r  start_offsetrm   
end_offsetrY   rs   r$   )rZ   s   "r   r[   r[     s1     J J. Jc JJJr#   c                0    \         P                  ! WV4      # )zDelete frame members 
        
:param pfn: pointer to function
:param start_offset: member offset to start deletion from, in bytes
:param end_offset: member offset which not included in the deletion, in bytes
:returns: success)r   delete_frame_members)r  r  r  s   &&&r   r  r    s     **3jIIr#   c               $    V ^8  d   QhRRRRRR/# )rX   r  r  rK   rm   rY   r  r$   )rZ   s   "r   r[   r[     s"     0 0+ 0 0s 0r#   c                .    \         P                  ! W4      # )zBuild automatic stack variable name. 
        
:param pfn: pointer to function (can't be nullptr!)
:param v: value of variable offset
:returns: length of stack variable name or -1)r   build_stkvar_name)r  rK   s   &&r   r  r    s     ''//r#   c               (    V ^8  d   QhRRRRRRRR/# )	rX   r  r  insnz'insn_t const &'nrm   rY   r*  r$   )rZ   s   "r   r[   r[     s*     = =* =4D = ==r#   c                0    \         P                  ! WV4      # )a   Calculate offset of stack variable in the frame structure. 
        
:param pfn: pointer to function (cannot be nullptr)
:param insn: the instruction
:param n: 0..UA_MAXOP-1 operand number -1 if error, return BADADDR
:returns: BADADDR if some error (issue a warning if stack frame is bad))r   calc_stkvar_struc_offset)r  r  r  s   &&&r   r  r    s     ..s!<<r#   c          
     ,    V ^8  d   QhRRRRRRRRR	R/# )
rX   r  r  r  rm   r  z'insn_t const *'opz'op_t const *'rY   r$   )rZ   s   "r   r[   r[     s2     	< 	<: 	<C 	<7G 	<	<%(	<r#   c                0    \         P                  ! WW#4      # )a
  Calculate the offset of stack variable in the frame. 
        
:param pfn: pointer to function (cannot be nullptr)
:param off: the offset relative to stack pointer or frame pointer
:param insn: the instruction
:param op: the operand
:returns: the offset in the frame)r   calc_frame_offset)r  r  r  r  s   &&&&r   r  r    s     ''$;;r#   c                    V ^8  d   QhRRRR/# )rX   rK   
'regvar_t'rY   rc   r$   )rZ   s   "r   r[   r[     s     % %: % %r#   c                .    \         P                  ! V 4      # r.   )r   free_regvar)rK   s   &r   r  r    s    !!!$$r#   c                  2   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R&    ]! ]P                   ]P"                  4      tR]R	&    R
 t]P(                  tR R ltRtR# )regvar_ti  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   regvar_t.<lambda>  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r    rL   r#   rM   rN   z'char *'canonusercmtc                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   regvar_t_swiginitnew_regvar_trS   s   &*r   rU   regvar_t.__init__   s    $$T:+B+BD+IJr#   c                    V ^8  d   QhRRRR/# )rX   r   r  rY   rc   r$   )rZ   s   "r   r[   regvar_t.__annotate__$  s     1 1j 1D 1r#   c                	.    \         P                  ! W4      # r.   )r   regvar_t_swapr   s   &&r   r   regvar_t.swap$  s    ''00r#   r$   N)r   r   r8   r9   r   r   r   r
   r   regvar_t_canon_getregvar_t_canon_setr  rY  regvar_t_user_getregvar_t_user_setr  regvar_t_cmt_getregvar_t_cmt_setr  rU   delete_regvar_tr  r   r<   r$   r#   r   r  r    s    -/I!#GHz<<jE8 j::JD( Z88*C K!111 1r#   r  c               4    V ^8  d   QhRRRRRRRRRRR	RR
R/# )rX   r  r  ea1r*  ea2r  r  r  r  rY   rm   r$   )rZ   s   "r   r[   r[   +  sJ     B BJ B_ B? BBB #B'*Br#   c                2    \         P                  ! WW#WE4      # )a  Define a register variable. 
        
:param pfn: function in which the definition will be created
:param ea1: range of addresses within the function where the definition will be used
:param ea2: range of addresses within the function where the definition will be used
:param canon: name of a general register
:param user: user-defined name for the register
:param cmt: comment for the definition
:returns: Register variable error codes)r   
add_regvar)r  r  r  r  r  r  s   &&&&&&r   r  r  +  s       3tAAr#   c                   V ^8  d   QhRR/# )rX   rY   z'regvar_t *'r$   )rZ   s   "r   r[   r[   G  s     ) ) )r#   c                 *    \         P                  ! V !  # )a  This function has the following signatures:

    0. find_regvar(pfn: func_t *, ea1: ida_idaapi.ea_t, ea2: ida_idaapi.ea_t, canon: str, user: str) -> regvar_t *
    1. find_regvar(pfn: func_t *, ea: ida_idaapi.ea_t, canon: str) -> regvar_t *

# 0: find_regvar(pfn: func_t *, ea1: ida_idaapi.ea_t, ea2: ida_idaapi.ea_t, canon: str, user: str) -> regvar_t *

Find a register variable definition (powerful version). One of 'canon' and 'user' should be nullptr. If both 'canon' and 'user' are nullptr it returns the first regvar definition in the range. 
        
:returns: nullptr-not found, otherwise ptr to regvar_t

# 1: find_regvar(pfn: func_t *, ea: ida_idaapi.ea_t, canon: str) -> regvar_t *

Find a register variable definition. 
        
:returns: nullptr-not found, otherwise ptr to regvar_t
)r   find_regvar)rT   s   *r   r  r  G  s    $ !!4((r#   c               $    V ^8  d   QhRRRRRR/# rX   r  r  r+  r*  rY   rs   r$   )rZ   s   "r   r[   r[   \  s!     * *J *O *t *r#   c                .    \         P                  ! W4      # )znIs there a register variable definition? 
        
:param pfn: function in question
:param ea: current address)r   
has_regvarr  r+  s   &&r   r  r  \  s    
   ))r#   c               (    V ^8  d   QhRRRRRRRR/# )	rX   r  r  rK   r  r  r  rY   rm   r$   )rZ   s   "r   r[   r[   d  s(     2 2z 2j 2 2s 2r#   c                0    \         P                  ! WV4      # )zRename a register variable. 
        
:param pfn: function in question
:param v: variable to rename
:param user: new user-defined name for the register
:returns: Register variable error codes)r   rename_regvar)r  rK   r  s   &&&r   r  r  d  s     ##CD11r#   c               (    V ^8  d   QhRRRRRRRR/# )	rX   r  r  rK   r  r  r  rY   rm   r$   )rZ   s   "r   r[   r[   n  s(     2 2
 2z 2 2s 2r#   c                0    \         P                  ! WV4      # )zSet comment for a register variable. 
        
:param pfn: function in question
:param v: variable to rename
:param cmt: new comment
:returns: Register variable error codes)r   set_regvar_cmt)r  rK   r  s   &&&r   r   r   n  s     $$SS11r#   c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
rX   r  r  r  r*  r  r  r  rY   rm   r$   )rZ   s   "r   r[   r[   x  s1     	7 	7J 	7_ 	7? 	7	7	7r#   c                0    \         P                  ! WW#4      # )a>  Delete a register variable definition. 
        
:param pfn: function in question
:param ea1: range of addresses within the function where the definition holds
:param ea2: range of addresses within the function where the definition holds
:param canon: name of a general register
:returns: Register variable error codes)r   
del_regvar)r  r  r  r  s   &&&&r   r#  r#  x  s       366r#   c               (    V ^8  d   QhRRRRRRRR/# )	rX   r  r  r+  r*  deltarm   rY   rs   r$   )rZ   s   "r   r[   r[     s(     6 6 6 6 6 6r#   c                0    \         P                  ! WV4      # )aF  Add automatic SP register change point. 
        
:param pfn: pointer to the function. may be nullptr.
:param ea: linear address where SP changes. usually this is the end of the instruction which modifies the stack pointer ( insn_t::ea+ insn_t::size)
:param delta: difference between old and new values of SP
:returns: success)r   add_auto_stkpnt)r  r+  r%  s   &&&r   r'  r'    s     %%cu55r#   c               $    V ^8  d   QhRRRRRR/# )rX   r+  r*  r%  rm   rY   rs   r$   )rZ   s   "r   r[   r[     s!     1 1 1 1t 1r#   c                .    \         P                  ! W4      # )zAdd user-defined SP register change point. 
        
:param ea: linear address where SP changes
:param delta: difference between old and new values of SP
:returns: success)r   add_user_stkpnt)r+  r%  s   &&r   r*  r*    s     %%b00r#   c               $    V ^8  d   QhRRRRRR/# r  r$   )rZ   s   "r   r[   r[     s!     * *J *O *t *r#   c                .    \         P                  ! W4      # )zDelete SP register change point. 
        
:param pfn: pointer to the function. may be nullptr.
:param ea: linear address
:returns: success)r   
del_stkpntr  s   &&r   r-  r-    s       ))r#   c               $    V ^8  d   QhRRRRRR/# rX   r  r  r+  r*  rY   rm   r$   )rZ   s   "r   r[   r[     s!     ' ' ' 'C 'r#   c                .    \         P                  ! W4      # )a  Get difference between the initial and current values of ESP. 
        
:param pfn: pointer to the function. may be nullptr.
:param ea: linear address of the instruction
:returns: 0 or the difference, usually a negative number. returns the sp-diff before executing the instruction.)r   get_spdr  s   &&r   r1  r1    s     c&&r#   c               $    V ^8  d   QhRRRRRR/# r/  r$   )rZ   s   "r   r[   r[     s!     1 1: 1? 1c 1r#   c                .    \         P                  ! W4      # )a  Get effective difference between the initial and current values of ESP. This function returns the sp-diff used by the instruction. The difference between get_spd() and get_effective_spd() is present only for instructions like "pop [esp+N]": they modify sp and use the modified value. 
        
:param pfn: pointer to the function. may be nullptr.
:param ea: linear address
:returns: 0 or the difference, usually a negative number)r   get_effective_spdr  s   &&r   r4  r4    s     ''00r#   c               $    V ^8  d   QhRRRRRR/# r/  r$   )rZ   s   "r   r[   r[     s!     , ,j ,o , ,r#   c                .    \         P                  ! W4      # )a  Get modification of SP made at the specified location 
        
:param pfn: pointer to the function. may be nullptr.
:param ea: linear address
:returns: 0 if the specified location doesn't contain a SP change point. otherwise return delta of SP modification.)r   get_sp_deltar  s   &&r   r7  r7    s     ""3++r#   c               (    V ^8  d   QhRRRRRRRR/# )	rX   r  r  r+  r*  new_spdrm   rY   rs   r$   )rZ   s   "r   r[   r[     s(     5 5j 5o 5 5t 5r#   c                0    \         P                  ! WV4      # )am  Add such an automatic SP register change point so that at EA the new cumulative SP delta (that is, the difference between the initial and current values of SP) would be equal to NEW_SPD. 
        
:param pfn: pointer to the function. may be nullptr.
:param ea: linear address of the instruction
:param new_spd: new value of the cumulative SP delta
:returns: success)r   set_auto_spd)r  r+  r9  s   &&&r   r;  r;    s     ""3G44r#   c                    V ^8  d   QhRRRR/# )rX   cur_ear*  rY   rs   r$   )rZ   s   "r   r[   r[     s     ) ) )$ )r#   c                .    \         P                  ! V 4      # )a'  Recalculate SP delta for an instruction that stops execution. The next instruction is not reached from the current instruction. We need to recalculate SP for the next instruction.
This function will create a new automatic SP register change point if necessary. It should be called from the emulator (emu.cpp) when auto_state == AU_USED if the current instruction doesn't pass the execution flow to the next instruction. 
        
:param cur_ea: linear address of the current instruction
:returns: 1: new stkpnt is added
:returns: 0: nothing is changed)r   
recalc_spd)r=  s   &r   r?  r?    s       ((r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  r  r=  r*  rY   rs   r$   )rZ   s   "r   r[   r[     s"     > >J > >>r#   c                .    \         P                  ! W4      # )ap  Recalculate SP delta for the current instruction. The typical code snippet to calculate SP delta in a proc module is:

if ( may_trace_sp() && pfn != nullptr )
  if ( !recalc_spd_for_basic_block(pfn, insn.ea) )
    trace_sp(pfn, insn);

where trace_sp() is a typical name for a function that emulates the SP change of an instruction.

:param pfn: pointer to the function
:param cur_ea: linear address of the current instruction
:returns: true: the cumulative SP delta is set
:returns: false: the instruction at CUR_EA passes flow to the next instruction. SP delta must be set as a result of emulating the current instruction.)r   recalc_spd_for_basic_block)r  r=  s   &&r   rB  rB    s     00==r#   c                  z   ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&    ]! ]P                  ]P                  4      tR]R	&    ]! ]P                   ]P"                  4      tR]R
&    R R ltR R ltR R ltR R ltR R ltR R ltR R ltR t]P6                  tRtR# )xreflist_entry_ti  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   xreflist_entry_t.<lambda>  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   rF    rL   r#   rM   rN   r*  r+  z'uchar'opnumr   c                    V ^8  d   QhRRRR/# rX   r   r   rY   rs   r$   )rZ   s   "r   r[   xreflist_entry_t.__annotate__       ; ;* ;d ;r#   c                	.    \         P                  ! W4      # r.   )r   xreflist_entry_t___eq__r   s   &&r   r   xreflist_entry_t.__eq__      11$::r#   c                    V ^8  d   QhRRRR/# rJ  r$   )rZ   s   "r   r[   rK    rL  r#   c                	.    \         P                  ! W4      # r.   )r   xreflist_entry_t___ne__r   s   &&r   r   xreflist_entry_t.__ne__  rP  r#   c                    V ^8  d   QhRRRR/# rJ  r$   )rZ   s   "r   r[   rK    rL  r#   c                	.    \         P                  ! W4      # r.   )r   xreflist_entry_t___lt__r   s   &&r   r<  xreflist_entry_t.__lt__  rP  r#   c                    V ^8  d   QhRRRR/# rJ  r$   )rZ   s   "r   r[   rK    rL  r#   c                	.    \         P                  ! W4      # r.   )r   xreflist_entry_t___gt__r   s   &&r   rA  xreflist_entry_t.__gt__  rP  r#   c                    V ^8  d   QhRRRR/# rJ  r$   )rZ   s   "r   r[   rK    rL  r#   c                	.    \         P                  ! W4      # r.   )r   xreflist_entry_t___le__r   s   &&r   rF  xreflist_entry_t.__le__  rP  r#   c                    V ^8  d   QhRRRR/# rJ  r$   )rZ   s   "r   r[   rK     rL  r#   c                	.    \         P                  ! W4      # r.   )r   xreflist_entry_t___ge__r   s   &&r   rK  xreflist_entry_t.__ge__   rP  r#   c                    V ^8  d   QhRRRR/# )rX   r   r   rY   rm   r$   )rZ   s   "r   r[   rK    s     < <+ <s <r#   c                	.    \         P                  ! W4      # r.   )r   xreflist_entry_t_comparer   s   &&r   rP  xreflist_entry_t.compare  s    224;;r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   xreflist_entry_t_swiginitnew_xreflist_entry_trg   s   &r   rU   xreflist_entry_t.__init__  s$    ,,T:  4! 4# 	$r#   r$   N)r   r   r8   r9   r   r   r   r
   r   xreflist_entry_t_ea_getxreflist_entry_t_ea_setr+  rY  xreflist_entry_t_opnum_getxreflist_entry_t_opnum_setrH  xreflist_entry_t_type_getxreflist_entry_t_type_setr   r   r   r<  rA  rF  rK  rP  rU   delete_xreflist_entry_tr  r<   r$   r#   r   rD  rD    s    -/I!#GH":#E#E**,B ,jCC--/E7 /ZAA,,.D' .;;;;;;<$ "99r#   rD  c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
rX   r  r   r  r  r  rm   r  rY   rc   r$   )rZ   s   "r   r[   r[     s9     M ML Mz MMM Mr#   c                0    \         P                  ! WW#4      # )a4  Fill 'out' with a list of all the xrefs made from function 'pfn' to specified range of the pfn's stack frame. 
        
:param out: the list of xrefs to fill.
:param pfn: the function to scan.
:param start_offset: start frame structure offset, in bytes
:param end_offset: end frame structure offset, in bytes)r   build_stkvar_xrefs)r  r  r  r  s   &&&&r   rv  rv    s     ((<LLr#   r.   )N    )NN)^r:   
__future__r   sysr   _swig_python_version_info__package__r   r   r   builtinsr   ImportErrorr   r%   r+   r5   r   r7   weakrefSWIG_PYTHON_LEGACY_BOOLtypingr=   r>   r?   r  	ida_rangeobjectrA   xreflist_t_swigregisterr   r$  FRAME_UDM_NAME_RFRAME_UDM_NAME_Sr&  stkpnt_t_swigregisterr^  stkpnts_t_swigregisterr  r  r  r  r  FPC_ARGSFPC_RETADDRFPC_SAVREGS	FPC_LVARSr  r  r  r  r  r  r  r  r  STKVAR_VALID_SIZESTKVAR_KEEP_EXISTINGr  r  r  r  r  r  r  r  r  r  r  range_tr  regvar_t_swigregisterr  REGVAR_ERROR_OKREGVAR_ERROR_ARGREGVAR_ERROR_RANGEREGVAR_ERROR_NAMEr  r  r  r   r#  r'  r*  r-  r1  r4  r7  r;  r?  rB  rD  xreflist_entry_t_swigregisterrv  r$   r#   r   <module>r     s   FB # 9#/"
 L$ L
 $<<  % %  e4 e4P  " ": .4. .. ..  2v  2F      *3 3>  ! !) ,
>%	C*- $$$$  	7*--+//+A 00 !66 
?
P513	OJ0=	<%1y   12      *B ,,.. 22 00 )**22	761*'1,5)>"):v ):X  ( ()9 :MK  s   J$ $J32J3