ó
    ““,jn—  ã                   ó~  • S SK r S SKrS SKrS SKrS SKrS SKrS SKrS SKrS SKr	S SK
r
S SKrS SKrS SKJrJrJrJr  S SKJrJr  S SKJrJr  S SKJrJr  SSK7  \R8                  rS rS	 r " S
 S\R@                  5      r! " S S\!5      r" " S S\RF                  5      r$ " S S\!5      r% " S S\!5      r& " S S\RN                  5      r( " S S\RR                  5      r* " S S\*5      r+ " S S\*5      r, " S S\,5      r- " S S\,5      r.S  r/S!\+S4S"\-S#4S$\.S44r0S% r1S r2Sr3S&r4\Rj                  r6 " S' S(\65      r7g))é    N)ÚappÚeditorÚinteractÚscriptutils)ÚMARKER_BREAKPOINTÚMARKER_CURRENT)ÚafxresÚwindow)ÚbrowserÚhierlisté   )Ú*c                 ó²   • [         R                  bF  [         R                  R                  b*  [         R                  R                  R                  X5        g g g ©N)r   ÚeditÚcurrentViewÚ
SetContext)ÚglobsÚlocss     Ú¯C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\pythonwin/pywin/debugger/debugger.pyÚSetInteractiveContextr   "   s<   € Ü‡}�}Ñ ¤X§]¡]×%>Ñ%>Ñ%JÜ�‰×!Ñ!×,Ñ,¨UÕ9ð &KÐ ó    c                 ó.   • U [         :X  a  [        $ [        $ r   )ÚLINESTATE_CURRENTr   r   )Úlss    r   Ú_LineStateToMarkerr   '   s   € Ø	ÔÓÜÐô Ðr   c                   ó   • \ rS rSrSrg)ÚHierListItemé/   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r    r   r   r   r   /   s   † Úr   r   c                   ó8   • \ rS rSrS rS rS rS rS rS r	Sr
g	)
ÚHierFrameItemé3   c                 óN   • [         R                  X[        U5      5        X l        g r   )r   Ú__init__ÚreprÚdebugger)ÚselfÚframer,   s      r   r*   ÚHierFrameItem.__init__4   s   € Ü×Ñ˜d¬4°«;Ô7Ø �r   c                 ó”  • U R                   R                  R                  nU(       a  US:X  aB  SU R                   R                  ;   a&  [	        U R                   R                  S   5      S-   nOSnSU[
        R                  R                  U R                   R                  R                  5      S   U R                   R                  4-  $ )NÚ?r!   z modulez<Debugger Context>z%s   (%s:%d)r   )
ÚmyobjectÚf_codeÚco_nameÚf_localsÚstrÚosÚpathÚsplitÚco_filenameÚf_lineno)r-   Únames     r   ÚGetTextÚHierFrameItem.GetText8   sœ   € Ø�}‰}×#Ñ#×+Ñ+ˆÞ�t˜s“{à˜TŸ]™]×3Ñ3Ó3Ü˜4Ÿ=™=×1Ñ1°*Ñ=Ó>ÀÑJ‘à+�àØÜ�G‰G�M‰M˜$Ÿ-™-×.Ñ.×:Ñ:Ó;¸AÑ>Ø�M‰M×"Ñ"ð!
ñ 
ð 	
r   c                 óL   • U R                   R                  U R                  L a  gg)Né   é   )r,   Úcurframer2   ©r-   s    r   ÚGetBitmapColumnÚHierFrameItem.GetBitmapColumnG   s   € Ø�=‰=×!Ñ! T§]¡]Ò2Øàr   c                 óÊ   • / nUR                  [        U R                  R                  SS5      5        UR                  [        U R                  R                  SS5      5        U$ )NÚLocalsé   ÚGlobalsr   )ÚappendÚHierFrameDictr2   r5   Ú	f_globals)r-   Úrets     r   Ú
GetSubListÚHierFrameItem.GetSubListM   sJ   € ØˆØ�
‰
”= §¡×!7Ñ!7¸À1ÓEÔFØ�
‰
”= §¡×!8Ñ!8¸)ÀQÓGÔHØˆ
r   c                 ó   • g©Nr   r    rC   s    r   ÚIsExpandableÚHierFrameItem.IsExpandableS   ó   € Ør   c                 óN   • U R                   R                  U R                  5        grQ   )r,   Úset_cur_framer2   rC   s    r   ÚTakeDefaultActionÚHierFrameItem.TakeDefaultActionV   s   € à�‰×#Ñ# D§M¡MÔ2Ør   ©r,   N)r!   r"   r#   r$   r*   r=   rD   rN   rR   rW   r%   r    r   r   r'   r'   3   s    † ò!ò
òòòõr   r'   c                   ó    • \ rS rSrS rS rSrg)rK   é\   c                 óP   • X0l         [        R                  R                  XU5        g r   )ÚbitmapColumnr   ÚHLIDictr*   )r-   Údictr<   r]   s       r   r*   ÚHierFrameDict.__init__]   s   € Ø(ÔÜ�‰× Ñ  ¨TÕ2r   c                 ó   • U R                   $ r   ©r]   rC   s    r   rD   ÚHierFrameDict.GetBitmapColumna   s   € Ø× Ñ Ð r   rb   N)r!   r"   r#   r$   r*   rD   r%   r    r   r   rK   rK   \   s   † ò3õ!r   rK   c                   ó,   • \ rS rSrS rS rS rS rSrg)ÚNoStackAvailableItemée   c                 ó2   • [         R                  U S U5        g r   )r   r*   )r-   Úwhys     r   r*   ÚNoStackAvailableItem.__init__f   s   € Ü×Ñ˜d D¨#Õ.r   c                 ó   • g©Nr   r    rC   s    r   rR   Ú!NoStackAvailableItem.IsExpandablei   rT   r   c                 ó   • U R                   $ r   )r<   rC   s    r   r=   ÚNoStackAvailableItem.GetTextl   s   € Ø�y‰yÐr   c                 ó   • g)NrA   r    rC   s    r   rD   Ú$NoStackAvailableItem.GetBitmapColumno   rT   r   r    N)	r!   r"   r#   r$   r*   rR   r=   rD   r%   r    r   r   re   re   e   s   † ò/òòõr   re   c                   ó,   • \ rS rSrS rS rS rS rSrg)ÚHierStackRootés   c                 ó>   • [         R                  XS 5        / U l        g r   )r   r*   Ú
last_stack©r-   r,   s     r   r*   ÚHierStackRoot.__init__t   s   € Ü×Ñ˜d¨dÔ3Øˆ�r   c                 ób  • U R                   n/ nUR                  [        :X  a]  UR                  S S  nUR	                  5         / U l        U H1  u  pEU R
                  R                  XE45        XAR                  L d  M1    O   U R
                   H  u  pEUR                  [        XA5      5        M!     U$ r   )	r2   ÚdebuggerStateÚDBGSTATE_BREAKÚstackÚreverseru   rJ   Úuserbotframer'   )r-   r,   rM   ÚstackUser.   Úlinenos         r   rN   ÚHierStackRoot.GetSubListz   s˜   € Ø—=‘=ˆàˆØ×!Ñ!¤^Ó3Ø—~‘~¡aÐ(ˆHØ×ÑÔØ ˆDŒOÛ!)‘�Ø—‘×&Ñ&¨ Ô7à×2Ñ2Ô2áñ "*ð "Ÿ_œ_‰MˆEØ�J‰J”} UÓ5Ö6ñ -ð ˆ
r   c                 ó   • g)Nz	root itemr    rC   s    r   r=   ÚHierStackRoot.GetText�   s   € Ør   c                 ó   • grQ   r    rC   s    r   rR   ÚHierStackRoot.IsExpandable“   rT   r   )ru   N)	r!   r"   r#   r$   r*   rN   r=   rR   r%   r    r   r   rr   rr   s   s   † òòò,õr   rr   c                   ó$   • \ rS rSrSrS rS rSrg)ÚHierListDebuggeré—   z0Hier List of stack frames, breakpoints, whateverc                 ó’   • [         R                  R                  U S [        R                  S [
        R                  " SSS5      5        g )Néÿ   r   )r   ÚHierListWithItemsr*   Úwin32uiÚIDB_DEBUGGER_HIERÚwin32apiÚRGBrC   s    r   r*   ÚHierListDebugger.__init__š   s4   € Ü×"Ñ"×+Ñ+Ø�$œ×1Ñ1°4¼¿ºÀcÈ1ÈaÓ9Põ	
