From e65d195f3db0db0f22ca62c6ba7c6784c3f33107 Mon Sep 17 00:00:00 2001 From: Robert Sesek Date: Thu, 17 Apr 2008 12:48:11 -0400 Subject: [PATCH] Add an initial breakpoints manager window and save the breakpoints to NSUserDefaults --- English.lproj/Debugger.xib | 16 +- English.lproj/MainMenu.xib | 983 ++++++++++++++++++++++--------------- Source/BreakpointManager.m | 9 +- 3 files changed, 613 insertions(+), 395 deletions(-) diff --git a/English.lproj/Debugger.xib b/English.lproj/Debugger.xib index 5a416a7..d61c3b3 100644 --- a/English.lproj/Debugger.xib +++ b/English.lproj/Debugger.xib @@ -2,13 +2,13 @@ 1050 - 9C31 + 9C7010 644 949.26 352.00 YES - + YES @@ -1786,7 +1786,7 @@ ELIAAAAAAAgACAAIAAgAAQABAAEAAQ - 503 + 555 @@ -1794,7 +1794,11 @@ ELIAAAAAAAgACAAIAAgAAQABAAEAAQ BSSourceView NSView - + + delegate + id + + IBProjectSource Source/BSSourceView.h @@ -1888,6 +1892,10 @@ ELIAAAAAAAgACAAIAAgAAQABAAEAAQ + + NSObject + + NSObject diff --git a/English.lproj/MainMenu.xib b/English.lproj/MainMenu.xib index 918867a..1465fba 100644 --- a/English.lproj/MainMenu.xib +++ b/English.lproj/MainMenu.xib @@ -1,17 +1,19 @@ - + 1050 - 9B18 - 629 - 949 - 343.00 + 9C7010 + 644 + 949.26 + 352.00 YES + + YES - com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin YES @@ -27,46 +29,46 @@ NSApplication - MainMenu + MainMenu YES - MacGDBp - + MacGDBp + 1048576 2147483647 - NSImage + NSImage NSMenuCheckmark - - + + NSImage NSMenuMixedState submenuAction: - + MacGDBp YES About MacGDBp - + 2147483647 - + YES YES - - + + 1048576 2147483647 - + @@ -75,27 +77,27 @@ 1048576 2147483647 - + YES YES - - + + 1048576 2147483647 - + Services - + 1048576 2147483647 - + submenuAction: @@ -111,50 +113,50 @@ YES YES - - + + 1048576 2147483647 - + Hide MacGDBp - h + h 1048576 2147483647 - + Hide Others - + h 1572864 2147483647 - + Show All - + 1048576 2147483647 - + YES YES - - + + 1048576 2147483647 - + @@ -163,7 +165,7 @@ 1048576 2147483647 - + _NSAppleMenu @@ -171,15 +173,15 @@ - Connection - + Connection + 1048576 2147483647 - + submenuAction: - + Connection YES @@ -189,7 +191,7 @@ 1048576 2147483647 - + @@ -198,7 +200,7 @@ 1048576 2147483647 - + @@ -206,11 +208,11 @@ Edit - + 1048576 2147483647 - + submenuAction: @@ -225,7 +227,7 @@ 1048576 2147483647 - + @@ -234,18 +236,18 @@ 1048576 2147483647 - + YES YES - - + + 1048576 2147483647 - + @@ -254,7 +256,7 @@ 1048576 2147483647 - + @@ -263,7 +265,7 @@ 1048576 2147483647 - + @@ -272,7 +274,7 @@ 1048576 2147483647 - + @@ -281,16 +283,16 @@ 1572864 2147483647 - + Delete - + 1048576 2147483647 - + @@ -299,27 +301,27 @@ 1048576 2147483647 - + YES YES - - + + 1048576 2147483647 - + Find - + 1048576 2147483647 - + submenuAction: @@ -334,7 +336,7 @@ 1048576 2147483647 - + 1 @@ -344,7 +346,7 @@ 1048576 2147483647 - + 2 @@ -354,7 +356,7 @@ 1048576 2147483647 - + 3 @@ -364,7 +366,7 @@ 1048576 2147483647 - + 7 @@ -374,22 +376,22 @@ 1048576 2147483647 - + - Spelling - + Spelling + 1048576 2147483647 - + submenuAction: - + Spelling YES @@ -399,7 +401,7 @@ 1048576 2147483647 - + @@ -408,16 +410,16 @@ 1048576 2147483647 - + Check Spelling as You Type - + 1048576 2147483647 - + @@ -428,11 +430,11 @@ Window - + 1048576 2147483647 - + submenuAction: @@ -447,36 +449,36 @@ 1048576 2147483647 - + Zoom - + 1048576 2147483647 - + YES YES - - + + 1048576 2147483647 - + Bring All to Front - + 1048576 2147483647 - + _NSWindowsMenu @@ -484,15 +486,15 @@ - Help - + Help + 1048576 2147483647 - + submenuAction: - + Help YES @@ -502,7 +504,7 @@ 1048576 2147483647 - + @@ -511,7 +513,244 @@ _NSMainMenu - AppDelegate + AppDelegate + + + 15 + 2 + {{196, 21}, {601, 489}} + 603979776 + Breakpoints + NSWindow + + + + 256 + + YES + + + 274 + + YES + + + 256 + + YES + + + 274 + + YES + + + 2304 + + YES + + + 256 + {584, 193} + + YES + + + 256 + {584, 17} + + + + + + 256 + {{585, 1}, {16, 17}} + + + + YES + + 1.010000e+02 + 1.600000e+01 + 1.000000e+03 + + 75628032 + 0 + + + LucidaGrande + 1.100000e+01 + 3100 + + + 3 + MC4zMzMzMzI5OQA + + + 6 + System + headerTextColor + + 3 + MAA + + + + + 337772096 + 2048 + Text Cell + + LucidaGrande + 1.300000e+01 + 1044 + + + + 6 + System + controlBackgroundColor + + 3 + MC42NjY2NjY2OQA + + + + 6 + System + controlTextColor + + + + 3 + YES + YES + + + + 4.770000e+02 + 4.000000e+01 + 1.000000e+03 + + 75628032 + 0 + + + + + + + 337772096 + 2048 + Text Cell + + + + + + 3 + YES + YES + + + + 3.000000e+00 + 2.000000e+00 + + 3 + MQA + + + 6 + System + gridColor + + 3 + MC41AA + + + 1.700000e+01 + -767557632 + 4 + 15 + 0 + YES + + + {{1, 18}, {584, 193}} + + + + + 4 + + + + 256 + {{585, 18}, {15, 193}} + + + _doScroller: + 9.948454e-01 + + + + 256 + {{1, 211}, {584, 15}} + + 1 + + _doScroller: + 9.982906e-01 + + + + 2304 + + YES + + + {{1, 1}, {584, 17}} + + + + + 4 + + + + {601, 227} + + + 50 + + + + + + QSAAAEEgAABBmAAAQZgAAA + + + {601, 227} + + NSView + + + + 274 + {{0, 236}, {601, 253}} + + BSSourceView + + + {601, 489} + + + + {601, 489} + + + {{0, 0}, {1440, 878}} @@ -679,7 +918,7 @@ - performFindPanelAction: + performFindPanelAction: @@ -687,7 +926,7 @@ - + performFindPanelAction: @@ -695,7 +934,7 @@ - + performFindPanelAction: @@ -703,7 +942,7 @@ - + performFindPanelAction: @@ -777,7 +1016,7 @@ - + MainMenu 19 @@ -1129,7 +1368,7 @@ 225 - + AppDelegate -3 @@ -1137,6 +1376,114 @@ Application + + 229 + + + YES + + + + Breakpoints + + + 230 + + + YES + + + + + + 231 + + + YES + + + + + + + 232 + + + + + 233 + + + YES + + + + + + 234 + + + YES + + + + + + + + + 236 + + + YES + + + + + + + 237 + + + + + 238 + + + + + 239 + + + YES + + + + + + 240 + + + YES + + + + + + 241 + + + + + 242 + + + + + 248 + + + @@ -1227,10 +1574,29 @@ 204.ImportedFromIB2 225.IBPluginDependency 225.ImportedFromIB2 + 229.IBEditorWindowLastContentRect + 229.IBPluginDependency + 229.IBWindowTemplateEditedContentRect + 229.NSWindowTemplate.visibleAtLaunch + 229.lastResizeAction 23.IBPluginDependency 23.ImportedFromIB2 + 230.IBPluginDependency + 231.CustomClassName + 231.IBPluginDependency + 232.IBPluginDependency + 233.IBPluginDependency + 234.IBPluginDependency + 236.IBPluginDependency + 237.IBPluginDependency + 238.IBPluginDependency + 239.IBPluginDependency 24.IBPluginDependency 24.ImportedFromIB2 + 240.IBPluginDependency + 241.IBPluginDependency + 242.IBPluginDependency + 29.IBEditorWindowLastContentRect 29.IBPluginDependency 29.ImportedFromIB2 5.IBPluginDependency @@ -1245,6 +1611,7 @@ 72.ImportedFromIB2 73.IBPluginDependency 73.ImportedFromIB2 + 81.IBEditorWindowLastContentRect 81.IBPluginDependency 81.ImportedFromIB2 83.IBPluginDependency @@ -1254,113 +1621,145 @@ YES - - - + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + {{234, 145}, {601, 489}} + com.apple.InterfaceBuilder.CocoaPlugin + {{234, 145}, {601, 489}} - + + YES + + YES + IBResizeActionFinalFrame + IBResizeActionInitialFrame + + + YES + {{356, 71}, {601, 489}} + {{356, 290}, {480, 270}} + + + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin + BSSplitView + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{63, 745}, {371, 20}} + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin - + {{162, 702}, {130, 43}} + com.apple.InterfaceBuilder.CocoaPlugin - + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin @@ -1384,7 +1783,7 @@ - 228 + 248 @@ -1396,257 +1795,61 @@ showConnectionWindow: id + + IBProjectSource + Source/AppDelegate.h + + + + AppDelegate + NSObject + + IBUserSource + + + + + BSSourceView + NSView - YES - - YES - - - YES - + delegate + id + + IBProjectSource + Source/BSSourceView.h + + + + BSSplitView + NSSplitView - IBUserSource - + IBProjectSource + Source/BSSplitView.h FirstResponder - - - YES - - YES - - - YES - - - - YES - - YES - - - YES - + + IBUserSource + + + + NSObject + + + + NSObject - - + IBProjectSource + Source/SocketWrapper.h 0 - + ../MacGDBp.xcodeproj 3 - - YnBsaXN0MDDUAAEAAgADAAQABQAGAAkAClgkdmVyc2lvblQkdG9wWSRhcmNoaXZlclgkb2JqZWN0cxIA -AYag0QAHAAhdSUIub2JqZWN0ZGF0YYABXxAPTlNLZXllZEFyY2hpdmVyrxEBawALAAwAMQA1ADkAQABD -AEQASABMAGsAcwCBAIgAiQCKAI8AkACRAJQAmACZAJwAnQChAKUArgCyALMAtAC1ALkAwQDFAMYAxwDI -AM0A0ADRANIA1QDZAOAA5ADlAOYA5wDrAPIA8wD0APUA+QEAAQEBAgEDAQcBDgEPARABEQEWAR0BHgEf -ASABJQEsAS0BLgEvATMBPAFAAUEBQgFDAUcBTgFTAVQBVQFZAWABYQFiAWMBaAFvAXMBdAF1AXYBegGB -AYIBgwGHAY8BkAGRAZUBnQGeAZ8BowGqAasBrAGtAbEBuAG5AboBuwG/AcYBxwHIAckBzgHVAdYB1wHb -AeIB4wHkAegB7wHwAfEB9QH8Af0B/gH/AgQCCwIMAg0CEQIYAhkCGgIbAh8CJwIoAikCLQI0AjUCNgI3 -AjsCdAJ5AnoCggKNAo4CjwKdAqgCrwKwArECugLDAo4CxALJAssCzgLPAtEC2gLjAuQC7QKOAu4C8wL8 -Ao4C/QL/Aw4DFwMgAykCjgMqAywDNAM9Ao4DPgNEA00CjgNOA1ADVwNgA2EDagKOA2sDbwNwADgDcwN1 -A64D6AQiBCMEJAQlBCYEJwQoBCkEKgQrBCwELQQuBC8EMAQxBDIEMwQ0BDUENgQ3BDgEOQQ6BDsEPAQ9 -BD4EPwRABEEEQgRDBEQERQRGBEcESARJBEoESwRMBE0ETgRPBFAEUQRSBFMEVARVBFYEVwRaBF0EswUJ -BQoFCwE7BQwFDQUOBQ8FEAURBRIFEwUUBRUFFgUXBRgFGQUaBRsFHAUdBR4FHwUgBSEFIgUjBSQFJQUm -BScFKAUpBSoFKwUsBS0FLgUvBTAFMQUyBTMFNAU1BTYFNwU4BTkFOgU7BTwFPQU+BT8FQAVBBUIFQwVE -BUUFRgVHBUgFSQVKBUsFTAVNBU4FTwVQBVEFUgVTBVQFVQVWBVcFWAVZBVoFWwVeBWEFZFUkbnVsbN8Q -EgANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkA -KgArACwALQAuAC8AMFZOU1Jvb3RWJGNsYXNzXU5TT2JqZWN0c0tleXNfEA9OU0NsYXNzZXNWYWx1ZXNf -EBlOU0FjY2Vzc2liaWxpdHlPaWRzVmFsdWVzXU5TQ29ubmVjdGlvbnNbTlNOYW1lc0tleXNbTlNGcmFt -ZXdvcmtdTlNDbGFzc2VzS2V5c1pOU09pZHNLZXlzXU5TTmFtZXNWYWx1ZXNfEBlOU0FjY2Vzc2liaWxp -dHlDb25uZWN0b3JzXU5TRm9udE1hbmFnZXJfEBBOU1Zpc2libGVXaW5kb3dzXxAPTlNPYmplY3RzVmFs -dWVzXxAXTlNBY2Nlc3NpYmlsaXR5T2lkc0tleXNZTlNOZXh0T2lkXE5TT2lkc1ZhbHVlc4ACgQFqgJ2B -ARGBAWmACYDZgAaBARCBARKA2oEBZ4AAgAeA2IEBaBDlgQET0gAOADIAMwA0W05TQ2xhc3NOYW1lgAWA -A9IADgA2ADcAOFlOUy5zdHJpbmeABF1OU0FwcGxpY2F0aW9u0gA6ADsAPAA9WCRjbGFzc2VzWiRjbGFz -c25hbWWjAD0APgA/XxAPTlNNdXRhYmxlU3RyaW5nWE5TU3RyaW5nWE5TT2JqZWN00gA6ADsAQQBCogBC -AD9eTlNDdXN0b21PYmplY3RfEBBJQkNvY29hRnJhbWV3b3Jr0gAOAEUARgBHWk5TLm9iamVjdHOACKDS -ADoAOwBJAEqjAEoASwA/XE5TTXV0YWJsZVNldFVOU1NldNIADgBFAE0AToCcrxAcAE8AUABRAFIAUwBU -AFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGqACoAYgB6AJIApgC+ANIA5 -gD6AQ4BIgE6AU4BYgF6AYoBmgGqAb4B0gHmAfYCBgIWAioCOgJOAl9QADgBsAG0AbgBvAB8AcQByXU5T -RGVzdGluYXRpb25YTlNTb3VyY2VXTlNMYWJlbIAXgAKAC4AW1wAOAHQAdQB2AHcAeAB5AHoAewB8AH0A -fgB/AIBXTlNUaXRsZVpOU0tleUVxdWl2XU5TTW5lbW9uaWNMb2NZTlNPbkltYWdlXE5TTWl4ZWRJbWFn -ZVZOU01lbnWAFYANgA4Sf////4APgBOADNQADgB0AIIAgwCEAIUAhgCHVk5TTmFtZVtOU01lbnVJdGVt -c4CxgKKAtICkXUFib3V0IE1hY0dEQnBQ0wAOADIAiwCMAI0Ajl5OU1Jlc291cmNlTmFtZYASgBCAEVdO -U0ltYWdlXxAPTlNNZW51Q2hlY2ttYXJr0gA6ADsAkgCTogCTAD9fEBBOU0N1c3RvbVJlc291cmNl0wAO -ADIAiwCMAI0Al4ASgBCAFF8QEE5TTWVudU1peGVkU3RhdGXSADoAOwCaAJuiAJsAP1pOU01lbnVJdGVt -XxAdb3JkZXJGcm9udFN0YW5kYXJkQWJvdXRQYW5lbDrSADoAOwCeAJ+jAJ8AoAA/XxAVTlNOaWJDb250 -cm9sQ29ubmVjdG9yXk5TTmliQ29ubmVjdG9y0wAOAG0AbgBvAKMApIAXgBmAHdgADgB0AKYAdQB2AHcA -eAB5AHoAqACpAKoAfQB+AH8ArV8QEU5TS2V5RXF1aXZNb2RNYXNrgBWAGxIAEAAAgByAD4ATgBrTAA4A -dACDAIQAsACxgLGA0YDTXE1hY0dEQnAgSGVscFE/WXNob3dIZWxwOtMADgBtAG4AbwC3ALiAF4AfgCPY -AA4AdACmAHUAdgB3AHgAeQB6ALsAvAC9AH0AfgB/AMCAFYAhEgAYAACAIoAPgBOAINMADgB0AIMAhADD -AMSAsYC8gL1fEBVQYXN0ZSBhbmQgTWF0Y2ggU3R5bGVRVl8QEXBhc3RlQXNQbGFpblRleHQ61AAOAGwA -bQBuAMkAygAfAMyAKIAlgAKAJ9IADgAyADMAz4AFgCZbQXBwRGVsZWdhdGVYZGVsZWdhdGXSADoAOwDT -ANSjANQAoAA/XxAUTlNOaWJPdXRsZXRDb25uZWN0b3LTAA4AbQBuAG8A1wDYgBeAKoAu2AAOAHQApgB1 -AHYAdwB4AHkAegDbAKkA3AB9AH4AfwDfgBWALIAtgA+AE4Ar0wAOAHQAgwCEAOIA44CxgMaAyGkAUwBw -AGUAbABsAGkAbgBnICZROl8QD3Nob3dHdWVzc1BhbmVsOtMADgBtAG4AbwDpAOqAF4AwgDPYAA4AdACm -AHUAdgB3AHgAeQB6AO0AqQDuAH0AfgB/AMCAFYAxgDKAD4ATgCBTQ3V0UXhUY3V0OtMADgBtAG4AbwD3 -APiAF4A1gDjYAA4AdACmAHUAdgB3AHgAeQB6APsAqQD8AH0AfgB/AMCAFYA2gDeAD4ATgCBVUGFzdGVR -dlZwYXN0ZTrTAA4AbQBuAG8BBQEGgBeAOoA92AAOAHQApgB1AHYAdwB4AHkAegEJAKkBCgB9AH4AfwDA -gBWAO4A8gA+AE4AgWlNlbGVjdCBBbGxRYVpzZWxlY3RBbGw61AAOAGwAbQBuAG8AHwEUARWAF4ACgD+A -QtgADgB0AKYAdQB2AHcAeAB5AHoBGAC8ARkAfQB+AH8AgIAVgECAQYAPgBOADFtIaWRlIE90aGVyc1Fo -XxAWaGlkZU90aGVyQXBwbGljYXRpb25zOtQADgBsAG0AbgBvAB8BIwEkgBeAAoBEgEfYAA4AdACmAHUA -dgB3AHgAeQB6AScAqQEoAH0AfgB/AICAFYBFgEaAD4ATgAxcUXVpdCBNYWNHREJwUXFadGVybWluYXRl -OtMADgBtAG4AbwExATKAF4BJgE3ZAA4AdACmAHUAdgB3AHgAeQE0AHoBNgCpATcAfQB+AH8BOgE7VU5T -VGFngBWAS4BMgA+AE4BKEAHTAA4AdACDAIQBPgE/gLGAw4DEZQBGAGkAbgBkICZRZl8QF3BlcmZvcm1G -aW5kUGFuZWxBY3Rpb2460wAOAG0AbgBvAUUBRoAXgE+AUtgADgB0AKYAdQB2AHcAeAB5AHoBSQCpAHwA -fQB+AH8BTYAVgFGADoAPgBOAUNQADgB0AIIAgwCEAVABUQFSgLGAzIDPgM1fEBJCcmluZyBBbGwgdG8g -RnJvbnRfEA9hcnJhbmdlSW5Gcm9udDrTAA4AbQBuAG8BVwFYgBeAVIBX2AAOAHQApgB1AHYAdwB4AHkA -egFbAKkBXAB9AH4AfwDAgBWAVYBWgA+AE4AgVENvcHlRY1Vjb3B5OtQADgBsAG0AbgBvAMoBZgFngBeA -JYBZgF3YAA4AdACmAHUAdgB3AHgAeQB6AWoAqQFrAH0AfgB/AW6AFYBbgFyAD4ATgFrTAA4AdACDAIQB -cQFygLGAtoC4V09wZW4uLi5Rb18QFXNob3dDb25uZWN0aW9uV2luZG93OtMADgBtAG4AbwF4AXmAF4Bf -gGHYAA4AdACmAHUAdgB3AHgAeQB6AXwAqQB8AH0AfgB/AMCAFYBggA6AD4ATgCBWRGVsZXRlV2RlbGV0 -ZTrTAA4AbQBuAG8BhQEygBeAY4BN2QAOAHQApgB1AHYAdwB4AHkBNAB6AYkAqQGKAH0AfgB/AToBjoAV -gGSAZYAPgBOAShAHXxAWVXNlIFNlbGVjdGlvbiBmb3IgRmluZFFl0wAOAG0AbgBvAZMBMoAXgGeATdkA -DgB0AKYAdQB2AHcAeAB5ATQAegGXAKkBmAB9AH4AfwE6AZyAFYBogGmAD4ATgEoQA11GaW5kIFByZXZp -b3VzUUfTAA4AbQBuAG8BoQGigBeAa4Bu2AAOAHQApgB1AHYAdwB4AHkAegGlAKkBpgB9AH4AfwE6gBWA -bIBtgA+AE4BKXxARSnVtcCB0byBTZWxlY3Rpb25Ral8QHWNlbnRlclNlbGVjdGlvbkluVmlzaWJsZUFy -ZWE60wAOAG0AbgBvAa8BsIAXgHCAc9gADgB0AKYAdQB2AHcAeAB5AHoBswCpAbQAfQB+AH8BboAVgHGA -coAPgBOAWlVDbG9zZVF3XXBlcmZvcm1DbG9zZTrTAA4AbQBuAG8BvQG+gBeAdYB42AAOAHQApgB1AHYA -dwB4AHkAegHBAKkBwgB9AH4AfwDAgBWAdoB3gA+AE4AgVFVuZG9RelV1bmRvOtQADgBsAG0AbgBvAB8B -zAHNgBeAAoB6gHzYAA4AdACmAHUAdgB3AHgAeQB6AdAAqQEZAH0AfgB/AICAFYB7gEGAD4ATgAxcSGlk -ZSBNYWNHREJwVWhpZGU60wAOAG0AbgBvAdkB2oAXgH6AgNgADgB0AKYAdQB2AHcAeAB5AHoB3QCpAHwA -fQB+AH8BTYAVgH+ADoAPgBOAUFRab29tXHBlcmZvcm1ab29tOtMADgBtAG4AbwHmAeeAF4CCgITYAA4A -dACmAHUAdgB3AHgAeQB6AeoAqQB8AH0AfgB/AN+AFYCDgA6AD4ATgCtfEBpDaGVjayBTcGVsbGluZyBh -cyBZb3UgVHlwZV8QHnRvZ2dsZUNvbnRpbnVvdXNTcGVsbENoZWNraW5nOtMADgBtAG4AbwHzAfSAF4CG -gInYAA4AdACmAHUAdgB3AHgAeQB6AfcAqQH4AH0AfgB/AU2AFYCHgIiAD4ATgFBYTWluaW1pemVRbV8Q -E3BlcmZvcm1NaW5pYXR1cml6ZTrUAA4AbABtAG4AbwAfAgICA4AXgAKAi4CN2AAOAHQApgB1AHYAdwB4 -AHkAegIGAKkAfAB9AH4AfwCAgBWAjIAOgA+AE4AMWFNob3cgQWxsXxAWdW5oaWRlQWxsQXBwbGljYXRp -b25zOtMADgBtAG4AbwIPAhCAF4CPgJLYAA4AdACmAHUAdgB3AHgAeQB6AhMAqQIUAH0AfgB/AMCAFYCQ -gJGAD4ATgCBUUmVkb1FaVXJlZG860wAOAG0AbgBvAh0BMoAXgJSATdkADgB0AKYAdQB2AHcAeAB5ATQA -egIhAKkCIgB9AH4AfwE6AiaAFYCVgJaAD4ATgEoQAllGaW5kIE5leHRRZ9MADgBtAG4AbwIrAiyAF4CY -gJvYAA4AdACmAHUAdgB3AHgAeQB6Ai8AqQIwAH0AfgB/AN+AFYCZgJqAD4ATgCteQ2hlY2sgU3BlbGxp -bmdRO15jaGVja1NwZWxsaW5nOtIAOgA7AjgCOaMCOQI6AD9eTlNNdXRhYmxlQXJyYXlXTlNBcnJhedIA -DgBFAjwCPYDXrxA2Aj4CAgGTAkEBbgJDAkQB8wGFAkcCHQGvAToA9wFNASMAygCAAeYCUQJSAlMAcQHZ -AMABMQF4Ag8AtwDpAaECXQJeAl8CYADXAWYCYwCjAmUCZgFFAmgBzAJqAN8BFAJtAVcArQIrAb0CcgEF -gJ6Ai4BngLWAWoC+gKmAhoBjgKqAlIBwgEqANYBQgESAJYAMgIKA0ICtgMWAC4B+gCCASYBfgI+AH4Aw -gGuAv4CzgMCAzoAqgFmApYAZgNWAuYBPgKGAeoCygCuAP4CmgFSAGoCYgHWAyYA61AAOAHQAggCDAIQC -dgJ3AniAsYCfgNSAoFhNYWluTWVuddIADgBFAE0CfICcpQJoAkECZgJyAlGAoYC1gLmAyYDQ2gAOAoMA -dACmAHUAdgB3AHgAeQKEAHoAgACFAKkAfAB9AH4AfwI+AoxZTlNTdWJtZW51WE5TQWN0aW9ugBWADICi -gA6AD4ATgJ6Ao1dNYWNHREJwXnN1Ym1lbnVBY3Rpb2460gAOAEUATQKRgJyrAHECYwJtAkQCRwJqAcwB -FAICAl4BI4ALgKWApoCpgKqAsoB6gD+Ai4CzgETaAA4AdACmAp4AdQKfAHYAdwB4AHkAegB8AKkCogB8 -AqIAfQB+AH8AgF1OU0lzU2VwYXJhdG9yXE5TSXNEaXNhYmxlZIAVgA4JgA4JgA+AE4AM2AAOAHQApgB1 -AHYAdwB4AHkAegKqAKkCqwB9AH4AfwCAgBWAp4CogA+AE4AMbABQAHIAZQBmAGUAcgBlAG4AYwBlAHMg -JlEs2gAOAHQApgKeAHUCnwB2AHcAeAB5AHoAfACpAqIAfAKiAH0AfgB/AICAFYAOCYAOCYAPgBOADNoA -DgKDAHQApgB1AHYAdwB4AHkChAB6AlICvQCpAHwAfQB+AH8AgALCgBWArYCrgA6AD4ATgAyArFhTZXJ2 -aWNlc9QADgB0AIIAgwCEAsYCxwLIgLGAroCwgK/SAA4ANgA3AsOABNIADgBFAE0CzYCcoF8QD19OU1Nl -cnZpY2VzTWVuddIAOgA7AtAAeaIAeQA/2gAOAHQApgKeAHUCnwB2AHcAeAB5AHoAfACpAqIAfAKiAH0A -fgB/AICAFYAOCYAOCYAPgBOADNoADgB0AKYCngB1Ap8AdgB3AHgAeQB6AHwAqQKiAHwCogB9AH4AfwCA -gBWADgmADgmAD4ATgAxcX05TQXBwbGVNZW512gAOAoMAdACmAHUAdgB3AHgAeQKEAHoBbgFxAKkAfAB9 -AH4AfwI+AuyAFYBagLaADoAPgBOAnoC3WkNvbm5lY3Rpb27SAA4ARQBNAvCAnKIBZgGvgFmAcNoADgKD -AHQApgB1AHYAdwB4AHkChAB6AMAC9gCpAHwAfQB+AH8CPgL7gBWAIIC6gA6AD4ATgJ6Au1RFZGl00gAO -ADYANwL8gATSAA4ARQBNAwGAnKwBvQIPAkMA6QFXAPcAtwF4AQUCXQJfAlOAdYCPgL6AMIBUgDWAH4Bf -gDqAv4DAgMXaAA4AdACmAp4AdQKfAHYAdwB4AHkAegB8AKkCogB8AqIAfQB+AH8AwIAVgA4JgA4JgA+A -E4Ag2gAOAHQApgKeAHUCnwB2AHcAeAB5AHoAfACpAqIAfAKiAH0AfgB/AMCAFYAOCYAOCYAPgBOAINoA -DgKDAHQApgB1AHYAdwB4AHkChAB6AToDIwCpAHwAfQB+AH8AwAMogBWASoDBgA6AD4ATgCCAwlRGaW5k -0gAOADYANwMpgATSAA4ARQBNAy6AnKUBMQIdAZMBhQGhgEmAlIBngGOAa9oADgKDAHQApgB1AHYAdwB4 -AHkChAB6AN8A4gCpAHwAfQB+AH8AwAM8gBWAK4DGgA6AD4ATgCCAx1hTcGVsbGluZ9IADgBFAE0DQICc -owDXAisB5oAqgJiAgtoADgKDAHQApgB1AHYAdwB4AHkChAB6AU0DRwCpAHwAfQB+AH8CPgNMgBWAUIDK -gA6AD4ATgJ6Ay1ZXaW5kb3fSAA4ANgA3A02ABNIADgBFAE0DUoCcpAHzAdkCYAFFgIaAfoDOgE/aAA4A -dACmAp4AdQKfAHYAdwB4AHkAegB8AKkCogB8AqIAfQB+AH8BTYAVgA4JgA4JgA+AE4BQXl9OU1dpbmRv -d3NNZW512gAOAoMAdACmAHUAdgB3AHgAeQKEAHoArQCwAKkAfAB9AH4AfwI+A2mAFYAagNGADoAPgBOA -noDSVEhlbHDSAA4ARQBNA22AnKEAo4AZW19OU01haW5NZW510gAOADIAMwNygAWA1tIAOgA7A3QCOqIC -OgA/0gAOAEUCPAN3gNevEDYAHwCAAToCPgJBAMAAgAFNAToAgAE6AW4CXwDAAnIAgAAfAmgA3wI+AkcA -wACAAU0CZgE6AMAAwADAAMABOgDAAIAAwAFNAN8BbgCAAK0AHwI+AU0CPgCAAIACUwCAAIAAwAJRAN8A -wAI+AMCAAoAMgEqAnoC1gCCADIBQgEqADIBKgFqAwIAggMmADIACgKGAK4CegKqAIIAMgFCAuYBKgCCA -IIAggCCASoAggAyAIIBQgCuAWoAMgBqAAoCegFCAnoAMgAyAxYAMgAyAIIDQgCuAIICegCDSAA4ARQI8 -A7CA168QNwI+AgIAHwGTAkEBbgJDAkQB8wGFAkcCHQD3Aa8BOgFNASMAygCAAeYCUQJSAlMAcQHZAMAB -MQF4Ag8AtwDpAaECXQJeAl8CYADXAWYCYwCjAmUCZgFFAmgBzAJqAN8BFAJtAVcArQIrAb0CcgEFgJ6A -i4ACgGeAtYBagL6AqYCGgGOAqoCUgDWAcIBKgFCARIAlgAyAgoDQgK2AxYALgH6AIIBJgF+Aj4AfgDCA -a4C/gLOAwIDOgCqAWYClgBmA1YC5gE+AoYB6gLKAK4A/gKaAVIAagJiAdYDJgDrSAA4ARQI8A+qA168Q -NwJ2A+wD7QPuA+8D8APxA/ID8wP0A/UD9gP3A/gD+QP6A/sAzwP9A/4D/wQABAEEAgQDBAQEBQQGBAcE -CAQJBAoECwQMBA0EDgQPBBAEEQQSBBMEFAQVBBYEFwQYBBkEGgQbBBwEHQQeBB8EIAQhgJ+A24DcgN2A -3oDfgOCA4YDigOOA5IDlgOaA54DogOmA6oAmgOuA7IDtgO6A74DwgPGA8oDzgPSA9YD2gPeA+ID5gPqA -+4D8gP2A/oD/gQEAgQEBgQECgQEDgQEEgQEFgQEGgQEHgQEIgQEJgQEKgQELgQEMgQENgQEOgQEPXxAU -TWVudSBJdGVtIChTaG93IEFsbClcRmlsZSdzIE93bmVyXxAZTWVudSBJdGVtIChGaW5kIFByZXZpb3Vz -KV8QFk1lbnUgSXRlbSAoQ29ubmVjdGlvbilfEBFNZW51IChDb25uZWN0aW9uKVlTZXBhcmF0b3JbU2Vw -YXJhdG9yLTJfEBRNZW51IEl0ZW0gKE1pbmltaXplKV8QIk1lbnUgSXRlbSAoVXNlIFNlbGVjdGlvbiBm -b3IgRmluZClfEBRNZW51IEl0ZW0gKFNlcnZpY2VzKV8QFU1lbnUgSXRlbSAoRmluZCBOZXh0KV8QEU1l -bnUgSXRlbSAoUGFzdGUpXxARTWVudSBJdGVtIChDbG9zZSlbTWVudSAoRmluZCldTWVudSAoV2luZG93 -KV8QGE1lbnUgSXRlbSAoUXVpdCBNYWNHREJwKV5NZW51IChNYWNHREJwKV8QJk1lbnUgSXRlbSAoQ2hl -Y2sgU3BlbGxpbmcgYXMgWW91IFR5cGUpXxAQTWVudSBJdGVtIChIZWxwKV8QD01lbnUgKFNlcnZpY2Vz -KV8QFE1lbnUgSXRlbSAoU3BlbGxpbmcpXxAZTWVudSBJdGVtIChBYm91dCBNYWNHREJwKV8QEE1lbnUg -SXRlbSAoWm9vbSlbTWVudSAoRWRpdClvEBEATQBlAG4AdQAgAEkAdABlAG0AIAAoAEYAaQBuAGQgJgAp -XxASTWVudSBJdGVtIChEZWxldGUpXxAQTWVudSBJdGVtIChSZWRvKV8QIU1lbnUgSXRlbSAoUGFzdGUg -YW5kIE1hdGNoIFN0eWxlKV8QD01lbnUgSXRlbSAoQ3V0KV8QHU1lbnUgSXRlbSAoSnVtcCB0byBTZWxl -Y3Rpb24pW1NlcGFyYXRvci0xW1NlcGFyYXRvci0zXxAQTWVudSBJdGVtIChGaW5kKVtTZXBhcmF0b3It -Nm8QFQBNAGUAbgB1ACAASQB0AGUAbQAgACgAUwBwAGUAbABsAGkAbgBnICYAKV8QE01lbnUgSXRlbSAo -T3Blbi4uLilbU2VwYXJhdG9yLTRfEBhNZW51IEl0ZW0gKE1hY0dEQnAgSGVscClbQXBwbGljYXRpb25f -EBBNZW51IEl0ZW0gKEVkaXQpXxAeTWVudSBJdGVtIChCcmluZyBBbGwgdG8gRnJvbnQpXxATTWVudSBJ -dGVtIChNYWNHREJwKV8QGE1lbnUgSXRlbSAoSGlkZSBNYWNHREJwKVtTZXBhcmF0b3ItNV8QD01lbnUg -KFNwZWxsaW5nKV8QF01lbnUgSXRlbSAoSGlkZSBPdGhlcnMpbxAYAE0AZQBuAHUAIABJAHQAZQBtACAA -KABQAHIAZQBmAGUAcgBlAG4AYwBlAHMgJgApXxAQTWVudSBJdGVtIChDb3B5KVtNZW51IChIZWxwKV8Q -Gk1lbnUgSXRlbSAoQ2hlY2sgU3BlbGxpbmcpXxAQTWVudSBJdGVtIChVbmRvKV8QEk1lbnUgSXRlbSAo -V2luZG93KV8QFk1lbnUgSXRlbSAoU2VsZWN0IEFsbCnSAA4ARQI8BFmA16DSAA4ARQI8BFyA16DSAA4A -RQI8BF+A168QUwI+AgIAUQAfAGMAaABbAGAAUgGTAE8CQQFuAkMCRAHzAYUCRwBTAh0AXwGvAToA9wBY -AU0BIwDKAGUAZACAAeYAaQJRAlIAXQJTAFUAXABxAdkAwAExAFABeAIPALcA6QGhAl0AYQJeAl8AagJg -AFcAXgDXAWYCYwBnAFQAowBiAmUCZgFFAFkCaAHMAmoA3wEUAFYCbQFXAK0CKwG9AnIAZgEFAFqAnoCL -gB6AAoB5gI6AU4BqgCSAZ4AKgLWAWoC+gKmAhoBjgKqAKYCUgGaAcIBKgDWAQ4BQgESAJYCBgH2ADICC -gJOA0ICtgF6AxYA0gFiAC4B+gCCASYAYgF+Aj4AfgDCAa4C/gG+As4DAgJeAzoA+gGKAKoBZgKWAioAv -gBmAdIDVgLmAT4BIgKGAeoCygCuAP4A5gKaAVIAagJiAdYDJgIWAOoBO0gAOAEUCPAS1gNevEFMEtgS3 -BLgEuQS6BLsEvAS9BL4EvwTABMEEwgTDBMQExQTGBMcEyATJBMoEywTMBM0EzgTPBNAE0QTSBNME1ATV -BNYE1wTYBNkE2gTbBNwE3QTeBN8E4AThBOIE4wTkBOUE5gTnBOgE6QTqBOsE7ATtBO4E7wTwBPEE8gTz -BPQE9QT2BPcE+AT5BPoE+wT8BP0E/gT/BQAFAQUCBQMFBAUFBQYFBwUIgQEUgQEVgQEWgQEXgQEYgQEZ -gQEagQEbgQEcgQEdgQEegQEfgQEggQEhgQEigQEjgQEkgQElgQEmgQEngQEogQEpgQEqgQErgQEsgQEt -gQEugQEvgQEwgQExgQEygQEzgQE0gQE1gQE2gQE3gQE4gQE5gQE6gQE7gQE8gQE9gQE+gQE/gQFAgQFB -gQFCgQFDgQFEgQFFgQFGgQFHgQFIgQFJgQFKgQFLgQFMgQFNgQFOgQFPgQFQgQFRgQFSgQFTgQFUgQFV -gQFWgQFXgQFYgQFZgQFagQFbgQFcgQFdgQFegQFfgQFggQFhgQFigQFjgQFkgQFlgQFmEB0QlhDNEJgQ -shC1EMsQ4hCiEI4QUxBREJwQjxAXEKEQgxC8EKcQyRBJEJ8QqxCLEBgQiBDhEMAQxhA5EL8QyBBnEIIQ -wxC4ELAQ4xA6EMUQqRCaEHoQpBCtEMwQoBCbEK4QwRCVEKgQvhBcEJIQyhC7EEgQxBCZEK8QbxC0E/// -///////9EKMQBRDHEDgQhhCQELkQkRCzEIEQnRBqEL0QnhATECUQrBAn0gAOAEUATQVdgJyg0gAOAEUC -PAVggNeg0gAOAEUCPAVjgNeg0gA6ADsFZQVmogVmAD9eTlNJQk9iamVjdERhdGEACAAZACIAJwAxADoA -PwBEAFIAVABmA0ADRgORA5gDnwOtA78D2wPpA/UEAQQPBBoEKAREBFIEZQR3BJEEmwSoBKoErQSvBLIE -tQS3BLkEuwS+BMEEwwTGBMgEygTMBM8E0QTUBN0E6QTrBO0E9gUABQIFEAUZBSIFLQU0BUYFTwVYBWEF -ZgV1BYgFkQWcBZ4FnwWoBa8FvAXCBcsFzQYIBgoGDAYOBhAGEgYUBhYGGAYaBhwGHgYgBiIGJAYmBigG -KgYsBi4GMAYyBjQGNgY4BjoGPAY+BkAGUQZfBmgGcAZyBnQGdgZ4BpUGnQaoBrYGwAbNBtQG1gbYBtoG -3wbhBuMG5Qb2Bv0HCQcLBw0HDwcRBx8HIActBzwHPgdAB0IHSgdcB2UHagd9B4oHjAeOB5AHowesB7EH -vAfcB+UH7AgECBMIIAgiCCQIJghHCFsIXQhfCGQIZghoCGoIbAh5CHsIfQh/CIwIjgiYCKUIpwipCKsI -zAjOCNAI1QjXCNkI2wjdCOoI7AjuCPAJCAkKCR4JLwkxCTMJNQk3CUAJQglECVAJWQliCWkJgAmNCY8J -kQmTCbQJtgm4CboJvAm+CcAJzQnPCdEJ0wnmCegJ+goHCgkKCwoNCi4KMAoyCjQKNgo4CjoKPgpACkUK -UgpUClYKWAp5CnsKfQp/CoEKgwqFCosKjQqUCqEKowqlCqcKyArKCswKzgrQCtIK1ArfCuEK7Ar9Cv8L -AQsDCwULJgsoCyoLLAsuCzALMgs+C0ALWQtqC2wLbgtwC3ILkwuVC5cLmQubC50LnwusC64LuQvGC8gL -ygvMC/EL9wv5C/sL/Qv/DAEMAwwFDBIMFAwWDBgMIwwlDD8MTAxODFAMUgxzDHUMdwx5DHsMfQx/DJAM -kgyUDJYMmAytDL8MzAzODNAM0gzzDPUM9wz5DPsM/Qz/DQQNBg0MDR0NHw0hDSMNJQ1GDUgNSg1MDU4N -UA1SDV8NYQ1jDWUNbQ1vDYcNlA2WDZgNmg27Db0Nvw3BDcMNxQ3HDc4N1g3jDeUN5w3pDg4OEA4SDhQO -Fg4YDhoOHA41DjcORA5GDkgOSg5vDnEOcw51DncOeQ57Dn0Oiw6NDpoOnA6eDqAOwQ7DDsUOxw7JDssO -zQ7hDuMPAw8QDxIPFA8WDzcPOQ87Dz0PPw9BD0MPSQ9LD1kPZg9oD2oPbA+ND48PkQ+TD5UPlw+ZD54P -oA+mD7cPuQ+7D70Pvw/gD+IP5A/mD+gP6g/sD/kP/xAMEA4QEBASEDMQNRA3EDkQOxA9ED8QRBBREF4Q -YBBiEGQQhRCHEIkQixCNEI8QkRCuEM8Q3BDeEOAQ4hEDEQURBxEJEQsRDREPERgRGhEwEUERQxFFEUcR -SRFqEWwRbhFwEXIRdBF2EX8RmBGlEacRqRGrEcwRzhHQEdIR1BHWEdgR3RHfEeUR8hH0EfYR+BIdEh8S -IRIjEiUSJxIpEisSNRI3EkQSRhJIEkoSaxJtEm8ScRJzEnUSdxKGEogSlxKgEqcSthK+EscSyRM4EzoT -PBM+E0ATQhNEE0YTSBNKE0wTThNQE1ITVBNWE1gTWhNcE14TYBNiE2QTZhNoE2oTbBNuE3ATchN0E3YT -eBN6E3wTfhOAE4IThBOGE4gTihOME44TkBOSE5QTlhOYE5oTnBOeE6ATohOkE7UTtxO5E7sTvRPGE88T -0RPcE94T4BPiE+QT5hQPFBkUIhQkFCYUKBQqFCwULhQwFDIUOhRJFFIUVBRrFG0UbxRxFHMUdRR3FHkU -exR9FH8UgRSqFLgUxRTHFMkUyhTMFM0UzxTRFNMU9BT2FPgU+hT8FP4VABUZFRsVRBVGFUgVSRVLFUwV -ThVQFVIVexV9FX8VgRWDFYUVhxWJFYsVlBWlFacVqRWrFa0VthW4FcEVwxXEFdYV3xXkFg0WDxYRFhIW -FBYVFhcWGRYbFkQWRhZIFkkWSxZMFk4WUBZSFl8WiBaKFowWjhaQFpIWlBaWFpgWoxasFq4Wsxa1FrcW -4BbiFuQW5hboFuoW7BbuFvAW9Rb+FwAXCRcLFyQXJhcoFyoXLBcuFzAXMhc0FzYXOBc6FzwXZRdnF2kX -ahdsF20XbxdxF3MXnBeeF6AXoRejF6QXpheoF6oX0xfVF9cX2RfbF90X3xfhF+MX6BfxF/MX/Bf+GAkY -CxgNGA8YERgTGDwYPhhAGEIYRBhGGEgYShhMGFUYXhhgGGcYaRhrGG0YlhiYGJoYnBieGKAYohikGKYY -rRi2GLgYwRjDGMwYzhjQGNIY1Bj9GP8ZARkCGQQZBRkHGQkZCxkaGUMZRRlHGUkZSxlNGU8ZURlTGVgZ -YRljGWYZaBl0GX0ZfxmBGYoZjxmYGZoaCRoLGg0aDxoRGhMaFRoXGhkaGxodGh8aIRojGiUaJxopGisa -LRovGjEaMxo1GjcaORo7Gj0aPxpBGkMaRRpHGkkaSxpNGk8aURpTGlUaVxpZGlsaXRpfGmEaYxplGmca -aRprGm0abxpxGnMadRp+GoAa8RrzGvUa9xr5Gvsa/Rr/GwEbAxsFGwcbCRsLGw0bDxsRGxMbFRsXGxkb -GxsdGx8bIRsjGyUbJxspGysbLRsvGzEbMxs1GzcbORs7Gz0bPxtBG0MbRRtHG0kbSxtNG08bURtTG1Ub -VxtZG1sbXRtfG2gbahvbG90b3xvhG+Mb5RvnG+kb6xvtG+8b8RvzG/Ub9xv5G/sb/Rv/HAEcAxwFHAcc -CRwLHA0cDxwRHBMcFRwXHBkcGxwdHB8cIRwjHCUcJxwpHCwcLxwyHDUcOBw7HD4cQRxEHEccShxNHFAc -UxxWHFkccBx9HJkcshzGHNAc3BzzHRgdLx1HHVsdbx17HYkdpB2zHdwd7x4BHhgeNB5HHlMeeB6NHqAe -xB7WHvYfAh8OHyEfLR9aH3AffB+XH6Mfth/XH+0gCCAUICYgQCBzIIYgkiCvIMIg1yDwIPkg+yD8IQUh -ByEIIREhEyG8Ib4hwCHCIcQhxiHIIcohzCHOIdAh0iHUIdYh2CHaIdwh3iHgIeIh5CHmIegh6iHsIe4h -8CHyIfQh9iH4Ifoh/CH+IgAiAiIEIgYiCCIKIgwiDiIQIhIiFCIWIhgiGiIcIh4iICIiIiQiJiIoIioi -LCIuIjAiMiI0IjYiOCI6IjwiPiJAIkIiRCJGIkgiSiJMIk4iUCJSIlQiViJYIloiXCJeImAiYiJrIm0j -FiMZIxwjHyMiIyUjKCMrIy4jMSM0IzcjOiM9I0AjQyNGI0kjTCNPI1IjVSNYI1sjXiNhI2QjZyNqI20j -cCNzI3YjeSN8I38jgiOFI4gjiyOOI5EjlCOXI5ojnSOgI6MjpiOpI6wjryOyI7UjuCO7I74jwSPEI8cj -yiPNI9Aj0yPWI9kj3CPfI+Ij5SPoI+sj7iPxI/Qj9yP6I/0kACQDJAYkCSQMJA8kESQTJBUkFyQZJBsk -HSQfJCEkIyQlJCckKSQrJC0kLyQxJDMkNSQ3JDkkOyQ9JD8kQSRDJEUkRyRJJEskTSRPJFEkUyRVJFck -WSRbJF0kXyRhJGMkZSRnJGkkayRtJG8kcSRzJHUkdyR5JHskfSR/JIEkgySFJIckiSSLJI0kliSYJJok -nCSeJKAkoiSkJKYkqCSqJKwkriSwJLIktCS2JLgkuiTDJMUkxiTPJNEk0iTbJN0k3iTnJOwAAAAAAAAC -AgAAAAAAAAVnAAAAAAAAAAAAAAAAAAAk+w - diff --git a/Source/BreakpointManager.m b/Source/BreakpointManager.m index 10d8ae7..7c0fbd6 100644 --- a/Source/BreakpointManager.m +++ b/Source/BreakpointManager.m @@ -16,6 +16,7 @@ #import "BreakpointManager.h" +NSString *kdBreakpoints = @"breakpoints"; @implementation BreakpointManager @@ -26,7 +27,11 @@ { if (self = [super init]) { - breakpoints = [NSMutableDictionary dictionary]; + breakpoints = (NSMutableDictionary *)[[NSUserDefaults standardUserDefaults] objectForKey:kdBreakpoints]; + if (!breakpoints) + { + breakpoints = [NSMutableDictionary dictionary]; + } } return self; } @@ -59,6 +64,7 @@ { [lines addObject:bp]; } + [[NSUserDefaults standardUserDefaults] setObject:breakpoints forKey:kdBreakpoints]; NSLog(@"breakpoints = %@", breakpoints); } @@ -73,6 +79,7 @@ if ([b line] == line) { [lines removeObject:b]; + [[NSUserDefaults standardUserDefaults] setObject:breakpoints forKey:kdBreakpoints]; return b; } } -- 2.22.5