+
    ir                      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]4      t]	P>                  ! ]4        ! R R]4      t ]	PB                  ! ] 4        ! R R]4      t"]	PF                  ! ]"4       R R lt$R R lt%]	PL                  t&]	PN                  t']	PP                  t(]	PR                  t)]	PT                  t*]	PV                  t+]	PX                  t,]	PZ                  t-]	P\                  t.]	P^                  t/]	P`                  t0]	Pb                  t1 ]	Pd                  t2 ]	Pf                  t3 ]	Ph                  t4 ]	Pj                  t5]	Pl                  t6]	Pn                  t7]	Pp                  t8]	Pr                  t9 ]	Pt                  t: ]	Pv                  t; ]	Px                  t< ]	Pz                  t= ]	P|                  t> ]	P~                  t? R R lt@R R ltAR R ltBR R  ltCR! R" ltDR# R$ ltE]	P                  tF ]	P                  tG ]	P                  tH R% R& ltI]	P                  tJ ]	P                  tK ]	P                  tL ]	P                  tM ]	P                  tN ]	P                  tO R' R( ltPR) R* ltQERR+ R, lltRERR- R. lltSR/ R0 ltTR1 R2 ltUR3 R4 ltVR5 R6 ltWR7 R8 ltXR9 R: ltYR; R< ltZR= R> lt[R? R@ lt\RA RB lt]RC RD lt^RE RF lt_RG RH lt`RI RJ ltaRK RL ltbRM RN ltcRO RP ltdRQ RR lteRS RT ltfRU RV ltgRW RX lthRY RZ ltiR[ R\ ltjR] R^ ltkR_ R` ltlRa Rb ltmRc Rd ltnRe Rf ltoRg Rh ltpRi Rj ltqRk Rl ltrRm Rn ltsRo Rp lttRq Rr ltuRs Rt ltvRu Rv ltwRw Rx ltxRy Rz ltyR{ R| ltzR} R~ lt{R R lt|R R lt}R R lt~R R ltR R ltR R ltR R ltR R lt]	EP                  t ]	EP
                  t ]	EP                  t ]	EP                  t  ! R R]4      t]	EP                  ! ]4       ]	EP                  t ]	EP                  t ]	EP                  t ]	EP                  t  ! R R]4      t]	EP                  ! ]4        ! R R]4      t]	EP"                  ! ]4       ]	EP$                  t ]	EP&                  t ]	EP(                  t ]	EP*                  t ]	EP,                  t ]	EP.                  t ]	EP0                  t ]	EP2                  t ]	EP4                  t ]	EP6                  t ]	EP8                  t]	EP:                  t ]	EP<                  t ]	EP>                  t ]	EP@                  t ]	EPB                  t ]	EPD                  t ]	EPF                  t ]	EPH                  t ]	EPJ                  t R R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R lt]	EPj                  t ]	EPl                  t ]	EPn                  t ]	EPp                  t R R ltR R ltR R ltR R ltERR R lltR R ltERR R lltR R lt]	EP                  t ]	EP                  t ]	EP                  t ]	EP                  t ]	EP                  t ]	EP                  t ]	EP                  t]	EP                  t ]	EP                  t ]	EP                  t R R ltR R ltR R ltR R ltERR R lltR R ltERR R lltR R ltR R ltR R ltR R ltR R ltERR R lltR R ltERR R lltR R ltR R ltR R ltR R ltERR R lltR R ltERR R lltR R ltR R ltR R ltR R ltR R lt]	EP                  t ]	EP                  t ]	EP                  t ]	EP                  t ]	EP                  t ]	EP                  t ]	EP                  t ]	EP                  t  ! R R]4      t]	EP                  ! ]4        ! R R]4      t]	EP                  ! ]4       R R ltR ER  ltER ER ltER ER ltER ER ltER ER ltER	 ER
 ltER ER ltER ER ltER ER ltER ER ltER ER ltER ER ltER ER ltER ER lEt  ! ER ER]4      Et]	EP                  ! E]4        ! ER ER]4      Et]	EP                  ! E]4       ]	EP
                  Et]	EP                  Et]	EP                  EtER ER  lEtE]3ER! ER" llEt	ER# ER$ lEt