r   c                 ó<   • [        U5      nU R                  U5        g r   )rr   Ú
AcceptRoot)r-   r,   Úroots      r   ÚSetupÚHierListDebugger.SetupŸ   s   € Ü˜XÓ&ˆØ�‰˜Õr   r    N)r!   r"   r#   r$   Ú__doc__r*   r“   r%   r    r   r   r†   r†   —   s   † Ù:ò
õ
r   r†   c                   ó>   • \ rS rSrS rS rS rS rS rS r	S r
S	rg
)ÚDebuggerWindowé¨   c                 óP   • [         R                  R                  X5        S U l        g r   )r
   ÚWndr*   r,   )r-   Úobs     r   r*   ÚDebuggerWindow.__init__©   s   € Ü�
‰
×Ñ˜DÔ%Øˆ�r   c                 ó   • Xl         g r   rY   rv   s     r   ÚInitÚDebuggerWindow.Init­   s   € Ø �r   c                 ón   • [         R                  " SU R                  -   5      nUS   US   -
  S:X  a  SnU$ )NúDebugger Windows\rH   r   )r   r   é–   r¢   )r   ÚLoadWindowSizeÚtitle)r-   ÚdefRects     r   Ú
GetDefRectÚDebuggerWindow.GetDefRect°   s;   € Ü×$Ò$Ð%9¸D¿J¹JÑ%FÓGˆØ�1‰:˜ ™
Ñ" aÓ'Ø$ˆGØˆr   c                 óÔ   • U R                  5       S   n[        R                  R                  R	                  SU R
                  -   U5        [        R                  R                  X5      $ )Né   r¡   )	ÚGetWindowPlacementÚpywinÚ	frameworkr   ÚSaveWindowSizer¤   r
   rš   Ú	OnDestroy)r-   ÚmsgÚnewSizes      r   r®   ÚDebuggerWindow.OnDestroy¶   sN   € Ø×)Ñ)Ó+¨AÑ.ˆÜ�‰×Ñ×*Ñ*Ð+?À$Ç*Á*Ñ+LÈgÔVÜ�z‰z×#Ñ# DÓ.Ð.r   c                 óÜ   • US   nUS;   a  gUS;   a  U R                  5         g[        R                  " 5       n UR                  R                  nUb  U" U5      $ g! [
         a    S n Nf = f)NrH   )é   é   é    r   )é.   rA   r   )ÚDeleteSelectedr   ÚGetActiveViewÚbindingsÚfire_key_eventÚAttributeError)r-   r¯   ÚkeyÚviewÚfirers        r   Ú	OnKeyDownÚDebuggerWindow.OnKeyDown»   sy   € Ø�!‰fˆØ�,ÓØØ�'‹>Ø×ÑÔ!ØÜ×(Ò(Ó*ˆð	Ø—M‘M×0Ñ0ˆEð ÑÙ˜“:Ðàøô ó 	ØŠEð	ús   ºA ÁA+Á*A+c                 ó.   • [         R                  " 5         g r   ©r�   ÚMessageBeeprC   s    r   r·   ÚDebuggerWindow.DeleteSelectedÌ   ó   € Ü×ÒÕr   c                 ó.   • [         R                  " 5         g r   rÂ   rC   s    r   ÚEditSelectedÚDebuggerWindow.EditSelectedÏ   rÅ   r   rY   N)r!   r"   r#   r$   r*   rž   r¦   r®   r¿   r·   rÇ   r%   r    r   r   r—   r—   ¨   s%   † òò!òò/ò
ò"õr   r—   c                   ó6   • \ rS rSrSrS rS rS rS rS r	Sr
g	)
ÚDebuggerStackWindowéÓ   ÚStackc                 ó‚   • [         R                  U [        R                  " 5       5        [	        5       U l        SU l        g rk   )r—   r*   r‹   ÚCreateTreeCtrlr†   ÚlistÚlistOKrC   s    r   r*   ÚDebuggerStackWindow.__init__Ö   s,   € Ü×Ñ ¤g×&<Ò&<Ó&>Ô?Ü$Ó&ˆŒ	Øˆ�r   c                 ó¬   • U R                   R                  5         SU l        [        R                  " SU R
                  -   SU R                  5       5        g )Nr   r¡   ÚVisible)rÏ   ÚDeleteAllItemsrÐ   r‹   ÚWriteProfileValr¤   ÚIsWindowVisiblerC   s    r   Ú	SaveStateÚDebuggerStackWindow.SaveStateÛ   s@   € Ø�	‰	× Ñ Ô"ØˆŒÜ×ÒØ  4§:¡:Ñ-¨y¸$×:NÑ:NÓ:Põ	