ER% ER& lEtER' ER( lEtER) ER* lEtER+ ER, lEtER- ER. lEtER/ ER0 lEtER1 ER2 lEtER3 ER4 lEtER5 ER6 lEtER7 ER8 lEtER9 ER: lEtER; ER< lEtER= ER> lEtER? ER@ lEtERA ERB lEtERC ERD lEt]	EP6                  Et ]	EP8                  Et ]	EP:                  Et ]	EP<                  Et ]	EP>                  Et ]	EP@                  Et  ]	EPB                  Et! ]	EPD                  Et" ]	EPF                  Et# ]	EPH                  Et$ ]	EPJ                  Et% ]	EPL                  Et& ]	EPN                  Et' ]	EPP                  Et( ]	EPR                  Et) ]	EPT                  Et* ]	EPV                  Et+ ]	EPX                  Et, ]	EPZ                  Et- ]	EP\                  Et. ]	EP^                  Et/ ]	EP`                  Et0 ]	EPb                  Et1 ]	EPd                  Et2 ]	EPf                  Et3 ]	EPh                  Et4 ]	EPj                  Et5 ]	EPl                  Et6 ]	EPn                  Et7 ]	EPp                  Et8 ERE ERF lEt9ERG ERH lEt:ERI ERJ lEt;ERERK ERL llEt<ERM ERN lEt=ERO ERP lEt>ERQ ERR lEt?ERS ERT lEt@ ! ERU ERV]4      EtA]	EP                  ! E]A4       ]	EP                  EtC ]	EP                  EtD ]	EP                  EtE ]	EP                  EtF ]	EP                  EtG ]	EP                  EtH ]	EP                  EtI ]	EP                  EtJERW ERX lEtKERY ERZ lEtLER[ ER\ lEtMER] ER^ lEtNER_ ER` lEtOERa ERb lEtPERc ERd lEtQERe ERf lEtRERg ERh lEtSERi ERj lEtTERk ERl lEtUERm ERn lEtVERo ERp lEtWERq ERr lEtXERs ERt lEtYERu ERv lEtZERw ERx lEt[ERy ERz lEt\ER{ ER| lEt]ER} ER~ lEt^ER ER lEt_ER ER lEt`ER ER lEtaER ER lEtbER ER lEtcERER ER llEtdER ER lEteER ER lEtfER ER lEtgER ER lEthER ER lEtiER ER lEtjER ER lEtkER ER lEtlER ER lEtmER ER lEtnER ER lEtoER ER lEtpER ER lEtqER ER lEtrER ER lEtsER ER lEttER ER lEtuER ER lEtvER ER lEtwER ER lEtxER ER lEty ! ER ER]4      Etz]	EP                  ! E]z4       ER ER lEt|ER ER lEt}ER Et~ER EtER Et ! ER ER]4      Et]	EP                  ! E]4       ER ER lEtER ER lEtER ER lEtER EtER ER lEtER ER lEtER EtERER ER llEt^ RIt^ RIt^ REIEtER EtER EtER EtER EtER EtE]^EtR#   ] d	    ^ RIt EL3i ; i(  zContains functions to control the debugging of a process.

See Debugger functions for a complete explanation of these functions.
These functions are inlined for the kernel. They are not inlined for the user-interfaces.
)annotations)version_info.)_ida_dbgNc                     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   & ?C:\Users\user\Downloads\ida93sp2\portable_win\python\ida_dbg.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_attr   su    6>E"YIIMM% T  ZT
D0I& &E" !K"       )r    r!   s   f r   *_swig_setattr_nondynamic_instance_variabler%      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_attr-   s:    3j1CX&N&N5! !H3!NOOr#   r$   )r    r)   s   f r   '_swig_setattr_nondynamic_class_variabler+   +   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>.wrapper8   s'    s}}cll6G6G6IJJr#   r$   )r2   r3   s   f r   _swig_add_metaclassr5   5   s    KNr#   c                  >    ] tR t^=t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   =   s    U9$:J:JKKr#   r7   )TupleListUnionc                     ] tR t^It]! 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#]$PJ                  t&]$PN                  t(]$PR                  t*R6t+R7# )8	bpt_vec_tc                	6    V P                   P                  4       # r.   r	   r   xs   &r   <lambda>bpt_vec_t.<lambda>J       r#   c                	8    V P                   P                  V4      # r.   rC   rE   vs   &&r   rF   rG   J       AFFJJqMr#   The membership flagdocc                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   bpt_vec_t_swiginitnew_bpt_vec_tr   argss   &*r   __init__bpt_vec_t.__init__N   s    ##D(*@*@$*GHr#   c                   V ^8  d   QhRR/# )   returnz	'bpt_t &'r$   )formats   "r   __annotate__bpt_vec_t.__annotate__R   s     9 9 9r#   c                	2    \         P                  ! V .VO5!  # r.   )r   bpt_vec_t_push_backrS   s   &*r   	push_backbpt_vec_t.push_backR       ++D8488r#   c                   V ^8  d   QhRR/# rX   rY   Noner$   )rZ   s   "r   r[   r\   U        1 1 1r#   c                	.    \         P                  ! V 4      # r.   )r   bpt_vec_t_pop_backr   s   &r   pop_backbpt_vec_t.pop_backU       **400r#   c                   V ^8  d   QhRR/# rX   rY   intr$   )rZ   s   "r   r[   r\   X   s     - -S -r#   c                	.    \         P                  ! V 4      # r.   )r   bpt_vec_t_sizerh   s   &r   sizebpt_vec_t.sizeX       &&t,,r#   c                   V ^8  d   QhRR/# rX   rY   boolr$   )rZ   s   "r   r[   r\   [        . .d .r#   c                	.    \         P                  ! V 4      # r.   )r   bpt_vec_t_emptyrh   s   &r   emptybpt_vec_t.empty[       ''--r#   c                    V ^8  d   QhRRRR/# )rX   _idxrn   rY   'bpt_t const &'r$   )rZ   s   "r   r[   r\   ^   s     1 1s 1o 1r#   c                	.    \         P                  ! W4      # r.   )r   bpt_vec_t_atr   r~   s   &&r   atbpt_vec_t.at^   s    $$T00r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r\   a        / /t /r#   c                	.    \         P                  ! V 4      # r.   )r   bpt_vec_t_qclearrh   s   &r   qclearbpt_vec_t.qcleara       ((..r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r\   d   rw   r#   c                	.    \         P                  ! V 4      # r.   )r   bpt_vec_t_clearrh   s   &r   clearbpt_vec_t.cleard   r|   r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r\   g        6 6d 6r#   c                	2    \         P                  ! V .VO5!  # r.   )r   bpt_vec_t_resizerS   s   &*r   resizebpt_vec_t.resizeg   s    ((555r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r\   j   s     4 4D 4r#   c                	2    \         P                  ! V .VO5!  # r.   )r   bpt_vec_t_growrS   s   &*r   growbpt_vec_t.growj   s    &&t3d33r#   c                   V ^8  d   QhRR/# rm   r$   )rZ   s   "r   r[   r\   m   s     1 1 1r#   c                	.    \         P                  ! V 4      # r.   )r   bpt_vec_t_capacityrh   s   &r   capacitybpt_vec_t.capacitym   rk   r#   c                    V ^8  d   QhRRRR/# rX   cntrn   rY   rd   r$   )rZ   s   "r   r[   r\   p   s     5 53 5$ 5r#   c                	.    \         P                  ! W4      # r.   )r   bpt_vec_t_reserver   r   s   &&r   reservebpt_vec_t.reservep   s    ))$44r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r\   s   re   r#   c                	.    \         P                  ! V 4      # r.   )r   bpt_vec_t_truncaterh   s   &r   truncatebpt_vec_t.truncates   rk   r#   c                    V ^8  d   QhRRRR/# )rX   r'bpt_vec_t'rY   rd   r$   )rZ   s   "r   r[   r\   v   s     0 0k 0T 0r#   c                	.    \         P                  ! W4      # r.   )r   bpt_vec_t_swapr   r   s   &&r   swapbpt_vec_t.swapv   s    &&t//r#   c                   V ^8  d   QhRR/# )rX   rY   	'bpt_t *'r$   )rZ   s   "r   r[   r\   y   s     0 0	 0r#   c                	.    \         P                  ! V 4      # r.   )r   bpt_vec_t_extractrh   s   &r   extractbpt_vec_t.extracty       ))$//r#   c               $    V ^8  d   QhRRRRRR/# )rX   s'bpt_t'lenrn   rY   rd   r$   )rZ   s   "r   r[   r\   |   s!     7 7 7c 7T 7r#   c                	0    \         P                  ! WV4      # r.   )r   bpt_vec_t_injectr   r   r   s   &&&r   injectbpt_vec_t.inject|   s    ((#66r#   c                   V ^8  d   QhRR/# rX   rY   z"'qvector< bpt_t >::const_iterator'r$   )rZ   s   "r   r[   r\      s     5 5? 5r#   c                	2    \         P                  ! V .VO5!  # r.   )r   bpt_vec_t_beginrS   s   &*r   beginbpt_vec_t.begin       ''4t44r#   c                   V ^8  d   QhRR/# r   r$   )rZ   s   "r   r[   r\      s     3 3= 3r#   c                	2    \         P                  ! V .VO5!  # r.   )r   bpt_vec_t_endrS   s   &*r   endbpt_vec_t.end   s    %%d2T22r#   c               $    V ^8  d   QhRRRRRR/# )rX   itr   rE   rY   'qvector< bpt_t >::iterator'r$   )rZ   s   "r   r[   r\      s"     6 6 6W 60L 6r#   c                	0    \         P                  ! WV4      # r.   )r   bpt_vec_t_insertr   r   rE   s   &&&r   insertbpt_vec_t.insert   s    ((155r#   c                   V ^8  d   QhRR/# )rX   rY   r   r$   )rZ   s   "r   r[   r\      s     5 59 5r#   c                	2    \         P                  ! V .VO5!  # r.   )r   bpt_vec_t_eraserS   s   &*r   erasebpt_vec_t.erase   r   r#   c                   V ^8  d   QhRR/# rm   r$   )rZ   s   "r   r[   r\      s     0 0 0r#   c                	.    \         P                  ! V 4      # r.   )r   bpt_vec_t___len__rh   s   &r   __len__bpt_vec_t.__len__   r   r#   c                    V ^8  d   QhRRRR/# )rX   irn   rY   r   r$   )rZ   s   "r   r[   r\      s     7 7S 7O 7r#   c                	.    \         P                  ! W4      # r.   )r   bpt_vec_t___getitem__r   r   s   &&r   __getitem__bpt_vec_t.__getitem__       --d66r#   c               $    V ^8  d   QhRRRRRR/# )rX   r   rn   rK   r   rY   rd   r$   )rZ   s   "r   r[   r\      s!     : :S :W : :r#   c                	0    \         P                  ! WV4      # r.   )r   bpt_vec_t___setitem__r   r   rK   s   &&&r   __setitem__bpt_vec_t.__setitem__   s    --dq99r#   c                    V ^8  d   QhRRRR/# )rX   rE   r   rY   rd   r$   )rZ   s   "r   r[   r\      s     2 2 24 2r#   c                	.    \         P                  ! W4      # r.   )r   bpt_vec_t_appendr   rE   s   &&r   appendbpt_vec_t.append       ((11r#   c                    V ^8  d   QhRRRR/# )rX   rE   r   rY   rd   r$   )rZ   s   "r   r[   r\      s     2 2 2t 2r#   c                	.    \         P                  ! W4      # r.   )r   bpt_vec_t_extendr   s   &&r   extendbpt_vec_t.extend   r   r#   r$   N),r   r   r8   r9   r   r   r   r
   rU   r   delete_bpt_vec_t__swig_destroy__r_   ri   rq   rz   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   I   s    -/I!#GHI0091-.1/.64151007536507:22%%E##D33Hr#   rA   c                     ] tR t^t]! 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#]$PJ                  t&]$PN                  t(]$PR                  t*R6t+R7# )8tev_reg_values_tc                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   tev_reg_values_t.<lambda>   rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r
     rL   r#   rM   rN   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   tev_reg_values_t_swiginitnew_tev_reg_values_trS   s   &*r   rU   tev_reg_values_t.__init__   '    **4  2!"&2( 	)r#   c                   V ^8  d   QhRR/# )rX   rY   z'tev_reg_value_t &'r$   )rZ   s   "r   r[   tev_reg_values_t.__annotate__   s     @ @!4 @r#   c                	2    \         P                  ! V .VO5!  # r.   )r   tev_reg_values_t_push_backrS   s   &*r   r_   tev_reg_values_t.push_back       224?$??r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r          8 8 8r#   c                	.    \         P                  ! V 4      # r.   )r   tev_reg_values_t_pop_backrh   s   &r   ri   tev_reg_values_t.pop_back       11$77r#   c                   V ^8  d   QhRR/# rm   r$   )rZ   s   "r   r[   r          4 4S 4r#   c                	.    \         P                  ! V 4      # r.   )r   tev_reg_values_t_sizerh   s   &r   rq   tev_reg_values_t.size       --d33r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r          5 5d 5r#   c                	.    \         P                  ! V 4      # r.   )r   tev_reg_values_t_emptyrh   s   &r   rz   tev_reg_values_t.empty       ..t44r#   c                    V ^8  d   QhRRRR/# )rX   r~   rn   rY   'tev_reg_value_t const &'r$   )rZ   s   "r   r[   r     s     8 8s 87 8r#   c                	.    \         P                  ! W4      # r.   )r   tev_reg_values_t_atr   s   &&r   r   tev_reg_values_t.at       ++D77r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r          6 6t 6r#   c                	.    \         P                  ! V 4      # r.   )r   tev_reg_values_t_qclearrh   s   &r   r   tev_reg_values_t.qclear       //55r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r     r$  r#   c                	.    \         P                  ! V 4      # r.   )r   tev_reg_values_t_clearrh   s   &r   r   tev_reg_values_t.clear   r(  r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r          = =d =r#   c                	2    \         P                  ! V .VO5!  # r.   )r   tev_reg_values_t_resizerS   s   &*r   r   tev_reg_values_t.resize       //<t<<r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r          ; ;D ;r#   c                	2    \         P                  ! V .VO5!  # r.   )r   tev_reg_values_t_growrS   s   &*r   r   tev_reg_values_t.grow       --d:T::r#   c                   V ^8  d   QhRR/# rm   r$   )rZ   s   "r   r[   r          8 8 8r#   c                	.    \         P                  ! V 4      # r.   )r   tev_reg_values_t_capacityrh   s   &r   r   tev_reg_values_t.capacity   r  r#   c                    V ^8  d   QhRRRR/# r   r$   )rZ   s   "r   r[   r          < <3 <$ <r#   c                	.    \         P                  ! W4      # r.   )r   tev_reg_values_t_reserver   s   &&r   r   tev_reg_values_t.reserve       00;;r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r     r  r#   c                	.    \         P                  ! V 4      # r.   )r   tev_reg_values_t_truncaterh   s   &r   r   tev_reg_values_t.truncate   r  r#   c                    V ^8  d   QhRRRR/# )rX   r   'tev_reg_values_t'rY   rd   r$   )rZ   s   "r   r[   r          7 7( 7D 7r#   c                	.    \         P                  ! W4      # r.   )r   tev_reg_values_t_swapr   s   &&r   r   tev_reg_values_t.swap   r   r#   c                   V ^8  d   QhRR/# )rX   rY   z'tev_reg_value_t *'r$   )rZ   s   "r   r[   r     s     7 7+ 7r#   c                	.    \         P                  ! V 4      # r.   )r   tev_reg_values_t_extractrh   s   &r   r   tev_reg_values_t.extract       0066r#   c               $    V ^8  d   QhRRRRRR/# )rX   r   'tev_reg_value_t'r   rn   rY   rd   r$   )rZ   s   "r   r[   r     s"     > >) > >t >r#   c                	0    \         P                  ! WV4      # r.   )r   tev_reg_values_t_injectr   s   &&&r   r   tev_reg_values_t.inject       //==r#   c                   V ^8  d   QhRR/# rX   rY   z,'qvector< tev_reg_value_t >::const_iterator'r$   )rZ   s   "r   r[   r     s     < <I <r#   c                	2    \         P                  ! V .VO5!  # r.   )r   tev_reg_values_t_beginrS   s   &*r   r   tev_reg_values_t.begin       ..t;d;;r#   c                   V ^8  d   QhRR/# rf  r$   )rZ   s   "r   r[   r     s     : :G :r#   c                	2    \         P                  ! V .VO5!  # r.   )r   tev_reg_values_t_endrS   s   &*r   r   tev_reg_values_t.end       ,,T9D99r#   c               $    V ^8  d   QhRRRRRR/# )rX   r   r`  rE   rY   &'qvector< tev_reg_value_t >::iterator'r$   )rZ   s   "r   r[   r     s$     = =* =/@ =2=r#   c                	0    \         P                  ! WV4      # r.   )r   tev_reg_values_t_insertr   s   &&&r   r   tev_reg_values_t.insert       //!<<r#   c                   V ^8  d   QhRR/# )rX   rY   rq  r$   )rZ   s   "r   r[   r     s     < <C <r#   c                	2    \         P                  ! V .VO5!  # r.   )r   tev_reg_values_t_eraserS   s   &*r   r   tev_reg_values_t.erase   rj  r#   c                   V ^8  d   QhRR/# rm   r$   )rZ   s   "r   r[   r          7 7 7r#   c                	.    \         P                  ! V 4      # r.   )r   tev_reg_values_t___len__rh   s   &r   r   tev_reg_values_t.__len__   r^  r#   c                    V ^8  d   QhRRRR/# )rX   r   rn   rY   r*  r$   )rZ   s   "r   r[   r     s     > >S >$= >r#   c                	.    \         P                  ! W4      # r.   )r   tev_reg_values_t___getitem__r   s   &&r   r   tev_reg_values_t.__getitem__       44T==r#   c               $    V ^8  d   QhRRRRRR/# )rX   r   rn   rK   r`  rY   rd   r$   )rZ   s   "r   r[   r     s'     A AS A%6 A$ Ar#   c                	0    \         P                  ! WV4      # r.   )r   tev_reg_values_t___setitem__r   s   &&&r   r   tev_reg_values_t.__setitem__       44Ta@@r#   c                    V ^8  d   QhRRRR/# )rX   rE   r`  rY   rd   r$   )rZ   s   "r   r[   r     s     9 9) 9T 9r#   c                	.    \         P                  ! W4      # r.   )r   tev_reg_values_t_appendr   s   &&r   r   tev_reg_values_t.append       //88r#   c                    V ^8  d   QhRRRR/# )rX   rE   rU  rY   rd   r$   )rZ   s   "r   r[   r          9 9* 9d 9r#   c                	.    \         P                  ! W4      # r.   )r   tev_reg_values_t_extendr   s   &&r   r   tev_reg_values_t.extend   r  r#   r$   N),r   r   r8   r9   r   r   r   r
   rU   r   delete_tev_reg_values_tr   r_   ri   rq   rz   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  r  r<   r$   r#   r   r  r         -/I!#GH)  77@845865=;8<877><:=<7>A99%%E##D33Hr#   r  c                     ] tR t^t]! 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#]$PJ                  t&]$PN                  t(]$PR                  t*R6t+R7# )8tevinforeg_vec_tc                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   tevinforeg_vec_t.<lambda>   rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r     rL   r#   rM   rN   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   tevinforeg_vec_t_swiginitnew_tevinforeg_vec_trS   s   &*r   rU   tevinforeg_vec_t.__init__   r  r#   c                   V ^8  d   QhRR/# )rX   rY   z'tev_info_reg_t &'r$   )rZ   s   "r   r[   tevinforeg_vec_t.__annotate__  s     @ @!3 @r#   c                	2    \         P                  ! V .VO5!  # r.   )r   tevinforeg_vec_t_push_backrS   s   &*r   r_   tevinforeg_vec_t.push_back  r  r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   tevinforeg_vec_t_pop_backrh   s   &r   ri   tevinforeg_vec_t.pop_back  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rZ   s   "r   r[   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   tevinforeg_vec_t_sizerh   s   &r   rq   tevinforeg_vec_t.size  r"  r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r    r$  r#   c                	.    \         P                  ! V 4      # r.   )r   tevinforeg_vec_t_emptyrh   s   &r   rz   tevinforeg_vec_t.empty  r(  r#   c                    V ^8  d   QhRRRR/# )rX   r~   rn   rY   'tev_info_reg_t const &'r$   )rZ   s   "r   r[   r    s     8 8s 86 8r#   c                	.    \         P                  ! W4      # r.   )r   tevinforeg_vec_t_atr   s   &&r   r   tevinforeg_vec_t.at  r.  r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r    r0  r#   c                	.    \         P                  ! V 4      # r.   )r   tevinforeg_vec_t_qclearrh   s   &r   r   tevinforeg_vec_t.qclear  r4  r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r    r$  r#   c                	.    \         P                  ! V 4      # r.   )r   tevinforeg_vec_t_clearrh   s   &r   r   tevinforeg_vec_t.clear  r(  r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r    r:  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   tevinforeg_vec_t_resizerS   s   &*r   r   tevinforeg_vec_t.resize  r>  r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r    r@  r#   c                	2    \         P                  ! V .VO5!  # r.   )r   tevinforeg_vec_t_growrS   s   &*r   r   tevinforeg_vec_t.grow  rD  r#   c                   V ^8  d   QhRR/# rm   r$   )rZ   s   "r   r[   r     rF  r#   c                	.    \         P                  ! V 4      # r.   )r   tevinforeg_vec_t_capacityrh   s   &r   r   tevinforeg_vec_t.capacity   r  r#   c                    V ^8  d   QhRRRR/# r   r$   )rZ   s   "r   r[   r  #  rK  r#   c                	.    \         P                  ! W4      # r.   )r   tevinforeg_vec_t_reserver   s   &&r   r   tevinforeg_vec_t.reserve#  rO  r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r  &  r  r#   c                	.    \         P                  ! V 4      # r.   )r   tevinforeg_vec_t_truncaterh   s   &r   r   tevinforeg_vec_t.truncate&  r  r#   c                    V ^8  d   QhRRRR/# )rX   r   'tevinforeg_vec_t'rY   rd   r$   )rZ   s   "r   r[   r  )  rV  r#   c                	.    \         P                  ! W4      # r.   )r   tevinforeg_vec_t_swapr   s   &&r   r   tevinforeg_vec_t.swap)  r   r#   c                   V ^8  d   QhRR/# )rX   rY   z'tev_info_reg_t *'r$   )rZ   s   "r   r[   r  ,  s     7 7* 7r#   c                	.    \         P                  ! V 4      # r.   )r   tevinforeg_vec_t_extractrh   s   &r   r   tevinforeg_vec_t.extract,  r^  r#   c               $    V ^8  d   QhRRRRRR/# )rX   r   'tev_info_reg_t'r   rn   rY   rd   r$   )rZ   s   "r   r[   r  /  s"     > >( >s >d >r#   c                	0    \         P                  ! WV4      # r.   )r   tevinforeg_vec_t_injectr   s   &&&r   r   tevinforeg_vec_t.inject/  rd  r#   c                   V ^8  d   QhRR/# rX   rY   z+'qvector< tev_info_reg_t >::const_iterator'r$   )rZ   s   "r   r[   r  2  s     < <H <r#   c                	2    \         P                  ! V .VO5!  # r.   )r   tevinforeg_vec_t_beginrS   s   &*r   r   tevinforeg_vec_t.begin2  rj  r#   c                   V ^8  d   QhRR/# r  r$   )rZ   s   "r   r[   r  5  s     : :F :r#   c                	2    \         P                  ! V .VO5!  # r.   )r   tevinforeg_vec_t_endrS   s   &*r   r   tevinforeg_vec_t.end5  ro  r#   c               $    V ^8  d   QhRRRRRR/# )rX   r   r  rE   rY   %'qvector< tev_info_reg_t >::iterator'r$   )rZ   s   "r   r[   r  8  s$     = =) =.> =1=r#   c                	0    \         P                  ! WV4      # r.   )r   tevinforeg_vec_t_insertr   s   &&&r   r   tevinforeg_vec_t.insert8  ru  r#   c                   V ^8  d   QhRR/# )rX   rY   r  r$   )rZ   s   "r   r[   r  <  s     < <B <r#   c                	2    \         P                  ! V .VO5!  # r.   )r   tevinforeg_vec_t_eraserS   s   &*r   r   tevinforeg_vec_t.erase<  rj  r#   c                   V ^8  d   QhRR/# rm   r$   )rZ   s   "r   r[   r  ?  r{  r#   c                	.    \         P                  ! V 4      # r.   )r   tevinforeg_vec_t___len__rh   s   &r   r   tevinforeg_vec_t.__len__?  r^  r#   c                    V ^8  d   QhRRRR/# )rX   r   rn   rY   r  r$   )rZ   s   "r   r[   r  B  s     > >S >$< >r#   c                	.    \         P                  ! W4      # r.   )r   tevinforeg_vec_t___getitem__r   s   &&r   r   tevinforeg_vec_t.__getitem__B  r  r#   c               $    V ^8  d   QhRRRRRR/# )rX   r   rn   rK   r  rY   rd   r$   )rZ   s   "r   r[   r  E  s'     A AS A%5 A Ar#   c                	0    \         P                  ! WV4      # r.   )r   tevinforeg_vec_t___setitem__r   s   &&&r   r   tevinforeg_vec_t.__setitem__E  r  r#   c                    V ^8  d   QhRRRR/# )rX   rE   r  rY   rd   r$   )rZ   s   "r   r[   r  H  s     9 9( 9D 9r#   c                	.    \         P                  ! W4      # r.   )r   tevinforeg_vec_t_appendr   s   &&r   r   tevinforeg_vec_t.appendH  r  r#   c                    V ^8  d   QhRRRR/# )rX   rE   r  rY   rd   r$   )rZ   s   "r   r[   r  K  r  r#   c                	.    \         P                  ! W4      # r.   )r   tevinforeg_vec_t_extendr   s   &&r   r   tevinforeg_vec_t.extendK  r  r#   r$   N),r   r   r8   r9   r   r   r   r
   rU   r   delete_tevinforeg_vec_tr   r_   ri   rq   rz   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  r  r<   r$   r#   r   r  r     r  r#   r  c                     ] tR tRt]! 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/ R0 lt R1 R2 lt!R3 R4 lt"R5 R6 lt#]$PJ                  t&]$PN                  t(]$PR                  t*R7t+R8# )9memreg_infos_tiU  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   memreg_infos_t.<lambda>V  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r  V  rL   r#   rM   rN   c                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   memreg_infos_t_swiginitnew_memreg_infos_trS   s   &*r   rU   memreg_infos_t.__init__Z  s"    ((x/J/J0 	r#   c                   V ^8  d   QhRR/# )rX   rY   z'memreg_info_t &'r$   )rZ   s   "r   r[   memreg_infos_t.__annotate___  s     > >!2 >r#   c                	2    \         P                  ! V .VO5!  # r.   )r   memreg_infos_t_push_backrS   s   &*r   r_   memreg_infos_t.push_back_  s    00===r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r  b       6 6 6r#   c                	.    \         P                  ! V 4      # r.   )r   memreg_infos_t_pop_backrh   s   &r   ri   memreg_infos_t.pop_backb  r4  r#   c                   V ^8  d   QhRR/# rm   r$   )rZ   s   "r   r[   r  e  s     2 2S 2r#   c                	.    \         P                  ! V 4      # r.   )r   memreg_infos_t_sizerh   s   &r   rq   memreg_infos_t.sizee  s    ++D11r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r  h       3 3d 3r#   c                	.    \         P                  ! V 4      # r.   )r   memreg_infos_t_emptyrh   s   &r   rz   memreg_infos_t.emptyh      ,,T22r#   c                    V ^8  d   QhRRRR/# )rX   r~   rn   rY   'memreg_info_t const &'r$   )rZ   s   "r   r[   r  k  s     6 6s 65 6r#   c                	.    \         P                  ! W4      # r.   )r   memreg_infos_t_atr   s   &&r   r   memreg_infos_t.atk  s    ))$55r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r  n  s     4 4t 4r#   c                	.    \         P                  ! V 4      # r.   )r   memreg_infos_t_qclearrh   s   &r   r   memreg_infos_t.qclearn  r"  r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r  q  r  r#   c                	.    \         P                  ! V 4      # r.   )r   memreg_infos_t_clearrh   s   &r   r   memreg_infos_t.clearq  r!  r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r  t  s     ; ;d ;r#   c                	2    \         P                  ! V .VO5!  # r.   )r   memreg_infos_t_resizerS   s   &*r   r   memreg_infos_t.resizet  rD  r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r  w  s     9 9D 9r#   c                	2    \         P                  ! V .VO5!  # r.   )r   memreg_infos_t_growrS   s   &*r   r   memreg_infos_t.groww  ra   r#   c                   V ^8  d   QhRR/# rm   r$   )rZ   s   "r   r[   r  z  s     6 6 6r#   c                	.    \         P                  ! V 4      # r.   )r   memreg_infos_t_capacityrh   s   &r   r   memreg_infos_t.capacityz  r4  r#   c                    V ^8  d   QhRRRR/# r   r$   )rZ   s   "r   r[   r  }  s     : :3 :$ :r#   c                	.    \         P                  ! W4      # r.   )r   memreg_infos_t_reserver   s   &&r   r   memreg_infos_t.reserve}  s    ..t99r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r    r  r#   c                	.    \         P                  ! V 4      # r.   )r   memreg_infos_t_truncaterh   s   &r   r   memreg_infos_t.truncate  r4  r#   c                    V ^8  d   QhRRRR/# )rX   r   'memreg_infos_t'rY   rd   r$   )rZ   s   "r   r[   r    s     5 5& 5$ 5r#   c                	.    \         P                  ! W4      # r.   )r   memreg_infos_t_swapr   s   &&r   r   memreg_infos_t.swap  s    ++D44r#   c                   V ^8  d   QhRR/# )rX   rY   z'memreg_info_t *'r$   )rZ   s   "r   r[   r    s     5 5) 5r#   c                	.    \         P                  ! V 4      # r.   )r   memreg_infos_t_extractrh   s   &r   r   memreg_infos_t.extract  r(  r#   c               $    V ^8  d   QhRRRRRR/# )rX   r   'memreg_info_t'r   rn   rY   rd   r$   )rZ   s   "r   r[   r    s!     < < <c <T <r#   c                	0    \         P                  ! WV4      # r.   )r   memreg_infos_t_injectr   s   &&&r   r   memreg_infos_t.inject  s    --ds;;r#   c                   V ^8  d   QhRR/# rX   rY   z*'qvector< memreg_info_t >::const_iterator'r$   )rZ   s   "r   r[   r    s     : :G :r#   c                	2    \         P                  ! V .VO5!  # r.   )r   memreg_infos_t_beginrS   s   &*r   r   memreg_infos_t.begin  ro  r#   c                   V ^8  d   QhRR/# rR  r$   )rZ   s   "r   r[   r    s     8 8E 8r#   c                	2    \         P                  ! V .VO5!  # r.   )r   memreg_infos_t_endrS   s   &*r   r   memreg_infos_t.end  s    **47$77r#   c               $    V ^8  d   QhRRRRRR/# )rX   r   rM  rE   rY   $'qvector< memreg_info_t >::iterator'r$   )rZ   s   "r   r[   r    s"     ; ; ;_ ;0;r#   c                	0    \         P                  ! WV4      # r.   )r   memreg_infos_t_insertr   s   &&&r   r   memreg_infos_t.insert  s    --d::r#   c                   V ^8  d   QhRR/# )rX   rY   r[  r$   )rZ   s   "r   r[   r    s     : :A :r#   c                	2    \         P                  ! V .VO5!  # r.   )r   memreg_infos_t_eraserS   s   &*r   r   memreg_infos_t.erase  ro  r#   c                   V ^8  d   QhRR/# rm   r$   )rZ   s   "r   r[   r    s     5 5 5r#   c                	.    \         P                  ! V 4      # r.   )r   memreg_infos_t___len__rh   s   &r   r   memreg_infos_t.__len__  r(  r#   c                    V ^8  d   QhRRRR/# )rX   r   rn   rY   r#  r$   )rZ   s   "r   r[   r    s     < <S <$; <r#   c                	.    \         P                  ! W4      # r.   )r   memreg_infos_t___getitem__r   s   &&r   r   memreg_infos_t.__getitem__  s    224;;r#   c               $    V ^8  d   QhRRRRRR/# )rX   r   rn   rK   rM  rY   rd   r$   )rZ   s   "r   r[   r    s!     ? ?S ?_ ? ?r#   c                	0    \         P                  ! WV4      # r.   )r   memreg_infos_t___setitem__r   s   &&&r   r   memreg_infos_t.__setitem__  s    224A>>r#   c                    V ^8  d   QhRRRR/# )rX   rE   rM  rY   rd   r$   )rZ   s   "r   r[   r    s     7 7 74 7r#   c                	.    \         P                  ! W4      # r.   )r   memreg_infos_t_appendr   s   &&r   r   memreg_infos_t.append  r   r#   c                    V ^8  d   QhRRRR/# )rX   rE   rD  rY   rd   r$   )rZ   s   "r   r[   r         7 7( 7D 7r#   c                	.    \         P                  ! W4      # r.   )r   memreg_infos_t_extendr   s   &&r   r   memreg_infos_t.extend  r   r#   r$   N),r   r   r8   r9   r   r   r   r
   rU   r   delete_memreg_infos_tr   r_   ri   rq   rz   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  r  r<   r$   r#   r   r  r  U  s    -/I!#GH  55>623643;96:655<:8;:5<?77%%E##D33Hr#   r  c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[     s     " "D "r#   c                 *    \         P                  ! V !  # )a  Execute the process until the given address is reached. If no process is active, a new process is started. Technically, the debugger sets up a temporary breakpoint at the given address, and continues (or starts) the execution of the whole process. So, all threads continue their execution! \sq{Type, Asynchronous function - available as Request, Notification, dbg_run_to} 
        
:param ea: target address
:param pid: not used yet. please do not specify this parameter.
:param tid: not used yet. please do not specify this parameter.)r   run_torT   s   *r   r{  r{    s     ??D!!r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[          * *D *r#   c                 *    \         P                  ! V !  # )zPost a run_to() request.
)r   request_run_tor|  s   *r   r  r    s     ""D))r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[     s     # #T #r#   c                 ,    \         P                  ! 4       # )a  Execute requests until all requests are processed or an asynchronous function is called. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:returns: false if not all requests could be processed (indicates an asynchronous function was started))r   run_requestsr$   r#   r   r  r    s       ""r#   c                   V ^8  d   QhRR/# )rX   rY   z'ui_notification_t'r$   )rZ   s   "r   r[   r[     s     * */ *r#   c                 ,    \         P                  ! 4       # )zGet the current running request. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:returns: ui_null if no running request)r   get_running_requestr$   r#   r   r  r         ''))r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[          ) )4 )r#   c                 ,    \         P                  ! 4       # )z Is a request currently running?
)r   is_request_runningr$   r#   r   r  r         &&((r#   c                   V ^8  d   QhRR/# )rX   rY   z'dbg_notification_t'r$   )rZ   s   "r   r[   r[     s     / /!5 /r#   c                 ,    \         P                  ! 4       # )zGet the notification associated (if any) with the current running request. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:returns: dbg_null if no running request)r   get_running_notificationr$   r#   r   r  r    s     ,,..r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r[          + +T +r#   c                 ,    \         P                  ! 4       # )zyClear the queue of waiting requests. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        )r   clear_requests_queuer$   r#   r   r  r         ((**r#   c                   V ^8  d   QhRR/# rm   r$   )rZ   s   "r   r[   r[     s     ( (# (r#   c                 ,    \         P                  ! 4       # )zReturn the state of the currently debugged process. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:returns: one of Debugged process states)r   get_process_stater$   r#   r   r  r    s     %%''r#   c                    V ^8  d   QhRRRR/# )rX   statern   rY   rv   r$   )rZ   s   "r   r[   r[   #  s     + +3 +$ +r#   c                .    \         P                  ! V 4      # r.   )r   is_valid_dstate)r  s   &r   r  r  #  s    ##E**r#   c               (    V ^8  d   QhRRRRRRRR/# )rX   newstatern   p_thidz
'thid_t *'dbginvrY   r$   )rZ   s   "r   r[   r[   ;  s.     @ @ @Z @ @ @r#   c                0    \         P                  ! WV4      # )a  Set new state for the debugged process. Notifies the IDA kernel about the change of the debugged process state. For example, a debugger module could call this function when it knows that the process is suspended for a short period of time. Some IDA API calls can be made only when the process is suspended. The process state is usually restored before returning control to the caller. You must know that it is ok to change the process state, doing it at arbitrary moments may crash the application or IDA. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:param newstate: new process state (one of Debugged process states) if DSTATE_NOTASK is passed then the state is not changed
:param p_thid: ptr to new thread id. may be nullptr or pointer to NO_THREAD. the pointed variable will contain the old thread id upon return
:param dbginv: Debugged process invalidation options
:returns: old debugger state (one of Debugged process states))r   set_process_state)r  r  r  s   &&&r   r  r  ;  s     %%h??r#   c                    V ^8  d   QhRRRR/# )rX   r  rn   rY   r$   )rZ   s   "r   r[   r[   E  s     1 1 1 1r#   c                .    \         P                  ! V 4      # )zInvalidate cached debugger information. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:param dbginv: Debugged process invalidation options
:returns: current debugger state (one of Debugged process states))r   invalidate_dbg_state)r  s   &r   r  r  E  s    
 ((00r#   c               (    V ^8  d   QhRRRRRRRR/# rX   pathstrrT   sdirrY   rn   r$   )rZ   s   "r   r[   r[   M  s(     	4 	4 	4 	4 	4C 	4r#   c                0    \         P                  ! WV4      # )a  Start a process in the debugger. \sq{Type, Asynchronous function - available as Request, Notification, dbg_process_start} 
        
:param path: path to the executable to start
:param args: arguments to pass to process
:param sdir: starting directory for the process
:returns: -1: impossible to create the process
:returns: 0: the starting of the process was cancelled by the user
:returns: 1: the process was properly started)r   start_processr  rT   r  s   &&&r   r  r  M  s     !!$d33r#   c               (    V ^8  d   QhRRRRRRRR/# r  r$   )rZ   s   "r   r[   r[   Y  s)     < < < < <<r#   c                0    \         P                  ! WV4      # )z Post a start_process() request.
)r   request_start_processr  s   &&&r   r  r  Y  s     ))$d;;r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   `  s     
& 
& 
&r#   c                 ,    \         P                  ! 4       # )a  Suspend the process in the debugger. \sq{ Type,
* Synchronous function (if in a notification handler)
* Asynchronous function (everywhere else)
* available as Request, Notification,
* none (if in a notification handler)
* dbg_suspend_process (everywhere else) }


)r   suspend_processr$   r#   r   r  r  `  s     ##%%r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   m  s     . . .r#   c                 ,    \         P                  ! 4       # )z"Post a suspend_process() request.
)r   request_suspend_processr$   r#   r   r  r  m  s     ++--r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   s       ' ' 'r#   c                 ,    \         P                  ! 4       # )zContinue the execution of the process in the debugger. \sq{Type, Synchronous function - available as Request, Notification, none (synchronous function)} 
        )r   continue_processr$   r#   r   r  r  s       $$&&r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   y       / / /r#   c                 ,    \         P                  ! 4       # )z,Post a continue_process() request. 
        )r   request_continue_processr$   r#   r   r  r  y       ,,..r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[     r  r#   c                 ,    \         P                  ! 4       # )zContinue the execution of the process in the debugger backwards. Can only be used with debuggers that support time-travel debugging. \sq{Type, Synchronous function - available as Request, Notification, none (synchronous function)} 
        )r   continue_backwardsr$   r#   r   r  r    r  r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[     s     1 14 1r#   c                 ,    \         P                  ! 4       # )z.Post a continue_backwards() request. 
        )r   request_continue_backwardsr$   r#   r   r  r    s     ..00r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[     s     # #T #r#   c                 ,    \         P                  ! 4       # )zTerminate the debugging of the current process. \sq{Type, Asynchronous function - available as Request, Notification, dbg_process_exit} 
        )r   exit_processr$   r#   r   r  r           ""r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[     r  r#   c                 ,    \         P                  ! 4       # )z Post an exit_process() request.
)r   request_exit_processr$   r#   r   r  r    r  r#   c                    V ^8  d   QhRRRR/# )rX   proclistz'procinfo_vec_t'rY   	'ssize_t'r$   )rZ   s   "r   r[   r[     s     , ,, ,	 ,r#   c                .    \         P                  ! V 4      # )a  Take a snapshot of running processes and return their description. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:param proclist: array with information about each running process
:returns: number of processes or -1 on error)r   get_processes)r  s   &r   r  r    s    
 !!(++r#   c                   V ^8  d   QhRR/# rm   r$   )rZ   s   "r   r[   r[     s     * *C *r#   c                 *    \         P                  ! V !  # )a  Attach the debugger to a running process. \sq{Type, Asynchronous function - available as Request, Notification, dbg_process_attach} 
        
:param pid: PID of the process to attach to. If NO_PROCESS, a dialog box will interactively ask the user for the process to attach to.
:param event_id: event to trigger upon attaching
:returns: -4: debugger was not inited
:returns: -3: the attaching is not supported
:returns: -2: impossible to find a compatible process
:returns: -1: impossible to attach to the given process (process died, privilege needed, not supported by the debugger plugin, ...)
:returns: 0: the user cancelled the attaching to the process
:returns: 1: the debugger properly attached to the process)r   attach_processr|  s   *r   r  r    s     ""D))r#   c               $    V ^8  d   QhRRRRRR/# )rX   pid'pid_t'event_idrn   rY   r$   )rZ   s   "r   r[   r[     s!     : : :3 :# :r#   c                .    \         P                  ! W4      # )z"Post an attach_process() request.
)r   request_attach_process)r  r  s   &&r   r  r    s     **399r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[          % %t %r#   c                 ,    \         P                  ! 4       # )zDetach the debugger from the debugged process. \sq{Type, Asynchronous function - available as Request, Notification, dbg_process_detach} 
        )r   detach_processr$   r#   r   r  r         ""$$r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[          - -t -r#   c                 ,    \         P                  ! 4       # )z!Post a detach_process() request.
)r   request_detach_processr$   r#   r   r  r         **,,r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[     r  r#   c                 ,    \         P                  ! 4       # )aK  Is the debugger busy?. Some debuggers do not accept any commands while the debugged application is running. For such a debugger, it is unsafe to do anything with the database (even simple queries like get_byte may lead to undesired consequences). Returns: true if the debugged application is running under such a debugger 
        )r   is_debugger_busyr$   r#   r   r  r    r  r#   c                   V ^8  d   QhRR/# rm   r$   )rZ   s   "r   r[   r[     s     % %s %r#   c                 ,    \         P                  ! 4       # )zkGet number of threads. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        )r   get_thread_qtyr$   r#   r   r  r    r  r#   c                    V ^8  d   QhRRRR/# )rX   nrn   rY   'thid_t'r$   )rZ   s   "r   r[   r[     s     # #3 #( #r#   c                .    \         P                  ! V 4      # )zGet the ID of a thread. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:param n: number of thread, is in range 0..get_thread_qty()-1