r   c                 ó,  • [         R                  [         R                  -  [         R                  -  [        R
                  -  [        R                  -  [        R                  -  nU R                  R                  X R                  5       U[        R                  5        U R                  U R                  [         R                  5        U R                  U R                  [         R                   5        U R"                  R%                  X5        SU l        g rk   )Úwin32conÚWS_CHILDÚ
WS_VISIBLEÚ	WS_BORDERÚcommctrlÚTVS_HASLINESÚTVS_LINESATROOTÚTVS_HASBUTTONSÚ_obj_ÚCreateWindowr¦   r‹   Ú	IDC_LIST1ÚHookMessager¿   Ú
WM_KEYDOWNÚWM_SYSKEYDOWNrÏ   ÚHierInitrÐ   )r-   ÚparentÚstyles      r   rã   Ú DebuggerStackWindow.CreateWindowâ   sÎ   € ä×ÑÜ×!Ñ!ñ"ä× Ñ ñ!ô ×#Ñ#ñ$ô ×&Ñ&ñ	'ô
 ×%Ñ%ñ&ð 	ð 	�
‰
×Ñ §¡Ó'8¸&Ä'×BSÑBSÔTØ×Ñ˜Ÿ™¬×)<Ñ)<Ô=Ø×Ñ˜Ÿ™¬×)?Ñ)?Ô@Ø�	‰	×Ñ˜6Ô(Øˆ�r   c                 óÜ   • U R                   c   S5       eU R                  (       d-  SU l        U R                  R                  U R                   5        g U R                  R	                  5         g )NzInit not calledr   )r,   rÐ   rÏ   r“   ÚRefresh©r-   Ústates     r   ÚRespondDebuggerStateÚ(DebuggerStackWindow.RespondDebuggerStateò   sJ   € Ø�}‰}Ñ(Ð;Ð*;Ó;Ð(Ø�{�{ØˆDŒKØ�I‰I�O‰O˜DŸM™MÕ*à�I‰I×ÑÕr   c                 óÜ  •  U R                  S5      n U R                  R	                  U5      nU R                  R                  U5      nU R                  R                  U5      nUc  UnU R                  R                  U5      X44:w  a  U R                  R                  XU5         U R                  U5      nM¦  ! [        R                   a     g f = f! [        R                   a     g f = frk   )
ÚGetChildItemr‹   ÚerrorrÏ   ÚItemFromHandlerD   ÚGetSelectedBitmapColumnÚGetItemImageÚSetItemImageÚGetNextSiblingItem)r-   ÚhandleÚitemÚcolÚselCols        r   ÚRespondDebuggerDataÚ'DebuggerStackWindow.RespondDebuggerDataú   sØ   € ð	Ø×&Ñ& qÓ)ˆFð Ø—9‘9×+Ñ+¨FÓ3ˆDØ—)‘)×+Ñ+¨DÓ1ˆCØ—Y‘Y×6Ñ6°tÓ<ˆFØ‰~Ø�Ø�y‰y×%Ñ% fÓ-°#°Ó>Ø—	‘	×&Ñ& v°FÔ;ðØ×0Ñ0°Ó8�ñ øô �}‰}ó 	Ùð	ûô —=‘=ó Ùðús#   ‚B: Â'C Â:CÃCÃC+Ã*C+)rÏ   rÐ   N)r!   r"   r#   r$   r¤   r*   r×   rã   rð   rþ   r%   r    r   r   rÊ   rÊ   Ó   s    † Ø€Eòò

òò  õr   rÊ   c                   óP   • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rSrg)ÚDebuggerListViewWindowi  c                 óV   • [         R                  U [        R                  " 5       5        g r   )r—   r*   r‹   ÚCreateListCtrlrC   s    r   r*   ÚDebuggerListViewWindow.__init__  s   € Ü×Ñ ¤g×&<Ò&<Ó&>Õ?r   c                 ó¨  • U n[         R                  [         R                  -  [         R                  -  [        R
                  -  [        R                  -  nU R                  R                  X0R                  5       U[        R                  5        U R                  U R                  [         R                  5        U R                  U R                  [         R                  5        U nU R                   S   u  pE[        R"                  XTS4nUR%                  SU5        SnU R                   SS   H.  u  pEUS-  n[        R"                  XTS4nUR%                  Xv5        M0     UR'                  U R(                  [*        5        UR'                  U R,                  [        R.                  5        UR'                  U R0                  [        R2                  5        g ©Nr   r   )rÚ   rÛ   rÜ   rÝ   rÞ   ÚLVS_EDITLABELSÚ
LVS_REPORTrâ   rã   r¦   r‹   rä   rå   r¿   ræ   rç   ÚcolumnsÚLVCFMT_LEFTÚInsertColumnÚ
HookNotifyÚOnListEndLabelEditÚLVN_ENDLABELEDITÚOnItemRightClickÚ	NM_RCLICKÚOnItemDoubleClickÚ	NM_DBLCLK)r-   ré   rÏ   rê   r¤   ÚwidthÚitemDetailsrü   s           r   rã   Ú#DebuggerListViewWindow.CreateWindow  sv  € Øˆä×ÑÜ×!Ñ!ñ"ä× Ñ ñ!ô ×%Ñ%ñ&ô ×!Ñ!ñ	"ð 	ð 	�
‰
×Ñ §¡Ó'8¸&Ä'×BSÑBSÔTØ×Ñ˜Ÿ™¬×)<Ñ)<Ô=Ø×Ñ˜Ÿ™¬×)?Ñ)?Ô@ØˆØ—|‘| A‘‰ˆÜ×+Ñ+¨U¸1Ð=ˆØ×Ñ˜!˜[Ô)ØˆØ ŸL™L¨¨Ó,‰LˆEØ�1‰HˆCÜ#×/Ñ/°¸qÐAˆKØ×Ñ˜cÖ/ñ -ð 	×Ñ˜$×1Ñ1Ô3CÔDØ×Ñ˜$×/Ñ/´×1CÑ1CÔDØ×Ñ˜$×0Ñ0´(×2DÑ2DÕEr   c                 ó   • g r   r    rC   s    r   rþ   Ú*DebuggerListViewWindow.RespondDebuggerData*  ó   € Ør   c                 ó   • g r   r    rî   s     r   rð   Ú+DebuggerListViewWindow.RespondDebuggerState-  r  r   c                 óœ   •  U R                  S[        R                  5      nU R                  U5        g ! [        R                   a     g f = f)Néÿÿÿÿ)ÚGetNextItemrÞ   ÚLVNI_SELECTEDr‹   rô   Ú	EditLabel)r-   Úsels     r   rÇ   Ú#DebuggerListViewWindow.EditSelected0  sE   € ð	Ø×"Ñ" 2¤x×'=Ñ'=Ó>ˆCð 	�‰�sÕøô �}‰}ó 	Ùð	ús   ‚ 4 ´AÁ
Ac                 ó’   • US   n[        U5      [        R                  ;   a  U R                  5         g[        R                  X5      $ )NrH   r   )ÚchrÚstringÚascii_uppercaserÇ   r—   r¿   )r-   r¯   r¼   s      r   r¿   Ú DebuggerListViewWindow.OnKeyDown7  s=   € Ø�!‰fˆäˆs‹8”v×-Ñ-Ó-Ø×ÑÔØÜ×'Ñ'¨Ó2Ð2r   c                 ó$   • U R                  5         g r   ©rÇ   )r-   Únotify_dataÚextras      r   r  Ú(DebuggerListViewWindow.OnItemDoubleClick?  ó   € Ø×ÑÕr   c                 óN  • U R                  [        R                  " 5       5      nU R                  U5      u  pEnUS:X  d  [        R
                  U-  S:X  a  g U R                  U[        R                  [        R                  5        [        R                  " 5       nUR                  [        R                  [        R                  -  SS5        UR                  [        R                  [        R                  -  SS5        U R                  5       nUR                  5       (       a  [        R                   " 5       n	OU R#                  5       n	U	R%                  U R&                  S5        U	R%                  U R(                  S5        UR+                  [        R                  " 5       5        g )Nr  r   iè  z	Edit itemié  zDelete item)ÚScreenToClientr�   ÚGetCursorPosÚHitTestrÞ   ÚTVHT_ONITEMÚSetItemStateÚLVIS_SELECTEDr‹   ÚCreatePopupMenuÚ
AppendMenurÚ   Ú	MF_STRINGÚ
MF_ENABLEDÚ	GetParentÚ
IsFloatingÚGetMainFrameÚGetParentFrameÚHookCommandÚ
OnEditItemÚOnDeleteItemÚTrackPopupMenu)
r-   r)  r*  ÚptÚflagsÚhItemÚsubitemÚmenuÚdockbarÚhook_parents
             r   r  Ú'DebuggerListViewWindow.OnItemRightClickB  s3  € à× Ñ ¤×!6Ò!6Ó!8Ó9ˆØ $§¡¨RÓ 0Ñˆ�gØ�B‹;œ(×.Ñ.°Ñ6¸!Ó;ØØ×Ñ˜%¤×!7Ñ!7¼×9OÑ9OÔPä×&Ò&Ó(ˆØ�‰œ×*Ñ*¬X×-@Ñ-@Ñ@À$ÈÔTØ�‰œ×*Ñ*¬X×-@Ñ-@Ñ@À$ÈÔVØ—.‘.Ó"ˆØ×Ñ×ÑÜ!×.Ò.Ó0‰Kà×-Ñ-Ó/ˆKØ×Ñ §¡°Ô6Ø×Ñ × 1Ñ 1°4Ô8Ø×ÑœH×1Ò1Ó3Ô4Ør   c                 ó$   • U R                  5         g r   )r·   ©r-   ÚcommandÚcodes      r   r>  Ú#DebuggerListViewWindow.OnDeleteItemW  s   € Ø×ÑÕr   c                 ó$   • U R                  5         g r   r(  rI  s      r   r=  Ú!DebuggerListViewWindow.OnEditItemZ  r,  r   r    N)r!   r"   r#   r$   r*   rã   rþ   rð   rÇ   r¿   r  r  r>  r=  r%   r    r   r   r  r    s6   † ò@òFò2òòò3òòò*õr   r  c                   ó8   • \ rS rSrSrSS/rS rS rS rS r	S	r
g
)ÚDebuggerBreakpointsWindowi^  ÚBreakpoints)Ú	ConditionéF   )ÚLocationé   c                 óš  • / n[        U R                  5       5       HE  nUR                  U R                  US5      5        UR                  U R                  US5      5        MG     [        R
                  " SU R                  -   SSR                  U5      5        [        R
                  " SU R                  -   SU R                  5       5        g)Nr   r   r¡   ÚBreakpointListÚ	rÓ   ©	ÚrangeÚGetItemCountrJ   ÚGetItemTextr‹   rÕ   r¤   ÚjoinrÖ   ©r-   ÚitemsÚis      r   r×   Ú#DebuggerBreakpointsWindow.SaveStateb  s©   € ØˆÜ�t×(Ñ(Ó*Ö+ˆAØ�L‰L˜×)Ñ)¨!¨QÓ/Ô0Ø�L‰L˜×)Ñ)¨!¨QÓ/Ö0ñ ,ô 	×ÒØ  4§:¡:Ñ-Ð/?ÀÇÁÈ5ÓAQô	
ô 	×ÒØ  4§:¡:Ñ-¨y¸$×:NÑ:NÓ:Pô	
ð r   c                 óF  • US   nUS   nUc  g U R                  US   5      S   nSSKJn  UR                  R	                  5        HH  nU H?  n[        U5      U:X  d  M  UR                  5       R                  5       S:X  a  S nXHl          MF     MJ     U R                  5         g )Nr   r©   é   ©Ú
BreakpointÚnone)
ÚGetItemÚbdbre  ÚbplistÚvaluesÚidÚstripÚlowerÚcondrþ   )	r-   Ústdr*  rû   ÚtextÚitem_idre  ri  Úbps	            r   r  Ú,DebuggerBreakpointsWindow.OnListEndLabelEdito  s—   € Ø�Q‰xˆØ�A‰wˆØ‰<Øà—,‘,˜t A™wÓ'¨Ñ*ˆå"à ×'Ñ'×.Ñ.Ö0ˆFÛ�Ü�b“6˜WÕ$Ø—z‘z“|×)Ñ)Ó+¨vÓ5Ø#˜Ø"”GÚó ñ 1ð 	× Ñ Õ"r   c                 óÐ  •  U R                  S[        R                  5      nU R                  U5      S   nSSKJn  UR                  R                  5        HN  nU HE  n[        U5      U:X  d  M  U R                  R                  UR                  UR                  5          ML     MP     U R#                  5         g ! [        R                   a    [        R                   " 5          N<f = f)Nr  rc  r   rd  )r  rÞ   r  rg  rh  re  ri  rj  rk  r,   Úclear_breakÚfileÚliner‹   rô   r�   rÃ   rþ   )r-   Únumrq  re  ri  rr  s         r   r·   Ú(DebuggerBreakpointsWindow.DeleteSelected‚  s²   € ð	#Ø×"Ñ" 2¤x×'=Ñ'=Ó>ˆCØ—l‘l 3Ó'¨Ñ*ˆGÝ&à$×+Ñ+×2Ñ2Ö4�Û �BÜ˜"“v Õ(ØŸ™×1Ñ1°"·'±'¸2¿7¹7ÔCÚó !ñ 5ð 	× Ñ Õ"øô �}‰}ó 	#Ü× Ò Ö"ð	#ús   ‚A)B9 Á/9B9 Â9)C%Ã$C%c                 óž  • U nUR                  5         SnSSKJn  UR                  R	                  5        H•  nU HŒ  n[
        R                  R                  UR                  5      S   nUR                  nUS-   SSS[        U5      S[        U5      4nUR                  U5      nUR                  USU SUR                   35        MŽ     M—     g )Nr  r   rd  r   z: )rÔ   rh  re  ri  rj  r7   r8   r9   rv  rn  r6   rk  Ú
InsertItemÚSetItemTextrw  )	r-   ÚlÚindexre  ri  rr  ÚbaseNamern  rû   s	            r   rþ   Ú-DebuggerBreakpointsWindow.RespondDebuggerData‘  s¯   € ØˆØ	×ÑÔØˆÝ"à ×'Ñ'×.Ñ.Ö0ˆFÛ�ÜŸ7™7Ÿ=™=¨¯©Ó1°!Ñ4�Ø—w‘w�Ø˜q‘y ! Q¨¬3¨t«9°a¼¸B»Ð?�ØŸ™ TÓ*�Ø—‘˜e Q¨8¨*°B°r·w±w°iÐ(@ÖAó ò 1r   r    N)r!   r"   r#   r$   r¤   r	  r×   r  r·   rþ   r%   r    r   r   rP  rP  ^  s'   † Ø€EØ Ð"4Ð5€Gòò#ò&#õBr   rP  c                   ó>   • \ rS rSrSrSS/rS rS rS rS r	S	 r
S
rg)ÚDebuggerWatchWindowi   ÚWatch)Ú
ExpressionrS  )ÚValuerU  c                 ó  • [         R                  X5        [        R                  " SU R                  -   SS5      R                  S5      nSnU H!  nU(       d  M  U R                  US-   U5      nM#     U R                  US-   S5        g )Nr¡   ÚItemsÚ rX  r  r   ú
<New Item>)r  rã   r‹   ÚGetProfileValr¤   r9   r{  )r-   ré   r_  r~  rû   s        r   rã   Ú DebuggerWatchWindow.CreateWindow¤  sz   € Ü×+Ñ+¨DÔ9Ü×%Ò%Ø  4§:¡:Ñ-¨w¸ó
ç
‰%�‹+ð 	ð ˆÛˆDßˆtØŸ™¨°©	°4Ó8’ñ ð 	�‰˜ ™	 <Õ0r   c                 ó^  • / n[        U R                  5       S-
  5       H$  nUR                  U R                  US5      5        M&     [        R
                  " SU R                  -   SSR                  U5      5        [        R
                  " SU R                  -   SU R                  5       5        g)Nr   r   r¡   r‡  rX  rÓ   rY  r^  s      r   r×   ÚDebuggerWatchWindow.SaveState¯  s’   € ØˆÜ�t×(Ñ(Ó*¨QÑ.Ö/ˆAØ�L‰L˜×)Ñ)¨!¨QÓ/Ö0ñ 0ä×ÒØ  4§:¡:Ñ-¨w¸¿	¹	À%Ó8Hô	
ô 	×ÒØ  4§:¡:Ñ-¨y¸$×:NÑ:NÓ:Pô	
ð r   c                 óð   • US   nUS   nUS   nUc  g U R                  USU5        X@R                  5       S-
  :X  a  U R                  US-   S5        U R                  U R                  R
                  5        g )Nr   r©   r   r‰  )r|  r[  r{  rð   r,   ry   )r-   ro  r*  rû   Úitemnorp  s         r   r  Ú&DebuggerWatchWindow.OnListEndLabelEdit»  su   € Ø�Q‰xˆØ�a‘ˆØ�A‰wˆØ‰<ØØ×Ñ˜  DÔ)Ø×&Ñ&Ó(¨1Ñ,Ó,Ø�O‰O˜F Q™J¨Ô5Ø×!Ñ! $§-¡-×"=Ñ"=Õ>r   c                 óô   •  U R                  S[        R                  5      nXR                  5       S-
  :  a  U R	                  U5        g g ! [
        R                   a    [        R                  " 5          g f = f)Nr  r   )	r  rÞ   r  r[  Ú
DeleteItemr‹   rô   r�   rÃ   )r-   rx  s     r   r·   Ú"DebuggerWatchWindow.DeleteSelectedÆ  sc   € ð	#Ø×"Ñ" 2¤x×'=Ñ'=Ó>ˆCØ×&Ñ&Ó(¨1Ñ,Ó,Ø—‘ Õ$ð -øä�}‰}ó 	#Ü× Ò Ö"ð	#ús   ‚AA Á)A7Á6A7c                 ó~  • S =p#U[         :X  a\  U R                  R                  (       a@  U R                  R                  R                  nU R                  R                  R                  nOU[
        :X  a  SS KnUR                  =p#[        U R                  5       S-
  5       HD  nU R                  US5      nUc  SnO [        [        XbU5      5      nU R'                  USU5        MF     g ! [         a    Sn N&  [        R                  " 5       u  p‰n
[         R"                  " X‰5      S   R%                  5       nS n
 Nj= f)Nr   r   rˆ  zSyntax Error)rz   r,   rB   rL   r5   ÚDBGSTATE_NOT_DEBUGGINGÚ__main__Ú__dict__rZ  r[  r\  r+   ÚevalÚSyntaxErrorÚsysÚexc_infoÚ	tracebackÚformat_exception_onlyrl  r|  )r-   rï   r   r   r–  r`  rp  ÚvalÚtÚvÚtbs              r   rð   Ú(DebuggerWatchWindow.RespondDebuggerStateÎ  s  € ØÐˆØ”NÓ"Ø�}‰}×%×%ØŸ™×.Ñ.×8Ñ8�Ø—}‘}×-Ñ-×6Ñ6�øØÔ,Ó,Ûà#×,Ñ,Ð,ˆEÜ�t×(Ñ(Ó*¨QÑ.Ö/ˆAØ×#Ñ# A qÓ)ˆDØ‰}Ø‘ðÜœt D°Ó6Ó7�Cð ×Ñ˜Q  3Ö'ò 0øô #ó )Ø(’CðÜ"Ÿ|š|›~‘H�A˜"Ü#×9Ò9¸!Ó?ÀÑB×HÑHÓJ�CØ’Bús   Â=C*Ã*D<Ã8AD<r    N)r!   r"   r#   r$   r¤   r	  rã   r×   r  r·   rð   r%   r    r   r   r‚  r‚     s*   † Ø€EØ! ?Ð3€Gò	1ò
ò	?ò#õ(r   r‚  c                 ó6   • U" 5       nUR                  U 5        U$ r   )rã   )ré   ÚklassÚcontrols      r   ÚCreateDebuggerDialogr¦  è  s   € Ù‹g€GØ×Ñ˜Ô Ø€Nr   iè  iè  )é
   r§  iè  c           
      ó¶  • [         R                  [        R                  -  [        R                  -  [        R
                  -  [        R                  -  n[        R                  " X[        R                  5      nUR                  S[        R                  5        UR                  [        R                  5        UR                  [        R                   5        UR#                  S5        U R%                  U5        [&         GH8  u  p4n U R)                  U5        SnU(       a  M$  [,        R.                  R0                  R1                  5       n[         R                  [        R2                  -  nUR5                  U [6        UR8                  UUU4S9  UR;                  UR=                  5       [        R
                  -  [        R                  -  [        R                  -  5        UR                  [        R                   5        Uc  U R%                  U5        GM  U R?                  Xu[        R                   5        GM;     g ! [        R*                   a    Sn GN<f = f)Nr   ÚDebuggerr   )ÚchildCreatorArgs) rÚ   rÛ   r	   ÚCBRS_SIZE_DYNAMICÚCBRS_TOPÚCBRS_TOOLTIPSÚ
CBRS_FLYBYr‹   ÚCreateToolBarÚID_VIEW_TOOLBAR_DBGÚModifyStylerÞ   ÚTBSTYLE_FLATÚLoadToolBarÚIDR_DEBUGGERÚEnableDockingÚCBRS_ALIGN_ANYÚSetWindowTextÚDockControlBarÚDebuggerDialogInfosÚGetControlBarrô   r«   ÚdockingÚ
DockingBarÚ	CBRS_LEFTrã   r¦  r¤   ÚSetBarStyleÚGetBarStyleÚFloatControlBar)r.   rê   Útbdrk  r¤  ÚfloatÚexistsÚbars           r   ÚPrepareControlBarsrÅ  ø  sä  € ä×ÑÜ
×
"Ñ
"ñ	#ä
�/‰/ñ	ô ×
Ñ
ñ	ô ×
Ñ
ñ		ð 
ô ×
Ò
 ¬g×.IÑ.IÓ
J€CØ‡O�O�A”x×,Ñ,Ô-Ø‡O�O”G×(Ñ(Ô)Ø×Ñ”f×+Ñ+Ô,Ø×Ñ�jÔ!Ø	×Ñ˜Ô÷ 0Ð/Ñˆ�5ð	Ø×Ñ Ô#ØˆFö ÙÜ�m‰m×&Ñ&×1Ñ1Ó3ˆÜ×!Ñ!¤F×$4Ñ$4Ñ4ˆØ×ÑØÜ Ø�K‰KØØØ#˜Xð 	ñ 	
ð 	�‰Ø�O‰OÓÜ×"Ñ"ñ#ä×Ññ ô ×&Ñ&ñ'ô	
ð 	×Ñœ&×/Ñ/Ô0Ø‰=Ø× Ñ  ×%à×!Ñ! #¬f×.CÑ.C×Dò9 0øô �}‰}ó 	Ø‹Fð	ús   ÄH>È>IÉIrH   c                   óP  • \ rS rSrS rS rS4S jrS rS rS r	S5S	 jr
S
 rS rS rS6S jrS rS rS rS rS rS rS rS rS7S jrS8S jrS8S jrS rS rS rS rS rS5S jrS r S  r!S! r"S" r#S# r$S$ r%S% r&S& r'S' r(S( r)S) r*S* r+S+ r,S, r-S- r.S. r/S/ r0S0 r1S1 r2S2 r3S3r4g)9r©  i0  c                 óT  • SU l         [        U l        S U l        SU l        SU l        [        U l        S U l        S U l	        SU l
        SU l        SU l        [        R                  U 5        [        R                   R#                  5        HG  nSn UR%                  US-   [&        5      nUS::  a  M'  U R)                  UR+                  5       U5        MC     U R-                  5         [.        R0                  " 5       R3                  5       U l        [7        5       U l        S=U l        U l        g )Nr   rˆ  r  r   )ÚinitedÚ	SKIP_NONEÚskipBotFramer}   ÚframeShutdownÚpumpingr•  ry   ÚshownLineCurrentÚshownLineCallstackÚlast_cmd_debuggedÚabortClosedÚisInitialBreakpointÚdebugger_parentr*   r   ÚeditorTemplateÚGetDocumentListÚMarkerGetNextr   Ú	set_breakÚGetPathNameÚresetr‹   ÚGetAppÚIsInprocÚinForcedGUIÚLoadDebuggerOptionsÚoptionsÚbAtExceptionÚbAtPostMortem)r-   ÚdocÚlineNos      r   r*   ÚDebugger.__init__1  s  € ØˆŒÜ%ˆÔØ ˆÔØˆÔØˆŒÜ3ˆÔØ $ˆÔØ"&ˆÔØ!#ˆÔØˆÔØ#$ˆÔ Ü× Ñ  Ô&ô ×(Ñ(×8Ñ8Ö:ˆCØˆFØØ×*Ñ*¨6°A©:Ô7HÓI�Ø˜Q“;ÙØ—‘˜sŸ™Ó0°&Ô9ñ	 ñ ;ð 	�
‰
ŒÜ"Ÿ>š>Ó+×4Ñ4Ó6ˆÔÜ*Ó,ˆŒØ12Ð2ˆÔ˜DÕ.r   c                 ó$   • U R                  5         g r   )ÚcloserC   s    r   Ú__del__ÚDebugger.__del__M  s   € Ø�
‰
�r   c                 ó  • U R                   (       a  U R                  5       (       d  gXl        U R                  (       d  gSU l        [	        S S 5        [
        R                  " 5       n[         HT  u  p4n UR                  U5      nUR                  b/  UR                  R                  5         UR                  USS5        MT  MV     U R                  5         U R                  5         g! [
        R                   a     M�  f = fr  )rÌ  ÚStopDebuggerPumprË  rÈ  r   r‹   r:  r¹  rº  Údialogr×   ÚShowControlBarrô   Ú_UnshowCurrentLineÚset_quit)r-   rË  r.   rk  r¤  rÂ  r¡  s          r   rä  ÚDebugger.closeP  s×   € ð �<�<ð ×(Ñ(×*Ñ*Øð +ÔØ�{�{ØØˆŒä˜d DÔ)ä×$Ò$Ó&ˆç 3ÑˆB�uðØ×(Ñ(¨Ó,�Ø—9‘9Ñ(Ø—I‘I×'Ñ'Ô)Ø×(Ñ(¨¨Q°Ö2ñ )ñ !4ð 	×ÑÔ!Ø�‰ŒØøô —=‘=ó Úðús   Á5AC'Ã'C?Ã>C?c                 ó˜   • U R                   (       d   S5       eU R                  5       (       a  SU l         [        R                  " 5         gg)Nz0Can't stop the debugger pump if I'm not pumping!r   r   )rÌ  ÚGUIAboutToFinishInteractr‹   rè  rC   s    r   rè  ÚDebugger.StopDebuggerPumpp  s<   € Ø�|�|ÐOÐOÓOˆ|à×(Ñ(×*Ñ*ØˆDŒLÜ×$Ò$Ô&ØØr   c                 óf   •  U R                   U   $ ! [         a  n[        SU S35      UeSnAff = f)z&Public interface into debugger optionszOption z is not a valid optionN)rÝ  ÚKeyError)r-   Úoptionrô   s      r   Ú
get_optionÚDebugger.get_optiony  s@   € ð	PØ—<‘< Ñ'Ð'øÜó 	PÜ˜W V HÐ,BÐCÓDÈ%ÐOûð	Pús   ‚ ‘
0›+«0c                 ó   • g r   r    ©r-   Úcmds     r   Úprep_runÚDebugger.prep_run€  r  r   Nc                 óN   • U R                  [        5        U R                  5         g r   )rð   r•  rä  r÷  s     r   Údone_runÚDebugger.done_runƒ  s   € Ø×!Ñ!Ô"8Ô9Ø�
‰
�r   c                 ó\   • [         R                  R                  U5      R                  5       $ r   )r7   r8   Úabspathrm  )r-   Úfnames     r   ÚcanonicÚDebugger.canonic‡  s   € Ü�w‰w�‰˜uÓ%×+Ñ+Ó-Ð-r   c                 ó|   • [         R                  U 5        S U l        U R                  5         U R	                  5         g r   )rÒ  rØ  r}   ÚUpdateAllLineStatesrë  rC   s    r   rØ  ÚDebugger.resetŠ  s0   € Ü×Ñ˜dÔ#Ø ˆÔØ× Ñ Ô"Ø×ÑÕ!r   c                 óB   • [         R                  XU5        US LU l        g r   )rÒ  ÚsetuprÞ  )r-   ÚfrŸ  s      r   r  ÚDebugger.setup�  s   € Ü×Ñ˜d qÔ)Ø T˜MˆÕr   c                 ó~   • U R                  U5      nU R                  X[        5        [        R	                  XX#U5      $ r   )r  ÚSetLineStateÚLINESTATE_BREAKPOINTrÒ  rÖ  )r-   Úfilenamer   Ú	temporaryrn  s        r   rÖ  ÚDebugger.set_break”  s6   € Ø—<‘< Ó)ˆØ×Ñ˜(Ô,@ÔAÜ×(Ñ(¨¸ÈDÓQÐQr   c                 ó|   • U R                  U5      nU R                  X[        5        [        R	                  XU5      $ r   )r  ÚResetLineStater  rÒ  ru  )r-   r  r   s      r   ru  ÚDebugger.clear_break™  s4   € Ø—<‘< Ó)ˆØ×Ñ˜HÔ.BÔCÜ×*Ñ*¨4¸6ÓBÐBr   c                 óH   • U R                   (       a  g U R                  5         g r   )rË  ÚGUIAboutToBreakrC   s    r   ÚcmdloopÚDebugger.cmdloopž  s   € Ø××ØØ×ÑÕr   c                 ó   • g r   r    ©r-   r.   s     r   Úprint_stack_entryÚDebugger.print_stack_entry£  s   € àr   c                 óD   • X!R                   S'   U R                  US 5        g )NÚ
__return__)r5   Úinteraction)r-   r.   Úreturn_values      r   Úuser_returnÚDebugger.user_return§  s    € ð (4�‰�|Ñ$Ø×Ñ˜ Õ%r   c                 óV   • U R                  U5      (       a  U R                  US 5        g g r   )Ú	stop_herer  )r-   r.   Úargss      r   Ú	user_callÚDebugger.user_call­  s&   € à�>‰>˜%× Ñ Ø×Ñ˜U DÕ)ð !r   c                 ó.  • Uu  p4nU R                  [        5      (       av  X44UR                  S'   [        S5        [	        U[
        5      (       d  [	        U[        5      (       d  U4nU" U6 n[        R                  " X4U5        U R                  X5        g g )NÚ__exception__z&Unhandled exception while debugging...)
rô  ÚOPT_STOP_EXCEPTIONSr5   ÚprintÚ
isinstanceÚBaseExceptionÚtuplerœ  Úprint_exceptionr  )r-   r.   r›  Úexc_typeÚ	exc_valueÚexc_tracebacks         r   Úuser_exceptionÚDebugger.user_exception²  sˆ   € ð 08Ñ,ˆ˜mØ�?‰?Ô.×/Ñ/Ø.6Ð.AˆE�N‰N˜?Ñ+ÜÐ:Ô;ô ˜i¬×7Ñ7ä! )¬U×3Ñ3Ø!* �IÙ$ iÐ0�	ä×%Ò% h¸=ÔIØ×Ñ˜UÕ2ð 0r   c                 óP   • UR                   S:X  a  g [        R                  X5        g rk   )r;   rÒ  Ú	user_liner  s     r   r4  ÚDebugger.user_lineÇ  s   € Ø�>‰>˜QÓØÜ×!Ñ! $Õ.r   c                 óJ  • U R                   (       a  SU l         U R                  5         gXR                  L a%  U R                  [        :X  a  U R                  5         gXR                  L a%  U R                  [
        :X  a  U R                  5         g[        R                  X5      $ rk   )	rÑ  Úset_continueÚbotframerÊ  ÚSKIP_RUNÚ	SKIP_STEPÚset_steprÒ  r"  r  s     r   r"  ÚDebugger.stop_hereÌ  s|   € Ø×#×#Ø'(ˆDÔ$Ø×ÑÔØØ—M‘MÒ! d×&7Ñ&7¼8Ó&CØ×ÑÔØØ—M‘MÒ! d×&7Ñ&7¼9Ó&DØ�M‰MŒOØÜ×(Ñ(¨Ó5Ð5r   c                 ó  • [        U[        [        R                  45      (       d  [	        S5      eXl        U(       a  SU l        OSU l         Uc  SS KnUR                  nUc  UnU R                  5         U R                  U5        [        R                  " U R                  5        [        U[        R                  5      (       d  US-  n  U(       a  [        U l        O[         U l        [#        XU5        [(        U l        SU l        [        R                  " S 5         U R-                  U5        g ! [$        R&                   a     NQf = f! [(        U l        SU l        [        R                  " S 5        f = f! U R-                  U5        f = f)NzOnly strings can be runr   r   Ú
)r*  r6   ÚtypesÚCodeTypeÚ	TypeErrorrÏ  rÑ  r–  r—  rØ  rù  rš  ÚsettraceÚtrace_dispatchr:  rÊ  r9  Úexecrh  ÚBdbQuitrÉ  Úquittingrü  )r-   rø  ÚglobalsÚlocalsÚstart_steppingr–  s         r   ÚrunÚDebugger.runÙ  s7  € Ü˜#¤¤U§^¡^Ð4×5Ñ5ÜÐ5Ó6Ð6Ø!$ÔÞØ'(ˆDÕ$à'(ˆDÔ$ð	Ø‰Ûà"×+Ñ+�Ø‰~Ø �Ø�J‰JŒLØ�M‰M˜#ÔÜ�LŠL˜×,Ñ,Ô-Ü˜c¤5§>¡>×2Ñ2Ø�t‘�ð#ðÞ%Ü,5˜Õ)ä,4˜Ô)Ü˜ vÔ.ô %.�Ô!Ø !�”Ü—’˜TÕ"ð �M‰M˜#Õøô —{‘{ó Ùðûô %.�Ô!Ø !�”Ü—’˜TÕ"ûð �M‰M˜#Õús=   ÁA=E9 Ã*D2 Ã7(E9 Ä2E	ÅE ÅE	Å	E Å*E6Å6E9 Å9Fc                 ó¢   • U R                  U5         [        R                  XX#5        U R                  U5        g ! U R                  U5        f = fr   )rù  rÒ  Úrunevalrü  )r-   ÚexprrG  rH  s       r   rM  ÚDebugger.runevalþ  s<   € Ø�‰�dÔð	 Ü×#Ñ# D°Ô@à�M‰M˜$ÕøˆD�M‰M˜$Õús	   “; »Ac                 ó2  • U R                  5         [        R                  " U R                  5          [	        XU5        SU l        [        R                  " S 5        g ! [
        R                   a     N4f = f! SU l        [        R                  " S 5        f = frQ   )rØ  rš  rB  rC  rD  rh  rE  rF  )r-   Úwhatr   r   s       r   ÚrunexecÚDebugger.runexec  st   € Ø�
‰
ŒÜ�Š�T×(Ñ(Ô)ð	ðÜ�T $Ô'ð ˆDŒMÜ�LŠL˜Õøô	 —;‘;ó Ùðûð ˆDŒMÜ�LŠL˜Õús#   ³A ÁA4Á1A7 Á3A4Á4A7 Á7Bc                 óP   • U R                  5       (       a  U R                  5         g g r   )ÚGUIAboutToRunr;  rC   s    r   Údo_set_stepÚDebugger.do_set_step  s   € Ø×Ñ×ÑØ�M‰M�Oð  r   c                 óf   • U R                  5       (       a  U R                  U R                  5        g g r   )rU  Úset_nextrB   rC   s    r   Údo_set_nextÚDebugger.do_set_next  s&   € Ø×Ñ×ÑØ�M‰M˜$Ÿ-™-Õ(ð  r   c                 óf   • U R                  5       (       a  U R                  U R                  5        g g r   )rU  Ú
set_returnrB   rC   s    r   Údo_set_returnÚDebugger.do_set_return  s&   € Ø×Ñ×ÑØ�O‰O˜DŸM™MÕ*ð  r   c                 óP   • U R                  5       (       a  U R                  5         g g r   )rU  r7  rC   s    r   Údo_set_continueÚDebugger.do_set_continue  s"   € Ø×Ñ×ÑØ×ÑÕð  r   c                 ó„   • SnU R                   (       a  U R                  5       nU(       a  [        R                  U 5        g g rQ   )rÌ  rè  rÒ  rì  )r-   Úoks     r   rì  ÚDebugger.set_quit!  s2   € ØˆØ�<�<Ø×&Ñ&Ó(ˆBÞÜ×$Ñ$ TÕ*ð r   c                 óR  • Uc  SnU(       a†  UR                   (       aR  UR                   R                  (       a7  [        R                  R	                  UR                   R                  5      S   nOSn[        [        U5      X1R                  U5        g [        [        U5      S5        g )Nrˆ  r   z??ÚNone)r3   r:   r7   r8   r9   r)  r+   r;   )r-   r.   r<   r   s       r   Ú_dump_frame_ÚDebugger._dump_frame_(  sj   € Ø‰<ØˆDÞØ�|�| §¡× 8× 8ÜŸ™Ÿ™ e§l¡l×&>Ñ&>Ó?ÀÑB‘à�Ü”$�t“*˜e§^¡^°UÕ;ä”$�t“*˜fÕ%r   c                 ó¬  •  SS-     U R	                  5         S U l        W(       aC  SUR                  ;   a  Xl        O,U R                  Ul        Xl	        UR                  nU(       a  MC  U R                  5         [         R                  " U R                  5        g !   [         R                  " 5       S   R                  R                  R                  n NÌ= f)Nr   rˆ  rH   Ú_debugger_stop_frame_)rš  r›  Útb_frameÚf_backrØ  r}   r5   rC  Úf_tracer8  r;  rB  r  s     r   Ú	set_traceÚDebugger.set_trace4  s£   € ð	=Ø�ŠFð 	�
‰
ŒØ ˆÔÞð '¨%¯.©.Ó8Ø$)Ô!Øà ×/Ñ/ˆEŒMØ!ŒMØ—L‘LˆE÷ ˆeð 	�‰ŒÜ�Š�T×(Ñ(Õ)øð!	=Ü—L’L“N 1Ñ%×.Ñ.×5Ñ5×<Ñ<ŠEús   ‚B Â8Cc                 óô   • Uc   S5       eXl         U R                   H  u  p#X!L d  M  X0l          O	    S5       e[        UR                  UR
                  5        U R                  5         U R                  5         g )NzYou must pass a valid framez"Can't find the frame in the stack.)rB   r{   Úcurindexr   rL   r5   ÚGUIRespondDebuggerDataÚShowCurrentLine)r-   r.   r  r~  s       r   rV   ÚDebugger.set_cur_frameJ  so   € ð Ñ Ð?Ð"?Ó?Ð ØŒØŸ
œ
‰HˆAØŒzØ %”Ùñ #ð
 ?Ð>Ó>�5Ü˜eŸo™o¨u¯~©~Ô>Ø×#Ñ#Ô%Ø×ÑÕr   c                 ó(   • U R                   [        :H  $ r   )ry   rz   rC   s    r   ÚIsBreakÚDebugger.IsBreakZ  s   € Ø×!Ñ!¤^Ñ3Ð3r   c                 ó(   • U R                   [        :g  $ r   )ry   r•  rC   s    r   ÚIsDebuggingÚDebugger.IsDebugging]  s   € Ø×!Ñ!Ô%;Ñ;Ð;r   c                 ó`  • XR                   :X  a  g U[        :X  a  SnOMU[        :X  a  SnO@U[        :X  a+  U R                  (       d  SnO"U R
                  (       a  SnOSnO[        S5      e[        R                  " 5       R                  [        R                  " [        R                  5      U-   5        U R                   [        :X  a  U[        :w  a  [        SU5        g Xl          [        R                  " 5       nUbO  [         HE  u  pEn[        R                  " 5       R!                  U5      R"                  nUR%                  U5        MG     [&        R(                  R+                  5        H  nUR-                  U5        M     U R/                  5         g ! [        R                   a    S n N±f = f)Nrˆ  z
 - runningz - breakz - post mortem exceptionz - exceptionzInvalid debugger state passed!z-Ignoring state change cos I'm trying to stop!)ry   r•  ÚDBGSTATE_RUNNINGrz   rÞ  rß  Ú
ValueErrorr‹   r:  r·  Ú
LoadStringÚIDR_MAINFRAMEÚDBGSTATE_QUITTINGr)  rô   r¹  rº  ré  rð   r   rÓ  rÔ  ÚOnDebuggerStateChangert  )	r-   rï   r¤   r.   rk  r¤  rÂ  Úcbrà  s	            r   rð   ÚDebugger.RespondDebuggerState`  se  € Ø×&Ñ&Ó&ØØÔ*Ó*Ø‰EØÔ&Ó&Ø ‰EØ”nÓ$Ø×$×$Ø"‘Ø×#×#Ø2‘à&‘äÐ=Ó>Ð>Ü×ÒÓ×,Ñ,Ü×Òœw×4Ñ4Ó5¸Ñ=ô	
ð ×ÑÔ!2Ó2°uÔ@VÓ7VÜÐAÀ5ÔIØØ"Ôð	Ü×(Ò(Ó*ˆEð Ñß$7Ñ �˜5Ü×)Ò)Ó+×9Ñ9¸"Ó=×DÑD�Ø×'Ñ'¨Ö.ñ %8ô ×(Ñ(×8Ñ8Ö:ˆCØ×%Ñ% eÖ,ñ ;à×ÑÕøô �}‰}ó 	ØŠEð	ús   Ã&F ÆF-Æ,F-c                 óî  • U R                   (       a  g SU l         [        R                  " 5       n[         H{  u  p#nUR	                  U5      nUR
                  R                  U 5        [        R                  " SUR
                  R                  -   SS5      (       d  Mh  UR                  USS5        M}     UR	                  [        R                  5      nUR                  USS5        U R                  5         g )Nr   r¡   rÓ   r   )rÈ  r‹   r:  r¹  rº  ré  rž   rŠ  r¤   rê  r°  rs  )r-   r.   rk  r¤  rÂ  Úwr¡  s          r   ÚGUICheckInitÚDebugger.GUICheckInit‡  sÅ   € Ø�;�;ØØˆŒÜ×$Ò$Ó&ˆ÷ !4ÑˆB�uØ×#Ñ# BÓ'ˆAØ�H‰H�M‰M˜$Ôô ×$Ò$Ø$ q§x¡x§~¡~Ñ5°yÀ!÷ó ð ×$Ñ$ Q¨¨1Ö-ñ !4ð × Ñ ¤×!<Ñ!<Ó=ˆØ×Ñ˜R  AÔ&Ø×#Ñ#Õ%r   c                 ó    • [         R                  " 5       n[         H)  u  p4nUR                  U:X  d  M  UR	                  U5      s  $     S5       e)NzCan't find a bar of that name!)r‹   r:  r¹  r¤   rº  )r-   ÚbarNamer.   rk  r¤  rÂ  s         r   ÚGetDebuggerBarÚDebugger.GetDebuggerBarŸ  sI   € Ü×$Ò$Ó&ˆß 3ÑˆB�uØ�{‰{˜gÕ%Ø×*Ñ*¨2Ó.Ò.ñ !4ð 	7Ð6Ó6ˆur   c                 óÄ   • U R                   (       d  g [         HD  u  pn[        R                  " 5       R	                  U5      R
                  nUR                  5         MF     g r   )rÈ  r¹  r‹   r:  rº  ré  rþ   )r-   rk  r¤  rÂ  rƒ  s        r   rs  ÚDebugger.GUIRespondDebuggerData¦  sF   € Ø�{�{Øç 3ÑˆB�uÜ×%Ò%Ó'×5Ñ5°bÓ9×@Ñ@ˆBØ×"Ñ"Ö$ò !4r   c                 ó’   • U R                  5       (       d  gU R                  5         U R                  [        5        [	        S S 5        gr  )rè  rë  rð   r}  r   rC   s    r   rU  ÚDebugger.GUIAboutToRun®  s<   € Ø×$Ñ$×&Ñ&ØØ×ÑÔ!Ø×!Ñ!Ô"2Ô3Ü˜d DÔ)Ør   c                 ó˜  • U R                  5         U R                  [        5        U R                  5         U R                  (       a  [        S5        gSU l        [        R                  " 5         U R                  (       a   S5       eU R                  (       a3  [        R                  " 5       R                  [        R                  5        gg)z\Called as the GUI debugger is about to get context, and take control of the running program.z!!! Already pumping - outa hereNr   z0Should not be pumping once the pump has finished)r‡  rð   rz   ÚGUIAboutToInteractrÌ  r)  r‹   ÚStartDebuggerPumprË  r:  ÚPostMessagerÚ   ÚWM_CLOSErC   s    r   r  ÚDebugger.GUIAboutToBreak¶  sŒ   € à×ÑÔØ×!Ñ!¤.Ô1Ø×ÑÔ!Ø�<�<ÜÐ3Ô4ØØˆŒÜ×!Ò!Ô#Ø—<—<ÐSÐ!SÓSÐØ××Ü× Ò Ó"×.Ñ.¬x×/@Ñ/@ÕAð r   c                 ó^  • [         R                  " 5       nUR                  5       U l        SU l        [         R
                  " 5       nX!La,  X l        UR                  5       U l        UR                  S5        U R                  (       aD  UR                  5       (       d/  UR                  [        R                  5        UR                  5         U R                  (       a5  [        U R                  R                   U R                  R"                  5        O[        SS5        U R%                  5         g)zCCalled as the GUI is about to perform any interaction with the userNr   )r‹   r:  ÚIsWindowEnabledÚbFrameEnabledÚoldForegroundÚGetForegroundWindowÚoldFrameEnableStateÚEnableWindowrÛ  rÖ   Ú
ShowWindowrÚ   ÚSW_SHOWÚUpdateWindowrB   r   rL   r5   rs  )r-   r.   Úfws      r   r’  ÚDebugger.GUIAboutToInteractÄ  sÕ   € ä×$Ò$Ó&ˆð #×2Ñ2Ó4ˆÔØ!ˆÔÜ×(Ò(Ó*ˆØŠ?Ø!#Ôà',×'<Ñ'<Ó'>ˆDÔ$Ø×Ñ˜qÔ!Ø×× E×$9Ñ$9×$;Ñ$;Ø×ÑœX×-Ñ-Ô.Ø×ÑÔ Ø�=�=Ü! $§-¡-×"9Ñ"9¸4¿=¹=×;QÑ;QÕRä! $¨Ô-Ø×#Ñ#Õ%r   c                 óX  • U R                   bJ   [        R                  " 5       R                  U R                  5        U R                   R                  S5        U R                  (       d  g[        R                  " 5       R                  5        H2  nUR                  5        H  nUR                  5       (       a  M      g   M4     U R                  [        5      (       a4  [        R                  " 5       nUR                  [        R                  5        g! [        R
                   a     NÐf = f)zyCalled as the GUI is about to finish any interaction with the user
Returns non zero if we are allowed to stop interactingr   r   )rš  r‹   r:  r�  rœ  rô   rÛ  rÙ  ÚGetDocTemplateListrÔ  ÚSaveModifiedrô  ÚOPT_HIDErž  rÚ   ÚSW_HIDE)r-   Útemplaterà  r.   s       r   rï  Ú!Debugger.GUIAboutToFinishInteractÛ  sã   € ð ×ÑÑ)ðÜ×$Ò$Ó&×3Ñ3°D×4LÑ4LÔMØ×"Ñ"×/Ñ/°Ô2ð
 ××Øô  ŸšÓ(×;Ñ;Ö=ˆHØ×/Ñ/Ö1�Ø×'Ñ'×)Ó)Úó 2ñ >ð
 �?‰?œ8×$Ñ$Ü×(Ò(Ó*ˆEØ×ÑœX×-Ñ-Ô.Øøô# —=‘=ó áðús   �A	D ÄD)Ä(D)c                 óJ   • U R                  X5        U R                  XU5        g r   )Ú
ShowLineNor  )r-   ÚfileNamerá  Ú	lineStates       r   ÚShowLineStateÚDebugger.ShowLineStateù  s   € à�‰˜Ô)Ø×Ñ˜(¨IÕ6r   c                 ó°   • [         R                  R                  U5      nUb4  [        U5      nUR	                  X%5      (       d  UR                  X%5        g g g r   )r   rÓ  ÚFindOpenDocumentr   ÚMarkerCheckÚ	MarkerAdd©r-   r¬  rá  r­  rà  Úmarkers         r   r  ÚDebugger.SetLineStateþ  sL   € ä×#Ñ#×4Ñ4°XÓ>ˆØ‰?Ü'¨	Ó2ˆFØ—?‘? 6×2Ñ2Ø—‘˜fÕ-ð 3ð r   c                 ó‚   • [         R                  R                  U5      nUb  [        U5      nUR	                  X%5        g g r   )r   rÓ  r±  r   ÚMarkerDeleter´  s         r   r  ÚDebugger.ResetLineState  s:   € ä×#Ñ#×4Ñ4°XÓ>ˆØ‰?Ü'¨	Ó2ˆFØ×Ñ˜VÕ,ð r   c                 óÔ  • UR                  [        5        UR                  [        5        U R                  UR	                  5       5      nU R
                  R                  U/ 5       H  nUR                  U[        5        M     U R                  (       aU  X R                  S   :X  aB  U R                  S   nUR                  U[        5      (       d  UR                  U[        5        g g g g r  )
ÚMarkerDeleteAllr   r   r  r×  ÚbreaksÚgetr³  rÍ  r²  )r-   rà  r   rw  rá  s        r   ÚUpdateDocumentLineStatesÚ!Debugger.UpdateDocumentLineStates  s¶   € ð 	×ÑÔ-Ô.Ø×ÑœNÔ+Ø—‘˜SŸ_™_Ó.Ó/ˆà—K‘K—O‘O E¨2Ö.ˆDØ�M‰M˜$Ô 1Ö2ñ /ð × ×  U×.CÑ.CÀAÑ.FÓ%FØ×*Ñ*¨1Ñ-ˆFØ—?‘? 6¬>×:Ñ:Ø—‘˜f¤nÕ5ð ;ð &GÐ r   c                 óp   • [         R                  R                  5        H  nU R                  U5        M     g r   )r   rÓ  rÔ  r¾  )r-   rà  s     r   r  ÚDebugger.UpdateAllLineStates  s)   € Ü×(Ñ(×8Ñ8Ö:ˆCØ×)Ñ)¨#Ö.ò ;r   c                 ó  • U R                  5         U R                  (       ad  U R                  U R                  R                  R                  5      nU R                  R
                  nX4U l        U R                  X[        5        g g r   )	rë  rB   r  r3   r:   r;   rÍ  r®  r   )r-   r¬  rá  s      r   rt  ÚDebugger.ShowCurrentLine#  se   € ð
 	×ÑÔ!Ø�=�=Ø—|‘| D§M¡M×$8Ñ$8×$DÑ$DÓEˆHØ—]‘]×+Ñ+ˆFØ$,Ð$4ˆDÔ!Ø×Ñ˜xÔ1BÕCð	 r   c                 óv   • U R                   b,  U R                   u  pU R                  X[        5        SU l         gg)z&Unshow the current line, and forget itN)rÍ  r  r   )r-   r   r   s      r   rë  ÚDebugger._UnshowCurrentLine/  s9   € à× Ñ Ñ,Ø ×1Ñ1‰MˆEØ×Ñ Ô/@ÔAØ$(ˆDÕ!ð -r   c                 óæ  • [         R                  R                  U5      S Ln[        R                  R                  U5      (       aX  [        R                  " X5      (       a=  U(       d5  [         R                  R                  U5      nUb  U R                  U5        gggSS K	nUR                  X5      n[        S[        R                  R                  U5      X&S S R                  S5      4-  5        g)Nr   r   z
%s(%d): %sr  r©   )r   rÓ  r±  r7   r8   Úisfiler   ÚJumpToDocumentr¾  Ú	linecacheÚgetliner)  ÚbasenameÚ
expandtabs)r-   r  r   ÚwasOpenrà  rÉ  rw  s          r   r«  ÚDebugger.ShowLineNo6  sÈ   € Ü×'Ñ'×8Ñ8¸ÓBÈ$ÐNˆÜ�7‰7�>‰>˜(×#Ñ#¬×(BÒ(BÀ8×(TÑ(TÞÜ×+Ñ+×<Ñ<¸XÓF�Ø‘?Ø×1Ñ1°#Ô6ØØØó à×$Ñ$ XÓ6ˆDÜØÜ—7‘7×#Ñ# HÓ-¨v¸C¸R°y×7KÑ7KÈAÓ7NÐOñPôð r   )rÐ  rÞ  rß  r™  r8  rB   rr  ry   rË  rÛ  rÈ  rÑ  rÏ  rš  rœ  rÝ  rÌ  rF  rÎ  rÍ  rÊ  r}   )r   r   )r   N)NNr   )NN)5r!   r"   r#   r$   r*   rå  rä  rè  rô  rù  rü  r  rØ  r  rÖ  ru  r  r  r  r$  r1  r4  r"  rJ  rM  rR  rV  rZ  r^  ra  rì  rh  ro  rV   rw  rz  rð   r‡  r‹  rs  rU  r  r’  rï  r®  r  r  r¾  r  rt  rë  r«  r%   r    r   r   r©  r©  0  sú   † ò3ò8ôò@òPòôò.ò"ò*ôRò
Cò
ò
ò&ò*ò
3ò*/ò
6ô#ôJ ô
òò)ò+ò ò+ô
&ò*ò,ò 4ò<ò"òN&ò07ò%òòBò&ò.ò<7ò
.ò-ò6ò$/ò
Dò)õr   r©  )8rh  r7   Úpdbr$  rš  rœ  r?  rÞ   Úpywin.docking.DockingBarr«   r�   rÚ   r‹   Úpywin.frameworkr   r   r   r   Ú(pywin.framework.editor.color.coloreditorr   r   Ú	pywin.mfcr	   r
   Úpywin.toolsr   r   ÚdbgconÚLVN_ENDLABELEDITWr  r   r   ÚHLIPythonObjectr   r'   r^   rK   re   rr   rŠ   r†   rš   r—   rÊ   r  rP  r‚  r¦  r¹  rÅ  rÉ  r:  r9  ÚPdbrÒ  r©  r    r   r   Ú<module>rÙ     sY  ðó Û 	Û 
Û Û 
Û Û ã Û Û Û Û ß >Ó >ß Vß $ß )ä à×-Ñ-Ð ò:ò
ô	�7×*Ñ*ô 	ô&�Lô &ôR!�G—O‘Oô !ô˜<ô ô!�Lô !ôH
�x×1Ñ1ô 
ô"(�V—Z‘Zô (ôV7˜.ô 7ôtN˜^ô Nôb?BÐ 6ô ?BôDE(Ð0ô E(òPð Ð  $Ð'ØÐ&¨Ð1ØÐ  $Ð'ðÐ ò,Eðb €	Ø€	Ø€à—'‘'€ôYˆõ Yr   