:returns: NO_THREAD if the thread doesn't exist.)r   getn_threadr  s   &r   r  r    s    
 ""r#   c                   V ^8  d   QhRR/# )rX   rY   r  r$   )rZ   s   "r   r[   r[     s     ) )8 )r#   c                 ,    \         P                  ! 4       # )zkGet current thread ID. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        )r   get_current_threadr$   r#   r   r  r    r  r#   c                    V ^8  d   QhRRRR/# )rX   r  rn   rY   r  r$   )rZ   s   "r   r[   r[     s     ( ( (s (r#   c                .    \         P                  ! V 4      # )a  Get the NAME of a thread \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:param n: number of thread, is in range 0..get_thread_qty()-1 or -1 for the current thread
:returns: thread name or nullptr if the thread doesn't exist.)r   getn_thread_namer  s   &r   r  r    s    
 $$Q''r#   c                    V ^8  d   QhRRRR/# rX   tidr  rY   rv   r$   )rZ   s   "r   r[   r[     s     ' 'x '4 'r#   c                .    \         P                  ! V 4      # )an  Select the given thread as the current debugged thread. All thread related execution functions will work on this thread. The process must be suspended to select a new thread. \sq{Type, Synchronous function - available as request, Notification, none (synchronous function)} 
        
:param tid: ID of the thread to select
:returns: false if the thread doesn't exist.)r   select_threadr  s   &r   r  r    s    
 !!#&&r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r[     s     / /x /4 /r#   c                .    \         P                  ! V 4      # )z Post a select_thread() request.
)r   request_select_threadr  s   &r   r  r         ))#..r#   c                    V ^8  d   QhRRRR/# rX   r  r  rY   rn   r$   )rZ   s   "r   r[   r[     s     ( ( (C (r#   c                .    \         P                  ! V 4      # )aB  Suspend thread. Suspending a thread may deadlock the whole application if the suspended was owning some synchronization objects. \sq{Type, Synchronous function - available as request, Notification, none (synchronous function)} 
        
:param tid: thread id
:returns: -1: network error
:returns: 0: failed
:returns: 1: ok)r   suspend_threadr  s   &r   r  r    s     ""3''r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r[     s     0 0 0C 0r#   c                .    \         P                  ! V 4      # )z!Post a suspend_thread() request.
)r   request_suspend_threadr  s   &r   r  r    s     **3//r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r[     s     ' 'x '3 'r#   c                .    \         P                  ! V 4      # )zResume thread. \sq{Type, Synchronous function - available as request, Notification, none (synchronous function)} 
        
:param tid: thread id
:returns: -1: network error
:returns: 0: failed
:returns: 1: ok)r   resume_threadr  s   &r   r
  r
    s     !!#&&r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r[   	  s     / /x /3 /r#   c                .    \         P                  ! V 4      # )z Post a resume_thread() request.
)r   request_resume_threadr  s   &r   r  r  	  r   r#   c                    V ^8  d   QhRRRR/# rX   modinfo'modinfo_t'rY   rv   r$   )rZ   s   "r   r[   r[     s     . .k .T .r#   c                .    \         P                  ! V 4      # r.   )r   get_first_moduler  s   &r   r  r    s    $$W--r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r[     s     - -[ -D -r#   c                .    \         P                  ! V 4      # r.   )r   get_next_moduler  s   &r   r  r    s    ##G,,r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[             $  r#   c                 ,    \         P                  ! 4       # )zExecute one instruction in the current thread. Other threads are kept suspended. \sq{Type, Asynchronous function - available as Request, Notification, dbg_step_into} 
        )r   	step_intor$   r#   r   r  r         r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[          ( ($ (r#   c                 ,    \         P                  ! 4       # )zPost a step_into() request.
)r   request_step_intor$   r#   r   r   r          %%''r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   #  r  r#   c                 ,    \         P                  ! 4       # )zExecute one instruction in the current thread, but without entering into functions. Others threads are kept suspended. \sq{Type, Asynchronous function - available as Request, Notification, dbg_step_over} 
        )r   	step_overr$   r#   r   r$  r$  #  r  r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   )  r  r#   c                 ,    \         P                  ! 4       # )zPost a step_over() request.
)r   request_step_overr$   r#   r   r'  r'  )  r!  r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   /  r~  r#   c                 ,    \         P                  ! 4       # )zExecute one instruction backwards in the current thread. Other threads are kept suspended. \sq{Type, Asynchronous function - available as Request, Notification, dbg_step_into} 
        )r   step_into_backwardsr$   r#   r   r*  r*  /       ''))r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   5       2 2D 2r#   c                 ,    \         P                  ! 4       # )z&Post a step_into_backwards() request.
)r   request_step_into_backwardsr$   r#   r   r/  r/  5       //11r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   ;  r~  r#   c                 ,    \         P                  ! 4       # )zExecute one instruction backwards in the current thread, but without entering into functions. Other threads are kept suspended. \sq{Type, Asynchronous function - available as Request, Notification, dbg_step_over} 
        )r   step_over_backwardsr$   r#   r   r3  r3  ;  r+  r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   A  r-  r#   c                 ,    \         P                  ! 4       # )z&Post a step_over_backwards() request.
)r   request_step_over_backwardsr$   r#   r   r6  r6  A  r0  r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   G  s     , ,d ,r#   c                 *    \         P                  ! V !  # )a  Execute the process backwards until the given address is reached. Technically, the debugger sets up a temporary breakpoint at the given address, and continues (or starts) the execution of the whole process. \sq{Type, Asynchronous function - available as Request, Notification, dbg_run_to} 
        
:param ea: target address
:param pid: not used yet. please do not specify this parameter.
:param tid: not used yet. please do not specify this parameter.)r   run_to_backwardsr|  s   *r   r9  r9  G  s     $$d++r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   P  s     4 4d 4r#   c                 *    \         P                  ! V !  # )z#Post a run_to_backwards() request.
)r   request_run_to_backwardsr|  s   *r   r<  r<  P  s     ,,d33r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   V  r  r#   c                 ,    \         P                  ! 4       # )zExecute instructions in the current thread until a function return instruction is executed (aka "step out"). Other threads are kept suspended. \sq{Type, Asynchronous function - available as Request, Notification, dbg_step_until_ret} 
        )r   step_until_retr$   r#   r   r?  r?  V  r  r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   \  r  r#   c                 ,    \         P                  ! 4       # )z!Post a step_until_ret() request.
)r   request_step_until_retr$   r#   r   rB  rB  \  r  r#   c               $    V ^8  d   QhRRRRRR/# rX   r  r  modez'resume_mode_t'rY   rv   r$   )rZ   s   "r   r[   r[   b  s!     / / / /D /r#   c                .    \         P                  ! W4      # )zSHow to resume the application. Set resume mode but do not resume process. 
        )r   set_resume_moder  rE  s   &&r   rG  rG  b  s     ##C..r#   c               $    V ^8  d   QhRRRRRR/# rD  r$   )rZ   s   "r   r[   r[   h  s!     7 7 7 7D 7r#   c                .    \         P                  ! W4      # )z"Post a set_resume_mode() request.
)r   request_set_resume_moderH  s   &&r   rK  rK  h  s     ++C66r#   c               $    V ^8  d   QhRRRRRR/# )rX   regnamer  riz'register_info_t'rY   rv   r$   )rZ   s   "r   r[   r[   n  s"     2 2c 2'8 2D 2r#   c                .    \         P                  ! W4      # )zmGet register information \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        )r   get_dbg_reg_info)rM  rN  s   &&r   rP  rP  n  s     $$W11r#   c                   V ^8  d   QhRR/# rX   rY   z
'uint64 *'r$   )rZ   s   "r   r[   r[   t       ! !: !r#   c                 ,    \         P                  ! 4       # )z]Get value of the SP register for the current thread. Requires a suspended debugger. 
        )r   
get_sp_valr$   r#   r   rU  rU  t         r#   c                   V ^8  d   QhRR/# rR  r$   )rZ   s   "r   r[   r[   z  rS  r#   c                 ,    \         P                  ! 4       # )zoGet value of the IP (program counter) register for the current thread. Requires a suspended debugger. 
        )r   
get_ip_valr$   r#   r   rY  rY  z  rV  r#   c                    V ^8  d   QhRRRR/# rX   rM  r  rY   rv   r$   )rZ   s   "r   r[   r[     s     , ,C ,4 ,r#   c                .    \         P                  ! V 4      # )z~Does a register contain an integer value? \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        )r   is_reg_integerrM  s   &r   r]  r]    s     ""7++r#   c                    V ^8  d   QhRRRR/# r[  r$   )rZ   s   "r   r[   r[     s     * *# * *r#   c                .    \         P                  ! V 4      # )zDoes a register contain a floating point value? \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        )r   is_reg_floatr^  s   &r   ra  ra    s       ))r#   c                    V ^8  d   QhRRRR/# r[  r$   )rZ   s   "r   r[   r[     s     + +3 +$ +r#   c                .    \         P                  ! V 4      # )zDoes a register contain a value of a custom data type? \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        )r   is_reg_customr^  s   &r   rd  rd    s     !!'**r#   c                    V ^8  d   QhRRRR/# )rX   r   r  rY   rn   r$   )rZ   s   "r   r[   r[          ) ) ) )r#   c                .    \         P                  ! V 4      # r.   )r   set_bptloc_string)r   s   &r   rh  rh        %%a((r#   c                    V ^8  d   QhRRRR/# )rX   r   rn   rY   r  r$   )rZ   s   "r   r[   r[     rf  r#   c                .    \         P                  ! V 4      # r.   )r   get_bptloc_string)r   s   &r   rl  rl    ri  r#   c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   R t]P                  tR	tR
# )
bptaddrs_ti  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   bptaddrs_t.<lambda>  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   rp    rL   r#   rM   rN   r   bptc                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   bptaddrs_t_swiginitnew_bptaddrs_trh   s   &r   rU   bptaddrs_t.__init__      $$T8+B+B+DEr#   r$   N)r   r   r8   r9   r   r   r   r
   r   bptaddrs_t_bpt_getbptaddrs_t_bpt_setrr  __annotations__rU   delete_bptaddrs_tr   r<   r$   r#   r   rn  rn    sM    -/I!#GHh998C F11r#   rn  c                     ] 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R R ltR R ltR R  ltR5R! R" l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/ R0 lt%R1 R2 lt&]PN                  t(R3t)R4# )6bpt_location_ti  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   bpt_location_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inforn   index'bpt_loctype_t'loctypec                   V ^8  d   QhRR/# )rX   rY   r  r$   )rZ   s   "r   r[   bpt_location_t.__annotate__  s     2 2_ 2r#   c                .    \         P                  ! V 4      # )zGet bpt type.
)r   bpt_location_t_typerh   s   &r   r   bpt_location_t.type       ++D11r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r    s     ; ;d ;r#   c                .    \         P                  ! V 4      # )z1No path/filename specified? (BPLT_REL, BPLT_SRC)
)r   bpt_location_t_is_empty_pathrh   s   &r   is_empty_pathbpt_location_t.is_empty_path  s     44T::r#   c                   V ^8  d   QhRR/# rX   rY   r  r$   )rZ   s   "r   r[   r    s     2 2S 2r#   c                .    \         P                  ! V 4      # )z'Get path/filename (BPLT_REL, BPLT_SRC)
)r   bpt_location_t_pathrh   s   &r   r  bpt_location_t.path  r  r#   c                   V ^8  d   QhRR/# r  r$   )rZ   s   "r   r[   r         4 4s 4r#   c                .    \         P                  ! V 4      # )zGet symbol name (BPLT_SYM)
)r   bpt_location_t_symbolrh   s   &r   symbolbpt_location_t.symbol       --d33r#   c                   V ^8  d   QhRR/# rm   r$   )rZ   s   "r   r[   r    r  r#   c                .    \         P                  ! V 4      # )zGet line number (BPLT_SRC)
)r   bpt_location_t_linenorh   s   &r   linenobpt_location_t.lineno  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rZ   s   "r   r[   r    r  r#   c                .    \         P                  ! V 4      # )z Get offset (BPLT_REL, BPLT_SYM)
)r   bpt_location_t_offsetrh   s   &r   offsetbpt_location_t.offset  r  r#   c                   V ^8  d   QhRR/# rX   rY   r  r$   )rZ   s   "r   r[   r    s     0 0? 0r#   c                .    \         P                  ! V 4      # )zGet address (BPLT_ABS)
)r   bpt_location_t_earh   s   &r   eabpt_location_t.ea       ))$//r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   bpt_location_t_swiginitnew_bpt_location_trh   s   &r   rU   bpt_location_t.__init__      ((x/J/J/LMr#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r    s     3 3d 3r#   c                .    \         P                  ! V 4      # )z=Locations that are absolute+BADADDR, are considered invalid.
)r   bpt_location_t_validrh   s   &r   validbpt_location_t.valid       ,,T22r#   c                    V ^8  d   QhRRRR/# rX   ar  rY   rd   r$   )rZ   s   "r   r[   r    s     < <_ < <r#   c                .    \         P                  ! W4      # )z&Specify an absolute address location.
)r   bpt_location_t_set_abs_bptr   r  s   &&r   set_abs_bptbpt_location_t.set_abs_bpt  s     224;;r#   c               $    V ^8  d   QhRRRRRR/# )rX   fnr  _linenorn   rY   rd   r$   )rZ   s   "r   r[   r    s&     F Fc FC F4 Fr#   c                0    \         P                  ! WV4      # )z!Specify a source level location.
)r   bpt_location_t_set_src_bpt)r   r  r  s   &&&r   set_src_bptbpt_location_t.set_src_bpt  s     224WEEr#   c               $    V ^8  d   QhRRRRRR/# )rX   _symbolr  _offsetrn   rY   rd   r$   )rZ   s   "r   r[   r    s&     K K3 K K$ Kr#   c                0    \         P                  ! WV4      # )zSpecify a symbolic location.
)r   bpt_location_t_set_sym_bpt)r   r  r  s   &&&r   set_sym_bptbpt_location_t.set_sym_bpt  s     224'JJr#   c               $    V ^8  d   QhRRRRRR/# )rX   modr  r  rn   rY   rd   r$   )rZ   s   "r   r[   r    s&     G Gs GS GD Gr#   c                0    \         P                  ! WV4      # )z%Specify a relative address location.
)r   bpt_location_t_set_rel_bpt)r   r  r  s   &&&r   set_rel_bptbpt_location_t.set_rel_bpt  s     224gFFr#   c                    V ^8  d   QhRRRR/# )rX   r   'bpt_location_t'rY   rn   r$   )rZ   s   "r   r[   r    s     8 8) 8S 8r#   c                .    \         P                  ! W4      # )a=  Lexically compare two breakpoint locations. Bpt locations are first compared based on type (i.e. BPLT_ABS < BPLT_REL). BPLT_ABS locations are compared based on their ea values. For all other location types, locations are first compared based on their string (path/filename/symbol), then their offset/lineno. 
        )r   bpt_location_t_comparer   s   &&r   comparebpt_location_t.compare  s     ..t77r#   c                    V ^8  d   QhRRRR/# rX   r   r  rY   rv   r$   )rZ   s   "r   r[   r    rt  r#   c                	.    \         P                  ! W4      # r.   )r   bpt_location_t___eq__r   s   &&r   __eq__bpt_location_t.__eq__  r   r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r    rt  r#   c                	.    \         P                  ! W4      # r.   )r   bpt_location_t___ne__r   s   &&r   __ne__bpt_location_t.__ne__  r   r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r    rt  r#   c                	.    \         P                  ! W4      # r.   )r   bpt_location_t___lt__r   s   &&r   __lt__bpt_location_t.__lt__  r   r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r    rt  r#   c                	.    \         P                  ! W4      # r.   )r   bpt_location_t___gt__r   s   &&r   __gt__bpt_location_t.__gt__  r   r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r    rt  r#   c                	.    \         P                  ! W4      # r.   )r   bpt_location_t___le__r   s   &&r   __le__bpt_location_t.__le__  r   r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r  !  rt  r#   c                	.    \         P                  ! W4      # r.   )r   bpt_location_t___ge__r   s   &&r   __ge__bpt_location_t.__ge__!  r   r#   r$   N)    )*r   r   r8   r9   r   r   r   r
   r   bpt_location_t_info_getbpt_location_t_info_setr  rz  bpt_location_t_index_getbpt_location_t_index_setr  bpt_location_t_loctype_getbpt_location_t_loctype_setr  r   r  r  r  r  r  r  rU   r  r  r  r  r  r  r  r  r  r  r  r  delete_bpt_location_tr   r<   r$   r#   r   r}  r}    s    -/I!#GH$X%E%E((*D/ *(;;X  "E3 "'(K(K++ -G_ -2
;
2
4
4
4
0
N3
<
F
K
G
8
77777755r#   r}  c                  D   ] 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&    ]! ]P&                  ]P(                  4      tR]R&    ]! ]P,                  ]P.                  4      tR]R&    ]! ]P2                  ]P4                  4      tR]R&    ]! ]P8                  ]P:                  4      tR]R&    ]! ]P>                  ]P@                  4      t!R]R&    ]! ]PD                  ]PF                  4      t$R]R&    ]! ]PJ                  ]PL                  4      t'R]R&    ]! ]PP                  ]PR                  4      t*R]R&    ]! ]PV                  ]PX                  4      t-R]R&    R t.R R lt/R R lt0R R lt1R  R! lt2R" R# lt3R$ R% lt4R& R' lt5R( R) lt6R* R+ lt7R, R- lt8R. R/ lt9R0 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tAR@ RA ltBRB RC ltCRD RE ltDRF RG ltERH RI ltF]! ]P                  ]P                  4      tIRJ]RK&   ]! ]P                  ]P                  4      tLRJ]RL&   ]P                  tNRMtORN# )Obpt_ti)  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   bpt_t.<lambda>*  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r  *  rL   r#   rM   rN   rn   cbr  locr  r  r  r  r  r  z'bpttype_t'r   
pass_countflagspropsrq   cndidxz	'inode_t'bptidc                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   bpt_t_swiginit	new_bpt_trh   s   &r   rU   bpt_t.__init__X  s    h&8&8&:;r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   bpt_t.__annotate__[  s     - - -r#   c                .    \         P                  ! V 4      # )zIs hardware breakpoint?
)r   bpt_t_is_hwbptrh   s   &r   is_hwbptbpt_t.is_hwbpt[       &&t,,r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r  `       , , ,r#   c                .    \         P                  ! V 4      # )zIs breakpoint enabled?
)r   bpt_t_enabledrh   s   &r   enabledbpt_t.enabled`       %%d++r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r  e  s     1 1T 1r#   c                .    \         P                  ! V 4      # )z*Is bpt condition calculated at low level?
)r   bpt_t_is_low_levelrh   s   &r   is_low_levelbpt_t.is_low_levele  s     **400r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r  j  s     + +t +r#   c                .    \         P                  ! V 4      # )z'Failed to write bpt to process memory?
)r   bpt_t_badbptrh   s   &r   badbptbpt_t.badbptj  s     $$T**r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r  o  r  r#   c                .    \         P                  ! V 4      # )zInclude in the bpt list?
)r   bpt_t_listbptrh   s   &r   listbptbpt_t.listbpto  r  r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r  t       0 0D 0r#   c                .    \         P                  ! V 4      # )z&Condition has been compiled? 
        )r   bpt_t_is_compiledrh   s   &r   is_compiledbpt_t.is_compiledt  r  r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r  y       . .$ .r#   c                .    \         P                  ! V 4      # )zWritten completely to process?
)r   bpt_t_is_activerh   s   &r   	is_activebpt_t.is_activey       ''--r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r  ~  s     8 8D 8r#   c                .    \         P                  ! V 4      # )zWritten partially to process?
)r   bpt_t_is_partially_activerh   s   &r   is_partially_activebpt_t.is_partially_active~  s     11$77r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r    r0  r#   c                .    \         P                  ! V 4      # )zNot written to process at all?
)r   bpt_t_is_inactiverh   s   &r   is_inactivebpt_t.is_inactive  r  r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r    r0  r#   c                .    \         P                  ! V 4      # )zPage breakpoint?
)r   bpt_t_is_page_bptrh   s   &r   is_page_bptbpt_t.is_page_bpt  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rZ   s   "r   r[   r    s     - - -r#   c                .    \         P                  ! V 4      # )zGet bpt size.
)r   bpt_t_get_sizerh   s   &r   get_sizebpt_t.get_size  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r    s     3 3_ 3 3r#   c                .    \         P                  ! W4      # )z)Set bpt location to an absolute address.
)r   bpt_t_set_abs_bptr  s   &&r   r  bpt_t.set_abs_bpt  s     ))$22r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  r  r  rn   rY   rd   r$   )rZ   s   "r   r[   r    s!     < <c <3 <$ <r#   c                0    \         P                  ! WV4      # )z#Set bpt location to a source line.
)r   bpt_t_set_src_bpt)r   r  r  s   &&&r   r  bpt_t.set_src_bpt  s     ))$F;;r#   c               $    V ^8  d   QhRRRRRR/# )rX   symr  orn   rY   rd   r$   )rZ   s   "r   r[   r    !     8 8s 8s 8d 8r#   c                0    \         P                  ! WV4      # )zSet bpt location to a symbol.
)r   bpt_t_set_sym_bpt)r   rY  rZ  s   &&&r   r  bpt_t.set_sym_bpt       ))$Q77r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  r  rZ  rn   rY   rd   r$   )rZ   s   "r   r[   r    r[  r#   c                0    \         P                  ! WV4      # )z(Set bpt location to a relative address.
)r   bpt_t_set_rel_bpt)r   r  rZ  s   &&&r   r  bpt_t.set_rel_bpt  r_  r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r    r6  r#   c                .    \         P                  ! V 4      # )z Is absolute address breakpoint?
)r   bpt_t_is_absbptrh   s   &r   	is_absbptbpt_t.is_absbpt  r;  r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r    r6  r#   c                .    \         P                  ! V 4      # )z Is relative address breakpoint?
)r   bpt_t_is_relbptrh   s   &r   	is_relbptbpt_t.is_relbpt  r;  r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r    r6  r#   c                .    \         P                  ! V 4      # )zIs symbolic breakpoint?
)r   bpt_t_is_symbptrh   s   &r   	is_symbptbpt_t.is_symbpt  r;  r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r    r6  r#   c                .    \         P                  ! V 4      # )zIs source level breakpoint?
)r   bpt_t_is_srcbptrh   s   &r   	is_srcbptbpt_t.is_srcbpt  r;  r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r    s     4 4 4r#   c                .    \         P                  ! V 4      # )z Does breakpoint trace anything?
)r   bpt_t_is_tracemodebptrh   s   &r   is_tracemodebptbpt_t.is_tracemodebpt  r  r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r    s     2 2d 2r#   c                .    \         P                  ! V 4      # )z6Is this a tracing breakpoint, and is tracing enabled?
)r   bpt_t_is_traceonbptrh   s   &r   is_traceonbptbpt_t.is_traceonbpt  r  r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r    s     3 3t 3r#   c                .    \         P                  ! V 4      # )z7Is this a tracing breakpoint, and is tracing disabled?
)r   bpt_t_is_traceoffbptrh   s   &r   is_traceoffbptbpt_t.is_traceoffbpt  r  r#   c               $    V ^8  d   QhRRRRRR/# )rX   enablerv   trace_typesrn   rY   r$   )rZ   s   "r   r[   r    s&     J Jt J# J Jr#   c                0    \         P                  ! WV4      # )zConfigure tracing options.
)r   bpt_t_set_trace_action)r   r  r  s   &&&r   set_trace_actionbpt_t.set_trace_action  s     ..t[IIr#   c                   V ^8  d   QhRR/# rm   r$   )rZ   s   "r   r[   r    s     6 6# 6r#   c                	.    \         P                  ! V 4      # r.   )r   bpt_t_get_cnd_elang_idxrh   s   &r   get_cnd_elang_idxbpt_t.get_cnd_elang_idx  r4  r#   'PyObject *'	conditionelangr$   N)Pr   r   r8   r9   r   r   r   r
   r   bpt_t_cb_getbpt_t_cb_setr  rz  bpt_t_loc_getbpt_t_loc_setr  bpt_t_pid_getbpt_t_pid_setr  bpt_t_tid_getbpt_t_tid_setr  bpt_t_ea_getbpt_t_ea_setr  bpt_t_type_getbpt_t_type_setr   bpt_t_pass_count_getbpt_t_pass_count_setr	  bpt_t_flags_getbpt_t_flags_setr
  bpt_t_props_getbpt_t_props_setr  bpt_t_size_getbpt_t_size_setrq   bpt_t_cndidx_getbpt_t_cndidx_setr  bpt_t_bptid_getbpt_t_bptid_setr  rU   r  r  r#  r(  r-  r3  r9  r?  rD  rI  rN  r  r  r  r  rg  rl  rq  rv  r{  r  r  r  r  bpt_t_condition_getbpt_t_condition_setr  bpt_t_elang_getbpt_t_elang_setr  delete_bpt_tr   r<   r$   r#   r   r  r  )  s   -/I!#GHx,,h.C.CDBD$X%;%;XC	 H22H4J4JKCKX33X5K5KLCL"8#8#8(:O:O 
B 
 !8!8(D+ x<<hJ (22H4L4LME3M(22H4L4LME3M00(2I2IJD#J844h6O6O 
FC 
 8 8(E9 <-
,
1
+
,
0
.
8
0
0
-
3
<
8
8
.
.
.
.
4
2
3
J
6&x'C'C$$&I| &"8#;#;XE< ,,r#   r  c                   V ^8  d   QhRR/# rm   r$   )rZ   s   "r   r[   r[          " "C "r#   c                 ,    \         P                  ! 4       # )zoGet number of breakpoints. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        )r   get_bpt_qtyr$   r#   r   r  r         !!r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  rn   rr  r   rY   rv   r$   )rZ   s   "r   r[   r[     s!     % % %' %T %r#   c                .    \         P                  ! W4      # )a  Get the characteristics of a breakpoint. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:param n: number of breakpoint, is in range 0..get_bpt_qty()-1
:param bpt: filled with the characteristics.
:returns: false if no breakpoint exists)r   getn_bpt)r  rr  s   &&r   r  r    s     Q$$r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  r  rr  r   rY   rv   r$   )rZ   s   "r   r[   r[   #  s!     % % %g % %r#   c                .    \         P                  ! W4      # )a  Get the characteristics of a breakpoint. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:param ea: any address in the breakpoint range
:param bpt: if not nullptr, is filled with the characteristics.
:returns: false if no breakpoint exists)r   get_bpt)r  rr  s   &&r   r  r  #  s     B$$r#   c                    V ^8  d   QhRRRR/# rX   r  r  rY   rv   r$   )rZ   s   "r   r[   r[   ,  s     " "/ "T "r#   c                .    \         P                  ! V 4      # )z/Does a breakpoint exist at the given location?
)r   	exist_bptr  s   &r   r  r  ,  s     b!!r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   2       # #T #r#   c                 *    \         P                  ! V !  # )ak  This function has the following signatures:

    0. add_bpt(ea: ida_idaapi.ea_t, size: asize_t=0, type: bpttype_t=BPT_DEFAULT) -> bool
    1. add_bpt(bpt: const bpt_t &) -> bool

# 0: add_bpt(ea: ida_idaapi.ea_t, size: asize_t=0, type: bpttype_t=BPT_DEFAULT) -> bool

Add a new breakpoint in the debugged process. \sq{Type, Synchronous function - available as request, Notification, none (synchronous function)} 
        

# 1: add_bpt(bpt: const bpt_t &) -> bool

Add a new breakpoint in the debugged process. \sq{Type, Synchronous function - available as request, Notification, none (synchronous function)} 
        
)r   add_bptr|  s   *r   r  r  2        T""r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   E       + +T +r#   c                 *    \         P                  ! V !  # )a  This function has the following signatures:

    0. request_add_bpt(ea: ida_idaapi.ea_t, size: asize_t=0, type: bpttype_t=BPT_DEFAULT) -> bool
    1. request_add_bpt(bpt: const bpt_t &) -> bool

# 0: request_add_bpt(ea: ida_idaapi.ea_t, size: asize_t=0, type: bpttype_t=BPT_DEFAULT) -> bool

Post an add_bpt(ea_t, asize_t, bpttype_t) request.


# 1: request_add_bpt(bpt: const bpt_t &) -> bool

Post an add_bpt(const bpt_t &) request.

)r   request_add_bptr|  s   *r   r  r  E        ##T**r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   X  r  r#   c                 *    \         P                  ! V !  # )a9  This function has the following signatures:

    0. del_bpt(ea: ida_idaapi.ea_t) -> bool
    1. del_bpt(bptloc: const bpt_location_t &) -> bool

# 0: del_bpt(ea: ida_idaapi.ea_t) -> bool

Delete an existing breakpoint in the debugged process. \sq{Type, Synchronous function - available as request, Notification, none (synchronous function)} 
        

# 1: del_bpt(bptloc: const bpt_location_t &) -> bool

Delete an existing breakpoint in the debugged process. \sq{Type, Synchronous function - available as request, Notification, none (synchronous function)} 
        
)r   del_bptr|  s   *r   r  r  X  r  r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   k  r  r#   c                 *    \         P                  ! V !  # )ac  This function has the following signatures:

    0. request_del_bpt(ea: ida_idaapi.ea_t) -> bool
    1. request_del_bpt(bptloc: const bpt_location_t &) -> bool

# 0: request_del_bpt(ea: ida_idaapi.ea_t) -> bool

Post a del_bpt(ea_t) request.


# 1: request_del_bpt(bptloc: const bpt_location_t &) -> bool

Post a del_bpt(const bpt_location_t &) request.

)r   request_del_bptr|  s   *r   r  r  k  r  r#   c                    V ^8  d   QhRRRR/# )rX   rr  r   rY   rv   r$   )rZ   s   "r   r[   r[   ~  s     $ $G $t $r#   c                .    \         P                  ! V 4      # )zUpdate modifiable characteristics of an existing breakpoint. To update the breakpoint location, use change_bptlocs() \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        )r   
update_bpt)rr  s   &r   r  r  ~  s     s##r#   c               $    V ^8  d   QhRRRRRR/# )rX   bptlocr  rr  r   rY   rv   r$   )rZ   s   "r   r[   r[     s"     * *% *G *t *r#   c                .    \         P                  ! W4      # )zFind a breakpoint by location. \sq{Type, Synchronous function - available as request, Notification, none (synchronous function)} 
        
:param bptloc: Breakpoint location
:param bpt: bpt is filled if the breakpoint was found)r   find_bpt)r  rr  s   &&r   r  r    s    
 V))r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[     s     & & &r#   c                 *    \         P                  ! V !  # r.   )r   
enable_bptr|  s   *r   r  r    s    %%r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[          ' ' 'r#   c                 *    \         P                  ! V !  # r.   )r   disable_bptr|  s   *r   r  r    s    &&r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[          . . .r#   c                 *    \         P                  ! V !  # r.   )r   request_enable_bptr|  s   *r   r  r    s    &&--r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[          / / /r#   c                 *    \         P                  ! V !  # r.   )r   request_disable_bptr|  s   *r   r  r    s    ''..r#   c                    V ^8  d   QhRRRR/# )rX   r  r  rY   rn   r$   )rZ   s   "r   r[   r[     s     " "/ "S "r#   c                .    \         P                  ! V 4      # )zaCheck the breakpoint at the specified address. 
        
:returns: one of Breakpoint status codes)r   	check_bptr  s   &r   r  r    s     b!!r#   c                    V ^8  d   QhRRRR/# )rX   rq   rn   rY   rv   r$   )rZ   s   "r   r[   r[     s     ) ) ) )r#   c                .    \         P                  ! V 4      # )aA  Specify the new size of the circular buffer. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:param size: if 0, buffer isn't circular and events are never removed. If the new size is smaller than the existing number of trace events, a corresponding number of trace events are removed.)r   set_trace_size)rq   s   &r   r  r    s     ""4((r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r[          " "D "r#   c                 ,    \         P                  ! 4       # )zClear all events in the trace buffer. \sq{Type, Synchronous function - available as request, Notification, none (synchronous function)} 
        )r   clear_tracer$   r#   r   r  r    r  r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r[     r~  r#   c                 ,    \         P                  ! 4       # )zPost a clear_trace() request.
)r   request_clear_tracer$   r#   r   r  r    r+  r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[          , ,d ,r#   c                 ,    \         P                  ! 4       # )zwGet current state of step tracing. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        )r   is_step_trace_enabledr$   r#   r   r  r         ))++r#   c                    V ^8  d   QhRRRR/# rX   r  rn   rY   rv   r$   )rZ   s   "r   r[   r[     s     . .c .t .r#   c                .    \         P                  ! V 4      # r.   )r   enable_step_tracer  s   &r   r  r        %%f--r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[          ) )4 )r#   c                 ,    \         P                  ! 4       # r.   )r   disable_step_tracer$   r#   r   r  r        &&((r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r[     s     6 6c 6t 6r#   c                .    \         P                  ! V 4      # r.   )r   request_enable_step_tracer  s   &r   r  r        --f55r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[          1 14 1r#   c                 ,    \         P                  ! 4       # r.   )r   request_disable_step_tracer$   r#   r   r  r        ..00r#   c                   V ^8  d   QhRR/# rm   r$   )rZ   s   "r   r[   r[     s     - -s -r#   c                 ,    \         P                  ! 4       # )zGet current step tracing options. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:returns: Step trace options)r   get_step_trace_optionsr$   r#   r   r  r         **,,r#   c                    V ^8  d   QhRRRR/# rX   optionsrn   rY   rd   r$   )rZ   s   "r   r[   r[          4 4C 44 4r#   c                .    \         P                  ! V 4      # )zModify step tracing options. \sq{Type, Synchronous function - available as request, Notification, none (synchronous function)} 
        )r   set_step_trace_optionsr  s   &r   r  r         **733r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r[          < <C <4 <r#   c                .    \         P                  ! V 4      # )z)Post a set_step_trace_options() request.
)r   request_set_step_trace_optionsr  s   &r   r  r         227;;r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[     r  r#   c                 ,    \         P                  ! 4       # )z~Get current state of instruction tracing. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        )r   is_insn_trace_enabledr$   r#   r   r"  r"    r  r#   c                    V ^8  d   QhRRRR/# rX   r  rv   rY   r$   )rZ   s   "r   r[   r[          . .d .4 .r#   c                .    \         P                  ! V 4      # r.   )r   enable_insn_tracer  s   &r   r'  r'    r   r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[     r  r#   c                 ,    \         P                  ! 4       # r.   )r   disable_insn_tracer$   r#   r   r*  r*    r  r#   c                    V ^8  d   QhRRRR/# r$  r$   )rZ   s   "r   r[   r[          6 6d 64 6r#   c                .    \         P                  ! V 4      # r.   )r   request_enable_insn_tracer  s   &r   r.  r.    r	  r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   #  r  r#   c                 ,    \         P                  ! 4       # r.   )r   request_disable_insn_tracer$   r#   r   r1  r1  #  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rZ   s   "r   r[   r[   '       - -s -r#   c                 ,    \         P                  ! 4       # )zGet current instruction tracing options. Also see IT_LOG_SAME_IP \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        )r   get_insn_trace_optionsr$   r#   r   r5  r5  '  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r[   -  r  r#   c                .    \         P                  ! V 4      # )zModify instruction tracing options. \sq{Type, Synchronous function - available as request, Notification, none (synchronous function)} 
        )r   set_insn_trace_optionsr  s   &r   r8  r8  -  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r[   3  r  r#   c                .    \         P                  ! V 4      # )z)Post a set_insn_trace_options() request.
)r   request_set_insn_trace_optionsr  s   &r   r;  r;  3  r  r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   9  r  r#   c                 ,    \         P                  ! 4       # )z|Get current state of functions tracing. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        )r   is_func_trace_enabledr$   r#   r   r>  r>  9  r  r#   c                    V ^8  d   QhRRRR/# r$  r$   )rZ   s   "r   r[   r[   ?  r%  r#   c                .    \         P                  ! V 4      # r.   )r   enable_func_tracer  s   &r   rA  rA  ?  r   r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   C  r  r#   c                 ,    \         P                  ! 4       # r.   )r   disable_func_tracer$   r#   r   rD  rD  C  r  r#   c                    V ^8  d   QhRRRR/# r$  r$   )rZ   s   "r   r[   r[   G  r,  r#   c                .    \         P                  ! V 4      # r.   )r   request_enable_func_tracer  s   &r   rG  rG  G  r	  r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   K  r  r#   c                 ,    \         P                  ! 4       # r.   )r   request_disable_func_tracer$   r#   r   rJ  rJ  K  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rZ   s   "r   r[   r[   O  r3  r#   c                 ,    \         P                  ! 4       # )zGet current function tracing options. Also see FT_LOG_RET \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        )r   get_func_trace_optionsr$   r#   r   rM  rM  O  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r[   U  r  r#   c                .    \         P                  ! V 4      # )zModify function tracing options. \sq{Type, Synchronous function - available as request, Notification, none (synchronous function)} 
        )r   set_func_trace_optionsr  s   &r   rP  rP  U  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r[   [  r  r#   c                .    \         P                  ! V 4      # )z)Post a set_func_trace_options() request.
)r   request_set_func_trace_optionsr  s   &r   rS  rS  [  r  r#   c                    V ^8  d   QhRRRR/# r$  r$   )rZ   s   "r   r[   r[   a  r%  r#   c                .    \         P                  ! V 4      # r.   )r   enable_bblk_tracer  s   &r   rV  rV  a  r   r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   e  r  r#   c                 ,    \         P                  ! 4       # r.   )r   disable_bblk_tracer$   r#   r   rY  rY  e  r  r#   c                    V ^8  d   QhRRRR/# r$  r$   )rZ   s   "r   r[   r[   i  r,  r#   c                .    \         P                  ! V 4      # r.   )r   request_enable_bblk_tracer  s   &r   r\  r\  i  r	  r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   m  r  r#   c                 ,    \         P                  ! 4       # r.   )r   request_disable_bblk_tracer$   r#   r   r_  r_  m  r  r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   q       , ,d ,r#   c                 ,    \         P                  ! 4       # r.   )r   is_bblk_trace_enabledr$   r#   r   rc  rc  q      ))++r#   c                   V ^8  d   QhRR/# rm   r$   )rZ   s   "r   r[   r[   u  r3  r#   c                 ,    \         P                  ! 4       # )zGet current basic block tracing options. Also see BT_LOG_INSTS \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        )r   get_bblk_trace_optionsr$   r#   r   rg  rg  u  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r[   {  r  r#   c                .    \         P                  ! V 4      # )z6Modify basic block tracing options (see BT_LOG_INSTS)
)r   set_bblk_trace_optionsr  s   &r   rj  rj  {  r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r[     r  r#   c                .    \         P                  ! V 4      # )z)Post a set_bblk_trace_options() request.
)r   request_set_bblk_trace_optionsr  s   &r   rm  rm    r  r#   c                  &   ] 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tR# )
tev_info_ti  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   tev_info_t.<lambda>  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   rq    rL   r#   rM   rN   'tev_type_t'r   r  r  r  r  c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   tev_info_t_swiginitnew_tev_info_trh   s   &r   rU   tev_info_t.__init__  rw  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   tev_info_t_type_gettev_info_t_type_setr   rz  tev_info_t_tid_gettev_info_t_tid_setr  tev_info_t_ea_gettev_info_t_ea_setr  rU   delete_tev_info_tr   r<   r$   r#   r   ro  ro    s    -/I!#GH!(">">D, X88(C "8#=#=xB F11r#   ro  c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   R R	 lt]! ]4      tR
 t]P                   tRtR# )memreg_info_ti  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   memreg_info_t.<lambda>  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r    rL   r#   rM   rN   r  r  c                   V ^8  d   QhRR/# )rX   rY   r  r$   )rZ   s   "r   r[   memreg_info_t.__annotate__  s     6 6, 6r#   c                	.    \         P                  ! V 4      # r.   )r   memreg_info_t_get_bytesrh   s   &r   	get_bytesmemreg_info_t.get_bytes  r4  r#   c                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   memreg_info_t_swiginitnew_memreg_info_trh   s   &r   rU   memreg_info_t.__init__  s    ''h.H.H.JKr#   r$   N)r   r   r8   r9   r   r   r   r
   r   memreg_info_t_ea_getmemreg_info_t_ea_setr  rz  r  bytesrU   delete_memreg_info_tr   r<   r$   r#   r   r  r    s\    -/I!#GH"8#@#@(B 6YEL44r#   r  c                   V ^8  d   QhRR/# rm   r$   )rZ   s   "r   r[   r[     r  r#   c                 ,    \         P                  ! 4       # )zGet number of trace events available in trace buffer. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        )r   get_tev_qtyr$   r#   r   r  r    r  r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  rn   tev_info'tev_info_t'rY   rv   r$   )rZ   s   "r   r[   r[     s!     . .C .< .4 .r#   c                .    \         P                  ! W4      # )a  Get main information about a trace event. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:param n: number of trace event, is in range 0..get_tev_qty()-1. 0 represents the latest added trace event.
:param tev_info: result
:returns: success)r   get_tev_info)r  r  s   &&r   r  r    s       --r#   c               (    V ^8  d   QhRRRRRRRR/# 	rX   r  rn   rM  r  regval
'regval_t'rY   rv   r$   )rZ   s   "r   r[   r[     s(     = =C =# =z =T =r#   c                0    \         P                  ! WV4      # )ac  Read a register value from an instruction trace event. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:param n: number of trace event, is in range 0..get_tev_qty()-1. 0 represents the latest added trace event.
:param regname: name of desired register
:param regval: result
:returns: false if not an instruction event.)r   get_insn_tev_reg_valr  rM  r  s   &&&r   r  r    s     ((V<<r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  rn   memmaprD  rY   rv   r$   )rZ   s   "r   r[   r[     s"     4 4C 4)9 4T 4r#   c                .    \         P                  ! W4      # )ah  Read the memory pointed by register values from an instruction trace event. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:param n: number of trace event, is in range 0..get_tev_qty()-1. 0 represents the latest added trace event.
:param memmap: result
:returns: false if not an instruction event or no memory is available)r   get_insn_tev_reg_mem)r  r  s   &&r   r  r    s     ((33r#   c               (    V ^8  d   QhRRRRRRRR/# r  r$   )rZ   s   "r   r[   r[     s.     @ @s @S @* @ @r#   c                0    \         P                  ! WV4      # )a  Read the resulting register value from an instruction trace event. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:param n: number of trace event, is in range 0..get_tev_qty()-1. 0 represents the latest added trace event.
:param regname: name of desired register
:param regval: result
:returns: false if not an instruction trace event or register wasn't modified.)r   get_insn_tev_reg_resultr  s   &&&r   r  r    s     ++A??r#   c                    V ^8  d   QhRRRR/# rX   r  rn   rY   r  r$   )rZ   s   "r   r[   r[     s     + +3 +/ +r#   c                .    \         P                  ! V 4      # )a*  Get the called function from a function call trace event. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:param n: number of trace event, is in range 0..get_tev_qty()-1. 0 represents the latest added trace event.
:returns: BADADDR if not a function call event.)r   get_call_tev_calleer  s   &r   r  r    s    
 ''**r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r[     s     * *# * *r#   c                .    \         P                  ! V 4      # )a-  Get the return address from a function return trace event. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:param n: number of trace event, is in range 0..get_tev_qty()-1. 0 represents the latest added trace event.
:returns: BADADDR if not a function return event.)r   get_ret_tev_returnr  s   &r   r  r    s    
 &&q))r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r[   	  s     & &c &_ &r#   c                .    \         P                  ! V 4      # )aQ  Get the address associated to a read, read/write or execution trace event. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:param n: number of trace event, is in range 0..get_tev_qty()-1. 0 represents the latest added trace event.
:returns: BADADDR if not a read, read/write or execution trace event.)r   get_bpt_tev_ear  s   &r   r  r  	  s    
 ""1%%r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  rn   mi'meminfo_vec_t'rY   rv   r$   )rZ   s   "r   r[   r[     s!     / /3 /O /t /r#   c                .    \         P                  ! W4      # )a  Get the memory layout, if any, for the specified tev object. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:param n: number of trace event, is in range 0..get_tev_qty()-1. 0 represents the latest added trace event.
:param mi: result
:returns: false if the tev_t object is not of type tev_mem, true otherwise, with the new memory layout in "mi".)r   get_tev_memory_info)r  r  s   &&r   r  r    s     ''..r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  rn   d'debug_event_t'rY   rv   r$   )rZ   s   "r   r[   r[     s!     ( (S (_ ( (r#   c                .    \         P                  ! W4      # )a  Get the corresponding debug event, if any, for the specified tev object. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:param n: number of trace event, is in range 0..get_tev_qty()-1. 0 represents the latest added trace event.
:param d: result
:returns: false if the tev_t object doesn't have any associated debug event, true otherwise, with the debug event in "d".)r   get_tev_event)r  r  s   &&r   r  r    s     !!!''r#   c                   V ^8  d   QhRR/# r  r$   )rZ   s   "r   r[   r[   #  s     - - -r#   c                 ,    \         P                  ! 4       # )zGet the base address of the current trace. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:returns: the base address of the currently loaded trace)r   get_trace_base_addressr$   r#   r   r  r  #  r  r#   c                    V ^8  d   QhRRRR/# )rX   r  r  rY   rd   r$   )rZ   s   "r   r[   r[   *       / / /$ /r#   c                .    \         P                  ! V 4      # )zSet the base address of the current trace. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        )r   set_trace_base_addressr  s   &r   r  r  *  s     **2..r#   c                    V ^8  d   QhRRRR/# rX   r  r  rY   rd   r$   )rZ   s   "r   r[   r[   0       ( ( (D (r#   c                .    \         P                  ! V 4      # )zwAdd a thread to the current trace. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        )r   dbg_add_threadr  s   &r   r  r  0       ""3''r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r[   6  r  r#   c                .    \         P                  ! V 4      # )z|Delete a thread from the current trace. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        )r   dbg_del_threadr  s   &r   r  r  6  r  r#   c               (    V ^8  d   QhRRRRRRRR/# )	rX   r   rs  r  r  addressr  rY   rd   r$   )rZ   s   "r   r[   r[   <  s)     4 4l 4 4O 44r#   c                0    \         P                  ! WV4      # )zAdd a new trace element to the current trace. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        )r   dbg_add_tev)r   r  r  s   &&&r   r  r  <  s     733r#   c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   ]! ]P                  ]P                  4      tR]R	&   R
 t]P"                  tRtR# )tev_reg_value_tiC  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   tev_reg_value_t.<lambda>D  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r  D  rL   r#   rM   rN   r  r   rn   reg_idxc                	X    \         P                  ! V \         P                  ! V!  4       R # r.   )r   tev_reg_value_t_swiginitnew_tev_reg_value_trS   s   &*r   rU   tev_reg_value_t.__init__L  s'    ))$1 !%1' 	(r#   r$   N)r   r   r8   r9   r   r   r   r
   r   tev_reg_value_t_value_gettev_reg_value_t_value_setr   rz  tev_reg_value_t_reg_idx_gettev_reg_value_t_reg_idx_setr  rU   delete_tev_reg_value_tr   r<   r$   r#   r   r  r  C  sp    -/I!#GH !C!C**,E: ,H@@(##%GS %(  66r#   r  c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   ]! ]P                  ]P                  4      tR]R	&   R
 t]P"                  tRtR# )tev_info_reg_tiU  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   tev_info_reg_t.<lambda>V  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r  V  rL   r#   rM   rN   r  r  rU  	registersc                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   tev_info_reg_t_swiginitnew_tev_info_reg_trh   s   &r   rU   tev_info_reg_t.__init__^  r  r#   r$   N)r   r   r8   r9   r   r   r   r
   r   tev_info_reg_t_info_gettev_info_reg_t_info_setr  rz  tev_info_reg_t_registers_gettev_info_reg_t_registers_setr  rU   delete_tev_info_reg_tr   r<   r$   r#   r   r  r  U  sr    -/I!#GH!("B"B((*D, *$,X$$h&K&K%MI! MN55r#   r  c                    V ^8  d   QhRRRR/# )rX   new_tevsr  rY   rv   r$   )rZ   s   "r   r[   r[   i  s     0 0 2 0d 0r#   c                .    \         P                  ! V 4      # )zAdd many new trace elements to the current trace. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:returns: false if the operation failed for any tev_info_t object)r   dbg_add_many_tevs)r  s   &r   r  r  i  s     %%h//r#   c               (    V ^8  d   QhRRRRRRRR/# )	rX   r  r  r  r  savez'save_reg_values_t'rY   rv   r$   )rZ   s   "r   r[   r[   p  s*     4 4( 4 44%)4r#   c                0    \         P                  ! WV4      # )zAdd a new instruction trace element to the current trace. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:returns: false if the operation failed, true otherwise)r   dbg_add_insn_tev)r  r  r  s   &&&r   r  r  p  s    
 $$Sd33r#   c               (    V ^8  d   QhRRRRRRRR/# )rX   r  r  r  r  bprY   rv   r$   )rZ   s   "r   r[   r[   x  s)     1 1 1 1O 11r#   c                0    \         P                  ! WV4      # )zAdd a new breakpoint trace element to the current trace. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:returns: false if the operation failed, true otherwise)r   dbg_add_bpt_tev)r  r  r  s   &&&r   r  r  x  s    
 ##CR00r#   c               (    V ^8  d   QhRRRRRRRR/# )rX   r  r  callerr  calleerY   rd   r$   )rZ   s   "r   r[   r[     s*     : :( :O :::r#   c                0    \         P                  ! WV4      # )zAdd a new call trace element to the current trace. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        )r   dbg_add_call_tev)r  r  r  s   &&&r   r  r    s     $$S&99r#   c               (    V ^8  d   QhRRRRRRRR/# )rX   r  r  ret_insnr  	return_torY   rd   r$   )rZ   s   "r   r[   r[     s*     > > >_ >>>r#   c                0    \         P                  ! WV4      # )zAdd a new return trace element to the current trace. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        )r   dbg_add_ret_tev)r  r   r  s   &&&r   r  r    s     ##C9==r#   c                    V ^8  d   QhRRRR/# )rX   eventr  rY   rd   r$   )rZ   s   "r   r[   r[     r  r#   c                .    \         P                  ! V 4      # )zAdd a new debug event to the current trace. \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        )r   dbg_add_debug_event)r  s   &r   r  r    s     ''..r#   c                    V ^8  d   QhRRRR/# rX   filenamer  rY   r$   )rZ   s   "r   r[   r[     s     . .c .S .r#   c                .    \         P                  ! V 4      # )zLoad a recorded trace file in the 'Tracing' window. If the call succeeds and 'buf' is not null, the description of the trace stored in the binary trace file will be returned in 'buf' 
        )r   load_trace_filer
  s   &r   r  r         ##H--r#   c               $    V ^8  d   QhRRRRRR/# rX   r
  r  descriptionrY   rv   r$   )rZ   s   "r   r[   r[     s!     ; ;c ; ;t ;r#   c                .    \         P                  ! W4      # )z.Save the current trace in the specified file.
)r   save_trace_filer
  r  s   &&r   r  r    s     ##H::r#   c                    V ^8  d   QhRRRR/# rX   r
  r  rY   rv   r$   )rZ   s   "r   r[   r[     s     2 2# 2 2r#   c                .    \         P                  ! V 4      # )zCIs the specified file a valid trace file for the current database?
)r   is_valid_trace_filer  s   &r   r  r         ''11r#   c               $    V ^8  d   QhRRRRRR/# r  r$   )rZ   s   "r   r[   r[     s!     ? ?# ?C ?4 ?r#   c                .    \         P                  ! W4      # )z4Change the description of the specified trace file.
)r   set_trace_file_descr  s   &&r   r  r    s     ''>>r#   c                    V ^8  d   QhRRRR/# r	  r$   )rZ   s   "r   r[   r[     s     2 2# 2 2r#   c                .    \         P                  ! V 4      # )z1Get the file header of the specified trace file.
)r   get_trace_file_descr  s   &r   r  r    r  r#   c                   V ^8  d   QhRR/# r  r$   )rZ   s   "r   r[   r[     s     ( (# (r#   c                 ,    \         P                  ! 4       # )zShow the choose trace dialog.
)r   choose_trace_filer$   r#   r   r"  r"    r!  r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r[     s     . .c .T .r#   c                .    \         P                  ! V 4      # )zGShow difference between the current trace and the one from 'filename'.
)r   diff_trace_filer  s   &r   r%  r%    r  r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[     r  r#   c                 ,    \         P                  ! 4       # )zShow the trace callgraph.
)r   graph_tracer$   r#   r   r(  r(    r  r#   c               (    V ^8  d   QhRRRRRRRR/# )rX   hilightrv   colorz'bgcolor_t'diffrY   rd   r$   )rZ   s   "r   r[   r[     s0     F F Fk FFFr#   c                0    \         P                  ! WV4      # )z Set highlight trace parameters.
)r   set_highlight_trace_options)r*  r+  r,  s   &&&r   r.  r.    s     //EEr#   c                    V ^8  d   QhRRRR/# )rX   platformr  rY   rd   r$   )rZ   s   "r   r[   r[     s     1 1 1 1r#   c                .    \         P                  ! V 4      # )z$Set platform name of current trace.
)r   set_trace_platform)r0  s   &r   r2  r2    s     &&x00r#   c                   V ^8  d   QhRR/# r  r$   )rZ   s   "r   r[   r[     s     ) )3 )r#   c                 ,    \         P                  ! 4       # )z$Get platform name of current trace.
)r   get_trace_platformr$   r#   r   r5  r5    r  r#   c                    V ^8  d   QhRRRR/# )rX   idaregsz'dynamic_register_set_t &'rY   rd   r$   )rZ   s   "r   r[   r[          < <,F <$ <r#   c                .    \         P                  ! V 4      # )z+Set dynamic register set of current trace.
)r   set_trace_dynamic_register_setr7  s   &r   r:  r:    r  r#   c                    V ^8  d   QhRRRR/# )rX   r7  z'dynamic_register_set_t *'rY   rd   r$   )rZ   s   "r   r[   r[     r8  r#   c                .    \         P                  ! V 4      # )z+Get dynamic register set of current trace.
)r   get_trace_dynamic_register_setr;  s   &r   r>  r>    r  r#   c               $    V ^8  d   QhRRRRRR/# )rX   wfnern   timeoutrY   z'dbg_event_code_t'r$   )rZ   s   "r   r[   r[   ?  s"     7 7c 7C 73E 7r#   c                .    \         P                  ! W4      # )aW  Wait for the next event.
This function (optionally) resumes the process execution, and waits for a debugger event until a possible timeout occurs.

:param wfne: combination of Wait for debugger event flags constants
:param timeout: number of seconds to wait, -1-infinity
:returns: either an event_id_t (if > 0), or a dbg_event_code_t (if <= 0))r   wait_for_next_event)r@  rA  s   &&r   rC  rC  ?  s     ''66r#   c                   V ^8  d   QhRR/# )rX   rY   z'debug_event_t const *'r$   )rZ   s   "r   r[   r[   I  s     & &/ &r#   c                 ,    \         P                  ! 4       # )z Get the current debugger event.
)r   get_debug_eventr$   r#   r   rF  rF  I  s     ##%%r#   c                    V ^8  d   QhRRRR/# )rX   r  'uint'rY   r$   )rZ   s   "r   r[   r[   O  s     2 2& 2F 2r#   c                .    \         P                  ! V 4      # )zSet debugger options. Replaces debugger options with the specification combination Debugger options 
        
:returns: the old debugger options)r   set_debugger_optionsr  s   &r   rJ  rJ  O  s     ((11r#   c               (    V ^8  d   QhRRRRRRRR/# )rX   hostr  _passportrn   rY   rd   r$   )rZ   s   "r   r[   r[   V  s(     ; ;c ;# ;S ;t ;r#   c                0    \         P                  ! WV4      # )zSet remote debugging options. Should be used before starting the debugger. 
        
:param host: If empty, IDA will use local debugger. If nullptr, the host will not be set.
:param port: If -1, the default port number will be used)r   set_remote_debugger)rL  rM  rN  s   &&&r   rP  rP  V  s    
 ''T::r#   c                   V ^8  d   QhRR/# )rX   rY   zN'qstring *, qstring *, launch_env_t *, qstring *, qstring *, qstring *, int *'r$   )rZ   s   "r   r[   r[   ^  s     + +V+r#   c                 ,    \         P                  ! 4       # r.   )r   get_process_options2r$   r#   r   rS  rS  ^  s    ((**r#   c                   V ^8  d   QhRR/# )rX   rY   z'excvec_t *'r$   )rZ   s   "r   r[   r[   c  s     * *L *r#   c                 ,    \         P                  ! 4       # )a  Retrieve the exception information. You may freely modify the returned vector and add/edit/delete exceptions You must call store_exceptions() after any modifications Note: exceptions with code zero, multiple exception codes or names are prohibited 
        )r   retrieve_exceptionsr$   r#   r   rV  rV  c  r+  r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   i  r  r#   c                 ,    \         P                  ! 4       # )zyUpdate the exception information stored in the debugger module by invoking its dbg->set_exception_info callback 
        )r   store_exceptionsr$   r#   r   rY  rY  i  r  r#   c          
     ,    V ^8  d   QhRRRRRRRRRR/# )	rX   coderH  r   r  descr
  rn   rY   r$   )rZ   s   "r   r[   r[   o  s/     > >6 > >C > >s >r#   c                0    \         P                  ! WW#4      # )ac  Convenience function: define new exception code. 
        
:param code: exception code (cannot be 0)
:param name: exception name (cannot be empty or nullptr)
:param desc: exception description (maybe nullptr)
:param flags: combination of Exception info flags
:returns: failure message or nullptr. You must call store_exceptions() if this function succeeds)r   define_exception)r[  r   r\  r
  s   &&&&r   r^  r^  o  s     $$T==r#   c                      ] tR tRt$ ]! R R RR7      t]tR R lt]! ]	P                  ]	P                  4      tR]R	&   ]	P                  tR
tR# )
eval_ctx_tiz  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   eval_ctx_t.<lambda>{  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   rb  {  rL   r#   rM   rN   c                   V ^8  d   QhRR/# )rX   _ear  r$   )rZ   s   "r   r[   eval_ctx_t.__annotate__  s     I IO Ir#   c                	\    \         P                  ! V \         P                  ! V4      4       R # r.   )r   eval_ctx_t_swiginitnew_eval_ctx_t)r   re  s   &&r   rU   eval_ctx_t.__init__  s    $$T8+B+B3+GHr#   r  r  r$   N)r   r   r8   r9   r   r   r   r
   rU   r   eval_ctx_t_ea_geteval_ctx_t_ea_setr  rz  delete_eval_ctx_tr   r<   r$   r#   r   r`  r`  z  sM    -/I!#GHI"8#=#=xB 11r#   r`  c               <    V ^8  d   QhRRRRRRRRRR	R
RRRRRRR/	# )rX   out_ccvz'TWidget **'parentz'TWidget *'custviewsfz'source_file_ptr'linesz'strvec_t *'lnnumrn   colnumr
  rY   z'source_view_t *'r$   )rZ   s   "r   r[   r[     sR     % %, % %%0%9E%%%$'%+<%r#   c           
     4    \         P                  ! WW#WEWg4      # )zCreate a source code view.
)r   create_source_viewer)ro  rp  rq  rr  rs  rt  ru  r
  s   &&&&&&&&r   rw  rw    s     
 (((f% %r#   c                    V ^8  d   QhRRRR/# )rX   r  r  rY   z
'uint32 *'r$   )rZ   s   "r   r[   r[     s     % %_ %
 %r#   c                .    \         P                  ! V 4      # )zGet one byte of the debugged process memory. 
        
:param ea: linear address
:returns: success
:returns: true: success
:returns: false: address inaccessible or debugger not running)r   get_dbg_byter  s   &r   rz  rz    s       $$r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  r  rE   rn   rY   rv   r$   )rZ   s   "r   r[   r[     s!     ( (_ ( ( (r#   c                .    \         P                  ! W4      # )zChange one byte of the debugged process memory. 
        
:param ea: linear address
:param x: byte value
:returns: true if the process memory has been modified)r   put_dbg_byte)r  rE   s   &&r   r}  r}    s       ''r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r[     r  r#   c                 ,    \         P                  ! 4       # )zInvalidate the debugged process memory configuration. Call this function if the debugged process might have changed its memory layout (allocated more memory, for example) 
        )r   invalidate_dbgmem_configr$   r#   r   r  r    r  r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  r  rq   	'asize_t'rY   rd   r$   )rZ   s   "r   r[   r[     s!     9 9? 9) 9t 9r#   c                .    \         P                  ! W4      # )zInvalidate the debugged process memory contents. Call this function each time the process has been stopped or the process memory is modified. If ea == BADADDR, then the whole memory contents will be invalidated 
        )r   invalidate_dbgmem_contents)r  rq   s   &&r   r  r    s     ..r88r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[     r  r#   c                 ,    \         P                  ! 4       # )z#Is the debugger currently running?
)r   is_debugger_onr$   r#   r   r  r    r  r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r[     s     + +? +d +r#   c                .    \         P                  ! V 4      # )z*Is the address mapped to debugger memory?
)r   is_debugger_memoryr  s   &r   r  r    s     &&r**r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r[     s     " "# " "r#   c                .    \         P                  ! V 4      # r.   )r   
get_tev_ear  s   &r   r  r    s    q!!r#   c                    V ^8  d   QhRRRR/# rX   r  rn   rY   r$   )rZ   s   "r   r[   r[     s     $ $C $3 $r#   c                .    \         P                  ! V 4      # r.   )r   get_tev_typer  s   &r   r  r    s      ##r#   c                    V ^8  d   QhRRRR/# r  r$   )rZ   s   "r   r[   r[     s     # #3 ## #r#   c                .    \         P                  ! V 4      # r.   )r   get_tev_tidr  s   &r   r  r    s    ""r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r[     r  r#   c                 ,    \         P                  ! 4       # r.   )r   bring_debugger_to_frontr$   r#   r   r  r        ++--r#   c                    V ^8  d   QhRRRR/# )rX   rangesr  rY   rd   r$   )rZ   s   "r   r[   r[     s     / / /$ /r#   c                .    \         P                  ! V 4      # r.   )r   set_manual_regionsr  s   &r   r  r    s    &&v..r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r[     s     * *D *r#   c                 ,    \         P                  ! 4       # r.   )r   edit_manual_regionsr$   r#   r   r  r    s    ''))r#   c                    V ^8  d   QhRRRR/# )rX   r  rv   rY   rd   r$   )rZ   s   "r   r[   r[     s     2 2$ 2$ 2r#   c                .    \         P                  ! V 4      # r.   )r   enable_manual_regionsr  s   &r   r  r    s    ))&11r#   c               $    V ^8  d   QhRRRRRR/# )rX   evr  rqflagsrn   rY   r$   )rZ   s   "r   r[   r[     s!     4 4? 4S 4C 4r#   c                .    \         P                  ! W4      # r.   )r   handle_debug_event)r  r  s   &&r   r  r    s    &&r33r#   c                    V ^8  d   QhRRRR/# )rX   r  r  rY   rv   r$   )rZ   s   "r   r[   r[     s     ) ) ) )r#   c                .    \         P                  ! V 4      # r.   )r   add_virt_module)r  s   &r   r  r    s    ##C((r#   c                    V ^8  d   QhRRRR/# )rX   basez'ea_t const'rY   rv   r$   )rZ   s   "r   r[   r[     s     * *, *$ *r#   c                .    \         P                  ! V 4      # r.   )r   del_virt_module)r  s   &r   r  r    s    ##D))r#   c          
     ,    V ^8  d   QhRRRRRRRRR	R/# )
rX   r  rn   bufz'void const *'poutbufz	'void **'poutsizez'ssize_t *'rY   r$   )rZ   s   "r   r[   r[     s1     ? ?s ? ?) ?? ?r#   c                0    \         P                  ! WW#4      # r.   )r   internal_ioctl)r  r  r  r  s   &&&&r   r  r    s    ""2G>>r#   c                    V ^8  d   QhRRRR/# )rX   r  r  rY   rn   r$   )rZ   s   "r   r[   r[    	  s     0 0 03 0r#   c                .    \         P                  ! V 4      # r.   )r   get_dbg_memory_infor  s   &r   r  r   	  s    ''//r#   c               $    V ^8  d   QhRRRRRR/# )rX   rr  r   grp_namer  rY   rv   r$   )rZ   s   "r   r[   r[   	  s!     1 1w 1# 1 1r#   c                .    \         P                  ! W4      # )a,  Move a bpt into a folder in the breakpoint dirtree if the folder didn't exists, it will be created \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:param bpt: bpt that will be moved
:param grp_name: absolute path to the breakpoint dirtree folder
:returns: success)r   set_bpt_group)rr  r  s   &&r   r  r  	  s     !!#00r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  r  r  r  rY   rv   r$   )rZ   s   "r   r[   r[   	  s"     7 7- 7 7 7r#   c                .    \         P                  ! W4      # )a  Move a bpt into a folder in the breakpoint dirtree based on the bpt_location find_bpt is called to retrieve the bpt and then set_bpt_group if the folder didn't exists, it will be created \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:param bptloc: bptlocation of the bpt that will be moved
:param grp_name: absolute path to the breakpoint dirtree folder
:returns: success)r   set_bptloc_group)r  r  s   &&r   r  r  	  s     $$V66r#   c                    V ^8  d   QhRRRR/# )rX   r  r  rY   r  r$   )rZ   s   "r   r[   r[   	  s     * ** *c *r#   c                .    \         P                  ! V 4      # )a=  Retrieve the absolute path to the folder of the bpt based on the bpt_location find_bpt is called to retrieve the bpt \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:param bptloc: bptlocation of the bpt
:returns: success
:returns: true: breakpoint correctly moved to the directory)r   get_bpt_group)r  s   &r   r  r  	  s     !!&))r#   c               $    V ^8  d   QhRRRRRR/# )rX   old_namer  new_namerY   rv   r$   )rZ   s   "r   r[   r[   	  s!     6 6C 63 6$ 6r#   c                .    \         P                  ! W4      # )zRename a folder of bpt dirtree \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:param old_name: absolute path to the folder to be renamed
:param new_name: absolute path of the new folder name
:returns: success)r   rename_bptgrp)r  r  s   &&r   r  r  	  s     !!(55r#   c                    V ^8  d   QhRRRR/# )rX   r   r  rY   rv   r$   )rZ   s   "r   r[   r[   (	  s     % %S %D %r#   c                .    \         P                  ! V 4      # )zDelete a folder, bpt that were part of this folder are moved to the root folder \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:param name: full path to the folder to be deleted
:returns: success)r   
del_bptgrpr   s   &r   r  r  (	  s    
 t$$r#   c               $    V ^8  d   QhRRRRRR/# )rX   bptsr   r  r  rY   r  r$   )rZ   s   "r   r[   r[   0	  s!     1 1{ 1c 1Y 1r#   c                .    \         P                  ! W4      # )a$  Retrieve a copy of the bpts stored in a folder \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:param bpts: : pointer to a vector where the copy of bpts are stored
:param grp_name: absolute path to the folder
:returns: number of bpts present in the vector)r   get_grp_bpts)r  r  s   &&r   r  r  0	  s       00r#   c               $    V ^8  d   QhRRRRRR/# )rX   bptgrp_namer  r  rv   rY   rn   r$   )rZ   s   "r   r[   r[   9	  s!     7 7s 7D 7 7r#   c                .    \         P                  ! W4      # )aK  Enable (or disable) all bpts in a folder \sq{Type, Synchronous function, Notification, none (synchronous function)} 
        
:param bptgrp_name: absolute path to the folder
:param enable: by default true, enable bpts, false disable bpts
:returns: -1: an error occurred
:returns: 0: no changes
:returns: >0: numbers of bpts updated)r   enable_bptgrp)r  r  s   &&r   r  r  9	  s     !!+66r#   c               (    V ^8  d   QhRRRRRRRR/# )	rX   prov'srcinfo_provider_t *'r  r  outz'source_items_t *'rY   rv   r$   )rZ   s   "r   r[   r[   D	  s+     2 2/ 2_ 222r#   c                0    \         P                  ! WV4      # r.   )r   get_local_vars)r  r  r  s   &&&r   r  r  D	  s    ""4S11r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   I	  r  r#   c                 ,    \         P                  ! 4       # r.   )r   srcdbg_request_step_intor$   r#   r   r  r  I	      ,,..r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   M	  r  r#   c                 ,    \         P                  ! 4       # r.   )r   srcdbg_request_step_overr$   r#   r   r  r  M	  r  r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   Q	  s     4 4d 4r#   c                 ,    \         P                  ! 4       # r.   )r   srcdbg_request_step_until_retr$   r#   r   r  r  Q	  s    1133r#   c                   V ^8  d   QhRR/# rm   r$   )rZ   s   "r   r[   r[   U	  s     $ $c $r#   c                 ,    \         P                  ! 4       # r.   )r   hide_all_bptsr$   r#   r   r  r  U	  s    !!##r#   c               (    V ^8  d   QhRRRRRRRR/# )	rX   r  r  bufferz'void *'rq   rn   rY   r  r$   )rZ   s   "r   r[   r[   Y	  s)     6 6 6 6 66r#   c                0    \         P                  ! WV4      # r.   )r   read_dbg_memory)r  r  rq   s   &&&r   r  r  Y	  s    ##B55r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  r  r  r  rY   rv   r$   )rZ   s   "r   r[   r[   ^	  s!     1 1 1+ 1 1r#   c                .    \         P                  ! W4      # r.   )r   get_module_info)r  r  s   &&r   r  r  ^	  s    ##B00r#   c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
rX   start_ear  end_eadataz'compiled_binpat_vec_t const &'
srch_flagsrn   rY   r  r$   )rZ   s   "r   r[   r[   b	  s9     G G_ Go G#G14G8;Gr#   c                0    \         P                  ! WW#4      # r.   )r   dbg_bin_search)r  r  r  r  s   &&&&r   r  r  b	  s    ""8TFFr#   c               $    V ^8  d   QhRRRRRR/# )rX   dbgnamer  
use_remoterv   rY   r$   )rZ   s   "r   r[   r[   g	  s!     7 73 7D 7D 7r#   c                .    \         P                  ! W4      # r.   )r   load_debugger)r  r  s   &&r   r  r  g	  s    !!'66r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  r  tracez'call_stack_t'rY   rv   r$   )rZ   s   "r   r[   r[   k	  s!     4 4X 4n 4 4r#   c                .    \         P                  ! W4      # r.   )r   collect_stack_trace)r  r  s   &&r   r  r  k	  s    ''33r#   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# rX   r  r  r  r  r   r  r  z'source_item_ptr *'rY   rv   r$   )rZ   s   "r   r[   r[   o	  s3     8 8/ 8_ 88!8%)8r#   c                0    \         P                  ! WW#4      # r.   )r   get_global_varr  r  r   r  s   &&&&r   r  r  o	  s    ""4T77r#   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# r  r$   )rZ   s   "r   r[   r[   t	  s3     7 7. 7O 77!7%)7r#   c                0    \         P                  ! WW#4      # r.   )r   get_local_varr  s   &&&&r   r  r  t	  s    !!$D66r#   c                    V ^8  d   QhRRRR/# )rX   r   r  rY   r  r$   )rZ   s   "r   r[   r[   y	  s     / /s /&< /r#   c                .    \         P                  ! V 4      # r.   )r   get_srcinfo_providerr  s   &r   r  r  y	  s    ((..r#   c                   V ^8  d   QhRR/# r  r$   )rZ   s   "r   r[   r[   }	       . . .r#   c                 ,    \         P                  ! 4       # r.   )r   get_current_source_filer$   r#   r   r  r  }	  r  r#   c                   V ^8  d   QhRR/# rm   r$   )rZ   s   "r   r[   r[   	  r
  r#   c                 ,    \         P                  ! 4       # r.   )r   get_current_source_liner$   r#   r   r  r  	  r  r#   c               $    V ^8  d   QhRRRRRR/# )rX   srcr  dstrY   rd   r$   )rZ   s   "r   r[   r[   	  s!     / /# /C /4 /r#   c                .    \         P                  ! W4      # r.   )r   add_path_mapping)r  r  s   &&r   r  r  	  s    $$S..r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   	  r  r#   c                 ,    \         P                  ! 4       # r.   )r   srcdbg_step_intor$   r#   r   r  r  	      $$&&r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   	  r  r#   c                 ,    \         P                  ! 4       # r.   )r   srcdbg_step_overr$   r#   r   r  r  	  r  r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   	  ra  r#   c                 ,    \         P                  ! 4       # r.   )r   srcdbg_step_until_retr$   r#   r   r  r  	  rd  r#   c                    V ^8  d   QhRRRR/# )rX   evcondr  rY   rd   r$   )rZ   s   "r   r[   r[   	  s     4 4C 44 4r#   c                .    \         P                  ! V 4      # r.   )r   set_debugger_event_cond)r   s   &r   r"  r"  	  s    ++F33r#   c                   V ^8  d   QhRR/# r  r$   )rZ   s   "r   r[   r[   	  r
  r#   c                 ,    \         P                  ! 4       # r.   )r   get_debugger_event_condr$   r#   r   r%  r%  	  r  r#   c                      ] tR tRt$ ]! R R RR7      t]t]! ]P                  ]P                  4      tR]R&   ]! ]P                  ]P                  4      tR]R	&   R
 t]P"                  tRtR# )dbg_deref_options_ti	  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   dbg_deref_options_t.<lambda>	  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   r)  	  rL   r#   rM   rN   rn   deref_limitrv   hide_default_segmentsc                	Z    \         P                  ! V \         P                  ! 4       4       R # r.   )r   dbg_deref_options_t_swiginitnew_dbg_deref_options_trh   s   &r   rU   dbg_deref_options_t.__init__	  s$    --dH##5$ 5& 	'r#   r$   N)r   r   r8   r9   r   r   r   r
   r   #dbg_deref_options_t_deref_limit_get#dbg_deref_options_t_deref_limit_setr+  rz  -dbg_deref_options_t_hide_default_segments_get-dbg_deref_options_t_hide_default_segments_setr,  rU   delete_dbg_deref_options_tr   r<   r$   r#   r   r'  r'  	  sr    -/I!#GH++X++-K - #+855x55#74 7'  ::r#   r'  c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   r[   	  r  r#   c                 *    \         P                  ! V !  # )z_Set process options. Any of the arguments may be nullptr, which means 'do not modify' 
        )r   set_process_optionsr|  s   *r   r8  r8  	  s     ''..r#   c                   V ^8  d   QhRR/# )rX   rY   z>'qstring *, qstring *, qstring *, qstring *, qstring *, int *'r$   )rZ   s   "r   r[   r[   	  s     * *F*r#   c                 ,    \         P                  ! 4       # )zBGet process options. Any of the arguments may be nullptr 
        )r   get_process_optionsr$   r#   r   r;  r;  	  r  r#   c                 *    \         P                  ! V !  # )aP  Returns the manual memory regions

This function has the following signatures:

    1. get_manual_regions() -> List[Tuple(ida_idaapi.ea_t, ida_idaapi.ea_t, str, str, ida_idaapi.ea_t, int, int)]
       Where each tuple holds (start_ea, end_ea, name, sclass, sbase, bitness, perm)
    2. get_manual_regions(storage: meminfo_vec_t) -> None)r   get_manual_regionsr|  s   *r   r=  r=  	  s     &&--r#   c                 ,    \         P                  ! 4       # )z1Checks if a debugger is loaded

:returns: Boolean)r   dbg_is_loadedr$   r#   r   r?  r?  	  s     !!##r#   c                 ,    \         P                  ! 4       # )z0Refreshes the debugger memory

:returns: Nothing)r   refresh_debugger_memoryr$   r#   r   rA  rA  	  s     ++--r#   c                  v   ] tR tRt]! R R RR7      t]tR9R R l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] PB                  t"R6 t#R7t$R8# ):	DBG_Hooksi	  c                	6    V P                   P                  4       # r.   rC   rD   s   &r   rF   DBG_Hooks.<lambda>	  rH   r#   c                	8    V P                   P                  V4      # r.   rC   rJ   s   &&r   rF   rE  	  rL   r#   rM   rN   c                    V ^8  d   QhRRRR/# )rX   _flagsrn   _hkcb_flagsr$   )rZ   s   "r   r[   DBG_Hooks.__annotate__	  s     " "s "3 "r#   c                	    V P                   \        8X  d   R pMT p\        P                  ! V \        P                  ! VW4      4       R # r.   )r   rC  r   DBG_Hooks_swiginitnew_DBG_Hooks)r   rH  rI  _selfs   &&& r   rU   DBG_Hooks.__init__	  s:    >>Y&EE##D(*@*@+! 	"r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   rJ  	  s     - -T -r#   c                	.    \         P                  ! V 4      # r.   )r   DBG_Hooks_hookrh   s   &r   hookDBG_Hooks.hook	  rs   r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   rJ  	  r   r#   c                	.    \         P                  ! V 4      # r.   )r   DBG_Hooks_unhookrh   s   &r   unhookDBG_Hooks.unhook	  r   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  r  r  modinfo_namer  modinfo_basemodinfo_sizer  rY   rd   r$   )rZ   s   "r   r[   rJ  	  sB     6 6W 68 66'*6:I66#'6r#   c           	     	4    \         P                  ! WW#WEV4      # r.   )r   DBG_Hooks_dbg_process_startr   r  r  r  r\  r]  r^  s   &&&&&&&r   dbg_process_startDBG_Hooks.dbg_process_start	  s      33Ds6 	6r#   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# rX   r  r  r  r  r  r  	exit_codern   rY   rd   r$   )rZ   s   "r   r[   rJ  	  s2      G ( $'+/r#   c                	2    \         P                  ! WW#V4      # r.   )r   DBG_Hooks_dbg_process_exitr   r  r  r  rf  s   &&&&&r   dbg_process_exitDBG_Hooks.dbg_process_exit	  s    224c 	r#   c               4    V ^8  d   QhRRRRRRRRR	RR
RRR/# r[  r$   )rZ   s   "r   r[   rJ  	  sB     6 6g 6H 66'*6:I66#'6r#   c           	     	4    \         P                  ! WW#WEV4      # r.   )r   DBG_Hooks_dbg_process_attachra  s   &&&&&&&r   dbg_process_attachDBG_Hooks.dbg_process_attach	  s      44T6 	6r#   c               (    V ^8  d   QhRRRRRRRR/# 	rX   r  r  r  r  r  r  rY   rd   r$   )rZ   s   "r   r[   rJ  	  s0     I Ig IH IIIr#   c                	0    \         P                  ! WW#4      # r.   )r   DBG_Hooks_dbg_process_detachr   r  r  r  s   &&&&r   dbg_process_detachDBG_Hooks.dbg_process_detach	  s    44THHr#   c               (    V ^8  d   QhRRRRRRRR/# rr  r$   )rZ   s   "r   r[   rJ  	  s/     G GG G( G GGr#   c                	0    \         P                  ! WW#4      # r.   )r   DBG_Hooks_dbg_thread_startru  s   &&&&r   dbg_thread_startDBG_Hooks.dbg_thread_start	  s    224cFFr#   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# re  r$   )rZ   s   "r   r[   rJ  
  s2      7  $'+/r#   c                	2    \         P                  ! WW#V4      # r.   )r   DBG_Hooks_dbg_thread_exitri  s   &&&&&r   dbg_thread_exitDBG_Hooks.dbg_thread_exit
  s    11$Si  	r#   c               4    V ^8  d   QhRRRRRRRRR	RR
RRR/# r[  r$   )rZ   s   "r   r[   rJ  
  sB     6 6G 6( 66'*6:I66#'6r#   c           	     	4    \         P                  ! WW#WEV4      # r.   )r   DBG_Hooks_dbg_library_loadra  s   &&&&&&&r   dbg_library_loadDBG_Hooks.dbg_library_load
  s      224c6 	6r#   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# rX   r  r  r  r  r  r  r  r  rY   rd   r$   )rZ   s   "r   r[   rJ  
  s9     O Og OH OO"O&*Or#   c                	2    \         P                  ! WW#V4      # r.   )r   DBG_Hooks_dbg_library_unloadr   r  r  r  r  s   &&&&&r   dbg_library_unloadDBG_Hooks.dbg_library_unload
  s    44TNNr#   c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# r  r$   )rZ   s   "r   r[   rJ  
  s9     L L7 L LL"L&*Lr#   c                	2    \         P                  ! WW#V4      # r.   )r   DBG_Hooks_dbg_informationr  s   &&&&&r   dbg_informationDBG_Hooks.dbg_information
  s    11$SdKKr#   c               8    V ^8  d   QhRRRRRRRRR	R
RRRRRR/# )rX   r  r  r  r  r  r  exc_codern   exc_can_contrv   exc_eaexc_infor  rY   r$   )rZ   s   "r   r[   rJ  
  sJ     6 6 6x 66#&66:66#&6*-6r#   c           
     	4    \         P                  ! WW#WEWg4      # r.   )r   DBG_Hooks_dbg_exception)r   r  r  r  r  r  r  r  s   &&&&&&&&r   dbg_exceptionDBG_Hooks.dbg_exception
  s      //3F6 	6r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   rJ  
  s     < <D <r#   c                .    \         P                  ! V 4      # )z)The process is now suspended. 
          )r   DBG_Hooks_dbg_suspend_processrh   s   &r   dbg_suspend_processDBG_Hooks.dbg_suspend_process
  s     55d;;r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  r  bptear  rY   rn   r$   )rZ   s   "r   r[   rJ  !
  s!     < <8 <O <s <r#   c                0    \         P                  ! WV4      # )z^A user defined breakpoint was reached. 
          
:param tid: (thid_t)
:param bptea: (::ea_t))r   DBG_Hooks_dbg_bpt)r   r  r  s   &&&r   dbg_bptDBG_Hooks.dbg_bpt!
  s    
 ))$U;;r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  r  ipr  rY   rn   r$   )rZ   s   "r   r[   rJ  (
  s!     ; ;X ;? ;c ;r#   c                0    \         P                  ! WV4      # )a<  A step occurred (one instruction was executed). This event notification is only generated if step tracing is enabled. 
          
:param tid: (thid_t) thread ID
:param ip: (::ea_t) current instruction pointer. usually points after the executed instruction
:returns: 1: do not log this trace event
:returns: 0: log it)r   DBG_Hooks_dbg_trace)r   r  r  s   &&&r   	dbg_traceDBG_Hooks.dbg_trace(
  s     ++Dr::r#   c               $    V ^8  d   QhRRRRRR/# )rX   failed_commandrn   failed_dbg_notificationrY   rd   r$   )rZ   s   "r   r[   rJ  1
  s#     % % %!$%(,%r#   c                0    \         P                  ! WV4      # )zAn error occurred during the processing of a request. 
          
:param failed_command: (ui_notification_t)
:param failed_dbg_notification: (dbg_notification_t))r   DBG_Hooks_dbg_request_error)r   r  r  s   &&&r   dbg_request_errorDBG_Hooks.dbg_request_error1
  s     33D#% 	%r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   rJ  :
  r   r#   c                	.    \         P                  ! V 4      # r.   )r   DBG_Hooks_dbg_step_intorh   s   &r   dbg_step_intoDBG_Hooks.dbg_step_into:
  r4  r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   rJ  =
  r   r#   c                	.    \         P                  ! V 4      # r.   )r   DBG_Hooks_dbg_step_overrh   s   &r   dbg_step_overDBG_Hooks.dbg_step_over=
  r4  r#   c               (    V ^8  d   QhRRRRRRRR/# rr  r$   )rZ   s   "r   r[   rJ  @
  s/     A Ag AH A/ AAr#   c                	0    \         P                  ! WW#4      # r.   )r   DBG_Hooks_dbg_run_toru  s   &&&&r   
dbg_run_toDBG_Hooks.dbg_run_to@
  s    ,,T@@r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   rJ  D
  s     ; ;4 ;r#   c                	.    \         P                  ! V 4      # r.   )r   DBG_Hooks_dbg_step_until_retrh   s   &r   dbg_step_until_retDBG_Hooks.dbg_step_until_retD
  s    44T::r#   c               $    V ^8  d   QhRRRRRR/# )rX   
bptev_codern   rr  r   rY   rd   r$   )rZ   s   "r   r[   rJ  G
  s&     I I# IG It Ir#   c                0    \         P                  ! WV4      # )zvBreakpoint has been changed. 
          
:param bptev_code: (int) Breakpoint modification events
:param bpt: (bpt_t *))r   DBG_Hooks_dbg_bpt_changed)r   r  rr  s   &&&r   dbg_bpt_changedDBG_Hooks.dbg_bpt_changedG
  s    
 11$CHHr#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   rJ  N
  s     A A Ar#   c                .    \         P                  ! V 4      # )z*Started loading breakpoint info from idb.
)r   "DBG_Hooks_dbg_started_loading_bptsrh   s   &r   dbg_started_loading_bpts"DBG_Hooks.dbg_started_loading_bptsN
  s     ::4@@r#   c                   V ^8  d   QhRR/# rc   r$   )rZ   s   "r   r[   rJ  S
  s     B B$ Br#   c                .    \         P                  ! V 4      # )z+Finished loading breakpoint info from idb.
)r   #DBG_Hooks_dbg_finished_loading_bptsrh   s   &r   dbg_finished_loading_bpts#DBG_Hooks.dbg_finished_loading_bptsS
  s     ;;DAAr#   c                	    V P                   P                  4        \        P                  ! V 4       \        P
                  ! V 4      # r.   )r	   disownr   disown_DBG_Hooksweakrefproxyrh   s   &r   
__disown__DBG_Hooks.__disown__Y
  s/    		!!$'}}T""r#   r$   N)r     )%r   r   r8   r9   r   r   r   r
   rU   rS  rX  rb  rj  ro  rv  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   delete_DBG_Hooksr   r  r<   r$   r#   r   rC  rC  	  s    -/I!#GH"-/6
6IG
6OL6<
<;%66A;IA
B  00#r#   rC  c                   V ^8  d   QhRR/# )rX   rY   z	List[str]r$   )rZ   s   "r   r[   r[   b
  s     # #Y #r#   c                 ,    \         P                  ! 4       # )zRetrieve the list of absolute path of all folders of bpt dirtree.
Synchronous function, Notification, none (synchronous function))r   list_bptgrpsr$   r#   r   r  r  b
  r  r#   c                    V ^8  d   QhRRRR/# )rX   r  rn   
sreg_valuer$   )rZ   s   "r   r[   r[   h
  s     < < < <r#   c                .    \         P                  ! W4      # )zGet the sreg base, for the given thread.

:param tid: the thread ID
:param sreg_value: the sreg value
:returns: The sreg base, or BADADDR on failure.)r   internal_get_sreg_base)r  r  s   &&r   r  r  h
  s     **3;;r#   c                   V ^8  d   QhRR/# )rX   rY   r  r$   )rZ   s   "r   r[   r[   q
  s     , ,i ,r#   c                 *    \         P                  ! V !  # r.   )r   write_dbg_memoryr|  s   *r   r  r  q
  s    $$d++r#   c                 ,    \         P                  ! 4       # )ax  This function can be used to check if the debugger can be queried:
  - debugger is loaded
  - process is suspended
  - process is not suspended but can take requests. In this case some requests like
    memory read/write, bpt management succeed and register querying will fail.
    Check if idaapi.get_process_state() < 0 to tell if the process is suspended

:returns: Boolean)r   dbg_can_queryr$   r#   r   r  r  u
  s     !!##r#   c                   V ^8  d   QhRR/# ru   r$   )rZ   s   "r   r[   r[   
  s     ' ' 'r#   c                 *    \         P                  ! V !  # )a  Set a register value by name

This function has the following signatures:
    1. set_reg_val(name: str, value: Union[int, float, bytes]) -> bool
    1. set_reg_val(tid: int, regidx: int, value: Union[int, float, bytes]) -> bool

Depending on the register type, this will expect
either an integer, a float or, in the case of large
vector registers, a bytes sequence.

:param name: (1st form) the register name
:param tid: (2nd form) the thread ID
:param regidx: (2nd form) the register index
:param value: the register value
:returns: success)r   set_reg_valr|  s   *r   r  r  
  s      &&r#   c               $    V ^8  d   QhRRRRRR/# )rX   rM  r  rZ  r  rY   r$   )rZ   s   "r   r[   r[   
  s!     4 4 4 4 4r#   c                .    \         P                  ! W4      # )zPost a set_reg_val() request.
)r   request_set_reg_val)rM  rZ  s   &&r   r  r  
  s     ''33r#   c                 *    \         P                  ! V !  # )a  Get a register value.

This function has the following signatures:

    1. get_reg_val(name: str) -> Union[int, float, bytes]
    2. get_reg_val(name: str, regval: regval_t) -> bool

The first (and most user-friendly) form will return
a value whose type is related to the register type.
I.e., either an integer, a float or, in the case of large
vector registers, a bytes sequence.

:param name: the register name
:returns: the register value (1st form))r   get_reg_valr|  s   *r   r  r  
  s     &&r#   c               $    V ^8  d   QhRRRRRR/# )rX   r  rn   clsmaskrY   z'ida_idd.regvals_t'r$   )rZ   s   "r   r[   r[   
  s"     	/ 	/c 	/C 	/.A 	/r#   c                .    \         P                  ! W4      # )a%  Fetch live registers values for the thread

:param tid: The ID of the thread to read registers for
:param clsmask: An OR'ed mask of register classes to
       read values for (can be used to speed up the
       retrieval process)

:returns: a list of register values (empty if an error occurs))r   get_reg_vals)r  r  s   &&r   r  r  
  s       ..r#   c                    \         P                  ! 4       p\        WV4      '       d.   VP                  \         P                  8X  d   VP
                  # R # R # r.   )ida_iddregval_tr  rvtypeRVT_INTival)tevregrvs   && r   get_tev_reg_valr  
  s@    				BCb))99'77N ( *r#   c                    \        4       p\        W4      '       d.   \        4       p\        W4      '       d   VP	                  4       # R # R # r.   )ro  r  r  r  rq   )r  timiss   &  r   get_tev_reg_mem_qtyr  
  s=    	BC))88: * r#   c                    \        4       p\        W4      '       d)   WP                  4       8  d   W!,          P                  # R # R # r.   )r  r  rq   r  )r  idxr  s   && r   get_tev_reg_memr	  
  s7    

CC%%8>>!  &r#   c                    \        4       p\        W4      '       dO   \        4       p\        W4      '       d2   V^ 8  d)   WP	                  4       8  d   W1,          P
                  # R# R# R# R# )r  N)ro  r  r  r  rq   r  )r  r  r  r  s   &&  r   get_tev_reg_mem_ear  
  sV    	BC))axC((*,x{{" -x * r#   c                   \         P                  ! 4       p\         P                  ! V\        P                  RV ,          4      pV'       d   RRV,          3# \        VP                  4      pV\         P                  8X  d'   VP                  4       pRV9   d   RRV,          3# RV3# V\         P                  8X  d   R\        VP                  4      3# RRV,          3# )a9  
Send a direct command to the debugger backend, and
retrieve the result as a string.

Note: any double-quotes in 'command' must be backslash-escaped.
Note: this only works with some debugger backends: Bochs, WinDbg, GDB.

Returns: (True, <result string>) on success, or (False, <Error message string>) on failure
zsend_dbg_command("%s");Fzeval_idc_expr() failed: %sIDC_FAILUREz%eval_idc_expr() reported an error: %sTz&eval_idc_expr(): wrong return type: %d)ida_expridc_value_teval_idc_exprr   BADADDRordvtypeVT_STRc_strVT_LONGr  num)commandr  errr  r   s   &    r   send_dbg_commandr  
  s     
			B

 
 Z%7%7!G+-C
2S888MEHHJAAAEEEQw	(""	"S[  >FFFr#   )NNN)r  )T)(  r:   
__future__r   sysr   _swig_python_version_info__package__r   r   r   builtinsr   ImportErrorr   r%   r+   r5   r   r7   r  SWIG_PYTHON_LEGACY_BOOLtypingr=   r>   r?   r   r  objectrA   bpt_vec_t_swigregisterr  tev_reg_values_t_swigregisterr  tevinforeg_vec_t_swigregisterr  memreg_infos_t_swigregisterr{  r  dbg_nullrb  rj  ro  rv  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  dbg_lastBPTEV_ADDEDBPTEV_REMOVEDBPTEV_CHANGEDr  r  r  r  r  r  DSTATE_SUSPDSTATE_NOTASK
DSTATE_RUNr  DBGINV_MEMORYDBGINV_MEMCFGDBGINV_REGS
DBGINV_ALLDBGINV_REDRAWDBGINV_NONEr  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
  r  r  r  r  r   r$  r'  r*  r/  r3  r6  r9  r<  r?  rB  rG  rK  rP  rU  rY  r]  ra  rd  rh  rl  	MOVBPT_OKMOVBPT_NOT_FOUNDMOVBPT_DEST_BUSYMOVBPT_BAD_TYPErn  bptaddrs_t_swigregisterBPLT_ABSBPLT_RELBPLT_SYMBPLT_SRCr}  bpt_location_t_swigregisterr  bpt_t_swigregisterBPT_BRK	BPT_TRACE
BPT_UPDMEMBPT_ENABLED
BPT_LOWCNDBPT_TRACEONBPT_TRACE_INSNBPT_TRACE_FUNCBPT_TRACE_BBLKBPT_TRACE_TYPESBPT_ELANG_MASKBPT_ELANG_SHIFTBKPT_BADBPTBKPT_LISTBPT
BKPT_TRACEBKPT_ACTIVEBKPT_PARTIALBKPT_CNDREADYBKPT_FAKEPEND	BKPT_PAGEr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  
BPTCK_NONEBPTCK_NO	BPTCK_YES	BPTCK_ACTr  r  r  r  r  r  r  r  ST_OVER_DEBUG_SEGST_OVER_LIB_FUNCST_ALREADY_LOGGEDST_SKIP_LOOPSST_DIFFERENTIALST_OPTIONS_MASKST_OPTIONS_DEFAULTIT_LOG_SAME_IP
FT_LOG_RETBT_LOG_INSTSr  r  r  r"  r'  r*  r.  r1  r5  r8  r;  r>  rA  rD  rG  rJ  rM  rP  rS  rV  rY  r\  r_  rc  rg  rj  rm  tev_nonetev_insntev_calltev_rettev_bpttev_mem	tev_eventtev_maxro  tev_info_t_swigregisterr  memreg_info_t_swigregisterr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  tev_reg_value_t_swigregisterr  tev_info_reg_t_swigregisterSAVE_ALL_VALUES	SAVE_DIFF	SAVE_NONEr  r  r  r  r  r  r  r  r  r  r  r"  r%  r(  r.  r2  r5  r:  r>  
DEC_NOTASK	DEC_ERRORDEC_TIMEOUTWFNE_ANY	WFNE_SUSPWFNE_SILENT	WFNE_CONTWFNE_NOWAIT	WFNE_USECDOPT_SEGM_MSGSDOPT_START_BPTDOPT_THREAD_MSGSDOPT_THREAD_BPTDOPT_BPT_MSGSDOPT_LIB_MSGSDOPT_LIB_BPTDOPT_INFO_MSGSDOPT_INFO_BPTDOPT_REAL_MEMORYDOPT_REDO_STACKDOPT_ENTRY_BPTDOPT_EXCDLGEXCDLG_NEVEREXCDLG_UNKNOWNEXCDLG_ALWAYSDOPT_LOAD_DINFODOPT_END_BPTDOPT_TEMP_HWBPTDOPT_FAST_STEPDOPT_DISABLE_ASLRrC  rF  rJ  rP  rS  rV  rY  r^  r`  eval_ctx_t_swigregister
SRCIT_NONESRCIT_MODULE
SRCIT_FUNC
SRCIT_STMT
SRCIT_EXPRSRCIT_STTVARSRCIT_LOCVARSRCDBG_PROV_VERSIONrw  rz  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  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r"  r%  r'   dbg_deref_options_t_swigregisterr8  r;  r=  r?  rA  rC  DBG_Hooks_swigregisterr  r  r  r  r  r  r  r  r  r  r  r	  r  r  move_bpt_to_grpr$   r#   r   <module>r     s  
 # 9#/"
 L$ L
 "::  % %  R4 R4j 	  	 *T4v T4n 	 & &'7 8T4v T4n 	 & &'7 8T4V T4n 	 $ $^ 4"* .. ,, 00 00 ,, **,, 00 **&&22 


	.. &&&&  
00 **#<< $>> ""&&&&#*)/+( ""&&  
+ &&&&""  
&&""@1	4 	4< <
&.'/)1#+,*:%-'%#)('/(0'/.- ( (*2*2,4%-/72!!,*+)) 	,, ,, **	2 	2 	     ,`6V `6F 	 $ $^ 4k-F k-\ 	  E "


	  
""  
""((((((**((**""$$  
""$$&&&&	"%%"#&+&#&+&$*&'./"   
		)"*,. .)6 61 .. ,, .. &&****00 ((   
 $$-4<,. .)6 61-4<,. .)6 61-4<. .)6 61,-4< 








	


2 2, 	     ,5F 5  	 # #M 2".=4@+*&/(-/((4 47f 7 	 % %o 66V 6 	 $ $^ 4**		0 0 "4 41 1: :> >/ /. .; ;2 2? ?2 2( (. ." "F F1 1) )< << <   
	""	""	""	((((,, **&&&&$$((&&,, **((""$$((&&**$$**((.. 7 7& &2 2; ;+ +
* *' '> >	2 	2 	     ,  
$$  
  
  
$$$$22 % %% %( (/ /9 9% %+ +" "$ $# #. ./ /* *2 24 4) )* *? ?
0 01 17 7* *6 6% %1 17 72 2
/ // /4 4$ $6 6
1 1G G
7 74 48 8
7 7
/ /. .. ./ /' '' ', ,4 4. .;& ;" 	 ) )*= >/ /* *.$.E# E#P 	  	 *# #< <, ,	$' '&4 4'$	/ 	/   "#G6  SW  s   } }"!}"