diff --git a/Project1.cfg b/Project1.cfg
deleted file mode 100644
index 89a39a7..0000000
--- a/Project1.cfg
+++ /dev/null
@@ -1,39 +0,0 @@
--$A8
--$B-
--$C+
--$D+
--$E-
--$F-
--$G+
--$H+
--$I+
--$J-
--$K-
--$L+
--$M-
--$N+
--$O+
--$P+
--$Q-
--$R-
--$S-
--$T-
--$U-
--$V+
--$W-
--$X+
--$YD
--$Z1
--cg
--AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
--H+
--W+
--M
--$M16384,1048576
--K$00400000
--LE"d:\program files\borland\delphi7\Projects\Bpl"
--LN"d:\program files\borland\delphi7\Projects\Bpl"
--LUvcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;JclDeveloperTools;Jcl;JclVcl;JclContainers;JvCore;JvSystem;JvStdCtrls;JvAppFrm;JvBands;JvCmp;JvControls;JvCrypt;JvCustom;JvDlgs;JvDocking;JvGlobus;JvHMI;JvJans;JvManagedThreads;JvMM;JvNet;JvPageComps;JvPascalInterpreter;JvPluginSystem;JvPrintPreview;JvRuntimeDesign;JvTimeFramework;JvWizards;JvXPCtrls
--w-UNSAFE_TYPE
--w-UNSAFE_CODE
--w-UNSAFE_CAST
diff --git a/Project1.dof b/Project1.dof
deleted file mode 100644
index c915731..0000000
--- a/Project1.dof
+++ /dev/null
@@ -1,134 +0,0 @@
-[FileVersion]
-Version=7.0
-[Compiler]
-A=8
-B=0
-C=1
-D=1
-E=0
-F=0
-G=1
-H=1
-I=1
-J=0
-K=0
-L=1
-M=0
-N=1
-O=1
-P=1
-Q=0
-R=0
-S=0
-T=0
-U=0
-V=1
-W=0
-X=1
-Y=1
-Z=1
-ShowHints=1
-ShowWarnings=1
-UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
-NamespacePrefix=
-SymbolDeprecated=1
-SymbolLibrary=1
-SymbolPlatform=1
-UnitLibrary=1
-UnitPlatform=1
-UnitDeprecated=1
-HResultCompat=1
-HidingMember=1
-HiddenVirtual=1
-Garbage=1
-BoundsError=1
-ZeroNilCompat=1
-StringConstTruncated=1
-ForLoopVarVarPar=1
-TypedConstVarPar=1
-AsgToTypedConst=1
-CaseLabelRange=1
-ForVariable=1
-ConstructingAbstract=1
-ComparisonFalse=1
-ComparisonTrue=1
-ComparingSignedUnsigned=1
-CombiningSignedUnsigned=1
-UnsupportedConstruct=1
-FileOpen=1
-FileOpenUnitSrc=1
-BadGlobalSymbol=1
-DuplicateConstructorDestructor=1
-InvalidDirective=1
-PackageNoLink=1
-PackageThreadVar=1
-ImplicitImport=1
-HPPEMITIgnored=1
-NoRetVal=1
-UseBeforeDef=1
-ForLoopVarUndef=1
-UnitNameMismatch=1
-NoCFGFileFound=1
-MessageDirective=1
-ImplicitVariants=1
-UnicodeToLocale=1
-LocaleToUnicode=1
-ImagebaseMultiple=1
-SuspiciousTypecast=1
-PrivatePropAccessor=1
-UnsafeType=0
-UnsafeCode=0
-UnsafeCast=0
-[Linker]
-MapFile=0
-OutputObjs=0
-ConsoleApp=1
-DebugInfo=0
-RemoteSymbols=0
-MinStackSize=16384
-MaxStackSize=1048576
-ImageBase=4194304
-ExeDescription=
-[Directories]
-OutputDir=
-UnitOutputDir=
-PackageDLLOutputDir=
-PackageDCPOutputDir=
-SearchPath=
-Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;JclDeveloperTools;Jcl;JclVcl;JclContainers;JvCore;JvSystem;JvStdCtrls;JvAppFrm;JvBands;JvCmp;JvControls;JvCrypt;JvCustom;JvDlgs;JvDocking;JvGlobus;JvHMI;JvJans;JvManagedThreads;JvMM;JvNet;JvPageComps;JvPascalInterpreter;JvPluginSystem;JvPrintPreview;JvRuntimeDesign;JvTimeFramework;JvWizards;JvXPCtrls
-Conditionals=
-DebugSourceDirs=
-UsePackages=1
-[Parameters]
-RunParams=
-HostApplication=
-Launcher=
-UseLauncher=0
-DebugCWD=
-[Version Info]
-IncludeVerInfo=0
-AutoIncBuild=0
-MajorVer=1
-MinorVer=0
-Release=0
-Build=0
-Debug=0
-PreRelease=0
-Special=0
-Private=0
-DLL=0
-Locale=2052
-CodePage=936
-[Version Info Keys]
-CompanyName=
-FileDescription=
-FileVersion=1.0.0.0
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
-Comments=
-[Excluded Packages]
-d:\program files\borland\delphi7\Bin\dclite70.bpl=Borland Integrated Translation Environment
diff --git a/Project1.res b/Project1.res
deleted file mode 100644
index e84b2e4..0000000
Binary files a/Project1.res and /dev/null differ
diff --git a/RegExpr/RegExpr.dcu b/RegExpr/RegExpr.dcu
index 5a74ded..d703b89 100644
Binary files a/RegExpr/RegExpr.dcu and b/RegExpr/RegExpr.dcu differ
diff --git a/WinCacheGrind.bdsgroup b/WinCacheGrind.bdsgroup
deleted file mode 100644
index 0fd3b88..0000000
--- a/WinCacheGrind.bdsgroup
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- WinCacheGrind.bdsproj
- WinCacheGrind.exe
-
-
-
-
diff --git a/WinCacheGrind.bdsproj b/WinCacheGrind.bdsproj
deleted file mode 100644
index 43bb813..0000000
--- a/WinCacheGrind.bdsproj
+++ /dev/null
@@ -1,233 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- 7.0
-
-
- 8
- 0
- 0
- 1
- 0
- 0
- 1
- 1
- 1
- 0
- 0
- 1
- 0
- 1
- 1
- 1
- 0
- 0
- 0
- 0
- 0
- 1
- 0
- 1
- 1
- 1
- True
- True
- WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
-
- False
-
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- True
- False
- True
- False
- True
- True
- True
-
-
- 0
- 0
- 1
- False
- False
- False
- 16384
- 1048576
- 4194304
- WinCacheGrind
-
-
-
-
-
-
- RegExpr
- vcl;rtl;vclx;vclactnband;vclshlctrls;DJCL70;dbrtl;inet;JVCL200_R70;qrpt;bdertl;vcldb;JvCoreD9R;JvSystemD9R;JvCustomD9R;JvStdCtrlsD9R;JvCtrlsD9R
- PROFILE
- D:\c4\D\WinCacheGrind\RegExpr\
- False
-
-
-
-
-
- False
-
-
-
-
-
- False
-
-
-
- $00000000
-
-
-
- True
- True
- 1
- 0
- 0
- 12
- False
- False
- False
- False
- False
- 1057
- 1252
-
-
- Ceefour Software
- WinCacheGrind
- 1.0.0.12
- WinCacheGrind.exe
- Copyright (C) 2005 Hendy Irawan
- Licensed under GNU GPL version 2 or later
- WinCacheGrind.exe
- WinCacheGrind
- 1.0.0.0
- WinCacheGrind
-
-
-
-
- Borland Internet Components
- Indy 10 Core Design Time
- Borland SQL Explorer UI Package
- Borland Database Components
- Borland dbExpress Components
- Borland BDE DB Components
- Borland InternetExpress Components
- Borland MyBase DataAccess Components
- JVCL Database Components
- Borland Editor Script Enhancements
- Borland Sample Components
- Shell Control Property and Component Editors
- Borland Editor Emacs Enhancements
- Borland Markup Language Wizards
- Intraweb 7.2 Design Package for Delphi Win32
- Microsoft Office XP Sample Automation Server Wrapper Components
- Borland SOAP Components
- Indy 10 Protocols Design Time
- Internet Explorer Components
- Borland Interbase Event Alerter Component
- Borland Control Panel Applet Package
- Borland ADO DB Components
- Borland InterBase Express Components
- Borland Web Wizard Package
- Borland WebSnap Components
- Borland DataSnap Connection Components
- TeeChart Components
- Borland SimpleDataset Component (DBX)
- JCL Debug IDE extension for Delphi 2005
- JCL Project Analyzer for Delphi 2005
- JVCL Application and Form Components
- JVCL Band Objects
- JVCL BDE Components
- JVCL Non-Visual Components
- JVCL Encryption and Compression Components
- JVCL Visual Controls
- JVCL Dialog Components
- JVCL Docking Components
- JVCL DotNet Controls
- JVCL EDI Components Designtime Package
- JVCL Globus Components
- JVCL HMI Controls design time unit
- JVCL Inspector Components
- JVCL Interpreter Components
- JVCL Jans Components
- JVCL Managed Threads
- JVCL Multimedia and Image Components
- JVCL Network Components
- JVCL Page Style Components
- JVCL Plugin Components
- JVCL Print Preview Components
- JVCL Time Framework
- JVCL Unified Interbase Components
- JVCL Validators and Error Provider Components
- JVCL Wizard Design Time Package
- JVCL XP Controls
-
-
-
diff --git a/WinCacheGrind.cfg b/WinCacheGrind.cfg
deleted file mode 100644
index 97c042b..0000000
--- a/WinCacheGrind.cfg
+++ /dev/null
@@ -1,39 +0,0 @@
--$A8
--$B-
--$C+
--$D+
--$E-
--$F-
--$G+
--$H+
--$I+
--$J-
--$K-
--$L+
--$M-
--$N+
--$O+
--$P+
--$Q-
--$R-
--$S-
--$T-
--$U-
--$V+
--$W-
--$X+
--$YD
--$Z1
--cg
--AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
--H+
--W+
--M
--$M16384,1048576
--K$00400000
--LE"d:\program files\borland\delphi7\Projects\Bpl"
--LN"d:\program files\borland\delphi7\Projects\Bpl"
--LUvcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;JclDeveloperTools;Jcl;JclVcl;JclContainers;JvCore;JvSystem;JvStdCtrls;JvAppFrm;JvBands;JvCmp;JvControls;JvCrypt;JvCustom;JvDlgs;JvDocking;JvGlobus;JvHMI;JvJans;JvManagedThreads;JvMM;JvNet;JvPageComps;JvPascalInterpreter;JvPluginSystem;JvPrintPreview;JvRuntimeDesign;JvTimeFramework;JvWizards;JvXPCtrls
--w-UNSAFE_TYPE
--w-UNSAFE_CODE
--w-UNSAFE_CAST
diff --git a/WinCacheGrind.dof b/WinCacheGrind.dof
deleted file mode 100644
index 5367f4f..0000000
--- a/WinCacheGrind.dof
+++ /dev/null
@@ -1,134 +0,0 @@
-[FileVersion]
-Version=7.0
-[Compiler]
-A=8
-B=0
-C=1
-D=1
-E=0
-F=0
-G=1
-H=1
-I=1
-J=0
-K=0
-L=1
-M=0
-N=1
-O=1
-P=1
-Q=0
-R=0
-S=0
-T=0
-U=0
-V=1
-W=0
-X=1
-Y=1
-Z=1
-ShowHints=1
-ShowWarnings=1
-UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
-NamespacePrefix=
-SymbolDeprecated=1
-SymbolLibrary=1
-SymbolPlatform=1
-UnitLibrary=1
-UnitPlatform=1
-UnitDeprecated=1
-HResultCompat=1
-HidingMember=1
-HiddenVirtual=1
-Garbage=1
-BoundsError=1
-ZeroNilCompat=1
-StringConstTruncated=1
-ForLoopVarVarPar=1
-TypedConstVarPar=1
-AsgToTypedConst=1
-CaseLabelRange=1
-ForVariable=1
-ConstructingAbstract=1
-ComparisonFalse=1
-ComparisonTrue=1
-ComparingSignedUnsigned=1
-CombiningSignedUnsigned=1
-UnsupportedConstruct=1
-FileOpen=1
-FileOpenUnitSrc=1
-BadGlobalSymbol=1
-DuplicateConstructorDestructor=1
-InvalidDirective=1
-PackageNoLink=1
-PackageThreadVar=1
-ImplicitImport=1
-HPPEMITIgnored=1
-NoRetVal=1
-UseBeforeDef=1
-ForLoopVarUndef=1
-UnitNameMismatch=1
-NoCFGFileFound=1
-MessageDirective=1
-ImplicitVariants=1
-UnicodeToLocale=1
-LocaleToUnicode=1
-ImagebaseMultiple=1
-SuspiciousTypecast=1
-PrivatePropAccessor=1
-UnsafeType=0
-UnsafeCode=0
-UnsafeCast=0
-[Linker]
-MapFile=0
-OutputObjs=0
-ConsoleApp=1
-DebugInfo=0
-RemoteSymbols=0
-MinStackSize=16384
-MaxStackSize=1048576
-ImageBase=4194304
-ExeDescription=
-[Directories]
-OutputDir=
-UnitOutputDir=
-PackageDLLOutputDir=
-PackageDCPOutputDir=
-SearchPath=
-Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;JclDeveloperTools;Jcl;JclVcl;JclContainers;JvCore;JvSystem;JvStdCtrls;JvAppFrm;JvBands;JvCmp;JvControls;JvCrypt;JvCustom;JvDlgs;JvDocking;JvGlobus;JvHMI;JvJans;JvManagedThreads;JvMM;JvNet;JvPageComps;JvPascalInterpreter;JvPluginSystem;JvPrintPreview;JvRuntimeDesign;JvTimeFramework;JvWizards;JvXPCtrls
-Conditionals=
-DebugSourceDirs=
-UsePackages=1
-[Parameters]
-RunParams=
-HostApplication=
-Launcher=
-UseLauncher=0
-DebugCWD=
-[Version Info]
-IncludeVerInfo=0
-AutoIncBuild=0
-MajorVer=1
-MinorVer=0
-Release=0
-Build=0
-Debug=0
-PreRelease=0
-Special=0
-Private=0
-DLL=0
-Locale=2052
-CodePage=936
-[Version Info Keys]
-CompanyName=
-FileDescription=
-FileVersion=1.0.0.0
-InternalName=
-LegalCopyright=
-LegalTrademarks=
-OriginalFilename=
-ProductName=
-ProductVersion=1.0.0.0
-Comments=
-[Excluded Packages]
-d:\program files\borland\delphi7\Bin\dclite70.bpl=Borland Integrated Translation Environment
diff --git a/WinCacheGrind.exe b/WinCacheGrind.exe
index f14134a..9c03d72 100644
Binary files a/WinCacheGrind.exe and b/WinCacheGrind.exe differ
diff --git a/uCacheGrind.dcu b/uCacheGrind.dcu
deleted file mode 100644
index 2966201..0000000
Binary files a/uCacheGrind.dcu and /dev/null differ
diff --git a/uConfig.dcu b/uConfig.dcu
deleted file mode 100644
index 6c4c4ad..0000000
Binary files a/uConfig.dcu and /dev/null differ
diff --git a/uDoc.dcu b/uDoc.dcu
deleted file mode 100644
index eec3446..0000000
Binary files a/uDoc.dcu and /dev/null differ
diff --git a/uDoc.ddp b/uDoc.ddp
deleted file mode 100644
index 4370276..0000000
Binary files a/uDoc.ddp and /dev/null differ
diff --git a/uDoc.~dfm b/uDoc.~dfm
deleted file mode 100644
index 3d94313..0000000
--- a/uDoc.~dfm
+++ /dev/null
@@ -1,2033 +0,0 @@
-object fDoc: TfDoc
- Left = 328
- Top = 284
- Width = 781
- Height = 448
- Caption = 'Profiler Document'
- Color = clBtnFace
- Font.Charset = DEFAULT_CHARSET
- Font.Color = clWindowText
- Font.Height = -11
- Font.Name = 'MS Sans Serif'
- Font.Style = []
- FormStyle = fsMDIChild
- Icon.Data = {
- 0000010001001010100000000000280100001600000028000000100000002000
- 00000100040000000000C0000000000000000000000000000000000000000000
- 000000008000008000000080800080000000800080008080000080808000C0C0
- C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000
- 00000000000000000000000000000FFFFFFFFFFFFFF00F00F00F000F00F00FFF
- FFFFFFFFFFF00F00F00FF00000F00FEEEEEFF0F9FCF00FFFFFFFF0F9FCF00F00
- 00FFF0FFFCF00F0000FFF0FFFFF00FFFFFFFFFFFFFF00CCCCCCCCCCCCCC0088C
- CCCCCCCCC880000000000000000000000000000000000000000000000000FFFF
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FFFF0000FFFF0000}
- Menu = mm
- OldCreateOrder = False
- Position = poDefault
- ScreenSnap = True
- ShowHint = True
- Visible = True
- OnClose = FormClose
- OnCreate = FormCreate
- OnDestroy = FormDestroy
- PixelsPerInch = 96
- TextHeight = 13
- object Splitter1: TSplitter
- Left = 261
- Top = 28
- Width = 4
- Height = 366
- end
- object tb: TToolBar
- Left = 0
- Top = 0
- Width = 773
- Height = 28
- AutoSize = True
- BorderWidth = 1
- Caption = 'tb'
- DragKind = dkDock
- EdgeBorders = [ebBottom]
- Flat = True
- Images = il
- TabOrder = 0
- object ToolButton7: TToolButton
- Left = 0
- Top = 0
- Action = aViewGoToUpOneLevel
- end
- object ToolButton12: TToolButton
- Left = 23
- Top = 0
- Action = aTreeGoToRoot
- end
- object ToolButton8: TToolButton
- Left = 46
- Top = 0
- Width = 8
- Caption = 'ToolButton8'
- ImageIndex = 4
- Style = tbsSeparator
- end
- object ToolButton10: TToolButton
- Left = 54
- Top = 0
- Action = aProfilerFind
- end
- object ToolButton9: TToolButton
- Left = 77
- Top = 0
- Width = 8
- Caption = 'ToolButton9'
- ImageIndex = 3
- Style = tbsSeparator
- end
- object ToolButton4: TToolButton
- Left = 85
- Top = 0
- Action = aViewMs
- end
- object ToolButton5: TToolButton
- Left = 108
- Top = 0
- Action = aViewPercent
- end
- object ToolButton1: TToolButton
- Left = 131
- Top = 0
- Width = 8
- Caption = 'ToolButton1'
- ImageIndex = 3
- Style = tbsSeparator
- end
- object ToolButton2: TToolButton
- Left = 139
- Top = 0
- Action = aViewFullPath
- end
- object ToolButton6: TToolButton
- Left = 162
- Top = 0
- Width = 8
- Caption = 'ToolButton6'
- ImageIndex = 3
- Style = tbsSeparator
- end
- object ToolButton11: TToolButton
- Left = 170
- Top = 0
- Action = aViewHideFastFuncs
- end
- object ToolButton3: TToolButton
- Left = 193
- Top = 0
- Action = aViewHideLibFuncs
- end
- end
- object tv: TTreeView
- Left = 0
- Top = 28
- Width = 261
- Height = 366
- Align = alLeft
- ChangeDelay = 50
- HideSelection = False
- Images = ilCacheGrind
- Indent = 19
- PopupMenu = pmTree
- ReadOnly = True
- RowSelect = True
- ShowRoot = False
- TabOrder = 1
- OnChange = tvChange
- OnCollapsing = tvCollapsing
- OnExpanding = tvExpanding
- OnKeyDown = tvKeyDown
- end
- object Panel1: TPanel
- Left = 265
- Top = 28
- Width = 508
- Height = 366
- Align = alClient
- BevelOuter = bvNone
- Caption = ' '
- TabOrder = 2
- object pcProfiler: TPageControl
- Left = 0
- Top = 53
- Width = 508
- Height = 313
- ActivePage = tsMerged
- Align = alClient
- Images = il
- TabOrder = 0
- object tsLBL: TTabSheet
- Caption = 'Line by Line'
- object lvLBL: TListView
- Left = 0
- Top = 0
- Width = 500
- Height = 284
- Align = alClient
- Columns = <
- item
- Caption = 'Function'
- Width = 180
- end
- item
- Alignment = taRightJustify
- Caption = 'Self'
- Width = 60
- end
- item
- Alignment = taRightJustify
- Caption = 'Cum.'
- Width = 60
- end
- item
- Caption = 'File'
- Width = 120
- end
- item
- Caption = 'Called from'
- Width = 200
- end>
- HideSelection = False
- OwnerData = True
- ReadOnly = True
- RowSelect = True
- PopupMenu = pmLBL
- SmallImages = ilCacheGrind
- TabOrder = 0
- ViewStyle = vsReport
- OnColumnClick = lvLBLColumnClick
- OnData = lvLBLData
- OnDblClick = lvLBLDblClick
- OnKeyDown = lvLBLKeyDown
- end
- end
- object tsMerged: TTabSheet
- Caption = 'Overall'
- ImageIndex = 1
- object Splitter2: TSplitter
- Left = 0
- Top = 156
- Width = 500
- Height = 4
- Cursor = crVSplit
- Align = alBottom
- end
- object lvMerged: TListView
- Left = 0
- Top = 33
- Width = 500
- Height = 107
- Align = alClient
- Columns = <
- item
- Caption = 'Function'
- Width = 220
- end
- item
- Alignment = taRightJustify
- Caption = 'Avg. Self'
- Width = 60
- end
- item
- Alignment = taRightJustify
- Caption = 'Avg. Cum.'
- Width = 65
- end
- item
- Alignment = taRightJustify
- Caption = 'Total Self'
- Width = 60
- end
- item
- Alignment = taRightJustify
- Caption = 'Total Cum.'
- Width = 70
- end
- item
- Alignment = taRightJustify
- Caption = 'Calls'
- end>
- HideSelection = False
- OwnerData = True
- ReadOnly = True
- RowSelect = True
- PopupMenu = pmMerged
- SmallImages = ilCacheGrind
- TabOrder = 1
- ViewStyle = vsReport
- OnColumnClick = lvMergedColumnClick
- OnData = lvMergedData
- OnSelectItem = lvMergedSelectItem
- end
- object lvMergedInstances: TListView
- Left = 0
- Top = 160
- Width = 500
- Height = 124
- Align = alBottom
- Columns = <
- item
- Caption = 'Num.'
- end
- item
- Alignment = taRightJustify
- Caption = 'Self'
- Width = 60
- end
- item
- Alignment = taRightJustify
- Caption = 'Cum.'
- Width = 60
- end
- item
- Caption = 'Called by'
- Width = 180
- end
- item
- Caption = 'Called from'
- Width = 200
- end
- item
- Caption = 'Stack trace'
- Width = 2000
- end>
- HideSelection = False
- OwnerData = True
- ReadOnly = True
- RowSelect = True
- PopupMenu = pmMergedInstances
- TabOrder = 2
- ViewStyle = vsReport
- OnColumnClick = lvMergedInstancesColumnClick
- OnData = lvMergedInstancesData
- OnDblClick = lvMergedInstancesDblClick
- OnKeyDown = lvMergedInstancesKeyDown
- end
- object Panel2: TPanel
- Left = 0
- Top = 0
- Width = 500
- Height = 33
- Align = alTop
- BevelOuter = bvNone
- Caption = ' '
- TabOrder = 0
- object Label1: TLabel
- Left = 32
- Top = 8
- Width = 23
- Height = 13
- Caption = 'Fi&nd:'
- FocusControl = cbFind
- end
- object Image1: TImage
- Left = 8
- Top = 8
- Width = 16
- Height = 16
- AutoSize = True
- Picture.Data = {
- 07544269746D6170F6000000424DF60000000000000076000000280000001000
- 0000100000000100040000000000800000000000000000000000100000000000
- 0000000000000000800000800000008080008000000080008000808000008080
- 8000C0C0C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFF
- FF008888888888888888888888888888888800000888880000080F000888880F
- 00080F000888880F0008000000080000000800F000000F00000800F000800F00
- 000800F000800F0000088000000000000088880F00080F000888880000080000
- 088888800088800088888880F08880F088888880008880008888888888888888
- 8888}
- Transparent = True
- end
- object lFind: TLabel
- Left = 396
- Top = 8
- Width = 28
- Height = 13
- Caption = 'lFind'
- Font.Charset = DEFAULT_CHARSET
- Font.Color = clRed
- Font.Height = -11
- Font.Name = 'MS Sans Serif'
- Font.Style = [fsBold]
- ParentFont = False
- ShowAccelChar = False
- Visible = False
- end
- object cbRE: TCheckBox
- Left = 280
- Top = 8
- Width = 113
- Height = 17
- Caption = '&Regular expression'
- TabOrder = 1
- OnClick = cbREClick
- end
- object cbFind: TJvComboBox
- Left = 64
- Top = 4
- Width = 209
- Height = 21
- ItemHeight = 13
- TabOrder = 0
- OnChange = cbFindChange
- OnSelect = cbFindSelect
- Items.Strings = (
- '^(include|require|include_once|require_once)::'
- '^php::'
- '^pear::')
- end
- end
- object Panel3: TPanel
- Left = 0
- Top = 140
- Width = 500
- Height = 16
- Align = alBottom
- BevelOuter = bvNone
- Caption = ' '
- TabOrder = 3
- object lMerged: TLabel
- Left = 4
- Top = 2
- Width = 38
- Height = 13
- Caption = 'lMerged'
- ShowAccelChar = False
- end
- end
- end
- end
- object pInfo: TPanel
- Left = 0
- Top = 0
- Width = 508
- Height = 53
- Align = alTop
- BevelOuter = bvNone
- Caption = ' '
- TabOrder = 1
- object lInfoName: TLabel
- Left = 24
- Top = 4
- Width = 58
- Height = 13
- Caption = 'lInfoName'
- Font.Charset = DEFAULT_CHARSET
- Font.Color = clWindowText
- Font.Height = -11
- Font.Name = 'MS Sans Serif'
- Font.Style = [fsBold]
- ParentFont = False
- ShowAccelChar = False
- end
- object lInfo: TLabel
- Left = 4
- Top = 36
- Width = 20
- Height = 13
- Caption = 'lInfo'
- ShowAccelChar = False
- end
- object lInfoFileName: TLabel
- Left = 4
- Top = 20
- Width = 64
- Height = 13
- Caption = 'lInfoFileName'
- ShowAccelChar = False
- end
- object iInfo: TImage
- Left = 4
- Top = 4
- Width = 16
- Height = 16
- AutoSize = True
- Transparent = True
- end
- end
- end
- object ilCacheGrind: TImageList
- Left = 256
- Top = 172
- Bitmap = {
- 494C01010B000E00040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
- 0000000000003600000028000000400000004000000001002000000000000040
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000F7FFF700EFF7EF00FFFF
- FF00F7FFF700F7FFFF00F7F7EF00FFFFEF00EFF7EF00FFFFF700F7F7FF00FFF7
- FF00FFFFEF00FFF7E700FFFFEF00EFF7E70000000000C0C0C000F0FBFF00F0FB
- FF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00F0FB
- FF00F0FBFF0004000000000000000000000000000000FFF7F700FFFFEF00FFFF
- EF00FFF7FF00FFF7FF0000000000F7FFFF00F7F7F700F7FFFF00F7FFFF00FFF7
- FF00F7F7FF00FFF7FF00FFF7FF00FFF7FF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000F7FFFF00F7FFF700FFFFF700EFEF
- E700F7FFFF00F7FFF700FFFFF700FFFFF700FFFFF700EFF7F700000000007384
- 8C007B847300949C8C00EFEFE700F7FFF70078544C0078544C00F0FBFF00F0FB
- FF0030002E0030002E001A000100F0FBFF00F0FBFF0004000000240004000800
- 0000F0FBFF000400000000000000000000000000000000000000000000000000
- 0000080810000000000000000000000808000008000000000000000008000000
- 0800000008000000080000000800000008000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000EFF7F700FFFFF700EFEFE700FFFF
- EF00EFF7EF00F7FFF700EFEFE700F7FFF700F7F7F70000000000000008000008
- 0800000808006B8C8C0084949400FFF7FF00A4A0A00078544C00F0FBFF00F0FB
- FF00A8744100A87441001A000100F0FBFF00F0FBFF0078544C008C7441007854
- 4C00F0FBFF00040000000000000000000000000000008C848C00737B84007B94
- 9C006B847B006B947B006B9C73006B947300738C7B007384840073848400848C
- 94007B848400848C8C007B848400000008000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000F7F7FF00F7FFFF00FFFFFF00E7EF
- EF00848C8400E7EFEF00FFFFFF00F7F7EF00000000006384840042848C002173
- 730029737B0000080800738C94007B7B8C00A4A0A00078544C00F0FBFF00F0FB
- FF00A8744100A4A0A0003C1000003C1000003C10000078544C008C7441007854
- 4C00F0FBFF00040000000000000000000000F7F7EF008C8C9400DEF7FF00BDEF
- EF007BC69C000031000052AD5200002100005AA56B00B5EFC6006B9C73005A94
- 630073A57300638C6B0073847B00000810000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000EFF7FF00DEE7FF00EFEFFF008484
- 9C008C8C9C008C949C00E7EFEF0000000000D6FFFF0031847B00006B6300007B
- 7B001884840021737B000000100073849400A4A0A00030002E0078544C00A874
- 4100A8744100A8744100A8744100A8744100A8744100A87441008C7441003100
- 2E00F0FBFF00040000000000000000000000000000007B8C8400CEFFEF008CE7
- B5000031000042D6420029BD29004ADE52000042000042C64A0052DE4A0052C6
- 420052C642005AA55200738C7B00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000E7EFFF0031427B00000039000000
- 3100636394008484A5007B7B8400638484003173730010848400007B73000084
- 7B0000848400188484000008080073848C00A4A0A00078544C0078544C008C74
- 4100A8744100A8744100A8744100A8744100A8744100A8744100A87441007854
- 4C00F0FBFF000400000000000000000000000000000073847B00CEFFEF000063
- 210042D6520029CE31004ADE5200008400000084000000420000008C000039EF
- 290042D6290052B5420073947300000808000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000DEE7FF0021299C001818A5002921
- AD0000004A006B639C008C8CA5006B8C8C00187B840063F7F700008C8C00007B
- 7B00007B7B0008847B0031737300DEFFFF00F0CAA600F0CAA600F0CAA600A4A0
- A000A87441002A0700002A070000A8744100A8744100A8744100A87441007854
- 4C00F0FBFF00040000000000000000000000FFF7FF00848C8C00D6FFF7007BCE
- 9400087B210039BD5A0094FFAD006BE78C00003100000084000029E7290031EF
- 290029CE290042AD4200638C6B00000008000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000CED6FF001818AD001818D6002118
- D6003118A5000000390000001800738C9400187B84006BFFFF0039DEDE000084
- 840000847B00107B7B00397B7B00DEFFFF00F0CAA600A874410078544C00A4A0
- A000A4A0A000A4A0A0002A070000A8744100A8744100A8744100A87441007854
- 4C0004000000040000001A0001001A000100FFF7FF007B848C00D6FFF700B5FF
- DE0073D6A500087339006BD6A500006B21000084100031CE420021E7310029E7
- 290031CE420042AD5200738C8400000008000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000D6D6FF001008B5001818D6000810
- D60000007B0018086B002110420000001000BDFFFF0031949C0073E7EF007BF7
- FF00007B7B00107B7300D6FFFF0000000000F0CAA600F0CAA600F0CAA600A4A0
- A000A4A0A000A4A0A0002A070000A8744100A8744100A8744100A87441007854
- 4C00F0FBFF000400000078544C0078544C00F7EFFF008C949C00C6F7EF008CCE
- C6008CF7E70073DEC60094FFD600006B100039D6520018CE290029D6420052FF
- 7B0039C66B0084DEAD00738C7B00000008000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000D6D6FF002121BD000008C6000000
- AD00000084000000520031214A00FFFFFF00E7FFFF00D6FFFF0042737B00296B
- 6B0031848C00BDFFFF00E7FFFF00F7F7F70000000000F0CAA600F0CAA600F0CA
- A600F0CAA600A4A0A0002A070000F0CAA600F0CAA600F0CAA600F0CAA600F0FB
- FF00F0FBFF00040000000000000000000000FFF7FF006B737B00D6FFFF0094E7
- DE007BD6DE007BE7DE006BD6AD0039AD6B0039BD4A0052DE5A005AEF7B007BFF
- AD007BDEAD00B5F7D6006B847B00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000E7DEFF0021219C002121A5000000
- 730000086300EFEFFF00FFF7FF009C8484009C847B00846B6300C6949C009C84
- 84006B84840073949400E7EFEF00FFF7FF000000000080808000F0FBFF00F0FB
- FF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00F0FB
- FF00F0FBFF0004000000000000000000000000000000848C8C00CEFFF700C6FF
- FF00B5FFFF00B5FFFF00C6FFFF00CEFFF70063A56B00CEFFCE00DEFFEF00D6FF
- F700DEFFF700E7FFF70073847300000800000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000E7E7FF0029297B0029297B00CED6
- FF00E7EFFF00E7E7FF00948C8C00FFF7E70052210800AD5A42007B0000006310
- 080018000000848C8400FFF7FF00FFF7FF000000000080808000F0FBFF00F0FB
- FF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00040000000400
- 000004000000040000000000000000000000FFF7FF00848C8C009CC6BD009CDE
- CE008CD6CE00ADEFF70094C6CE00BDDEDE00A5BDAD009CA59C006B737300848C
- 9400848C94007B847B008C948C00FFFFEF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000EFF7FF00E7E7FF00EFEFFF00F7F7
- FF00E7E7EF00F7FFF700F7FFDE00D6C69400FFFFCE009C290000B5000000BD18
- 18003900000084737300FFFFF700FFFFF7000000000080808000F0FBFF00F0FB
- FF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00C0C0C000F0FB
- FF0080808000000000000000000000000000FFEFFF00F7EFFF0084A59C0094CE
- BD008CCEC6008CCEC600BDEFEF00A5CECE00848C9400EFF7F70000000000F7F7
- F700F7F7F700FFF7FF00F7F7FF00F7F7F7000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000E7EFFF00F7FFFF00F7EFEF00FFFF
- FF00FFFFF700FFFFEF00FFFFDE00FFFFCE00A56B2900CE522900BD000000D610
- 10004A000000AD948C00F7F7EF00FFFFFF000000000080808000F0FBFF00F0FB
- FF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00F0FBFF00C0C0C0008080
- 800000000000000000000000000000000000FFF7FF00FFF7FF00D6EFE70084A5
- 9C00639C84006BA59400527B7B006B848C00F7FFFF00F7F7FF00FFF7F7000000
- 0000FFF7FF00F7F7FF00F7EFFF00F7F7F7000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF00FFF7FF00FFFFFF00FFF7
- F700F7EFEF00FFFFEF00FFFFD600D6CE8400FFFFBD009C210000DE100800C600
- 0800520000009C8C7B00FFFFFF00F7FFF7000000000080808000808080008080
- 8000808080008080800080808000808080008080800080808000808080000000
- 000000000000000000000000000000000000F7F7F70000000000FFF7FF00EFF7
- F700F7FFFF00EFF7F700F7FFFF00F7F7FF00F7FFF70000000000FFFFF700FFF7
- F700FFF7FF000000000000000000EFF7F7000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF00FFF7F700FFF7FF00FFF7
- FF00FFFFFF00FFFFEF00FFFFCE00FFFFCE00A5732900CE522900D6080000B500
- 000063100800FFFFEF00FFFFF700EFF7FF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFF700F7F7EF00FFF7FF00FFF7
- FF00FFF7FF00F7F7F700FFF7FF00F7F7FF00FFFFF700FFF7F700FFFFEF000000
- 0000FFF7FF00F7F7FF00F7F7EF00F7FFF7000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000FFEFFF00FFF7
- FF0000000000F7F7F700EFFFF70073847B0073847B007B847B00F7FFF7000000
- 0000FFFFEF00F7FFF700EFFFF700F7FFFF000000000000000000FFEFFF00FFF7
- FF0000000000F7F7F700EFFFF70073847B0073847B007B847B00F7FFF7000000
- 0000FFFFEF00F7FFF700EFFFF700F7FFFF000000000000000000FFEFFF00FFF7
- FF0000000000F7F7F700EFFFF70073847B0073847B007B847B00F7FFF7000000
- 0000FFFFEF00F7FFF700EFFFF700F7FFFF000000000000000000FFF7FF00FFF7
- FF00FFF7FF00F7FFFF00EFFFEF007B8C840073847B007B8C7B00F7F7FF00FFFF
- F700FFFFF700F7FFF700EFFFF700F7FFFF00F7FFFF00F7FFF700FFF7FF00F7F7
- FF00EFFFEF00E7FFE7000018000000180000001800006B846B00849C7B00EFFF
- E70063945A004A844A0073AD8400638C6B00F7FFFF00F7FFF700FFF7FF00F7F7
- FF00EFFFEF00E7FFE7000018000000180000001800006B846B00849C7B00EFFF
- E70063945A004A844A0073AD8400638C6B00F7FFFF00F7FFF700FFF7FF00F7F7
- FF00EFFFEF00E7FFE7000018000000180000001800006B846B00849C7B00EFFF
- E70063945A004A844A0073AD8400638C6B00F7FFF700F7F7F700F7F7FF00F7F7
- FF00EFFFEF00D6FFD6000021000000100000001800006B846B00849C7B00EFFF
- E70063945A004A844A0073AD8400638C6B00EFFFF700EFFFF700F7F7F700EFFF
- EF00BDFFBD000042000039BD310052CE5200105A1800002100005AA55A005ABD
- 5A0039BD39004ADE5A0042B5520042B55200EFFFF700EFFFF700F7F7F700EFFF
- EF00BDFFBD000042000039BD310052CE5200105A1800002100005AA55A005ABD
- 5A0039BD39004ADE5A0042B5520042B55200EFFFF700EFFFF700F7F7F700EFFF
- EF00BDFFBD000042000039BD310052CE5200105A1800002100005AA55A005ABD
- 5A0039BD39004ADE5A0042B5520042B55200E7FFEF00F7FFFF00F7FFF700EFFF
- EF00CEFFCE00003100004AC642004AC64200105A1800002100005AA55A005ABD
- 5A0039BD39004ADE520042B5520042B55200E7FFE700F7FFF700F7FFF700DEFF
- DE000021000039C6390039DE310042DE4200107318000018000031943100008C
- 000031EF310021D6210029CE390039BD3900E7FFE700F7FFF700F7FFF700DEFF
- DE000021000039C6390039DE310042DE4200107318000018000031943100008C
- 000031EF310018DE210031C6390031C63900E7FFE700F7FFF700F7FFF700DEF7
- D6000029000039C6390039DE310042DE4200107318000018000031943100008C
- 000031EF310018DE210031C6390039BD3900EFFFF700F7FFF700EFEFE700E7FF
- E700002900004AD64A0029CE21004ADE4A00107318000018000031943100008C
- 000031EF310018DE210031C6390039BD3900F7FFEF00F7F7E700000000007B94
- 7B0073C6730042BD4A005AD65A0021AD3100187B21000029000000310000004A
- 000018DE210010E7100042E74A0029BD3100F7FFEF00F7F7E700000000007B94
- 7B0073C6730042BD4A005AD65A0021AD3100187B21000021000000310000004A
- 000018EF180018DE210042E74A0029BD3100F7FFEF00F7F7E700000000007B94
- 7B0073C6730042BD4A005AD65A0021AD3100187B21000021000000310000004A
- 000018EF180018DE210042E74A0029BD3100E7FFE700FFFFF700000000007B8C
- 7B0052A54A004AC64A004AC64A0029B53900187B21000029000000310000004A
- 000018EF180018DE210042E74A0029BD3100FFFFEF00FFFFF700FFFFF700EFFF
- EF0063945A007BCE7B002994390052BD5A0008731000007308000094080008BD
- 180029EF290021D6210042BD4A0042BD4A00FFFFEF00FFFFF700FFFFF700EFFF
- EF0063945A007BCE7B002994390052BD5A0008731000007308000094080008BD
- 180031DE310021D6210039CE420042B55200FFFFEF00FFFFF700FFFFF700EFFF
- EF0063945A007BCE7B002994390052BD5A0008731000007308000094080008BD
- 180031DE310021D6210039CE420042B55200FFFFF700EFEFE700FFFFF700F7FF
- F7007BAD730063BD6B0039A54A004AB5520008731000007308000094080008BD
- 180031DE310021D6210039CE420042B5520000000000F7F7E700F7FFF700F7FF
- F700EFF7EF007B948400E7FFE700529C4A0000730800008C000029C6290039DE
- 420039CE4200BDFFC60063BD6B00CEFFCE0000000000F7F7E700F7FFF700F7FF
- F700EFF7EF007B948400E7FFDE00529C4A0000730800008C000029D6290042DE
- 420039CE4200BDFFBD0063BD6B00CEFFCE0000000000F7F7E700F7FFF700F7FF
- EF00EFF7EF007B948400E7FFE700529C4A0000730800008C000029D6290039DE
- 420039CE4200BDFFBD0063BD6B00CEFFCE00FFF7F700FFFFF700000800000008
- 00000008000000080000001800000021000000730800008C000029D6290039DE
- 420039CE4200BDFFC60063BD6B00CEFFCE00F7F7F700F7FFFF00EFFFE700F7FF
- F700FFF7FF00FFEFF700F7FFEF0073A56300007B000039DE420031DE31004ADE
- 4A00CEFFCE00D6FFDE00DEFFE700E7FFE700F7F7F700F7FFFF00EFFFE700F7FF
- F70000000000FFEFF700F7FFEF0073A563000073080039DE420031DE31004ADE
- 4A00CEFFCE00D6FFDE00DEFFE700E7FFE700F7F7F700F7FFFF00EFFFE700F7FF
- F700FFF7FF00FFEFF700F7FFEF0073A563000073080039DE420031DE31004ADE
- 4A00CEFFCE00D6FFDE00DEFFE700E7FFE7000000000000000000E7FFE7008C94
- 840073738400948C94007B846B0000180000007B000039CE420031DE31004AD6
- 4A00CEFFCE00D6FFDE00DEFFE700E7FFE700F7F7FF00EFFFF700EFFFF700F7FF
- EF00FFF7F70000000000FFEFEF00849C7B0052C64A0029C629005AE76300ADFF
- B500E7FFE700F7FFEF00F7FFF700F7FFEF00F7FFFF00EFFFF700EFFFF700F7FF
- EF00FFEFF70000000000FFEFEF008CAD7B0052C64A0029C629005AE76300ADFF
- B500E7FFE700F7FFEF00F7FFF700F7FFF700F7FFFF00EFFFF700EFFFF700F7FF
- EF00FFF7F70000000000F7EFE7008CAD840052C64A0029C629005AE76300ADFF
- B500E7FFE700F7FFEF00F7FFF700F7FFF700F7FFFF0000000000EFFFF700B5C6
- AD00CEB5B500DEC6C600948484000018000052C64A0029C629005AE76300ADFF
- B500E7FFE700F7F7EF00F7FFF700F7FFF700F7FFFF00F7FFFF00EFFFF7000008
- 00000800000000000000FFFFF700E7FFD60052B552005AD65A00ADFFB500DEFF
- DE00F7FFF700FFF7F70000000000FFFFF700F7FFFF00F7F7F700EFFFF700F7FF
- F700FFFFF7000000000000000000DEFFDE0052B552005AD65A00ADFFB500DEFF
- DE00F7FFF700FFF7FF00FFFFF700FFFFF700F7FFFF00F7FFF700EFFFF700F7FF
- F700FFF7F700FFF7F70000000000DEF7D60052B552005AD65A00ADFFB500DEFF
- DE00F7FFF700FFF7F700FFFFF700FFFFF700F7FFFF0000000000E7FFE700C6CE
- C600CEBDBD00CEB5B500A59494000010000052B552005AD65A00ADFFB500D6FF
- DE00FFFFF700FFF7F70000000000F7FFF70000000000F7F7F700F7FFF7000800
- 000000000800FFEFF700FFFFF700EFFFEF00D6FFDE00D6FFDE00E7FFEF00F7FF
- F700FFF7F700FFEFF700FFFFF700FFFFF70000000000EFF7EF00000000000000
- 0000FFEFFF00FFEFF700FFFFEF00EFFFEF00D6FFDE00D6FFE700E7FFE700F7FF
- F700FFF7FF00FFEFF700FFFFF700FFFFEF0000000000F7FFF700000000000000
- 0000FFEFF700FFEFFF00FFFFEF00EFFFEF00D6FFDE00D6FFE700E7FFE700F7FF
- F700FFF7FF00FFEFF700FFFFF700FFFFF700F7F7EF0008081000F7F7EF000000
- 0000FFF7FF00FFF7F700FFFFF70000100000D6FFDE00D6FFE700E7FFEF00F7FF
- F700FFF7F700FFEFF700FFFFF700FFFFF7000000000000000000000000000000
- 1000000008000000080000080000EFFFEF00EFFFF700F7FFFF00F7F7FF00FFF7
- F700FFEFFF00FFF7FF00FFFFF700F7FFF7000000000000000000000008000000
- 1000000008000000080000080000EFFFEF00EFFFF700F7FFFF00F7F7FF00FFF7
- FF00FFEFF700FFF7FF0000000000F7FFEF00FFFFF700FFF7F70000000000FFF7
- FF00F7F7FF00F7F7F700EFF7EF00EFFFEF00EFFFF700F7FFFF00F7F7FF00FFF7
- F700FFEFFF00FFF7FF00FFFFF700F7FFF70000000000F7F7EF00080810000000
- 0800080008000808100000080000EFFFEF00F7FFFF00EFFFF700FFF7FF00FFF7
- F700FFEFFF00FFF7FF0000000000EFFFEF00FFFFF70000000000000010000000
- 1000000010000008000000080000F7FFF700F7FFF700FFEFF700FFF7FF00FFF7
- FF0000000000FFFFF700F7FFFF00F7F7FF000000000000000000000010000000
- 1000000008000008000000080000F7FFF700F7FFF700F7F7F700FFF7FF00FFF7
- FF0000000000FFFFF700F7FFFF00F7F7FF00FFFFF70000000000FFF7FF00F7F7
- FF00F7FFFF00F7FFFF00EFFFF700F7FFF700F7F7F700F7F7F700FFF7FF00FFF7
- FF0000000000FFFFF700F7FFFF00F7F7FF00F7F7F7000000000000000800F7F7
- FF00E7EFF700E7EFF70000100000F7FFF700F7FFF700FFEFF700FFF7FF00FFF7
- FF0000000000FFFFF700F7FFFF00F7F7FF00FFFFF700F7FFFF00F7F7FF000000
- 100000000000F7FFF700F7FFF700000000000000000000000000FFF7FF00FFF7
- FF0000000000FFFFF700F7FFFF00F7FFFF00FFFFF700F7F7F700F7F7FF00F7F7
- FF00F7FFFF00F7FFFF00F7FFEF000000000000000000FFF7FF00FFF7FF000000
- 000000000000FFFFF700F7FFFF00F7F7FF00FFFFF70000000000F7F7FF00F7F7
- FF00F7FFFF00F7FFFF00F7FFF70000000000FFFFF70000000000FFF7FF00FFF7
- FF0000000000FFFFF700F7FFFF00F7FFFF00FFFFF700F7F7F700000010007373
- 8400F7FFFF00848C840000080000F7F7F7000000000000000000FFF7FF00FFF7
- FF0000000000FFFFF700F7FFFF00F7FFFF0000000000F7FFF700F7FFFF000000
- 000000000000FFF7F700FFF7FF00FFF7FF00FFFFF700FFF7F700F7FFF700F7FF
- FF00FFFFF70000000000F7F7F700EFF7EF0000000000F7FFFF00F7FFFF00F7FF
- FF0000000000F7F7F700FFF7FF00FFF7FF00FFFFF700F7F7F700F7FFF700F7FF
- FF00FFFFF70000000000F7F7F700EFF7EF00FFFFF700F7FFFF00F7FFFF00F7FF
- FF00F7F7F700FFF7FF00FFF7F700FFF7F700FFF7FF00FFF7F700F7FFF700F7FF
- F70000000000FFFFF700F7F7F700EFF7EF00F7F7EF00F7FFFF00F7FFFF000008
- 00000000000010000800FFF7FF0000000000FFF7F700FFF7F700F7FFF700F7FF
- FF00FFFFF70000000000F7F7F700F7F7EF00F7FFF700F7FFFF00EFFFF700F7FF
- F700FFF7FF00FFF7FF00FFF7FF00FFF7F700FFF7FF00FFFFF700F7FFF700F7FF
- F70000000000FFFFF700FFFFF700FFFFF70000000000F7FFF700EFFFF700F7FF
- F700FFF7FF00FFF7FF00FFF7FF00FFF7FF00FFFFF70000000000F7FFF700F7FF
- F700FFFFF700FFFFF700FFFFF700FFFFF70000000000F7FFF700EFFFF700F7FF
- F70000000000FFF7FF00FFF7FF00FFF7FF0000000000FFFFF700F7FFF700F7FF
- F70000000000FFF7F700FFFFF700FFFFF70000000000F7FFF700E7FFEF00EFFF
- F70000000000FFF7FF00FFF7FF00FFEFF700FFF7F70000000000F7FFF700F7FF
- F700FFFFF700FFFFF700FFFFF700FFFFF7000000000000000000FFF7F700FFFF
- FF00FFF7F700FFFFFF00F7F7F700F7FFFF00F7FFFF00F7F7F700FFFFFF00FFF7
- F700FFFFFF00FFF7F700000000000000000000000000EEEEEE00DDDDDD00DDDD
- DD00DDDDDD00DDDDDD00DDDDDD00DDDDDD00DDDDDD00DDDDDD00DDDDDD00DDDD
- DD00EEEEEE000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000EEEEEE00CCCCCC00DDDD
- DD00EEEEEE000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFF700F7FFFF00F7F7F700E7FF
- FF00E7FFFF00DEF7FF00DEFFFF00DEF7FF00D6F7FF00E7FFFF00DEFFFF00E7FF
- FF00EFFFFF00F7F7F700F7FFFF0000000000EEEEEE00BBBBBB00888888008888
- 880088888800888888008888880088888800888888008888880088888800AAAA
- AA00DDDDDD000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000009EBDA300898F89009999
- 9900CCCCCC00EEEEEE0000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFF7F700EFF7EF00D6FFFF000010
- 1000001010000008080000101000000808000008080000080800000808000008
- 080000101000D6FFFF00EFF7EF00FFF7F700BC927A00843C15007A3A19007239
- 1900723919007239190072391900723919006E3616005F2E1200491E07008888
- 8800DDDDDD000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000050BB6C00285A32006666
- 6600898F8900AAAAAA00CCCCCC00EEEEEE000000000000000000000000000000
- 000000000000000000000000000000000000F7F7EF00EFFFFF00000808007BEF
- EF0063EFEF0063FFF7006BEFEF007BEFEF007BEFEF006BEFEF005AF7EF0063FF
- F7007BEFEF0000080000EFFFFF00F7F7EF00D1AB9400B9775000C7A78E00BD9B
- 7D00B8967800B8967800B3947500B58F6E00AA856400977557005B2A0F008888
- 8800DDDDDD000000000000000000000000000000000000669900006699000066
- 9900015E8B000066990000669900006699000066990000669900006699000066
- 99000066990000669900006699001880B000000000005BC0760032AF57000359
- 1C0027482C0066666600898F8900BBBBBB00DDDDDD00EEEEEE00000000000000
- 000000000000000000000000000000000000F7FFFF00E7FFFF00000808006BEF
- EF0042FFF70029F7F7005AF7FF0000101000001018005AF7FF0029F7F70042FF
- F7006BEFEF0000080000E7FFFF00F7FFFF00DEB5A500D0967200F5DABE00EBCE
- B200E4C6A800E0C0A100E0C0A100DAB89600C8A78600B39475006E3515008888
- 8800DDDDDD000000000000000000000000000066990043D5F00043D5F0003DC4
- DF001E996300288C95003AC0DE0039CBEF0039CBEF0039CBEF0032C5F30032C5
- F30032C5F30032C5F30026B1E40000669900000000005BC0760043C05700157B
- 200002521A00054D1600454F46007777770099999900BBBBBB00DDDDDD000000
- 000000000000000000000000000000000000EFFFFF00DEFFFF00000810006BEF
- EF0029F7F70021FFFF0042EFF700001021000010210042EFF70021FFFF0029FF
- F7006BEFEF0000080800DEFFFF00EFFFFF00DBBDAC00D29C7D00FFE7CE006666
- 66006666660066666600666666006666660066666600BDA08500723919008888
- 8800DDDDDD00000000000000000000000000006699004FE8FF004FE8FF0042C6
- DC0030AF5800077D2A0020796D003ABBD7003DD0F5003FD8FF003FD8FF003CD5
- FF003CD5FF003CD5FF0032C5F30000669900000000005BC0760043C0570028A1
- 2800218920000E721F00015C1E00184E22005555550077777700AAAAAA00CCCC
- CC00EEEEEE00000000000000000000000000F7F7F700EFFFFF00DEF7FF000010
- 180021EFE70018FFF70042FFFF0042EFF70042EFF70042F7FF0018FFF70021EF
- E70000101800DEF7FF00EFFFFF00F7F7F700DBBDAC00D3A08400FFE9D400FFE7
- CE00FFE3C700FFE3C700FFE3C700FFDDBB00E0C0A100BFA287006E3616008888
- 8800DDDDDD000000000000000000000000000066990054EDFF0054EDFF0043C5
- D90038B35E000CA63400017C29000C6C2A00288C95003AC0DE003DD0F5003FD8
- FF003FD8FF003FD8FF0032C5F30000669900000000005BC0760043C65C0045D4
- 49002CAF2A00299F23001D831D00096B1F0002521A0027482C0066666600898F
- 8900BBBBBB00DDDDDD000000000000000000FFFFFF00FFFFFF00FFF7F7000008
- 100042FFF70018FFF70042EFF700001021000010210039F7F70018FFF70052F7
- EF0000081000F7FFFF00FFFFFF00FFF7F700DBC1B200D3A08400FFEEDD006666
- 66006666660066666600666666006666660066666600BFA287006E3616008888
- 8800DDDDDD000000000000000000000000000066990058F1FF0054EDFF0043C5
- D90038B35E001AB839003DD03E0011A83000017C2900106B34002F9AB0003BC6
- E8003DD3FA003CD5FF0032C5F30000669900000000005BC0760043C65C0045DE
- 530033CC330030BD2E002CAA250028961D001A881E00025F1E0007411200364A
- 3800898F8900CCCCCC00EEEEEE0000000000FFFFFF00FFF7F700FFFFFF000000
- 080052EFE70039FFF70042EFF700000818000010180042EFF70042FFF7004AEF
- E70000000800FFFFFF00FFF7F700FFFFFF00DBC1B200D3A28600FFEEDD00FFEE
- DD00FFE9D400FFE7CE00FFE7CE00FFE3C700E1C7AC00BDA085006E3616008888
- 8800DDDDDD000000000000000000000000000066990058F1FF0058F1FF0043C5
- D90038B663001ABC3D0033D63D003DD03E0032BD3700099F3000017C29001F82
- 6B003DD0F5003FD8FF0032C5F30000669900000000005BC37A0043C9610045DE
- 530033D53C0033CC330033CC330034C12B002FB1220033AD200026A74100169A
- 420054A15E00DDDDDD000000000000000000FFFFF700FFFFFF00F7F7F700D6F7
- FF000021180052F7EF005AF7FF0000101800002118005AF7FF0052F7EF000021
- 1800D6F7FF00F7F7EF00FFFFFF00FFF7F700DBC1B200D3A48B00FFF2E6006666
- 6600666666006666660066666600FFE7CE00E1C7AC00BDA28A006E3616008888
- 8800DDDDDD00000000000000000000000000006699005BF4FF005BF4FF004CCE
- D90038B6630017C0430032DB44002AC63A0010A933000E9C3900239B520034AB
- BD0041D6F80043DCFF0039CBEF0000669900000000005BC37A0043C9610045E4
- 590033DB420033D53C0039CE3C003BC7380029AF2E00159735001F9D41009CC5
- A100EEEEEE00000000000000000000000000EFF7EF00F7FFFF00FFFFFF00DEFF
- FF000008000084EFF7004AEFE70000101000001010004AEFE70084EFF7000008
- 0000DEFFFF00FFFFFF0000000000EFF7EF00DBC1B200D3A48B00FFF4E900FFF4
- E900FFEEDD00FFEEDD00FFEEDD00FFE9D400E6D0BB00C1A791006E3616008888
- 8800DDDDDD00000000000000000000000000006699005FF8FF005BF4FF004CCE
- D90038B6630017C043001ABC3D0012A3410021A44E0042B0AB0042C6DC0041D6
- F80043DCFF0043DCFF0039CBEF0000669900000000005BC37A0043CE650045E4
- 590039DD4C003CD7490037C9440023AD42000F983A00429D5500DDDDDD000000
- 000000000000000000000000000000000000FFFFF700E7EFE700FFFFF700E7FF
- FF00CEFFFF00000800005AF7EF0039F7EF0039F7EF005AF7E70000080800CEFF
- FF00EFFFF700F7FFFF00E7EFE700FFFFF700DBC1B200D3A48B00FFF8F0006666
- 6600666666006666660066666600FAE7D500EDD9C600C7A78E007A3A19009999
- 9900DDDDDD00000000000000000000000000006699005FF8FF005FF8FF004CCE
- D9004ABF720012A3410029B0540041B29D0043C5D9004ADAF1004CE5FF004CE5
- FF0048E1FF0043DCFF003DD0F50000669900000000005BC37A0043CE650035E2
- 520038DA50002EBF4D0021A54A0035A55100BFD2C300EEEEEE00000000000000
- 000000000000000000000000000000000000FFF7F700FFFFFF00E7EFE700F7FF
- FF00EFFFF700000808005AEFE70039F7EF0042FFF7005AEFE70000080800E7FF
- FF0000000000E7EFE700FFFFFF00FFF7F700DBC2B500D5AA9500FFFCF800FFF8
- F000FFF8F000FFF4E900FFF4E9009F562F008D310200872F020080462300CCCC
- CC00EEEEEE00000000000000000000000000006699005FF8FF005FF8FF0052DA
- E2004ABF720040BC7F0047C4D00050DFEF004FE8FF004FE8FF004FE8FF004FE8
- FF004FE8FF0048E1FF003DD0F50000669900000000005BC37A0043D36A0026CB
- 4B000F983A0021A54A009CCBA700EEEEEE000000000000000000000000000000
- 000000000000000000000000000000000000FFF7F700FFF7F700FFFFFF00F7FF
- FF00F7FFFF00D6FFFF00001010005AEFE7005AEFE70000101000D6FFFF00F7FF
- FF00FFFFF700FFFFFF00FFF7F700F7F7EF00DFC7BB00D8B09B0000000000FFFC
- F800FFFCF800FFF8F000FFF4E900A6613E00872F020096694F00CCCCCC00EEEE
- EE0000000000000000000000000000000000006699001382AC0033B4CF0030AD
- C8002CA0BA002CA0BA0025A1C5001B92B9000E7DAB000E7DAB000E7DAB000E7D
- AB000E7DAB000E7DAB000B76A50000669900000000005BC37A0034B75E00048E
- 310054A76A00EEEEEE0000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF00EFF7EF00000000000000
- 0000EFF7EF00F7FFFF00D6F7FF000000080000000800D6FFFF00EFFFFF00EFF7
- EF00F7FFFF0000000000EFF7EF00FFFFFF00E6D2C700D3A48B00DBBDAC00DEB5
- A500D8B09B00D8B09B00D6A59400B06C4A0097755700BBBBBB00EEEEEE000000
- 0000000000000000000000000000000000009DD6E400015E8B0030ADC80033B4
- CF0033B4CF002FAECC000066990058AFCC0097D1E40097D1E40097D1E40097D1
- E40097D1E40097D1E40097D1E400B5DEEC000000000072CE8F003AB05E00BDC6
- BF00EEEEEE000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000F7FFFF0000000000F7FFFF00EFFF
- F700FFFFFF00F7F7F700EFFFFF00EFFFFF00EFFFFF00F7F7F700F7F7F700FFFF
- FF00EFFFF700F7FFFF0000000000F7FFFF00F8F3F000E6D2C700DFC7BB00DBC2
- B500DBC2B500DBC1B200DBC1B200BDA08500B8A49C00EEEEEE00000000000000
- 000000000000000000000000000000000000FFFFFF0039A1C200006699000066
- 990000669900006699000B76A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000E2F6E800DBF0E1000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000424D3E000000000000003E000000
- 2800000040000000400000000100010000000000000200000000000000000000
- 000000000000000000000000FFFFFF0000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000800080038200000000200003C0000000
- 0040000380000000008000030000000001000003800000000000000380000000
- 0000000300000000000000000000000000010000000000000000800300000000
- 0000800380000000000080030000000000008007002000000000800F00100000
- 0000801F404600000000FFFF00100000C810C810C810C0000000000000000000
- 0000000000000000000000000000000020002000200020000000000000000000
- 8000800080000000000008000000800004000400040000000402060002000002
- 8000B000B00010008000800220008002000880084008400801C80198414800C8
- 80048804000801040008804088888840C0038007FFFF87FF00010007FFFF83FF
- 00000007FFFF80FF000000078000803F000000070000801F0000000700008007
- 0000000700008003000000070000800100000007000080030000000700008007
- 000200070000801F000000070000803F00080007000080FF0000200F000083FF
- 3004001F000087FF4002003F00009FFF00000000000000000000000000000000
- 000000000000}
- end
- object il: TImageList
- Left = 217
- Top = 100
- Bitmap = {
- 494C010112001300040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
- 0000000000003600000028000000400000005000000001002000000000000050
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FFFFFF00FFFFFF000000
- 00000000000000000000FFFFFF000000000000000000000000000000FF000000
- FF000000FF0000000000000000007F7F7F00000000007F7F7F00000000000000
- 00000000FF000000FF000000FF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFF00000000000000000000FFFF
- FF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF0000000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
- FF000000FF000000FF0000000000000000000000000000000000000000000000
- FF000000FF000000FF0000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFF000000000000FFFFFF0000FF
- FF00FFFFFF0000FFFF000000000000000000000000000000000000000000FFFF
- FF00FFFFFF0000000000FFFFFF00000000000000000000000000000000000000
- 00000000FF000000FF000000FF007F7F7F00000000007F7F7F000000FF000000
- FF000000FF000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFF00000000000000FFFF00FFFF
- FF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF000000
- 0000FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
- 0000000000000000FF000000FF000000FF00000000000000FF000000FF000000
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFF000000000000FFFFFF0000FF
- FF00FFFFFF0000FFFF000000000000000000000000000000000000000000FFFF
- FF00FFFFFF0000000000FFFFFF00000000000000000000000000000000000000
- 000000000000000000000000FF000000FF00000000000000FF000000FF000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFF00000000000000FFFF00FFFF
- FF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF000000
- 0000FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
- 0000000000000000000000000000000080000000000000008000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFF000000000000FFFFFF0000FF
- FF0000000000000000000000000000000000000000000000000000000000FFFF
- FF00FFFFFF0000000000FFFFFF00000000000000000000000000000000000000
- 000000000000000000000000FF000000800000000000000080000000FF000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000000000000000FFFF
- FF0000FFFF0000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
- 0000000000000000FF000000FF000000000000000000000000000000FF000000
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
- 00000000FF000000FF000000FF000000000000000000000000000000FF000000
- FF000000FF000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000FFFFFF00000000000000000000000000FFFFFF00FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- FF000000FF000000FF0000000000000000000000000000000000000000000000
- FF000000FF000000FF0000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF0000000000FFFFFF00FFFFFF000000000000000000000000000000FF000000
- FF000000FF0000000000000000007F7F7F00000000007F7F7F00000000000000
- 00000000FF000000FF000000FF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000FF000000FF000000FF000000FF000000FF000000FF00
- 000000000000FFFFFF0000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000FF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000FF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FFFFFF00000000000000
- 000000000000000000000000000000000000000000000000000000000000FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000FF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FFFFFF00000000000000
- 000000000000000000000000000000000000000000000000000000000000FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000FF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000FF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000007F7F
- 7F000000000000000000000000007F7F7F000000000000FFFF007F7F7F000000
- 0000000000000000000000000000000000000000000000000000000000007F7F
- 7F000000000000000000000000007F7F7F000000000000FFFF007F7F7F000000
- 0000000000000000000000000000000000000000000000000000FFFFFF000000
- 00000000000000000000000000000000000000000000FFFFFF00000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000FF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000007F7F
- 7F007F7F7F007F7F7F007F7F7F007F7F7F00000000000000000000FFFF000000
- 0000000000000000000000000000000000000000000000000000000000007F7F
- 7F007F7F7F007F7F7F007F7F7F007F7F7F00000000000000000000FFFF000000
- 0000000000000000000000000000000000000000000000000000FFFFFF000000
- 00000000000000000000000000000000000000000000FFFFFF00000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000
- 00000000000000000000000000000000000000000000000000007F7F7F00FFFF
- FF00BFBFBF00FFFFFF00BFBFBF00FFFFFF007F7F7F0000000000000000000000
- 00000000000000000000000000000000000000000000000000007F7F7F00BFBF
- BF00FFFFFF00BFBFBF00FFFFFF00BFBFBF007F7F7F0000000000000000000000
- 0000000000000000000000000000000000000000000000000000FFFFFF000000
- 00000000000000000000000000000000000000000000FFFFFF00000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000FF000000FF000000FF000000FF000000FF00000000000000
- 0000000000000000000000000000000000007F7F7F007F7F7F00FFFFFF00BFBF
- BF00FFFFFF000000FF00FFFFFF00BFBFBF00FFFFFF007F7F7F007F7F7F000000
- 0000000000000000000000000000000000007F7F7F007F7F7F00BFBFBF00FFFF
- FF00BFBFBF00FFFFFF00BFBFBF00FFFFFF00BFBFBF007F7F7F007F7F7F000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000FF000000FF000000FF000000FF000000FF00000000000000
- 000000000000000000000000000000000000000000007F7F7F00BFBFBF00FFFF
- FF00BFBFBF000000FF00BFBFBF00FFFFFF00BFBFBF007F7F7F00000000000000
- 000000000000000000000000000000000000000000007F7F7F00FFFFFF00BFBF
- BF00FFFFFF00BFBFBF00FFFFFF00BFBFBF00FFFFFF007F7F7F00000000000000
- 000000000000000000000000000000000000000000000000000000000000FFFF
- FF000000000000000000000000000000000000000000FFFFFF00000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000FF000000FF000000FF0000000000000000000000
- 000000000000000000000000000000000000000000007F7F7F00FFFFFF000000
- FF000000FF000000FF000000FF000000FF00FFFFFF007F7F7F00000000000000
- 000000000000000000000000000000000000000000007F7F7F00BFBFBF000000
- FF000000FF000000FF000000FF000000FF00BFBFBF007F7F7F00000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000FF000000FF000000FF0000000000000000000000
- 000000000000000000000000000000000000000000007F7F7F00BFBFBF00FFFF
- FF00BFBFBF000000FF00BFBFBF00FFFFFF00BFBFBF007F7F7F00000000000000
- 000000000000000000000000000000000000000000007F7F7F00FFFFFF00BFBF
- BF00FFFFFF00BFBFBF00FFFFFF00BFBFBF00FFFFFF007F7F7F00000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000FF000000000000000000000000000000
- 0000000000000000000000000000000000007F7F7F007F7F7F00FFFFFF00BFBF
- BF00FFFFFF000000FF00FFFFFF00BFBFBF00FFFFFF007F7F7F007F7F7F000000
- 0000000000000000000000000000000000007F7F7F007F7F7F00BFBFBF00FFFF
- FF00BFBFBF00FFFFFF00BFBFBF00FFFFFF00BFBFBF007F7F7F007F7F7F000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF000000000000000000000000000000000000000000FFFFFF000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000FF000000000000000000000000000000
- 00000000000000000000000000000000000000000000000000007F7F7F00FFFF
- FF00BFBFBF00FFFFFF00BFBFBF00FFFFFF007F7F7F0000000000000000000000
- 00000000000000000000000000000000000000000000000000007F7F7F00BFBF
- BF00FFFFFF00BFBFBF00FFFFFF00BFBFBF007F7F7F0000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000007F7F
- 7F007F7F7F007F7F7F007F7F7F007F7F7F000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000007F7F
- 7F007F7F7F007F7F7F007F7F7F007F7F7F000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000007F7F
- 7F000000000000000000000000007F7F7F000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000007F7F
- 7F000000000000000000000000007F7F7F000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000FF000000FF00
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 000000000000FFFFFF00000000000000000000000000FFFFFF0000000000FFFF
- FF000000000000000000FFFFFF00000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FF000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000006000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF0000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000FF000000
- FF000000000000000000000000000000000000000000FF000000000000000000
- 00000000000000000000000000000000000000000000000000000040000000A0
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 000000000000FFFFFF000000000000000000FFFFFF000000000000000000FFFF
- FF000000000000000000FFFFFF000000000000000000000000000000FF000000
- FF000000000000000000000000000000000000000000FF000000000000000000
- 00000000000000000000000000000000000000000000000000000040000000FF
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF00000000000000000000000000000000000000000000000000FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FF000000000000000000
- 00000000000000000000000000000000000000000000000000000040000000FF
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000000000
- 0000FFFFFF0000000000FFFFFF000000000000000000000000000000FF000000
- 00000000000000000000000000000000000000000000FF000000000000000000
- 00000000000000000000000000000000000000000000000000000040000040FF
- A000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF00000000000000000000000000000000000000000000000000FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF0000FFFF000000000000000000FFFFFF0000000000FFFFFF000000
- 0000FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000FF000000
- FF0000000000000000000000000000000000FF00000000000000000000000000
- 000000000000000000000000000000000000000000000000000000400000FFFF
- FF0000A000000000000000000000000000000000000000000000006000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF0000000000000000000000000000000000000000000000000000000000FFFF
- FF0000FFFF000000000000FFFF00FFFFFF0000000000FFFFFF0000FFFF000000
- 0000FFFFFF0000000000FFFFFF00000000000000000000000000000000000000
- FF000000FF000000000000000000FF0000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000040
- 000040FFA00000A000000000000000000000000000000000000000A000000060
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF00000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00000000000000000000000000000000000000000000000000FFFFFF0000FF
- FF00FFFFFF0000FFFF00FFFFFF0000000000FFFFFF0000FFFF0000000000FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
- 00000000FF000000FF000000000000000000FF00000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000040
- 0000FFFFFF0040FFA00000FF0000006000000060000000A0000000A0000000A0
- 0000006000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000000000000000
- 000000000000000000000000000000000000000000000000000000FFFF00FFFF
- FF0000FFFF00FFFFFF0000000000FFFFFF0000FFFF0000000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000000FF000000FF00000000000000
- 00000000FF000000FF00000000000000000000000000FF000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000400000FFFFFF00FFFFFF0040FFA00000FF000000FF000000FF000000FF
- 000000A000000060000000000000000000000000000000000000000000000000
- 0000FFFFFF000000000000000000FFFFFF00FFFFFF0000000000FFFFFF000000
- 0000000000000000000000000000000000000000000000000000FFFFFF0000FF
- FF00FFFFFF0000FFFF00FFFFFF0000FFFF0000000000FFFFFF00FFFFFF00FFFF
- FF00000000000000000000000000000000000000FF000000FF00000000000000
- 00000000FF000000FF00000000000000000000000000FF000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000040000000400000FFFFFF00FFFFFF00FFFFFF0040FFA00000FF
- 000000FF00000000000000000000000000000000000000000000000000000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000000000000000
- 000000000000000000000000000000000000FFFF00000000000000FFFF00FFFF
- FF0000FFFF00FFFFFF0000FFFF00000000000000000000000000FFFFFF00FFFF
- FF0000000000FFFFFF00FFFFFF0000000000000000000000FF000000FF000000
- FF000000FF0000000000000000000000000000000000FF000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000004000000040000000400000FFFFFF0040FF
- A000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFF0000FFFF00000000000000FF
- FF00FFFFFF0000FFFF000000000000FFFF00FFFFFF0000FFFF0000000000FFFF
- FF0000000000FFFFFF0000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FF000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000400000FFFFFF000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFF0000FFFF0000FFFF00000000
- 000000FFFF00FFFFFF0000FFFF00FFFFFF000000000000000000FFFFFF00FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000FF000000FF00
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000400000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFF0000FFFF0000FFFF0000FFFF
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000400000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000080000000800000008000
- 0000800000008000000080000000800000008000000080000000800000008000
- 0000800000008000000000000000000000000000000000000000000000000000
- 0000000000007F7F7F0000000000000000000000000000000000000000007F7F
- 7F00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000080000000FF000000FF00
- 0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00
- 0000FF0000008000000000000000000000000000000000000000000000000000
- 000000000000000000007F7F7F00FFFFFF0000000000FFFFFF007F7F7F000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000080000000800000008000
- 0000BFBFBF00BFBFBF000000800000FFFF0000008000BFBFBF00BFBFBF008000
- 0000800000008000000000000000000000000000000000000000000000000000
- 000000000000FFFFFF00FFFFFF00FFFFFF007F7F7F00FFFFFF00FFFFFF00FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FFFFFF0000FFFF00FFFF
- FF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFF
- FF0000FFFF00FFFFFF0000000000000000000000000000000000000000000000
- 0000BFBFBF00BFBFBF00BFBFBF0000008000FFFFFF00FFFFFF007F7F7F000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF0000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
- 0000FFFFFF000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000FFFF00FFFFFF0000FF
- FF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FF
- FF00FFFFFF0000FFFF0000000000000000000000000000000000000000000000
- 0000BFBFBF00BFBFBF00BFBFBF0000FFFF00FFFFFF007F7F7F007F7F7F000000
- 000000000000000000000000000000000000000000007F7F7F00000000007F7F
- 7F00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF007F7F7F00000000007F7F7F000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FFFFFF0000FFFF00FFFF
- FF0000FFFF00000000000000000000000000000000000000000000000000FFFF
- FF0000FFFF00FFFFFF0000000000000000000000000000000000000000000000
- 000000000000BFBFBF00BFBFBF0000008000FFFFFF007F7F7F00000000000000
- 000000000000000000000000000000000000000000000000000000000000FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000FFFF00FFFFFF0000FF
- FF00FFFFFF0000000000FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FF
- FF00FFFFFF0000FFFF0000000000000000000000000000000000000000000000
- 00000000000000000000BFBFBF0000FFFF007F7F7F0000000000000000000000
- 00000000000000000000000000000000000000000000000000007F7F7F000000
- 00007F7F7F00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00FFFF
- FF007F7F7F00000000007F7F7F00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FFFFFF0000FFFF00FFFF
- FF0000FFFF000000000000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFF
- FF0000FFFF00FFFFFF0000000000000000000000000000000000000000000000
- 0000000000000000000000000000BFBFBF000000000000000000000000000000
- 000000000000000000000000000000000000000000000000000000000000FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000000FF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000FFFF00FFFFFF000000
- 000000000000000000000000000000000000FFFFFF0000FFFF00FFFFFF0000FF
- FF00FFFFFF0000FFFF0000000000000000000000000000000000000000000000
- 0000000000000000000000008000FFFFFF000000800000000000000000000000
- 000000000000000000000000000000000000000000007F7F7F00000000007F7F
- 7F00FFFFFF00FFFFFF0000000000FFFFFF000000FF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF007F7F7F00000000007F7F7F000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FFFFFF0000FFFF00FFFF
- FF00000000000000000000000000FFFFFF0000FFFF00FFFFFF0000FFFF00FFFF
- FF0000FFFF00FFFFFF0000000000000000000000000000000000000000000000
- 0000000000000000800000FFFF0000008000FFFFFF0000008000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF0000000000FFFFFF00FFFFFF000000FF00FFFFFF00FFFFFF000000
- 0000FFFFFF000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000FFFF00FFFFFF0000FF
- FF00FFFFFF0000000000FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FF
- FF00FFFFFF0000FFFF0000000000000000000000000000000000000000000000
- 0000BFBFBF00BFBFBF000000800000FFFF00FFFFFF0000FFFF007F7F7F000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000FFFFFF00FFFFFF00FFFFFF000000FF00FFFFFF00FFFFFF00FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FFFFFF0000FFFF00FFFF
- FF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFF
- FF0000FFFF00FFFFFF0000000000000000000000000000000000000000000000
- 0000BFBFBF00BFBFBF00BFBFBF00BFBFBF0000008000FFFFFF007F7F7F000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000007F7F7F00FFFFFF000000FF00FFFFFF007F7F7F000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000080000000800000008000
- 0000BFBFBF00BFBFBF00BFBFBF00BFBFBF00BFBFBF00BFBFBF00BFBFBF008000
- 00008000000080000000000000000000000000000000000000007F7F7F000000
- 000000000000000000007F7F7F000000000000000000000000007F7F7F000000
- 000000000000000000007F7F7F00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000000000FFFF00FFFF
- FF0000FFFF00FFFFFF0000FFFF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000080000000FF000000FF00
- 0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00
- 0000FF0000008000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000080000000800000008000
- 0000800000008000000080000000800000008000000080000000800000008000
- 0000800000008000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000A8C6A7005C895900E4E5E4000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000EEEEEE00CCCCCC00AAAAAA009999990099999900AAAAAA00BBBBBB00DDDD
- DD00EEEEEE000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000FFFF0000FFFF0000FFFF00000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000BBD8BB003A6C3A00234B22008495820000000000000000000000
- 000000000000000000000000000000000000000000000000000000000000DDDD
- DD00AAAAAA00668D9D005488A1004A788C00416979004C565A00777777008888
- 8800BBBBBB00EEEEEE0000000000000000000000000000000000000000000000
- 000000000000FFFFFF00FFFFFF000000000000000000FFFFFF0000FFFF00FFFF
- FF0000FFFF0000000000FFFF0000FFFF00000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000C9E3C9004A824A002A7F270020431F002A4D2800CCCCCC000000
- 0000000000000000000000000000000000000000000000000000DDDDDD007CA4
- B6004FA1C70052A5CE0053AFD6004A9FC3004592B4003B7996002E637A004A53
- 560088888800BBBBBB00EEEEEE00000000000000000000000000000000000000
- 000000000000FFFFFF000000000000FFFF00FFFFFF0000FFFF000000000000FF
- FF00FFFFFF0000FFFF0000000000FFFF00000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000CDE6CE004C874F0031C431002A9B26002868250020431F004766
- 4400E4E5E40000000000000000000000000000000000EEEEEE0085C5DD0065BC
- E20057C0DF0052C2DB0052CAE6004EC6E30044B4D3003C9CB7003E8BAA00306B
- 84004C565A0088888800BBBBBB00EEEEEE000000000000000000000000000000
- 000000000000FFFFFF00FFFFFF0000000000000000000000000000FFFF00FFFF
- FF0000FFFF00FFFFFF0000FFFF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000CDE6CE004C874F0032D43D003DCD3C0031BD2A002B8E2200285F
- 240020431F0072876F00000000000000000000000000ADD5E4006FC6EE0063D1
- ED0063D1ED005AD5F0005CDBF7005BDFFF0053D1F0004AC0DD0040AECB003E91
- B0003B799600595E610099999900DDDDDD000000000000000000000000000000
- 000000000000FFFFFF00FFFFFF00FFFFFF000000000000FFFF00FFFFFF0000FF
- FF00FFFFFF0000FFFF00FFFFFF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000CDE6CE004C874F0033D83F0033D83F003DCD3C0031C4310031B3
- 25002C812300234B22002A4D2800AFB8AE00EEEEEE006FC6EE0075DBF8006CE4
- FA006CE4FA0063E4FF0063E4FF0063E4FF0063E4FF005BDFFF004ECEEE0044B4
- D3004592B4003E758C0088888800CCCCCC000000000000000000000000000000
- 00000000000000000000000000000000000000FFFF00FFFFFF0000000000FFFF
- FF0000FFFF00FFFFFF0000FFFF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000CDE6CE004C874F0033DD440033D83F0033D83F0031C4310032C3
- 2B0032C32B0035A62500407A3C0040713F00CBE1E80074CEF60078E4F60071E9
- FE0071E9FE006BE8FF006BE8FF0063E4FF0063E4FF005BDFFF005BDFFF004AC0
- DD003F9DBA003A76920077777700BBBBBB00000000000000000000000000FFFF
- FF0000FFFF00FFFFFF0000FFFF0000000000FFFFFF0000000000FFFFFF0000FF
- FF000000000000FFFF00FFFFFF0000000000000000000000000000000000BFBF
- BF000000000000000000BFBFBF0000000000BFBFBF0000000000BFBFBF000000
- 000000000000000000000000000000000000D47D4200D47D4200D1724100CB71
- 3D00C66D3C00AA9362004C874F0033E34A0033DD440032D43D0032D43D0033CC
- 33003E9F3A00457B4800508A5400E1ECDF00A5E1F6007CD8FF0083F0FF0075ED
- FF0071E9FE0071E9FE006BE8FF006BE8FF0063E4FF0063E4FF005BDFFF0052CA
- E60044B2CD004386A8005E686C00BBBBBB00FFFF000000000000FFFFFF0000FF
- FF00000000000000000000000000000000000000000000000000000000000000
- 000000FFFF00FFFFFF000000000000000000000000000000000000000000BFBF
- BF000000000000000000BFBFBF0000000000BFBFBF0000000000BFBFBF000000
- 000000000000000000000000000000000000CF6E3C00DB863600DB863600D77D
- 3100D3763100B1965C004C874F0033E9500033E1490033DD440033B23A003C73
- 3D00457B4800BBD8BB000000000000000000AEE5F90086DCFF008AF4FF0079EF
- FF0079EFFF0071E9FE0071E9FE006BE8FF006BE8FF0063E4FF0063E4FF0059D9
- F7004FC9E60052A5CE0058707A00CCCCCC00FFFF00000000000000FFFF00FFFF
- FF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF000000
- 0000FFFFFF0000000000FFFFFF00000000000000000000000000000000000000
- 0000BFBFBF000000000000000000BFBFBF00000000000000000000000000BFBF
- BF0000000000000000000000000000000000CF6E3C00EEA73800F4AC3300F09F
- 3300EC943300BFA65E00508A540035EF570038D14F003C9143003C733D0072A6
- 740000000000000000000000000000000000CDEFFB0092DFFF0094F5FF0083F0
- FF0075E8F70075EDFF0071E9FE0071E9FE006BE8FF006BE8FF0063E4FF005AD5
- F00052C2DB0052A5CE007A7E8100DDDDDD00FFFF000000000000FFFFFF0000FF
- FF00FFFFFF0000FFFF0000000000000000000000000000000000000000000000
- 000000000000FFFFFF00FFFFFF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000D1724100F3B23B00F7B53300F4AC
- 3300F09F3300C2AC5E00558D5A004BB85E00457B48005E9E6400F0F5F0000000
- 000000000000000000000000000000000000F6FBFD00A2E1FF00A2F4FF0094F5
- FF0079EFFF0079EFFF0079EFFF0071E9FE0071E9FE006CE4FA0063E4FF005AD5
- F00055BADC004FA1C700AAAAAA00EEEEEE00FFFF00000000000000FFFF00FFFF
- FF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF000000
- 0000FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000D1724100F3B23B00FCC23300F7B5
- 3300F4AC3300CEB667004977490056905800ACB88E0000000000000000000000
- 00000000000000000000000000000000000000000000B8E9FD009EE8FF009BF6
- FF008AF4FF0079EFFF0079EFFF0079EFFF0079EFFF0071E9FE006CE4FA0062D4
- EE0053AFD6006191A800CCCCCC0000000000FFFF000000000000FFFFFF0000FF
- FF00FFFFFF0000FFFF000000000000000000000000000000000000000000FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000D1724100F5BC4500FFCC3300FCC2
- 3300F7B53300DBBB5F00A0B06000CC663300E4BDA40000000000000000000000
- 00000000000000000000000000000000000000000000F6FBFD00ADE5FF00A3EB
- FF009BF6FF0094F5FF008AF4FF0083F0FF0083F0FF0079EFFF0078E4F60074CE
- F6006FC0E400CCCCCC00EEEEEE0000000000FFFF00000000000000000000FFFF
- FF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF0000000000FFFFFF00FFFF
- FF0000000000FFFFFF00FFFFFF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000D2794B00F5BC4500FFCC3300FFCC
- 3300FBC13300F7B53300F4AC3300CC663300E8C2A70000000000000000000000
- 0000000000000000000000000000000000000000000000000000F4FAFC00ADE5
- FF0097E3FF009DF1FF009DF1FF0094F5FF0089EEFF0082E3FF0074CEF60077C8
- EA00CDD3D400EEEEEE0000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
- FF0000000000FFFFFF0000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000D2794B00DC8C4900DE8E4500DD89
- 3D00DD893D00DA853B00DA853B00CC663300EBC6A80000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000C7EDFE00A2E1FF0092DFFF008ADAFF0080D4FD008ADAFF00A9DAEC00EEEE
- EE00000000000000000000000000000000000000000000000000000000000000
- 000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000E9B37C00E9B37C00E9B37C00E9B3
- 7C00E8AD7200E8AD7200E8AD7200E3A26B00F6E3D30000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000D9F3FB00EEEEEE0000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000424D3E000000000000003E000000
- 2800000040000000500000000100010000000000800200000000000000000000
- 000000000000000000000000FFFFFF00F800FFFF00000000F800FFFF00000000
- 2000C631000000000000E223000000000000F007000000000000F88F00000000
- 0000FC1F000000000000FE3F000000000000FC1F000000000000F80F00000000
- E000F00700000000F800E22300000000F800C63100000000F801FFFF00000000
- F803FFFF00000000F807FFFF00000000FFFFFC7FFFFDFFFDFFFFFC7FFFF8FFF8
- 07C1FC7FFFF1FFF107C1FC7FFFE3FFE307C1FC7FFFC7FFC70101FC7FE08FE08F
- 0001E00FC01FC01F0201E00F803F803F0201F01F001F001F8003F01F001F001F
- C107F83F001F001FC107F83F001F001FE38FFC7F001F001FE38FFC7F803F803F
- E38FFEFFC07FC07FFFFFFEFFE0FFE0FFFFFFF000FFFFFFFFE007F000FFC8F1FF
- E007F000FFB8E3FFE007F000CFBFC7FFE007F000CFBCC7FFE007F000FFBCC7BF
- E007F000DFBFC79FE007E000CF7CC38FE007C000E6FCE007E0078000F37FE003
- E007800033BCF001E00F000033BCF803E01F000087BFFE07E03F0001FFB8FF8F
- FFFF0003FFC8FF9FFFFF0007FFFFFFBFFFFFFFFFFFFFFFFF8003F80FFFFFFFFF
- 8003F007C00700018003E003E7E70001E00FC001F3F70001E00F8000F9F70001
- F01F8000FCFF0001F83F8000FE7F0001FC7F8000FF3F0001F83F8000FE7F0001
- F01FC001FCFF0001E00FE003F9F70001E00FC001F3F700038003C809E7E780FF
- 8003FF7FC007C1FF8003FE3FFFFFFFFFF8FFF007F000FFFFF87FE003F000FFFF
- F81FC001F000FFFFF8078000F0005555F8038000F000FFFFF8000000E0004005
- F80000000000C0070000000000004005000300000000C007000F000000004005
- 001F00000000FFFF007F800100005555007F80010000FFFF007FC0032001FFFF
- 007FF00FF003FFFF007FFE7FF007FFFF00000000000000000000000000000000
- 000000000000}
- end
- object am: TActionManager
- Images = il
- Left = 397
- Top = 160
- StyleName = 'XP Style'
- object aViewMs: TAction
- Category = 'Profiler'
- Caption = 'Milliseconds'
- GroupIndex = 1
- Hint = 'Milliseconds|Displays time values as milliseconds.'
- ImageIndex = 5
- OnExecute = aViewMsExecute
- OnUpdate = aViewMsUpdate
- end
- object aViewPercent: TAction
- Category = 'Profiler'
- Caption = 'Percentages'
- GroupIndex = 1
- Hint = 'Percentages|Displays time values as percentages.'
- ImageIndex = 6
- OnExecute = aViewPercentExecute
- OnUpdate = aViewPercentUpdate
- end
- object aViewFullPath: TAction
- Category = 'Profiler'
- Caption = 'Show Full Path'
- Hint =
- 'Show Full Path|Toggles between displaying the full path or filen' +
- 'ame only.'
- ImageIndex = 3
- OnExecute = aViewFullPathExecute
- OnUpdate = aViewFullPathUpdate
- end
- object aViewHideFastFuncs: TAction
- Category = 'Profiler'
- Caption = 'Hide Fast Functions'
- Hint = 'Hide Fast Functions|Removes fast functions from the lists.'
- ImageIndex = 17
- OnExecute = aViewHideFastFuncsExecute
- OnUpdate = aViewHideFastFuncsUpdate
- end
- object aViewHideLibFuncs: TAction
- Category = 'Profiler'
- Caption = 'Hide Library Functions'
- Hint =
- 'Hide Library Functions|Toggles between showing and hiding librar' +
- 'y functions.'
- ImageIndex = 2
- OnExecute = aViewHideLibFuncsExecute
- OnUpdate = aViewHideLibFuncsUpdate
- end
- object aViewGoToOpen: TAction
- Category = 'LBL'
- Caption = 'Go To'
- Hint = 'Go To|Views details about the selected item.'
- ImageIndex = 11
- OnExecute = aViewGoToOpenExecute
- OnUpdate = aViewGoToOpenUpdate
- end
- object aViewGoToUpOneLevel: TAction
- Category = 'Profiler'
- Caption = 'Up One Level'
- Hint = 'Up One Level|Goes up one level.'
- ImageIndex = 7
- OnExecute = aViewGoToUpOneLevelExecute
- OnUpdate = aViewGoToUpOneLevelUpdate
- end
- object aMergedInstancesGoTo: TAction
- Category = 'MergedInstances'
- Caption = 'Go To'
- Hint = 'Go To|Views details about this item.'
- ImageIndex = 11
- OnExecute = aMergedInstancesGoToExecute
- OnUpdate = aMergedInstancesGoToUpdate
- end
- object aTreeShowOverall: TAction
- Category = 'Tree'
- Caption = 'Show Overall'
- Hint = 'Show Overall|Shows all calls to this function.'
- ImageIndex = 16
- OnExecute = aTreeShowOverallExecute
- OnUpdate = aTreeShowOverallUpdate
- end
- object aTreeOpenEditor: TAction
- Category = 'Tree'
- Caption = 'Open in editor'
- Hint =
- 'Open in editor|Opens the file which contains this function call ' +
- 'in the built-in editor.'
- ImageIndex = 9
- OnExecute = aTreeOpenEditorExecute
- OnUpdate = aTreeOpenEditorUpdate
- end
- object aTreeShowInfo: TAction
- Category = 'Tree'
- Caption = 'Show advanced information...'
- Hint =
- 'Show advanced information|Displays advanced information about th' +
- 'e selected item.'
- ImageIndex = 10
- OnExecute = aTreeShowInfoExecute
- OnUpdate = aTreeShowInfoUpdate
- end
- object aLBLShowOverall: TAction
- Category = 'LBL'
- Caption = 'Show Overall'
- Hint = 'Show Overall|Shows all calls to this function.'
- ImageIndex = 16
- OnExecute = aLBLShowOverallExecute
- OnUpdate = aLBLShowOverallUpdate
- end
- object aLBLOpenEditor: TAction
- Category = 'LBL'
- Caption = 'Open in editor'
- Hint =
- 'Open in editor|Opens the file which contains this function call ' +
- 'in the built-in editor.'
- ImageIndex = 9
- OnExecute = aLBLOpenEditorExecute
- OnUpdate = aLBLOpenEditorUpdate
- end
- object aMergedInstancesOpenEditor: TAction
- Category = 'MergedInstances'
- Caption = 'Open in editor'
- Hint =
- 'Open in editor|Opens the file which contains this function call ' +
- 'in the built-in editor.'
- ImageIndex = 9
- OnExecute = aMergedInstancesOpenEditorExecute
- OnUpdate = aMergedInstancesOpenEditorUpdate
- end
- object aMergedInstancesShowInfo: TAction
- Category = 'MergedInstances'
- Caption = 'Show advanced information...'
- Hint =
- 'Show advanced information|Displays advanced information about th' +
- 'e selected item.'
- ImageIndex = 10
- OnExecute = aMergedInstancesShowInfoExecute
- OnUpdate = aMergedInstancesShowInfoUpdate
- end
- object aLBLShowInfo: TAction
- Category = 'LBL'
- Caption = 'Show advanced information...'
- Hint =
- 'Show advanced information|Displays advanced information about th' +
- 'e selected item.'
- ImageIndex = 10
- OnExecute = aLBLShowInfoExecute
- OnUpdate = aLBLShowInfoUpdate
- end
- object aProfilerFind: TAction
- Category = 'Profiler'
- Caption = 'Find'
- Hint = 'Find|Finds functions containing the specified text.'
- ImageIndex = 12
- ShortCut = 16454
- OnExecute = aProfilerFindExecute
- end
- object aTreeGoToRoot: TAction
- Category = 'Tree'
- Caption = 'Go To Root'
- Hint = 'Go To Root|Selects the root node.'
- ImageIndex = 13
- OnExecute = aTreeGoToRootExecute
- OnUpdate = aTreeGoToRootUpdate
- end
- object aTreeExpand: TAction
- Category = 'Tree'
- Caption = 'Expand'
- Hint = 'Expand|Expands the selected node.'
- ImageIndex = 14
- OnExecute = aTreeExpandExecute
- OnUpdate = aTreeExpandUpdate
- end
- object aTreeExpandAll: TAction
- Category = 'Tree'
- Caption = 'Expand All'
- Hint =
- 'Expand All|Expands the selected node and all all its child nodes' +
- '.'
- OnExecute = aTreeExpandAllExecute
- OnUpdate = aTreeExpandAllUpdate
- end
- object aTreeCollapse: TAction
- Category = 'Tree'
- Caption = 'Collapse'
- Hint = 'Collapse|Collapses the selected node.'
- ImageIndex = 15
- OnExecute = aTreeCollapseExecute
- OnUpdate = aTreeCollapseUpdate
- end
- end
- object mm: TMainMenu
- Images = il
- Left = 68
- Top = 96
- object View1: TMenuItem
- Caption = '&Profiler'
- GroupIndex = 100
- object Find1: TMenuItem
- Action = aProfilerFind
- end
- object N6: TMenuItem
- Caption = '-'
- end
- object Milliseconds1: TMenuItem
- Action = aViewMs
- GroupIndex = 1
- RadioItem = True
- ShortCut = 16461
- end
- object Percentages1: TMenuItem
- Action = aViewPercent
- GroupIndex = 1
- RadioItem = True
- ShortCut = 16464
- end
- object N1: TMenuItem
- Caption = '-'
- GroupIndex = 1
- end
- object FullPath1: TMenuItem
- Action = aViewFullPath
- GroupIndex = 1
- ShortCut = 16454
- end
- object N2: TMenuItem
- Caption = '-'
- GroupIndex = 1
- end
- object HideFastFunctions1: TMenuItem
- Action = aViewHideFastFuncs
- GroupIndex = 1
- end
- object HideLibraryFunctions1: TMenuItem
- Action = aViewHideLibFuncs
- GroupIndex = 1
- end
- object N3: TMenuItem
- Caption = '-'
- GroupIndex = 1
- end
- object UpOneLevel1: TMenuItem
- Action = aViewGoToUpOneLevel
- GroupIndex = 1
- end
- object GoToRoot1: TMenuItem
- Action = aTreeGoToRoot
- GroupIndex = 1
- end
- end
- end
- object pmLBL: TPopupMenu
- Images = il
- Left = 289
- Top = 142
- object Open1: TMenuItem
- Action = aViewGoToOpen
- Default = True
- end
- object UpOneLevel2: TMenuItem
- Action = aViewGoToUpOneLevel
- end
- object GoToRoot3: TMenuItem
- Action = aTreeGoToRoot
- end
- object N7: TMenuItem
- Caption = '-'
- end
- object Openineditor2: TMenuItem
- Action = aLBLOpenEditor
- end
- object N12: TMenuItem
- Caption = '-'
- end
- object ShowOverall2: TMenuItem
- Action = aLBLShowOverall
- end
- object N5: TMenuItem
- Caption = '-'
- end
- object Showadvancedinformation2: TMenuItem
- Action = aLBLShowInfo
- end
- end
- object pmMergedInstances: TPopupMenu
- Images = il
- Left = 285
- Top = 346
- object GoTo1: TMenuItem
- Action = aMergedInstancesGoTo
- Default = True
- end
- object N9: TMenuItem
- Caption = '-'
- end
- object Openineditor3: TMenuItem
- Action = aMergedInstancesOpenEditor
- end
- object N10: TMenuItem
- Caption = '-'
- end
- object Showadvancedinformation3: TMenuItem
- Action = aMergedInstancesShowInfo
- end
- end
- object pmTree: TPopupMenu
- Images = il
- Left = 16
- Top = 36
- object Openineditor1: TMenuItem
- Action = aTreeOpenEditor
- Default = True
- end
- object N11: TMenuItem
- Caption = '-'
- end
- object ShowOverall1: TMenuItem
- Action = aTreeShowOverall
- end
- object N8: TMenuItem
- Caption = '-'
- end
- object UpOneLevel3: TMenuItem
- Action = aViewGoToUpOneLevel
- end
- object GoToRoot2: TMenuItem
- Action = aTreeGoToRoot
- end
- object N13: TMenuItem
- Caption = '-'
- end
- object Expand1: TMenuItem
- Action = aTreeExpand
- end
- object ExpandAll1: TMenuItem
- Action = aTreeExpandAll
- end
- object Collapse1: TMenuItem
- Action = aTreeCollapse
- end
- object N4: TMenuItem
- Caption = '-'
- end
- object Showadvancedinformation1: TMenuItem
- Action = aTreeShowInfo
- end
- end
- object pmMerged: TPopupMenu
- Images = il
- Left = 357
- Top = 206
- object UpOneLevel4: TMenuItem
- Action = aViewGoToUpOneLevel
- end
- object GoToRoot4: TMenuItem
- Action = aTreeGoToRoot
- end
- end
- object tFind: TTimer
- Enabled = False
- Interval = 200
- OnTimer = tFindTimer
- Left = 521
- Top = 122
- end
-end
diff --git a/uDoc.~pas b/uDoc.~pas
deleted file mode 100644
index d5a77fc..0000000
--- a/uDoc.~pas
+++ /dev/null
@@ -1,1398 +0,0 @@
-unit uDoc;
-
-interface
-
-uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, ComCtrls, uCacheGrind, ExtCtrls, ImgList, XPStyleActnCtrls,
- ActnList, ActnMan, ToolWin, Menus, StdCtrls, uConfig, CommCtrl,
- JvCombobox, JvExStdCtrls;
-
-type
- TListLBLSort = (lsFunction, lsSelf, lsCum, lsFileName, lsLine);
- TListMergedSort = (msFunction, msAvgSelf, msAvgCum, msTotSelf, msTotCum, msCalls);
- TMergedInstancesSort = (misIndex, misSelf, misCum, misCaller, misCallerFile);
-
- TfDoc = class(TForm)
- ilCacheGrind: TImageList;
- il: TImageList;
- am: TActionManager;
- aViewPercent: TAction;
- aViewMs: TAction;
- mm: TMainMenu;
- View1: TMenuItem;
- Milliseconds1: TMenuItem;
- Percentages1: TMenuItem;
- aViewFullPath: TAction;
- N1: TMenuItem;
- FullPath1: TMenuItem;
- aViewHideLibFuncs: TAction;
- N2: TMenuItem;
- HideLibraryFunctions1: TMenuItem;
- aViewGoToUpOneLevel: TAction;
- N3: TMenuItem;
- UpOneLevel1: TMenuItem;
- pmLBL: TPopupMenu;
- aViewGoToOpen: TAction;
- Open1: TMenuItem;
- UpOneLevel2: TMenuItem;
- aMergedInstancesGoTo: TAction;
- pmMergedInstances: TPopupMenu;
- GoTo1: TMenuItem;
- pmTree: TPopupMenu;
- aTreeOpenEditor: TAction;
- Openineditor1: TMenuItem;
- aTreeShowInfo: TAction;
- Showadvancedinformation1: TMenuItem;
- N4: TMenuItem;
- aLBLShowInfo: TAction;
- N5: TMenuItem;
- Showadvancedinformation2: TMenuItem;
- tb: TToolBar;
- ToolButton7: TToolButton;
- ToolButton8: TToolButton;
- ToolButton4: TToolButton;
- ToolButton5: TToolButton;
- ToolButton1: TToolButton;
- ToolButton2: TToolButton;
- ToolButton6: TToolButton;
- ToolButton3: TToolButton;
- tv: TTreeView;
- Splitter1: TSplitter;
- Panel1: TPanel;
- pcProfiler: TPageControl;
- tsLBL: TTabSheet;
- lvLBL: TListView;
- tsMerged: TTabSheet;
- Splitter2: TSplitter;
- lvMerged: TListView;
- lvMergedInstances: TListView;
- pInfo: TPanel;
- lInfoName: TLabel;
- lInfo: TLabel;
- lInfoFileName: TLabel;
- iInfo: TImage;
- Panel2: TPanel;
- Label1: TLabel;
- Image1: TImage;
- aProfilerFind: TAction;
- ToolButton9: TToolButton;
- ToolButton10: TToolButton;
- N6: TMenuItem;
- Find1: TMenuItem;
- aLBLOpenEditor: TAction;
- N7: TMenuItem;
- Openineditor2: TMenuItem;
- aTreeGoToRoot: TAction;
- GoToRoot1: TMenuItem;
- N8: TMenuItem;
- UpOneLevel3: TMenuItem;
- GoToRoot2: TMenuItem;
- GoToRoot3: TMenuItem;
- pmMerged: TPopupMenu;
- UpOneLevel4: TMenuItem;
- GoToRoot4: TMenuItem;
- aMergedInstancesOpenEditor: TAction;
- aMergedInstancesShowInfo: TAction;
- N9: TMenuItem;
- N10: TMenuItem;
- Showadvancedinformation3: TMenuItem;
- Openineditor3: TMenuItem;
- aLBLShowOverall: TAction;
- aTreeShowOverall: TAction;
- N11: TMenuItem;
- N12: TMenuItem;
- ShowOverall2: TMenuItem;
- aTreeExpand: TAction;
- aTreeCollapse: TAction;
- aTreeExpandAll: TAction;
- N13: TMenuItem;
- Expand1: TMenuItem;
- ExpandAll1: TMenuItem;
- Collapse1: TMenuItem;
- ShowOverall1: TMenuItem;
- aViewHideFastFuncs: TAction;
- HideFastFunctions1: TMenuItem;
- ToolButton11: TToolButton;
- ToolButton12: TToolButton;
- cbRE: TCheckBox;
- cbFind: TJvComboBox;
- tFind: TTimer;
- lFind: TLabel;
- Panel3: TPanel;
- lMerged: TLabel;
- procedure FormCreate(Sender: TObject);
- procedure FormDestroy(Sender: TObject);
- procedure FormClose(Sender: TObject; var Action: TCloseAction);
- procedure lvLBLData(Sender: TObject; Item: TListItem);
- procedure tvChange(Sender: TObject; Node: TTreeNode);
- procedure lvLBLDblClick(Sender: TObject);
- procedure lvLBLKeyDown(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- procedure aViewPercentUpdate(Sender: TObject);
- procedure aViewMsUpdate(Sender: TObject);
- procedure aViewPercentExecute(Sender: TObject);
- procedure aViewMsExecute(Sender: TObject);
- procedure tvExpanding(Sender: TObject; Node: TTreeNode;
- var AllowExpansion: Boolean);
- procedure aViewFullPathExecute(Sender: TObject);
- procedure aViewFullPathUpdate(Sender: TObject);
- procedure lvMergedData(Sender: TObject; Item: TListItem);
- procedure lvLBLColumnClick(Sender: TObject; Column: TListColumn);
- procedure lvMergedColumnClick(Sender: TObject; Column: TListColumn);
- procedure aViewHideLibFuncsUpdate(Sender: TObject);
- procedure aViewHideLibFuncsExecute(Sender: TObject);
- procedure ToolButton1Click(Sender: TObject);
- procedure aViewGoToUpOneLevelUpdate(Sender: TObject);
- procedure aViewGoToUpOneLevelExecute(Sender: TObject);
- procedure lvMergedInstancesData(Sender: TObject; Item: TListItem);
- procedure aViewGoToOpenUpdate(Sender: TObject);
- procedure aViewGoToOpenExecute(Sender: TObject);
- procedure lvMergedInstancesColumnClick(Sender: TObject;
- Column: TListColumn);
- procedure aMergedInstancesGoToUpdate(Sender: TObject);
- procedure aMergedInstancesGoToExecute(Sender: TObject);
- procedure lvMergedInstancesDblClick(Sender: TObject);
- procedure lvMergedInstancesKeyDown(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- procedure aTreeOpenEditorUpdate(Sender: TObject);
- procedure aTreeOpenEditorExecute(Sender: TObject);
- procedure tvKeyDown(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- procedure aTreeShowInfoUpdate(Sender: TObject);
- procedure aLBLShowInfoUpdate(Sender: TObject);
- procedure aLBLShowInfoExecute(Sender: TObject);
- procedure aTreeShowInfoExecute(Sender: TObject);
- procedure tvCollapsing(Sender: TObject; Node: TTreeNode;
- var AllowCollapse: Boolean);
- procedure lvMergedSelectItem(Sender: TObject; Item: TListItem;
- Selected: Boolean);
- procedure aProfilerFindExecute(Sender: TObject);
- procedure cbFindChange(Sender: TObject);
- procedure aLBLOpenEditorUpdate(Sender: TObject);
- procedure aLBLOpenEditorExecute(Sender: TObject);
- procedure aTreeGoToRootExecute(Sender: TObject);
- procedure aTreeGoToRootUpdate(Sender: TObject);
- procedure aMergedInstancesOpenEditorUpdate(Sender: TObject);
- procedure aMergedInstancesOpenEditorExecute(Sender: TObject);
- procedure aMergedInstancesShowInfoUpdate(Sender: TObject);
- procedure aMergedInstancesShowInfoExecute(Sender: TObject);
- procedure aLBLShowOverallExecute(Sender: TObject);
- procedure aLBLShowOverallUpdate(Sender: TObject);
- procedure aTreeShowOverallExecute(Sender: TObject);
- procedure aTreeShowOverallUpdate(Sender: TObject);
- procedure aTreeExpandUpdate(Sender: TObject);
- procedure aTreeExpandExecute(Sender: TObject);
- procedure aTreeCollapseUpdate(Sender: TObject);
- procedure aTreeCollapseExecute(Sender: TObject);
- procedure aTreeExpandAllUpdate(Sender: TObject);
- procedure aTreeExpandAllExecute(Sender: TObject);
- procedure aViewHideFastFuncsUpdate(Sender: TObject);
- procedure aViewHideFastFuncsExecute(Sender: TObject);
- procedure tFindTimer(Sender: TObject);
- procedure cbFindSelect(Sender: TObject);
- procedure cbREClick(Sender: TObject);
- private
- FFileName: string;
- FCacheGrind: TCacheGrind;
- FListLBL, FListMerged, FMergedInstances: TList;
- FTimeDisplay: TTimeDisplay;
- FUseShortName: Boolean;
- FListLBLSort: TListLBLSort;
- FListMergedSort: TListMergedSort;
- FHideLibFuncs: Boolean;
- FMergedInstancesSort: TMergedInstancesSort;
- FHideFastFuncs: Boolean;
- { Private declarations }
- function AddToTree(Parent: TTreeNode; Inst: TProfInstance; Cascade: Boolean): TTreeNode;
- procedure CacheGrindAnalyzeProgress(Sender: TObject; Position, Max: Integer; Status: string);
- procedure CacheGrindLoadProgress(Sender: TObject; Position, Max: Integer; Status: string);
- function GetImageIndex(Kind: TFuncKind): Integer;
- procedure SetTimeDisplay(const Value: TTimeDisplay);
- procedure SetUseShortName(const Value: Boolean);
- procedure SetListLBLSort(const Value: TListLBLSort);
- procedure SetListMergedSort(const Value: TListMergedSort);
- procedure SetHideLibFuncs(const Value: Boolean);
- function GetConfig: TConfig;
- procedure SetMergedInstancesSort(const Value: TMergedInstancesSort);
- procedure SetHideFastFuncs(const Value: Boolean);
- public
- { Public declarations }
- property CacheGrind: TCacheGrind read FCacheGrind;
- property Config: TConfig read GetConfig;
- property FileName: string read FFileName;
- property HideFastFuncs: Boolean read FHideFastFuncs write SetHideFastFuncs;
- property HideLibFuncs: Boolean read FHideLibFuncs write SetHideLibFuncs;
- property ListLBLSort: TListLBLSort read FListLBLSort write SetListLBLSort;
- property ListMergedSort: TListMergedSort read FListMergedSort write SetListMergedSort;
- property MergedInstancesSort: TMergedInstancesSort read FMergedInstancesSort write SetMergedInstancesSort;
- property TimeDisplay: TTimeDisplay read FTimeDisplay write SetTimeDisplay;
- property UseShortName: Boolean read FUseShortName write SetUseShortName;
-
- procedure ClearListLBL;
- procedure ClearListMerged;
- procedure ClearListMergedInstances;
- procedure ClearLists;
- procedure ClearTree;
- function FormatMs(Ms: TProfTime): string;
- function FormatPercent(Percent: Double): string;
- procedure Open(AFileName: string);
- procedure RefreshTree;
- procedure RefreshListLBL;
- procedure RefreshListMerged;
- procedure RefreshListMergedInstances;
- procedure RefreshLists;
- procedure Reload;
- procedure RepaintLists;
- procedure SelectLBLInstance(AInst: TProfInstance);
- procedure SelectListItem(LV: TListView; AIndex: Integer);
- procedure SelectMergedFunc(AFunc: TProfFunc);
- procedure SelectTreeInstance(AInst: TProfInstance);
- procedure SelectTreeNode(Node: TTreeNode);
- procedure ShowInfo(AInst: TProfInstance);
- procedure ShowMerged(AFunc: TProfFunc);
- procedure SyncTree;
- procedure SyncTreeNode(ANode: TTreeNode);
- procedure UpdateInfo;
- end;
-
-implementation
-
-uses uWait, uMain, RegExpr;
-
-{$R *.dfm}
-
-function CompareDouble(A, B: Double): Integer;
-begin
- if A > B then
- Result := 1
- else if B > A then
- Result := -1
- else
- Result := 0;
-end;
-
-function LBLSort(A, B: Pointer): Integer;
-var
- Form: TfDoc;
- IA, IB: TProfInstance;
-begin
- Result := 0;
- IA := TProfInstance(A);
- IB := TProfInstance(B);
- Form := IA.CacheGrind.Owner as TfDoc;
- case Form.ListLBLSort of
- lsFunction: Result := CompareText(IA.Name, IB.Name);
- lsSelf: Result := -CompareDouble(IA.SelfTime, IB.SelfTime);
- lsCum: Result := -CompareDouble(IA.CumTime, IB.CumTime);
- lsFileName: Result := CompareText(IA.FileName, IB.FileName);
- end;
- if Result = 0 then
- Result := CompareText(IA.Name, IB.Name);
-end;
-
-function MergedSort(A, B: Pointer): Integer;
-var
- Form: TfDoc;
- FA, FB: TProfFunc;
-begin
- Result := 0;
- FA := TProfFunc(A);
- FB := TProfFunc(B);
- Form := FA.CacheGrind.Owner as TfDoc;
- case Form.ListMergedSort of
- msFunction: Result := CompareText(FA.Name, FB.Name);
- msAvgSelf: Result := -CompareDouble(FA.AvgSelfTime, FB.AvgSelfTime);
- msAvgCum: Result := -CompareDouble(FA.AvgCumTime, FB.AvgCumTime);
- msTotSelf: Result := -CompareDouble(FA.TotSelfTime, FB.TotSelfTime);
- msTotCum: Result := -CompareDouble(FA.TotCumTime, FB.TotCumTime);
- msCalls: Result := FB.InstanceCount - FA.InstanceCount;
- end;
- if Result = 0 then
- Result := CompareText(FA.Name, FB.Name);
-end;
-
-function MergedInstancesSort(A, B: Pointer): Integer;
-var
- Form: TfDoc;
- IA, IB: TProfInstance;
-begin
- Result := 0;
- IA := TProfInstance(A);
- IB := TProfInstance(B);
- Form := IA.CacheGrind.Owner as TfDoc;
- case Form.MergedInstancesSort of
- misIndex: Result := IA.Index - IB.Index;
- misSelf: Result := -CompareDouble(IA.SelfTime, IB.SelfTime);
- misCum: Result := -CompareDouble(IA.CumTime, IB.CumTime);
- misCaller: Result := CompareText(IA.Caller.Name, IB.Caller.Name);
- misCallerFile: begin
- Result := CompareText(IA.Caller.FileName, IB.Caller.FileName);
- if Result = 0 then
- Result := IA.Line - IB.Line;
- end;
- end;
- if Result = 0 then
- Result := IA.Index - IB.Index;
-end;
-
-{ TfDoc }
-
-procedure TfDoc.Open(AFileName: string);
-begin
- fWait := TfWait.Create(Self);
- try
- fWait.Show;
- // clear stuff
- ClearLists;
- ClearTree;
- // parse
- CacheGrind.Load(AFileName);
- // add this to MRU
- Config.AddMRU(AFileName, CacheGrind.Cmd);
- // ok
- FFileName := AFileName;
- Caption := CacheGrind.Cmd + ' (' + ExtractFileName(FileName) + ')';
- // Analyzing
- CacheGrind.ReAnalyze;
- // update
- fWait.lWait.Caption := 'Updating tree view...';
- fWait.Update;
- RefreshTree;
- RefreshLists;
- UpdateInfo;
- finally
- fWait.Free;
- end;
-end;
-
-procedure TfDoc.FormCreate(Sender: TObject);
-begin
- FCacheGrind := TCacheGrind.Create(Self);
- FCacheGrind.OnAnalyzeProgress := CacheGrindAnalyzeProgress;
- FCacheGrind.OnLoadProgress := CacheGrindLoadProgress;
- FListLBL := TList.Create;
- FListMerged := TList.Create;
- FMergedInstances := TList.Create;
- // defaults
- FTimeDisplay := Config.TimeDisplay;
- FUseShortName := not Config.ShowFullPath;
- FHideLibFuncs := Config.HideLibFuncs;
- FListLBLSort := lsCum;
- FListMergedSort := msTotCum;
- // visual stuff
- pcProfiler.ActivePageIndex := 0;
-end;
-
-procedure TfDoc.FormDestroy(Sender: TObject);
-begin
- ClearLists;
- FreeAndNil(FListLBL);
- FreeAndNil(FMergedInstances);
- FreeAndNil(FListMerged);
- FreeAndNil(FCacheGrind);
-end;
-
-procedure TfDoc.FormClose(Sender: TObject; var Action: TCloseAction);
-begin
- Action := caFree;
-end;
-
-procedure TfDoc.ClearTree;
-begin
- tv.Items.Clear;
-end;
-
-procedure TfDoc.RefreshTree;
-var
- RootNode: TTreeNode;
-begin
- ClearTree;
- RootNode := AddToTree(nil, CacheGrind.Root, false);
- tv.Selected := RootNode;
- RootNode.Expand(False);
-end;
-
-function TfDoc.AddToTree(Parent: TTreeNode; Inst: TProfInstance; Cascade: Boolean): TTreeNode;
-var
- Node: TTreeNode;
- I: Integer;
- S: string;
-begin
- tv.Items.BeginUpdate;
- try
- if UseShortName then
- S := Inst.ShortName
- else
- S := Inst.Name;
- Node := tv.Items.AddChild(Parent, S);
- Node.Data := Inst;
- Node.ImageIndex := GetImageIndex(Inst.Kind);
- Node.SelectedIndex := Node.ImageIndex;
- Node.HasChildren := Inst.CallCount > 0;
- // link this instance to the tree node so we won't have to perform
- // searches later
- Inst.Data := Node;
- if Cascade then begin
- for I := 0 to Inst.CallCount - 1 do
- AddToTree(Node, Inst.Calls[I], True);
- end;
- Result := Node;
- finally
- tv.Items.EndUpdate;
- end;
-end;
-
-procedure TfDoc.ClearListLBL;
-begin
- lvLBL.Items.Count := 0;
- FListLBL.Clear;
- lvLBL.Invalidate;
-end;
-
-procedure TfDoc.lvLBLData(Sender: TObject; Item: TListItem);
-var
- Inst: TProfInstance;
- S: string;
-begin
- if (Item.Index >= 0) and (Item.Index < FListLBL.Count) then begin
- Inst := TProfInstance(FListLBL[Item.Index]);
- Item.Data := Inst;
- if UseShortName then
- Item.Caption := Inst.ShortName
- else
- Item.Caption := Inst.Name;
- case TimeDisplay of
- tdMs: begin
- Item.SubItems.Add(FormatMs(Inst.SelfTime));
- Item.SubItems.Add(FormatMs(Inst.CumTime));
- end;
- tdPercent: begin
- Item.SubItems.Add(FormatPercent(Inst.SelfPercent));
- Item.SubItems.Add(FormatPercent(Inst.CumPercent));
- end;
- else
- raise Exception.Create('Unknown time display option.');
- end;
- if UseShortName then
- S := Inst.ShortFileName
- else
- S := Inst.FileName;
- Item.SubItems.Add(S);
- if UseShortName then
- S := Inst.Caller.ShortFileName
- else
- S := Inst.Caller.FileName;
- // Inst.Line is the line number of the *CALLING* function
- if Inst.Line > 0 then
- S := S + ' (' + Format ('%.0n', [Inst.Line * 1.0]) + ')';
- Item.SubItems.Add(S);
- // set image
- Item.ImageIndex := GetImageIndex(Inst.Kind);
- end;
-end;
-
-procedure TfDoc.tvChange(Sender: TObject; Node: TTreeNode);
-begin
- RefreshLists;
- UpdateInfo;
-end;
-
-function TfDoc.GetImageIndex(Kind: TFuncKind): Integer;
-begin
- case Kind of
- fkRoot: begin
- if CacheGrind.SummaryExists then
- Result := 1
- else
- Result := 0;
- end;
- fkSection: Result := 2;
- fkFunc: Result := 3;
- fkConstructor: Result := 4;
- fkDestructor: Result := 5;
- fkPublicMethod: Result := 6;
- fkPrivateMethod: Result := 7;
- fkStaticMethod: Result := 8;
- fkInclude: Result := 9;
- fkLibFunc: Result := 10;
- else
- Result := 0;
- end;
-end;
-
-procedure TfDoc.lvLBLDblClick(Sender: TObject);
-begin
- aViewGoToOpen.Execute;
-end;
-
-procedure TfDoc.lvLBLKeyDown(Sender: TObject; var Key: Word;
- Shift: TShiftState);
-begin
- if Shift = [] then begin
- if Key = VK_RETURN then
- aViewGoToOpen.Execute
- else if Key = VK_BACK then
- aViewGoToUpOneLevel.Execute;
- end else if (Shift = [ssAlt]) and (Key = VK_RETURN) then
- aLBLShowInfo.Execute;
-end;
-
-procedure TfDoc.SetTimeDisplay(const Value: TTimeDisplay);
-begin
- FTimeDisplay := Value;
- RepaintLists;
-end;
-
-procedure TfDoc.aViewPercentUpdate(Sender: TObject);
-begin
- aViewPercent.Checked := TimeDisplay = tdPercent;
-end;
-
-procedure TfDoc.aViewMsUpdate(Sender: TObject);
-begin
- aViewMs.Checked := TimeDisplay = tdMs;
-end;
-
-procedure TfDoc.aViewPercentExecute(Sender: TObject);
-begin
- TimeDisplay := tdPercent;
-end;
-
-procedure TfDoc.aViewMsExecute(Sender: TObject);
-begin
- TimeDisplay := tdMs;
-end;
-
-procedure TfDoc.SetUseShortName(const Value: Boolean);
-begin
- FUseShortName := Value;
- SyncTree;
- RepaintLists;
-end;
-
-(**
- * Synchronizes the tree with underlying data.
- *
- * One of the cases when this is called is after a change to
- * {@link UseShortName} property. It will be unwise to refresh
- * the whole tree, so we just rename the nodes' captions accordingly.
- *)
-procedure TfDoc.SyncTree;
-var
- I: Integer;
-begin
- for I := 0 to tv.Items.Count - 1 do
- SyncTreeNode(tv.Items[I]);
-end;
-
-procedure TfDoc.SyncTreeNode(ANode: TTreeNode);
-var
- Inst: TProfInstance;
- I: Integer;
-begin
- Inst := TProfInstance(ANode.Data);
- if UseShortName then
- ANode.Text := Inst.ShortName
- else
- ANode.Text := Inst.Name;
- for I := 0 to ANode.Count - 1 do
- SyncTreeNode(ANode[I]);
-end;
-
-procedure TfDoc.CacheGrindAnalyzeProgress(Sender: TObject; Position,
- Max: Integer; Status: string);
-begin
- fWait.lWait.Caption := Status;
- fWait.pbWait.Position := Position;
- fWait.pbWait.Max := Max;
- fWait.Update;
-end;
-
-procedure TfDoc.CacheGrindLoadProgress(Sender: TObject; Position,
- Max: Integer; Status: string);
-begin
- fWait.lWait.Caption := Status;
- fWait.pbWait.Position := Position;
- fWait.pbWait.Max := Max;
- fWait.Update;
-end;
-
-procedure TfDoc.tvExpanding(Sender: TObject; Node: TTreeNode;
- var AllowExpansion: Boolean);
-var
- Inst: TProfInstance;
- I: Integer;
-begin
- if Node.HasChildren and (Node.Count = 0) then begin
- tv.Items.BeginUpdate;
- try
- // we do need to expand this
- Inst := TProfInstance(Node.Data);
- for I := 0 to Inst.CallCount - 1 do
- AddToTree(Node, Inst.Calls[I], False);
- finally
- tv.Items.EndUpdate;
- end;
- end;
-end;
-
-procedure TfDoc.aViewFullPathExecute(Sender: TObject);
-begin
- UseShortName := not UseShortName;
-end;
-
-procedure TfDoc.aViewFullPathUpdate(Sender: TObject);
-begin
- aViewFullPath.Checked := not UseShortName;
-end;
-
-procedure TfDoc.ClearLists;
-begin
- ClearListLBL;
- ClearListMerged;
-end;
-
-procedure TfDoc.ClearListMerged;
-begin
- lvMerged.Items.Count := 0;
- FListMerged.Clear;
- lvMerged.Invalidate;
-end;
-
-procedure TfDoc.RefreshListLBL;
-var
- Parent, Inst, LastInst: TProfInstance;
- I: Integer;
- Pass: Boolean;
-begin
- LastInst := nil;
- if lvLBL.Selected <> nil then
- LastInst := TProfInstance(FListLBL[lvLBL.ItemIndex]);
- ClearListLBL;
- if tv.Selected <> nil then begin
- Parent := TProfInstance(tv.Selected.Data);
- for I := 0 to Parent.CallCount - 1 do begin
- Inst := Parent.Calls[I];
- Pass := True;
- if HideLibFuncs and (Inst.Kind = fkLibFunc) then
- Pass := False
- else if (HideFastFuncs) and (Inst.CumTime < Config.FastThreshold) then
- Pass := False;
- if Pass then
- FListLBL.Add(Inst);
- end;
- if ListLBLSort <> lsLine then
- FListLBL.Sort(LBLSort);
- lvLBL.Items.Count := FListLBL.Count;
- SelectListItem(lvLBL, 0);
- SelectLBLInstance(LastInst);
- end;
- lvLBL.Invalidate;
-end;
-
-procedure TfDoc.RefreshListMerged;
-var
- Parent: TProfInstance;
- Func, LastFunc: TProfFunc;
- I: Integer;
- Q: string;
- Delete: Boolean;
- RE: TRegExpr;
- SumSelf: TProfTime;
- SumSelfPercent: Double;
- SumCalls: Integer;
-begin
- lFind.Caption := '';
- LastFunc := nil;
- if lvMerged.ItemIndex >= 0 then
- LastFunc := TProfFunc(FListMerged[lvMerged.ItemIndex]);
- ClearListMerged;
- SumSelf := 0;
- SumSelfPercent := 0;
- SumCalls := 0;
- if tv.Selected <> nil then begin
- Parent := TProfInstance(tv.Selected.Data);
- Parent.GetMerged(FListMerged);
- // filter
- RE := TRegExpr.Create;
- try
- if cbRE.Checked then begin
- RE.ModifierI := True;
- Q := cbFind.Text;
- if Q <> '' then begin
- try
- RE.Expression := Q;
- RE.Compile;
- except
- Q := '';
- lFind.Caption := 'Pattern invalid';
- lFind.Visible := True;
- end;
- end;
- end else
- Q := Trim(LowerCase(cbFind.Text));
- for I := FListMerged.Count - 1 downto 0 do begin
- Func := TProfFunc(FListMerged[I]);
- // filtering
- Delete := False;
- // filter for hide funcs
- if HideLibFuncs and(Func.Kind = fkLibFunc) then
- Delete := True
- // hide fast funcs
- else if HideFastFuncs and (Func.TotCumTime < Config.FastThreshold) then
- Delete := True
- // find
- else if Q <> '' then begin
- if cbRE.Checked then begin
- if not RE.Exec(Func.Name) then
- Delete := True;
- end else begin
- if (Pos(Q, LowerCase(Func.Name)) <= 0) then
- Delete := True;
- end;
- end;
- if Delete then begin
- FListMerged.Delete(I);
- end else begin
- // calculate sum
- SumSelf := SumSelf + Func.TotSelfTime;
- SumSelfPercent := SumSelfPercent + Func.TotSelfPercent;
- SumCalls := SumCalls + Func.InstanceCount;
- end;
- end;
- finally
- FreeAndNil(RE);
- end;
- // ok, continue
- FListMerged.Sort(MergedSort);
- lvMerged.Items.Count := FListMerged.Count;
- // select last function if available
- SelectListItem(lvMerged, 0);
- SelectMergedFunc(LastFunc);
- end;
- lvMerged.Invalidate;
- lMerged.Caption :=
- ' Sum of total self time: '+ FormatMs(SumSelf) +' ('+ FormatPercent(SumSelfPercent) + ')'
- + ' Sum of calls: '+ Format('%.0n', [SumCalls * 1.0]);
-end;
-
-procedure TfDoc.RefreshLists;
-begin
- RefreshListLBL;
- RefreshListMerged;
- RefreshListMergedInstances;
-end;
-
-procedure TfDoc.lvMergedData(Sender: TObject; Item: TListItem);
-var
- Func: TProfFunc;
-begin
- if (Item.Index >= 0) and (Item.Index < FListMerged.Count) then begin
- Func := TProfFunc(FListMerged[Item.Index]);
- Item.Data := Func;
- if UseShortName then
- Item.Caption := Func.ShortName
- else
- Item.Caption := Func.Name;
- case TimeDisplay of
- tdMs: begin
- Item.SubItems.Add(FormatMs(Func.AvgSelfTime));
- Item.SubItems.Add(FormatMs(Func.AvgCumTime));
- Item.SubItems.Add(FormatMs(Func.TotSelfTime));
- Item.SubItems.Add(FormatMs(Func.TotCumTime));
- end;
- tdPercent: begin
- Item.SubItems.Add(FormatPercent(Func.AvgSelfPercent));
- Item.SubItems.Add(FormatPercent(Func.AvgCumPercent));
- Item.SubItems.Add(FormatPercent(Func.TotSelfPercent));
- Item.SubItems.Add(FormatPercent(Func.TotCumPercent));
- end;
- else
- raise Exception.Create('Unknown time display option.');
- end;
- Item.SubItems.Add(Format('%.0n', [Func.InstanceCount * 1.0]));
- // set image
- Item.ImageIndex := GetImageIndex(Func.Kind);
- end;
-end;
-
-procedure TfDoc.RepaintLists;
-begin
- lvLBL.Invalidate;
- lvMerged.Invalidate;
-end;
-
-function TfDoc.FormatMs(Ms: TProfTime): string;
-begin
- if Ms < 0.1 then
- Result := '-'
- else if Ms < 10 then
- Result := Format('%.1n', [Ms]) + 'ms'
- else
- Result := Format('%.0n', [Ms]) + 'ms';
-end;
-
-function TfDoc.FormatPercent(Percent: Double): string;
-begin
- if Percent < 0.01 then
- Result := '-'
- else
- Result := Format('%.2f%%', [Percent]);
-end;
-
-procedure TfDoc.SetListLBLSort(const Value: TListLBLSort);
-begin
- FListLBLSort := Value;
- RefreshListLBL;
-end;
-
-procedure TfDoc.SetListMergedSort(const Value: TListMergedSort);
-begin
- FListMergedSort := Value;
- RefreshListMerged;
-end;
-
-procedure TfDoc.lvLBLColumnClick(Sender: TObject; Column: TListColumn);
-begin
- ListLBLSort := TListLBLSort(Column.Index);
-end;
-
-procedure TfDoc.lvMergedColumnClick(Sender: TObject; Column: TListColumn);
-begin
- ListMergedSort := TListMergedSort(Column.Index);
-end;
-
-procedure TfDoc.UpdateInfo;
-var
- Inst: TProfInstance;
-begin
- if tv.Selected <> nil then begin
- Inst := TProfInstance(tv.Selected.Data);
- lInfoName.Caption := Inst.Name;
- lInfoFileName.Caption := 'File: '+ Inst.FileName;
- lInfo.Caption := 'Self time: '+ FormatMs(Inst.SelfTime) + ' (' + FormatPercent(Inst.SelfPercent) + ')'
- + ' Cumulative time: '+ FormatMs(Inst.CumTime) + ' (' + FormatPercent(Inst.CumPercent) + ')';
- iInfo.Picture.Assign(nil);
- ilCacheGrind.GetBitmap(GetImageIndex(Inst.Kind), iInfo.Picture.Bitmap);
- pInfo.Visible := True;
- end else begin
- pInfo.Visible := False;
- end;
-end;
-
-procedure TfDoc.Reload;
-begin
- Open(FileName);
-end;
-
-procedure TfDoc.SetHideLibFuncs(const Value: Boolean);
-begin
- FHideLibFuncs := Value;
- RefreshLists;
-end;
-
-procedure TfDoc.aViewHideLibFuncsUpdate(Sender: TObject);
-begin
- aViewHideLibFuncs.Checked := HideLibFuncs;
-end;
-
-procedure TfDoc.aViewHideLibFuncsExecute(Sender: TObject);
-begin
- HideLibFuncs := not HideLibFuncs;
-end;
-
-procedure TfDoc.ToolButton1Click(Sender: TObject);
-begin
- case TimeDisplay of
- tdMs: TimeDisplay := tdPercent;
- tdPercent: TimeDisplay := tdMs;
- else
- raise Exception.Create('Unrecognize time display option.');
- end;
-end;
-
-function TfDoc.GetConfig: TConfig;
-begin
- Result := fMain.Config;
-end;
-
-procedure TfDoc.aViewGoToUpOneLevelUpdate(Sender: TObject);
-begin
- aViewGoToUpOneLevel.Enabled := (tv.Selected <> nil) and (tv.Selected.Parent <> nil);
-end;
-
-procedure TfDoc.aViewGoToUpOneLevelExecute(Sender: TObject);
-var
- LastInst: TProfInstance;
-begin
- if (tv.Selected <> nil) and (tv.Selected.Parent <> nil) then begin
- LastInst := TProfInstance(tv.Selected.Data);
- SelectTreeNode(tv.Selected.Parent);
- RefreshListLBL;
- SelectLBLInstance(LastInst);
- end;
-end;
-
-procedure TfDoc.RefreshListMergedInstances;
-var
- Func: TProfFunc;
- I: Integer;
-begin
- ClearListMergedInstances;
- if lvMerged.Selected <> nil then begin
- Func := TProfFunc(FListMerged[lvMerged.ItemIndex]);
- for I := 0 to Func.InstanceCount - 1 do
- FMergedInstances.Add(Func.Instances[I]);
- if MergedInstancesSort <> misIndex then
- FMergedInstances.Sort(uDoc.MergedInstancesSort);
- lvMergedInstances.Items.Count := FMergedInstances.Count;
- SelectListItem(lvMergedInstances, 0);
- end;
- lvMergedInstances.Invalidate;
-end;
-
-procedure TfDoc.ClearListMergedInstances;
-begin
- lvMergedInstances.Items.Count := 0;
- FMergedInstances.Clear;
- lvMergedInstances.Invalidate;
-end;
-
-procedure TfDoc.lvMergedInstancesData(Sender: TObject; Item: TListItem);
-var
- Inst, Cur: TProfInstance;
- S: string;
-begin
- if (Item.Index >= 0) and (Item.Index < FMergedInstances.Count) then begin
- Inst := TProfInstance(FMergedInstances[Item.Index]);
- Item.Data := Inst;
- Item.Caption := Format('%.0n', [(Inst.Index + 1) * 1.0]);
- // set image
- Item.ImageIndex := GetImageIndex(Inst.Kind);
- case TimeDisplay of
- tdMs: begin
- Item.SubItems.Add(FormatMs(Inst.SelfTime));
- Item.SubItems.Add(FormatMs(Inst.CumTime));
- end;
- tdPercent: begin
- Item.SubItems.Add(FormatPercent(Inst.SelfPercent));
- Item.SubItems.Add(FormatPercent(Inst.CumPercent));
- end;
- else
- raise Exception.Create('Unknown time display option.');
- end;
- if UseShortName then
- Item.SubItems.Add(Inst.Caller.ShortName)
- else
- Item.SubItems.Add(Inst.Caller.Name);
- if UseShortName then
- S := Inst.Caller.ShortFileName
- else
- S := Inst.Caller.FileName;
- // Inst.Line is the line number of the *CALLING* function
- if Inst.Line > 0 then
- S := S + ' (' + Format ('%.0n', [Inst.Line * 1.0]) + ')';
- Item.SubItems.Add(S);
- // stack trace euy!!! :-P
- S := '';
- Cur := Inst.Caller;
- while Cur <> nil do begin
- if Cur.Caller = nil then Break;
- if S <> '' then S := S + ' « ';
- S := S + Cur.ShortName;
- Cur := Cur.Caller;
- end;
- Item.SubItems.Add(S);
- end;
-end;
-
-procedure TfDoc.aViewGoToOpenUpdate(Sender: TObject);
-begin
- aViewGoToOpen.Enabled := lvLBL.Selected <> nil;
-end;
-
-procedure TfDoc.aViewGoToOpenExecute(Sender: TObject);
-begin
- if lvLBL.Selected <> nil then
- SelectTreeInstance(TProfInstance(FListLBL[lvLBL.ItemIndex]));
-end;
-
-procedure TfDoc.SetMergedInstancesSort(const Value: TMergedInstancesSort);
-begin
- FMergedInstancesSort := Value;
- FMergedInstances.Sort(uDoc.MergedInstancesSort);
- lvMergedInstances.Invalidate;
-end;
-
-procedure TfDoc.lvMergedInstancesColumnClick(Sender: TObject;
- Column: TListColumn);
-begin
- if Column.Index > Ord(High(TMergedInstancesSort)) then
- MessageDlg('Sorting on this column is not supported.', mtInformation,
- [mbOK], 0)
- else
- MergedInstancesSort := TMergedInstancesSort(Column.Index);
-end;
-
-{**
- * This function is VERY slow. If possible, use TfDoc.SelectTreeNode().
- *}
-procedure TfDoc.SelectTreeInstance(AInst: TProfInstance);
-var
- Path: TList;
- Cur: TProfInstance;
- Node, Found: TTreeNode;
- I: Integer;
-begin
- // if not the we must perform a search :-(
- Path := TList.Create;
- try
- // generate path
- Cur := AInst;
- while Cur <> nil do begin
- Path.Insert(0, Cur);
- Cur := Cur.Caller;
- end;
- // then find this path in treenode
- // give starting point
- Node := tv.Items[0];
- Path.Delete(0);
- // then loop
- while Path.Count > 0 do begin
- // get the instance to find
- Cur := Path[0];
- Path.Delete(0);
- // expand this node so we have children
- if Node.HasChildren and not Node.Expanded then
- Node.Expand(False);
- // I hope this path is already loaded
- if Cur.Data <> nil then
- Found := TTreeNode(Cur.Data)
- else begin
- // whoops!! we have to perform an exhaustive search :-(
- // search its children
- Found := nil;
- for I := 0 to Node.Count - 1 do begin
- if Node.Item[I].Data = Cur then begin
- Found := Node.Item[I];
- Break;
- end;
- end;
- end;
- // not found?
- if Found = nil then raise Exception.Create('Cannot find tree node.');
- // this is our node
- Node := Found;
- end;
- // then select this
- SelectTreeNode(Node);
- finally
- FreeAndNil(Path);
- end;
-end;
-
-procedure TfDoc.aMergedInstancesGoToUpdate(Sender: TObject);
-begin
- aMergedInstancesGoTo.Enabled := lvMergedInstances.Selected <> nil;
-end;
-
-procedure TfDoc.aMergedInstancesGoToExecute(Sender: TObject);
-begin
- SelectTreeInstance(FMergedInstances[lvMergedInstances.ItemIndex]);
- pcProfiler.ActivePage := tsLBL;
- lvLBL.SetFocus;
-end;
-
-procedure TfDoc.lvMergedInstancesDblClick(Sender: TObject);
-begin
- aMergedInstancesGoTo.Execute;
-end;
-
-procedure TfDoc.lvMergedInstancesKeyDown(Sender: TObject; var Key: Word;
- Shift: TShiftState);
-begin
- if (Shift = []) and (Key = VK_RETURN) then
- aMergedInstancesGoTo.Execute;
-end;
-
-(**
- * Opens a file in the editor.
- *)
-procedure TfDoc.aTreeOpenEditorUpdate(Sender: TObject);
-begin
- aTreeOpenEditor.Enabled := (tv.Selected <> nil) and (tv.Selected.Parent <> nil);
-end;
-
-procedure TfDoc.aTreeOpenEditorExecute(Sender: TObject);
-var
- Inst: TProfInstance;
-begin
- Inst := TProfInstance(tv.Selected.Data);
- fMain.OpenEditor(Inst.Caller.FileName, Self, Inst.Line);
-end;
-
-procedure TfDoc.tvKeyDown(Sender: TObject; var Key: Word;
- Shift: TShiftState);
-begin
- if (Shift = []) and (Key = VK_RETURN) then
- aTreeOpenEditor.Execute;
- if (Shift = []) and (Key = VK_BACK) then
- aViewGoToUpOneLevel.Execute;
- if (Shift = [ssAlt]) and (Key = VK_RETURN) then
- aTreeShowInfo.Execute;
-end;
-
-procedure TfDoc.aTreeShowInfoUpdate(Sender: TObject);
-begin
- aTreeShowInfo.Enabled := tv.Selected <> nil;
-end;
-
-procedure TfDoc.ShowInfo(AInst: TProfInstance);
-var
- S: string;
-begin
- S := '';
- if not CacheGrind.SummaryExists then
- S := S + 'Warning! This file does not contain a "summary:" line,'
- + ' this usually means the file is not valid.'
- + ' As of xdebug 2.0.0 beta 1, this can happen when you use'
- + ' exit() or die() in your script.'#13#10#13#10;
- S := S + 'Parser information:'#13#10;
- S := S + 'Definition line: ' + Format('%.0n', [AInst.ParserLine * 1.0]) + #13#10;
- S := S + 'Call line: ' + Format('%.0n', [AInst.ParserCallLine * 1.0]);
- MessageDlg(S, mtInformation, [mbOK], 0);
-end;
-
-procedure TfDoc.aLBLShowInfoUpdate(Sender: TObject);
-begin
- aLBLShowInfo.Enabled := lvLBL.Selected <> nil;
-end;
-
-procedure TfDoc.aLBLShowInfoExecute(Sender: TObject);
-begin
- ShowInfo(TProfInstance(FListLBL[lvLBL.ItemIndex]));
-end;
-
-procedure TfDoc.aTreeShowInfoExecute(Sender: TObject);
-begin
- ShowInfo(TProfInstance(tv.Selected.Data));
-end;
-
-procedure TfDoc.tvCollapsing(Sender: TObject; Node: TTreeNode;
- var AllowCollapse: Boolean);
-begin
- if Node.Parent = nil then
- AllowCollapse := False;
-end;
-
-procedure TfDoc.lvMergedSelectItem(Sender: TObject; Item: TListItem;
- Selected: Boolean);
-begin
- if Selected then
- RefreshListMergedInstances
- else
- ClearListMergedInstances;
-end;
-
-procedure TfDoc.aProfilerFindExecute(Sender: TObject);
-begin
- pcProfiler.ActivePage := tsMerged;
- cbFind.SetFocus;
- cbFind.SelectAll;
-end;
-
-procedure TfDoc.cbFindChange(Sender: TObject);
-begin
- tFind.Enabled := False;
- tFind.Enabled := True;
-end;
-
-procedure TfDoc.aLBLOpenEditorUpdate(Sender: TObject);
-begin
- aLBLOpenEditor.Enabled := lvLBL.Selected <> nil;
-end;
-
-procedure TfDoc.aLBLOpenEditorExecute(Sender: TObject);
-begin
- fMain.OpenEditor(TProfInstance(FListLBL[lvLBL.ItemIndex]).Caller.FileName,
- Self, TProfInstance(FListLBL[lvLBL.ItemIndex]).Line);
-end;
-
-procedure TfDoc.aTreeGoToRootExecute(Sender: TObject);
-begin
- SelectTreeNode(tv.Items[0]);
-end;
-
-procedure TfDoc.aTreeGoToRootUpdate(Sender: TObject);
-begin
- aTreeGoToRoot.Enabled := CacheGrind.Root <> nil;
-end;
-
-procedure TfDoc.aMergedInstancesOpenEditorUpdate(Sender: TObject);
-begin
- aMergedInstancesOpenEditor.Enabled := lvMergedInstances.Selected <> nil;
-end;
-
-procedure TfDoc.aMergedInstancesOpenEditorExecute(Sender: TObject);
-begin
- fMain.OpenEditor(TProfInstance(FMergedInstances[lvMergedInstances.ItemIndex]).Caller.FileName,
- Self, TProfInstance(FMergedInstances[lvMergedInstances.ItemIndex]).Line);
-end;
-
-procedure TfDoc.aMergedInstancesShowInfoUpdate(Sender: TObject);
-begin
- aMergedInstancesShowInfo.Enabled := lvMergedInstances.Selected <> nil;
-end;
-
-procedure TfDoc.aMergedInstancesShowInfoExecute(Sender: TObject);
-begin
- ShowInfo(TProfInstance(FMergedInstances[lvMergedInstances.ItemIndex]));
-end;
-
-procedure TfDoc.ShowMerged(AFunc: TProfFunc);
-begin
- // must clear filter first
- cbFind.Text := '';
- FHideFastFuncs := False;
- FHideLibFuncs := False;
- RefreshListMerged();
- // we must switch to parent (and more parents!!) if not found in current view
- while FListMerged.IndexOf(AFunc) < 0 do begin
- if tv.Selected.Parent = nil then
- raise Exception.Create('Cannot find current function in the whole function list (possibly a bug in this program).');
- SelectTreeNode(tv.Selected.Parent);
- // refresh lvMerged
- RefreshListMerged;
- end;
- // then select this function
- SelectMergedFunc(AFunc);
- // set focus
- pcProfiler.ActivePage := tsMerged;
- lvMerged.SetFocus;
-end;
-
-procedure TfDoc.aLBLShowOverallExecute(Sender: TObject);
-begin
- ShowMerged(TProfInstance(FListLBL[lvLBL.ItemIndex]).Func);
-end;
-
-procedure TfDoc.aLBLShowOverallUpdate(Sender: TObject);
-begin
- aLBLShowOverall.Enabled := lvLBL.Selected <> nil;
-end;
-
-procedure TfDoc.aTreeShowOverallExecute(Sender: TObject);
-begin
- ShowMerged(TProfInstance(tv.Selected.Data).Func);
-end;
-
-procedure TfDoc.aTreeShowOverallUpdate(Sender: TObject);
-begin
- aTreeShowOverall.Enabled := (tv.Selected <> nil) and (tv.Selected.Parent <> nil);
-end;
-
-procedure TfDoc.aTreeExpandUpdate(Sender: TObject);
-begin
- aTreeExpand.Enabled := (tv.Selected <> nil) and (tv.Selected.HasChildren) and (not tv.Selected.Expanded);
-end;
-
-procedure TfDoc.aTreeExpandExecute(Sender: TObject);
-begin
- tv.Selected.Expand(False);
- tv.Selected.MakeVisible;
-end;
-
-procedure TfDoc.aTreeCollapseUpdate(Sender: TObject);
-begin
- aTreeCollapse.Enabled := (tv.Selected <> nil) and (tv.Selected.Expanded) and (tv.Selected.Parent <> nil);
-end;
-
-procedure TfDoc.aTreeCollapseExecute(Sender: TObject);
-begin
- tv.Selected.Collapse(False);
-end;
-
-procedure TfDoc.aTreeExpandAllUpdate(Sender: TObject);
-begin
- aTreeExpandAll.Enabled := (tv.Selected <> nil) and (tv.Selected.HasChildren) and (not tv.Selected.Expanded);
-end;
-
-procedure TfDoc.aTreeExpandAllExecute(Sender: TObject);
-begin
- tv.Items.BeginUpdate;
- try
- tv.Selected.Expand(True);
- tv.Selected.MakeVisible;
- finally
- tv.Items.EndUpdate;
- end;
-end;
-
-procedure TfDoc.SelectMergedFunc(AFunc: TProfFunc);
-begin
- SelectListItem(lvMerged, FListMerged.IndexOf(AFunc));
-end;
-
-procedure TfDoc.SelectLBLInstance(AInst: TProfInstance);
-begin
- SelectListItem(lvLBL, FListLBL.IndexOf(AInst));
-end;
-
-procedure TfDoc.SelectListItem(LV: TListView; AIndex: Integer);
-begin
- if (AIndex >= 0) and (AIndex < LV.Items.Count) then begin
- ListView_EnsureVisible(LV.Handle, AIndex, False);
- ListView_SetItemState(LV.Handle, AIndex, LVIS_FOCUSED or LVIS_SELECTED,
- LVIS_FOCUSED or LVIS_SELECTED);
- end;
- // below doesn't work (unfortunately), and lvMerged.Selected := lvMerged.Items[I] also doesn't work
- // I think there's no VCL programmatical way to select an item in ownerdata listview
-// lvMerged.ItemIndex := I;
- // then show our stuff
-end;
-
-procedure TfDoc.SelectTreeNode(Node: TTreeNode);
-begin
- if Node <> nil then begin
- Node.MakeVisible;
- tv.Selected := Node;
- end;
-end;
-
-procedure TfDoc.SetHideFastFuncs(const Value: Boolean);
-begin
- FHideFastFuncs := Value;
- RefreshLists;
-end;
-
-procedure TfDoc.aViewHideFastFuncsUpdate(Sender: TObject);
-begin
- aViewHideFastFuncs.Checked := HideFastFuncs;
-end;
-
-procedure TfDoc.aViewHideFastFuncsExecute(Sender: TObject);
-begin
- HideFastFuncs := not HideFastFuncs;
-end;
-
-procedure TfDoc.tFindTimer(Sender: TObject);
-begin
- tFind.Enabled := False;
- RefreshListMerged;
-end;
-
-procedure TfDoc.cbFindSelect(Sender: TObject);
-begin
- cbRE.Checked := True;
- tFind.Enabled := False;
- tFind.Enabled := True;
-end;
-
-procedure TfDoc.cbREClick(Sender: TObject);
-begin
- tFind.Enabled := False;
- tFind.Enabled := True;
-end;
-
-end.
diff --git a/uEditor.dcu b/uEditor.dcu
deleted file mode 100644
index 6d604d6..0000000
Binary files a/uEditor.dcu and /dev/null differ
diff --git a/uEditor.ddp b/uEditor.ddp
deleted file mode 100644
index 4370276..0000000
Binary files a/uEditor.ddp and /dev/null differ
diff --git a/uEditor.~dfm b/uEditor.~dfm
deleted file mode 100644
index 458f718..0000000
--- a/uEditor.~dfm
+++ /dev/null
@@ -1,160 +0,0 @@
-object fEditor: TfEditor
- Left = 549
- Top = 427
- Width = 320
- Height = 240
- ActiveControl = he
- Caption = 'Editor'
- Color = clBtnFace
- Font.Charset = DEFAULT_CHARSET
- Font.Color = clWindowText
- Font.Height = -11
- Font.Name = 'MS Sans Serif'
- Font.Style = []
- FormStyle = fsMDIChild
- Icon.Data = {
- 0000010001001010100000000000280100001600000028000000100000002000
- 00000100040000000000C0000000000000000000000000000000000000000000
- 000000008000008000000080800080000000800080008080000080808000C0C0
- C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000
- 00000000000000000000000000000000FFFFFFFF00000000F0000FFF00000000
- FFFFFFFF00000000F000000F00000000FFFFFFFF00000000F000000F00000000
- FFFFFFFF00000000F000FFFF00000000FFFFF00000000000F00FF0F000000000
- FFFFF0000000000000000000000000000000000000000000000000000000FFFF
- 0000E0070000E0070000E0070000E0070000E0070000E0070000E0070000E007
- 0000E0070000E0070000E00F0000E01F0000E03F0000FFFF0000FFFF0000}
- OldCreateOrder = True
- Position = poDefault
- ScreenSnap = True
- ShowHint = True
- Visible = True
- OnClose = FormClose
- OnCloseQuery = FormCloseQuery
- PixelsPerInch = 96
- TextHeight = 13
- object ToolBar1: TToolBar
- Left = 0
- Top = 0
- Width = 312
- Height = 26
- AutoSize = True
- BorderWidth = 1
- Caption = 'ToolBar1'
- EdgeBorders = []
- Flat = True
- Images = fMain.il
- TabOrder = 0
- object ToolButton1: TToolButton
- Left = 0
- Top = 0
- Action = aFileSave
- end
- object ToolButton2: TToolButton
- Left = 23
- Top = 0
- Action = aFileClose
- end
- object ToolButton3: TToolButton
- Left = 46
- Top = 0
- Width = 8
- Caption = 'ToolButton3'
- ImageIndex = 2
- Style = tbsSeparator
- end
- object ToolButton4: TToolButton
- Left = 54
- Top = 0
- Action = aFileRevertToSaved
- end
- end
- object he: TJvHLEditor
- Left = 0
- Top = 26
- Width = 312
- Height = 180
- Cursor = crIBeam
- GutterWidth = 0
- RightMarginColor = clSilver
- Completion.ItemHeight = 13
- Completion.Interval = 800
- Completion.ListBoxStyle = lbStandard
- Completion.CaretChar = '|'
- Completion.CRLF = '/n'
- Completion.Separator = '='
- TabStops = '5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77'
- SmartTab = False
- BackSpaceUnindents = False
- SelForeColor = clHighlightText
- SelBackColor = clHighlight
- OnGetLineAttr = heGetLineAttr
- Align = alClient
- Font.Charset = DEFAULT_CHARSET
- Font.Color = clWindowText
- Font.Height = -13
- Font.Name = 'Courier New'
- Font.Style = []
- ParentColor = False
- ParentFont = False
- TabStop = True
- UseDockManager = False
- Highlighter = hlPhp
- Colors.Comment.Style = [fsItalic]
- Colors.Comment.ForeColor = clOlive
- Colors.Comment.BackColor = clWindow
- Colors.Number.ForeColor = clNavy
- Colors.Number.BackColor = clWindow
- Colors.Strings.ForeColor = clPurple
- Colors.Strings.BackColor = clWindow
- Colors.Symbol.ForeColor = clBlue
- Colors.Symbol.BackColor = clWindow
- Colors.Reserved.Style = [fsBold]
- Colors.Reserved.ForeColor = clWindowText
- Colors.Reserved.BackColor = clWindow
- Colors.Identifier.ForeColor = clWindowText
- Colors.Identifier.BackColor = clWindow
- Colors.Preproc.ForeColor = clGreen
- Colors.Preproc.BackColor = clWindow
- Colors.FunctionCall.ForeColor = clWindowText
- Colors.FunctionCall.BackColor = clWindow
- Colors.Declaration.ForeColor = clWindowText
- Colors.Declaration.BackColor = clWindow
- Colors.Statement.Style = [fsBold]
- Colors.Statement.ForeColor = clWindowText
- Colors.Statement.BackColor = clWindow
- Colors.PlainText.ForeColor = clWindowText
- Colors.PlainText.BackColor = clWindow
- end
- object al: TActionList
- Images = fMain.il
- Left = 184
- Top = 60
- object aFileClose: TAction
- Caption = 'Close'
- Hint = 'Close|Closes the current file.'
- ImageIndex = 5
- OnExecute = aFileCloseExecute
- end
- object aFileSave: TAction
- Caption = 'Save'
- Hint = 'Save|Saves the current file.'
- ImageIndex = 22
- ShortCut = 16467
- OnExecute = aFileSaveExecute
- OnUpdate = aFileSaveUpdate
- end
- object aFileRevertToSaved: TAction
- Caption = 'Revert to Saved'
- Hint = 'Revert to Saved|Reloads the file and discards any changes.'
- ImageIndex = 21
- OnExecute = aFileRevertToSavedExecute
- OnUpdate = aFileRevertToSavedUpdate
- end
- end
- object tUpdateStatus: TTimer
- Interval = 100
- OnTimer = tUpdateStatusTimer
- Left = 24
- Top = 172
- end
-end
diff --git a/uEditor.~pas b/uEditor.~pas
deleted file mode 100644
index 0d25fab..0000000
--- a/uEditor.~pas
+++ /dev/null
@@ -1,191 +0,0 @@
-unit uEditor;
-
-interface
-
-uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, JvEditor, JvHLEditor, ComCtrls, ActnList, Menus, ToolWin,
- ImgList, StdCtrls, ExtCtrls, JvExControls, JvComponent, JvEditorCommon;
-
-type
- TfEditor = class(TForm)
- al: TActionList;
- ToolBar1: TToolBar;
- aFileClose: TAction;
- aFileSave: TAction;
- ToolButton1: TToolButton;
- ToolButton2: TToolButton;
- he: TJvHLEditor;
- tUpdateStatus: TTimer;
- aFileRevertToSaved: TAction;
- ToolButton3: TToolButton;
- ToolButton4: TToolButton;
- procedure aFileCloseExecute(Sender: TObject);
- procedure aFileSaveUpdate(Sender: TObject);
- procedure aFileSaveExecute(Sender: TObject);
- procedure tUpdateStatusTimer(Sender: TObject);
- procedure aFileRevertToSavedUpdate(Sender: TObject);
- procedure aFileRevertToSavedExecute(Sender: TObject);
- procedure FormClose(Sender: TObject; var Action: TCloseAction);
- procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
- procedure heGetLineAttr(Sender: TObject; var Line: String;
- Index: Integer; var Attrs: TLineAttrs);
- private
- FFileName: string;
- FHighlightedLine: Integer;
- procedure SetHighlightedLine(const Value: Integer);
- { Private declarations }
- public
- { Public declarations }
- property FileName: string read FFileName;
- property HighlightedLine: Integer read FHighlightedLine write SetHighlightedLine;
-
- constructor Create(AOwner: TComponent); override;
- destructor Destroy; override;
- procedure CloseFile;
- procedure Open(AFileName: string);
- procedure Save;
- end;
-
-implementation
-
-{$R *.dfm}
-
-uses uMain;
-
-{ TfEditor }
-
-procedure TfEditor.CloseFile;
-begin
- if FileName <> '' then begin
- if he.Modified then begin
- if MessageDlg(ExtractFileName(FileName) +' has been modified.'
- + ' Do you want to save the changes?', mtConfirmation,
- [mbYes, mbNo], 0) = idYes then
- Save;
- end;
- he.Lines.Clear;
- he.ReadOnly := True;
- FFileName := '';
- Caption := 'No file';
- HighlightedLine := -1;
- end;
-end;
-
-constructor TfEditor.Create(AOwner: TComponent);
-begin
- inherited;
- he.ReadOnly := True;
-end;
-
-destructor TfEditor.Destroy;
-begin
- CloseFile;
- inherited;
-end;
-
-procedure TfEditor.Open(AFileName: string);
-begin
- CloseFile;
- he.Lines.LoadFromFile(AFileName);
- FFileName := AFileName;
- he.ReadOnly := False;
- Caption := FFileName;
- HighlightedLine := -1;
-end;
-
-procedure TfEditor.Save;
-begin
- he.Lines.SaveToFile(FileName);
- he.Modified := False;
-end;
-
-procedure TfEditor.aFileCloseExecute(Sender: TObject);
-begin
- Close;
-end;
-
-procedure TfEditor.aFileSaveUpdate(Sender: TObject);
-begin
- aFileSave.Enabled := (FileName <> '') and (he.Modified);
-end;
-
-procedure TfEditor.aFileSaveExecute(Sender: TObject);
-begin
- Save;
-end;
-
-procedure TfEditor.tUpdateStatusTimer(Sender: TObject);
-begin
- if FileName = '' then
- Hint := '|No opened file.'
- else begin
- Hint := '|Column '+ IntToStr(he.CaretX+1) + ' Line '
- + IntToStr(he.CaretY+1);
- if he.CaretY <> HighlightedLine then
- HighlightedLine := -1;
- end;
-end;
-
-procedure TfEditor.aFileRevertToSavedUpdate(Sender: TObject);
-begin
- aFileRevertToSaved.Enabled := (FileName <> '') and (he.Modified);
-end;
-
-procedure TfEditor.aFileRevertToSavedExecute(Sender: TObject);
-begin
- if MessageDlg('Reload file and discards any changes?',
- mtConfirmation, [mbYes, mbNo], 0) = idYes then
- begin
- he.Modified := False;
- Open(FileName);
- end;
-end;
-
-procedure TfEditor.FormClose(Sender: TObject; var Action: TCloseAction);
-begin
- Action := caFree;
-end;
-
-procedure TfEditor.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
-var
- Res: Integer;
-begin
- if FileName <> '' then begin
- if he.Modified then begin
- Res := MessageDlg(ExtractFileName(FileName) +' has been modified.'
- + ' Do you want to save the changes?', mtConfirmation,
- [mbYes, mbNo, mbCancel], 0);
- case Res of
- idYes: Save;
- idCancel: begin
- CanClose := False;
- Exit;
- end;
- end;
- end;
- he.Lines.Clear;
- he.ReadOnly := True;
- FFileName := '';
- Caption := 'No file';
- end;
-end;
-
-procedure TfEditor.heGetLineAttr(Sender: TObject; var Line: String;
- Index: Integer; var Attrs: TLineAttrs);
-var
- I: Integer;
-begin
- if Index = HighlightedLine then begin
- for I := Low(Attrs) to High(Attrs) do
- Attrs[I].BC := clBtnFace;
- end;
-end;
-
-procedure TfEditor.SetHighlightedLine(const Value: Integer);
-begin
- FHighlightedLine := Value;
- he.Invalidate;
-end;
-
-end.
diff --git a/uMain.dcu b/uMain.dcu
deleted file mode 100644
index 114aab8..0000000
Binary files a/uMain.dcu and /dev/null differ
diff --git a/uMain.ddp b/uMain.ddp
deleted file mode 100644
index 4370276..0000000
Binary files a/uMain.ddp and /dev/null differ
diff --git a/uMain.~ddp b/uMain.~ddp
deleted file mode 100644
index 4370276..0000000
Binary files a/uMain.~ddp and /dev/null differ
diff --git a/uMain.~dfm b/uMain.~dfm
deleted file mode 100644
index d0a0e8a..0000000
--- a/uMain.~dfm
+++ /dev/null
@@ -1,1411 +0,0 @@
-object fMain: TfMain
- Left = 855
- Top = 272
- Width = 635
- Height = 431
- ActiveControl = lvExplorer
- Caption = 'WinCacheGrind'
- Color = clBtnFace
- Font.Charset = DEFAULT_CHARSET
- Font.Color = clWindowText
- Font.Height = -11
- Font.Name = 'MS Sans Serif'
- Font.Style = []
- FormStyle = fsMDIForm
- Menu = mm
- OldCreateOrder = False
- Position = poDefault
- ScreenSnap = True
- ShowHint = True
- OnCreate = FormCreate
- OnDestroy = FormDestroy
- OnShow = FormShow
- PixelsPerInch = 96
- TextHeight = 13
- object sExplorer: TSplitter
- Left = 0
- Top = 270
- Width = 627
- Height = 4
- Cursor = crVSplit
- Align = alBottom
- end
- object sb: TStatusBar
- Left = 0
- Top = 366
- Width = 627
- Height = 19
- AutoHint = True
- Panels = <
- item
- Width = 50
- end>
- SimplePanel = True
- end
- object ToolBar1: TToolBar
- Left = 0
- Top = 0
- Width = 627
- Height = 28
- AutoSize = True
- BorderWidth = 1
- Caption = 'ToolBar1'
- DragKind = dkDock
- EdgeBorders = [ebBottom]
- Flat = True
- Images = il
- TabOrder = 1
- object ToolButton1: TToolButton
- Left = 0
- Top = 0
- Action = aFileOpen
- end
- object ToolButton2: TToolButton
- Left = 23
- Top = 0
- Action = aFileReload
- end
- object ToolButton3: TToolButton
- Left = 46
- Top = 0
- Width = 8
- Caption = 'ToolButton3'
- ImageIndex = 2
- Style = tbsSeparator
- end
- object ToolButton9: TToolButton
- Left = 54
- Top = 0
- Action = aViewExplorer
- end
- object ToolButton8: TToolButton
- Left = 77
- Top = 0
- Width = 8
- Caption = 'ToolButton8'
- ImageIndex = 3
- Style = tbsSeparator
- end
- object ToolButton4: TToolButton
- Left = 85
- Top = 0
- Action = aToolsOptions
- end
- object ToolButton5: TToolButton
- Left = 108
- Top = 0
- Width = 8
- Caption = 'ToolButton5'
- ImageIndex = 4
- Style = tbsSeparator
- end
- object ToolButton7: TToolButton
- Left = 116
- Top = 0
- Action = aHelpReadMe
- end
- object ToolButton6: TToolButton
- Left = 139
- Top = 0
- Action = aHelpAbout
- end
- end
- object lvExplorer: TListView
- Left = 0
- Top = 274
- Width = 627
- Height = 92
- Align = alBottom
- Columns = <
- item
- Caption = 'File Name'
- Width = 160
- end
- item
- Caption = 'Title'
- Width = 360
- end
- item
- Alignment = taRightJustify
- Caption = 'Modified'
- Width = 110
- end
- item
- Alignment = taRightJustify
- Caption = 'Size'
- Width = 70
- end>
- HideSelection = False
- OwnerData = True
- ReadOnly = True
- RowSelect = True
- PopupMenu = pmExplorer
- SmallImages = ilIcons
- TabOrder = 2
- ViewStyle = vsReport
- OnColumnClick = lvExplorerColumnClick
- OnData = lvExplorerData
- OnDblClick = lvExplorerDblClick
- OnKeyDown = lvExplorerKeyDown
- end
- object tbTabs: TJvTabBar
- Left = 0
- Top = 28
- Width = 627
- Images = ilIcons
- Tabs = <
- item
- Caption = 'asdasd'
- Selected = True
- ImageIndex = 0
- end
- item
- Caption = 'asdasd'
- ImageIndex = 2
- end>
- OnTabClosed = tbTabsTabClosed
- OnTabSelected = tbTabsTabSelected
- end
- object il: TImageList
- Left = 104
- Top = 80
- Bitmap = {
- 494C010117001800040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
- 0000000000003600000028000000400000006000000001002000000000000060
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000FFFFFF00FFFFFF000000FF000000FF00FFFF
- FF000000FF000000FF00FFFFFF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
- FF000000FF00FFFFFF00FFFFFF00000000000000000000000000008080000080
- 8000000000000000000000000000000000000000000000000000000000000000
- 0000000000000080800000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF0000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
- FF000000FF00FFFFFF00FFFFFF00000000000000000000000000008080000080
- 8000000000000000000000000000000000000000000000000000000000000000
- 0000000000000080800000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF000000FF000000
- FF000000FF000000FF00FFFFFF00000000000000000000000000008080000080
- 8000000000000000000000000000000000000000000000000000000000000000
- 0000000000000080800000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF00000000000000000000000000000000000000000000000000FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000FFFFFF00FFFFFF000000FF000000FF00FFFF
- FF00FFFFFF000000FF00FFFFFF00000000000000000000000000008080000080
- 8000000000000000000000000000000000000000000000000000000000000000
- 0000000000000080800000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF
- FF00000000000000000000000000000000000000000000000000008080000080
- 8000008080000080800000808000008080000080800000808000008080000080
- 8000008080000080800000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF00000000000000000000000000000000000000000000000000FFFF
- FF00000000000000000000000000000000000000000000800000008000000000
- 0000000000000000000000000000000000000080000000000000FFFFFF00FFFF
- FF0000000000FFFFFF0000000000000000000000000000000000008080000080
- 8000000000000000000000000000000000000000000000000000000000000000
- 0000008080000080800000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00000000000000000000000000000000000000000000800000008000000000
- 0000000000000000000000000000000000000080000000000000FFFFFF00FFFF
- FF00000000000000000000000000000000000000000000000000008080000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000080800000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF00000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00000000000000000000000000000000000000000000800000008000000000
- 0000000000000000000000000000000000000080000000000000000000000000
- 0000000000000000000000000000000000000000000000000000008080000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000080800000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000000000000000
- 0000000000000000000000000000000000000000000000800000008000000080
- 0000008000000080000000800000008000000080000000000000000000000000
- 0000000000000000000000000000000000000000000000000000008080000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000080800000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF000000000000000000FFFFFF00FFFFFF0000000000FFFFFF000000
- 0000000000000000000000000000000000000000000000800000000000000000
- 0000000000000000000000000000000000000080000000000000000000000000
- 0000000000000000000000000000000000000000000000000000008080000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000080800000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000000000000000
- 000000000000000000000000000000000000000000000080000000000000FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000080000000000000000000000000
- 0000000000000000000000000000000000000000000000000000008080000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000080000000000000FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000080000000000000000000000000
- 0000000000000000000000000000000000000000000000000000008080000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000080000000000000FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000080000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000008484840084848400848484008484
- 8400848484008484840084848400848484008484840084848400FFFFFF00C6C6
- C60084848400C6C6C600FFFFFF00C6C6C6000000000000000000000000000000
- 0000000000000000000084000000840000008400000084000000840000008400
- 0000840000008400000084000000840000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000008484840084848400848484008484
- 840084848400848484008484840084848400848484008484840084848400FFFF
- FF0084848400FFFFFF0084848400848484000000000000000000000000000000
- 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00840000000000000084000000840000008400
- 0000840000008400000084000000840000008400000084000000840000008400
- 0000840000008400000000000000000000000000000084000000840000008400
- 0000840000008400000084000000840000008400000084000000840000008400
- 0000840000008400000000000000000000008400000084000000840000008400
- 00000000000000000000848484008484840084848400FFFFFF00FFFFFF00FFFF
- FF00840000008400000084000000840000000000000000000000000000000000
- 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00840000000000000084000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF008400000000000000000000000000000084000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0084000000FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF008400000000000000000000000000000000000000000000008400
- 0000FF00000084000000000000000000000084848400FFFFFF00FFFFFF00FFFF
- FF00840000000000000000000000000000000000000000000000000000000000
- 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00840000000000000084000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF008400000000000000000000000000000084000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0084000000FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF008400000000000000000000000000000000000000000000008400
- 000084000000FF0000008400000000000000FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00840000000000000000000000000000000000000000000000000000008400
- 0000840000008400000084000000840000008400000084000000840000008400
- 0000840000008400000084000000840000000000000084000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF008400000000000000000000000000000084000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0084000000FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF008400000000000000000000000000000000000000000000008400
- 0000FF00000084000000FF00000000000000FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00840000000000000000000000000000000000000000000000000000008400
- 0000FFFFFF00FFFFFF0084000000840000008400000084000000840000008400
- 00008400000084000000FFFFFF00840000000000000084000000840000008400
- 0000840000008400000084000000840000008400000084000000840000008400
- 0000840000008400000000000000000000000000000084000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0084000000FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF008400000000000000000000000000000000000000000000008400
- 000084000000FF0000008400000000000000FFFFFF00FFFF0000FFFFFF00FFFF
- 0000840000000000000000000000000000000000000000000000000000008400
- 0000FFFFFF00FFFFFF0084000000840000008400000084000000840000008400
- 0000840000008400000084000000840000000000000084000000840000008400
- 0000840000008400000084000000840000008400000084000000840000008400
- 0000FFFFFF008400000000000000000000000000000084000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0084000000FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF008400000000000000000000000000000000000000000000008400
- 0000FF00000084000000FF00000000000000FFFF0000FFFFFF00FFFF0000FFFF
- FF00840000000000000000000000000000000000000000000000000000008400
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00840000000000000000000000000000000000000084000000840000008400
- 0000840000008400000084000000840000008400000084000000840000008400
- 0000840000008400000000000000000000000000000084000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0084000000FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF008400000000000000000000000000000000000000000000008400
- 000084000000FF0000008400000000000000FFFFFF00FFFF0000FFFFFF00FFFF
- 0000840000000000000000000000000000000000000084000000840000008400
- 0000840000008400000084000000840000008400000084000000840000008400
- 0000840000000000000000000000000000000000000084000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF008400000000000000000000000000000084000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0084000000FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF008400000000000000000000000000000000000000000000008400
- 0000FF00000084000000FF00000000000000FFFF0000FFFFFF00FFFF0000FFFF
- FF00840000000000000000000000000000000000000084000000FFFFFF008400
- 000084000000840000008400000084000000840000008400000084000000FFFF
- FF00840000000000000000000000000000000000000084000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF008400000000000000000000000000000084000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0084000000FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF008400000000000000000000000000000000000000000000008400
- 0000840000008400000084000000840000008400000084000000840000008400
- 0000840000000000000000000000000000000000000084000000FFFFFF008400
- 0000840000008400000084000000840000008400000084000000840000008400
- 0000840000000000000000000000000000000000000084000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF008400000000000000000000000000000084000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0084000000FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF008400000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000084000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00840000000000
- 0000000000000000000000000000000000000000000084000000840000008400
- 0000840000008400000084000000840000008400000084000000840000008400
- 0000840000008400000000000000000000000000000084000000840000008400
- 0000840000008400000084000000840000008400000084000000840000008400
- 0000840000008400000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000084000000840000008400
- 0000840000008400000084000000840000008400000084000000840000000000
- 0000000000000000000000000000000000000000000084000000840000008400
- 0000840000008400000084000000840000008400000084000000840000008400
- 0000FFFFFF008400000000000000000000000000000084000000840000008400
- 00008400000084000000FFFFFF00840000008400000084000000840000008400
- 0000FFFFFF008400000000000000000000000000000000000000000000000000
- 0000000000000000000000840000008400000084000000840000000000000000
- 0000000000000000000000000000000000000000000084000000840000008400
- 00008400000084000000840000008400000084000000FFFFFF00840000000000
- 0000000000000000000000000000000000000000000084000000840000008400
- 0000840000008400000084000000840000008400000084000000840000008400
- 0000840000008400000000000000000000000000000084000000840000008400
- 0000840000008400000084000000840000008400000084000000840000008400
- 0000840000008400000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000084000000840000008400
- 0000840000008400000084000000840000008400000084000000840000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000084000000840000008400000084000000840000008400
- 0000840000008400000084000000840000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000840000008400000084000000840000008400
- 0000840000008400000084000000840000000000000000000000000000000000
- 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00840000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00840000000000000084848400008484008484
- 8400008484008484840084000000FFFFFF000000000000000000000000000000
- 00000000000000000000FFFFFF00840000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000084000000FFFFFF0000000000000000000000
- 00000000000000000000FFFFFF00840000000000000000848400848484000084
- 8400848484000084840084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00840000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00840000000000000084848400008484008484
- 8400008484008484840084000000FFFFFF00000000000000000000000000FFFF
- FF00840000008400000084000000840000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000840000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0084000000FFFFFF0000000000000000000000
- 00000000000000000000FFFFFF00840000000000000000848400848484000084
- 8400848484000084840084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF0084000000FFFFFF0084000000000000000000000000000000840000008400
- 0000840000008400000084000000000000000000000000000000000000000000
- 0000840000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000FFFFFF000000
- 000000000000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00840000000000000084848400008484008484
- 8400008484008484840084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00840000008400000000000000000000000000000000000000840000008400
- 0000840000008400000000000000000000000000000000000000000000000000
- 0000000000008400000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0084000000FFFFFF000000000000000000FFFF
- FF00840000008400000084000000840000000000000000848400848484000084
- 8400848484000084840084000000840000008400000084000000840000008400
- 0000840000000000000000000000000000000000000000000000840000008400
- 0000840000000000000000000000000000000000000000000000000000000000
- 0000000000008400000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000FFFFFF000000
- 000000000000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFF
- FF0084000000FFFFFF0084000000000000000000000084848400008484008484
- 8400008484008484840000848400848484000084840084848400008484008484
- 8400008484000000000000000000000000000000000000000000840000008400
- 0000000000008400000000000000000000000000000000000000000000000000
- 0000000000008400000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0084000000FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00840000008400000000000000000000000000000000848400848484000000
- 0000000000000000000000000000000000000000000000000000000000008484
- 8400848484000000000000000000000000000000000000000000840000000000
- 0000000000000000000084000000840000000000000000000000000000000000
- 0000840000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000FFFFFF000000
- 000000000000FFFFFF0000000000840000008400000084000000840000008400
- 0000840000000000000000000000000000000000000084848400848484000000
- 0000000000000000000000000000000000000000000000000000000000008484
- 8400008484000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000008400000084000000840000008400
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0000000000FFFFFF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000848400848484000084
- 84000000000000FFFF00000000000000000000FFFF0000000000848484000084
- 8400848484000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000FFFF0000FFFF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000008400000084000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000FFFFFF00FFFF
- FF00FFFFFF007F7F7F000000000000000000000000007F7F7F00FFFFFF00FFFF
- FF00FFFFFF000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000840000000000000000000000840000000000000000000000840000008400
- 00000000000000000000000000000000000000000000FFFFFF00000000000000
- 0000FFFFFF000000000000000000FFFFFF00000000000000000000000000FFFF
- FF000000000000000000FFFFFF00000000000000000000000000FFFFFF00FFFF
- FF0000000000BFBFBF00FFFFFF00FFFFFF00FFFFFF00BFBFBF0000000000FFFF
- FF00FFFFFF000000000000000000000000000000000000000000009F9F00009F
- 9F00009F9F00009F9F00009F9F00009F9F00009F9F00009F9F00009F9F00009F
- 9F00009F9F00009F9F0000000000000000000000000000000000000000000000
- 0000840000000000000000000000840000000000000084000000000000000000
- 00008400000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000FFFFFF007F7F
- 7F00BFBFBF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BFBFBF007F7F
- 7F00FFFFFF000000000000000000000000000000000000000000009F9F00FFFF
- FF009FCFFF009FFFFF009FCFFF009FFFFF009FCFFF009FCFFF009FCFFF009FCF
- FF0060CFCF00009F9F0000000000000000000000000000000000000000000000
- 0000840000000000000000000000840000000000000084000000000000000000
- 00008400000000000000000000000000000000000000FFFFFF00000000000000
- 0000FFFFFF000000000000000000FFFFFF00FFFFFF0000000000000000000000
- 00000000000000000000FFFFFF00000000000000000000000000FFFFFF000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
- 0000FFFFFF0000000000000000000000000000000000009F9F00FFFFFF009FFF
- FF009FFFFF009FCFFF009FFFFF009FCFFF009FFFFF009FCFFF009FCFFF009FCF
- FF0060CFCF0000000000009F9F00000000000000000000000000000000000000
- 0000000000008400000084000000840000000000000084000000000000000000
- 00008400000000000000000000000000000000000000FFFFFF00FFFF0000FFFF
- 0000FFFF0000FFFF0000FFFF0000FFFFFF00FFFFFF0000000000FFFFFF000000
- FF00FFFFFF00FF000000FFFFFF00000000000000000000000000FFFFFF000000
- 0000FFFFFF00FFFFFF00FFFFFF000000FF000000000000000000FFFFFF000000
- 0000FFFFFF0000000000000000000000000000000000009F9F00FFFFFF009FFF
- FF009FFFFF009FFFFF009FFFFF009FFFFF009FCFFF009FFFFF009FCFFF009FCF
- FF00009F9F0000000000009F9F00000000000000000000000000000000000000
- 0000000000000000000000000000840000000000000084000000840000008400
- 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF000000
- FF00FFFFFF00FF000000FFFFFF00000000000000000000000000FFFFFF000000
- 0000FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00FFFFFF000000
- 0000FFFFFF00000000000000000000000000009F9F00FFFFFF009FFFFF009FFF
- FF009FFFFF009FFFFF009FCFFF009FFFFF009FFFFF009FCFFF009FFFFF0060CF
- CF000000000060CFCF0060CFCF00000000000000000000000000000000000000
- 0000000000000000000000000000840000000000000084000000000000000000
- 00000000000000000000000000000000000000000000FFFFFF00000000000000
- 00000000000000000000FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFF
- FF00FFFFFF00FF000000FFFFFF00000000000000000000000000FFFFFF007F7F
- 7F00BFBFBF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00BFBFBF007F7F
- 7F00FFFFFF00000000000000000000000000009F9F00FFFFFF009FFFFF009FFF
- FF009FFFFF009FFFFF009FFFFF009FFFFF009FCFFF009FFFFF009FCFFF0060CF
- CF000000000060CFCF0060CFCF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FFFFFF00000000000000
- 00000000000000000000FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000FFFFFF00FFFF
- FF0000000000BFBFBF00FFFFFF0000000000FFFFFF00BFBFBF0000000000FFFF
- FF00FFFFFF00000000000000000000000000009F9F00009F9F00009F9F00009F
- 9F00009F9F00009F9F00009F9F00009F9F00009F9F00009F9F00009F9F00009F
- 9F0060CFCF009FFFFF0060CFCF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000FFFFFF00FFFF
- FF00FFFFFF007F7F7F000000000000000000000000007F7F7F00FFFFFF00FFFF
- FF00FFFFFF0000000000000000000000000000000000009F9F00FFFFFF009FFF
- FF009FFFFF009FFFFF009FFFFF009FFFFF009FFFFF009FFFFF009FFFFF009FFF
- FF009FFFFF009FFFFF0060CFCF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FF000000FF000000FF00
- 0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00
- 0000FF000000FF000000FF000000000000000000000000000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000000000
- 00000000000000000000000000000000000000000000009F9F00FFFFFF009FFF
- FF009FFFFF009FFFFF009FFFFF009FFFFF009FFFFF009FFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0060CFCF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000C0C0C000C0C0C000FF00
- 0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00
- 0000FF000000C0C0C000C0C0C000000000000000000000000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFF
- FF00FFFFFF0000000000000000000000000000000000009F9F00FFFFFF009FFF
- FF009FFFFF009FFFFF009FFFFF009FFFFF00FFFFFF00009F9F00009F9F00009F
- 9F00009F9F00009F9F00009F9F00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000000000000000FF000000
- FF000000FF000000FF000000FF000000FF000000FF000000FF0000000000FFFF
- FF00000000000000000000000000000000000000000000000000009F9F00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00009F9F0000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000000000
- 000000000000000000000000000000000000000000000000000000000000009F
- 9F00009F9F00009F9F00009F9F00009F9F000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000008080800000FFFF0000FF
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000008080800000FFFF0000FF
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FFFF0000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000808080008080
- 8000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000080800000808000008080000080800000808000008080000080
- 8000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FFFF0000808000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000008080800000FFFF0000FF
- FF0000000000000000000000000000000000000000000000000000FFFF0000FF
- FF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000080800000808000008080000080800000808000008080000080
- 8000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FFFF0000808000008080
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000008080800000FFFF0000FF
- FF0000000000000000000000000000000000000000000000000000FFFF0000FF
- FF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF000000
- 0000000000000000000000000000000000000000000000000000000000000080
- 8000000000000080800000808000008080000080800000808000008080000080
- 8000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FFFF0000808000008080
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000008080800080808000000000008080800000FF
- FF0000FFFF00000000000000000000000000000000000000000000FFFF0000FF
- FF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF000000
- 0000000000000000000000000000000000000000000000000000000000000080
- 8000000000000080800000808000008080000080800000808000008080000080
- 8000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FFFF0000808000008080
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000008080800000FFFF0000FFFF00808080008080
- 800000FFFF0000FFFF000000000000000000000000000000000000FFFF0000FF
- FF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF000000
- 0000000000000000000000000000000000000000000000808000000000000080
- 8000000000000000000000000000000000000080800000808000008080000080
- 8000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000808080008080800000000000FFFF0000000000008080
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000008080800000FFFF0000FFFF00808080008080
- 800000FFFF0000FFFF000000000000000000000000000000000000FFFF0000FF
- FF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF000000
- 0000000000000000000000000000000000000000000000808000000000000080
- 80000000000000FFFF00FFFFFF0000FFFF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFF000000000000808080008080800000000000FFFF0000000000008080
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000008080800000FFFF0000FFFF0000FF
- FF0000FFFF00000000000000000000000000000000000000000000FFFF0000FF
- FF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF000000
- 0000000000000000000000000000000000000000000000808000000000000000
- 0000000000000000000000000000000000000080800000808000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFF0000FFFF0000000000008080800000000000FFFF0000808000008080
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000FFFF0000FFFF0000FFFF0000FFFF0000FFFF0000FFFF000000
- 00000000000000000000000000000000000000000000008080000000000000FF
- FF00FFFFFF0000FFFF0000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FFFF0000FFFF0000FFFF
- 0000FFFF0000FFFF0000FFFF00000000000000000000FFFF0000808000008080
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000000000FFFF00FFFF
- FF0000FFFF000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000808000008080000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFF0000FFFF0000000000008080800000000000FFFF0000808000008080
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000FFFF00FFFFFF0000FF
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFF000000000000808080008080800000000000FFFF0000808000008080
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000080808000808080008080800000000000FFFF00008080
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000008080800080808000808080008080800000000000FFFF
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000FF000000FF000000FF000000FF000000FF00000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000
- FF00000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000FFFF000080800000000000000000000000
- 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
- 0000000000000000000000000000000000000000000000000000008080000080
- 8000008080000080800000808000008080000080800000808000008080000000
- 00000000000000000000000000000000000000000000000000000000FF000000
- FF000000FF00000000007F7F7F00000000007F7F7F00000000000000FF000000
- FF000000FF000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000FFFF000080800000000000000000000000
- 00000000000000000000000000000000000000000000FFFFFF00000000000000
- 0000FFFFFF000000000000000000000000000000000000000000FFFFFF000000
- 0000000000000000000000000000000000000000000000FFFF00000000000080
- 8000008080000080800000808000008080000080800000808000008080000080
- 800000000000000000000000000000000000000000000000FF000000FF000000
- FF00000000000000000000000000000000000000000000000000000000000000
- FF000000FF000000FF0000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
- 00000000000000000000000000000000000000000000FFFFFF0000FFFF000000
- 0000008080000080800000808000008080000080800000808000008080000080
- 800000808000000000000000000000000000000000000000FF000000FF000000
- 000000000000000000007F7F7F00000000007F7F7F0000000000000000000000
- 00000000FF000000FF0000000000000000000000000000000000000000000000
- 000000000000000000000000000000FFFF000080800000000000000000000000
- 00000000000000000000000000000000000000000000FFFFFF00000000000000
- 0000FFFFFF000000000000000000000000000000000000000000FFFFFF000000
- 0000000000000000000000000000000000000000000000FFFF00FFFFFF0000FF
- FF00000000000080800000808000008080000080800000808000008080000080
- 8000008080000080800000000000000000000000FF000000FF00000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000FF000000FF00000000000000000000000000000000000000
- 000000000000000000000000000000FFFF000080800000000000000000000000
- 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
- 00000000000000000000000000000000000000000000FFFFFF0000FFFF00FFFF
- FF0000FFFF000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000FF000000FF00000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000FF000000FF00000000000000000000000000000000000000
- 000000000000000000000000000000FFFF000080800000000000000000000000
- 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF000000
- 0000000000000000000000000000000000000000000000FFFF00FFFFFF0000FF
- FF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00000000000000
- 0000000000000000000000000000000000000000FF000000FF00000000000000
- 000000000000000000007F7F7F00000000007F7F7F0000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000FFFF0000FFFF0000808000000000000000
- 00000000000000000000000000000000000000000000FFFFFF00000000000000
- 0000FFFFFF00FFFFFF00FFFFFF00000000000000000000000000FFFFFF000000
- 00000000000000000000000000000000000000000000FFFFFF0000FFFF00FFFF
- FF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF00000000000000
- 0000000000000000000000000000000000000000FF000000FF00000000000000
- 0000000000000000000000008000000000000000800000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000FFFF0000FFFF00008080000000
- 00000000000000000000000000000000000000000000FFFFFF00000000000000
- 000000000000FFFFFF0000000000000000000000000000000000000000000000
- 0000000000000000000080000000800000000000000000FFFF00FFFFFF0000FF
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000FF000000FF00000000000000
- 00000000000000000000000000000000000000000000000000000000FF000000
- FF000000FF000000FF000000FF00000000000000000000000000000000000000
- 000000FFFF000080800000000000000000000000000000FFFF0000FFFF000080
- 80000000000000000000000000000000000000000000FFFFFF00FFFFFF000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000080000000800000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000FF000000FF000000
- 0000000000000000000000000000000000000000000000000000000000000000
- FF000000FF000000FF000000FF00000000000000000000000000000000000000
- 000000FFFF00008080000000000000000000000000000000000000FFFF000080
- 8000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000080000000800000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000FF000000FF000000
- FF00000000000000000000000000000000000000000000000000000000000000
- 00000000FF000000FF000000FF00000000000000000000000000000000000000
- 000000FFFF0000FFFF0000808000000000000000000000FFFF0000FFFF000080
- 8000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000080000000800000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000000000000000FF000000
- FF000000FF00000000007F7F7F00000000007F7F7F00000000000000FF000000
- FF000000FF000000FF000000FF00000000000000000000000000000000000000
- 00000000000000FFFF0000FFFF0000FFFF0000FFFF0000FFFF00008080000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000080000000800000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000
- FF0000000000000000000000FF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000080000000800000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000FF000000FF000000FF000000FF000000FF00000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000424D3E000000000000003E000000
- 2800000040000000600000000100010000000000000300000000000000000000
- 000000000000000000000000FFFFFF00FFFFFFFFFFFF0000E007FC00C0010000
- E007FC0080310000E007FC0080310000E007FC0080310000E007FC0080010000
- E007800080010000E007000180010000E00700038FF10000E00700078FF10000
- E007003F8FF10000E00F003F8FF10000E01F00318FF10000E03F00398FF50000
- FFFF003580010000FFFF000FFFFF00000000FC00FFFFFFFF0000FC0080038003
- 0000FC0080038003E007FC0080038003E007E00080038003E007E00080038003
- E007E00080038003E007E00780038003E007800780038003E007800780038003
- E007800780038003FFFF801F80038003F81F801F80038003F81F801F80038003
- F81F801FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC00FFFFFFFF
- FE008000FFFFEFFDFE000000FFFFC7FFFE000000FFFFC3FB80000000FFF7E3F7
- 80000001C1F7F1E780000003C3FBF8CF80000003C7FBFC1F80010003CBFBFE3F
- 80030003DCF7FC1F80070FC3FF0FF8CF807F0003FFFFE1E780FF8007FFFFC3F3
- 81FFF87FFFFFC7FDFFFFFFFFFFFFFFFFFFFF8003FFFFFFFF00008003FFFFF9FF
- 00008003E000F6CF00008003C000F6B700008003C000F6B7000080038000F8B7
- 000080038000FE8F000080030000FE3F000080030000FF7F000080030000FE3F
- 000080038000FEBF000080038000FC9F000080038001FDDF00008007C07FFDDF
- FFFF800FE0FFFDDFFFFF801FFFFFFFFFFF8FFFFFFFFFFF3FFF8FFFFFF007FF1F
- FFCF800FF007FF0FFF8F800FC0070300FF8F800FC007FB07FE47800F0007F807
- F003800F0007E007FE03800F0007E007F007800F001F0007FFFF800F001F0007
- F01F800F007F0007FFFFC7FD007FE007F03FFF1D8FFEE007FFFFFF39FF8EF807
- F01FFF43FF9CF807FFFFFFFFFFA1FFFFFFFFFFFFFFFFFFFFFFFFF83FFE7F000F
- 001FE00FFC3F000F000FC447FC3F000F00078C63FE7F000F00039C73FC3F000F
- 00013FF9FC3F000F00003EF9FC3F000F001F3C7FFC1F008F001F3C7FF20F1144
- 001F3C41E1070AB88FF19C61E187057CFFF98C71E007FAFCFF75C441F00FFDF8
- FF8FE00DF81FFE04FFFFF83FFFFFFFFF00000000000000000000000000000000
- 000000000000}
- end
- object mm: TMainMenu
- Images = il
- Left = 36
- Top = 80
- object miFile: TMenuItem
- Caption = '&File'
- Hint = 'Contains commands for working with files.'
- OnClick = miFileClick
- object Open1: TMenuItem
- Action = aFileOpen
- end
- object Close1: TMenuItem
- Action = aFileClose
- end
- object CloseAll1: TMenuItem
- Action = aFileCloseAll
- end
- object N3: TMenuItem
- Caption = '-'
- end
- object Reload1: TMenuItem
- Action = aFileReload
- end
- object ReloadAll1: TMenuItem
- Action = aFileReloadAll
- end
- object miMRUSep: TMenuItem
- Caption = '-'
- end
- object N1: TMenuItem
- Caption = '-'
- end
- object Exit1: TMenuItem
- Action = aFileExit
- end
- end
- object View1: TMenuItem
- Caption = '&View'
- object Explorer1: TMenuItem
- Action = aViewExplorer
- end
- object RefreshExplorer1: TMenuItem
- Action = aViewRefreshExplorer
- end
- end
- object ools1: TMenuItem
- Caption = '&Tools'
- GroupIndex = 200
- Hint = 'Contains miscellaneous commands.'
- object Options1: TMenuItem
- Action = aToolsOptions
- end
- end
- object miWindow: TMenuItem
- Caption = '&Window'
- GroupIndex = 200
- Hint = 'Window|Contains commands for working with document windows.'
- OnClick = miWindowClick
- object Cascade1: TMenuItem
- Action = WindowCascade1
- end
- object ileHorizontally1: TMenuItem
- Action = WindowTileHorizontal1
- end
- object ileVertically1: TMenuItem
- Action = WindowTileVertical1
- end
- object Arrange1: TMenuItem
- Action = WindowArrange1
- end
- object N6: TMenuItem
- Caption = '-'
- end
- object MinimizeAll1: TMenuItem
- Action = WindowMinimizeAll1
- end
- object Close2: TMenuItem
- Action = aFileClose
- end
- object CloseAll2: TMenuItem
- Action = aFileCloseAll
- end
- end
- object Help1: TMenuItem
- Caption = '&Help'
- GroupIndex = 200
- Hint = 'Displays help and other information.'
- object ReadMe1: TMenuItem
- Action = aHelpReadMe
- end
- object ViewLicense1: TMenuItem
- Action = aHelpLicense
- end
- object N2: TMenuItem
- Caption = '-'
- end
- object About1: TMenuItem
- Action = aHelpAbout
- end
- end
- end
- object am: TActionManager
- Images = il
- Left = 216
- Top = 140
- StyleName = 'XP Style'
- object aFileOpen: TAction
- Category = 'File'
- Caption = 'Open...'
- Hint = 'Open|Opens a profiler document.'
- ImageIndex = 0
- ShortCut = 16463
- OnExecute = aFileOpenExecute
- end
- object aFileClose: TAction
- Category = 'File'
- Caption = 'Close'
- Hint = 'Close|Closes the current document.'
- ImageIndex = 5
- ShortCut = 16471
- OnExecute = aFileCloseExecute
- OnUpdate = aFileCloseUpdate
- end
- object aFileCloseAll: TAction
- Category = 'File'
- Caption = 'Close All'
- Hint = 'Close All|Closes all open document windows.'
- ImageIndex = 6
- OnExecute = aFileCloseAllExecute
- OnUpdate = aFileCloseAllUpdate
- end
- object aFileReload: TAction
- Category = 'File'
- Caption = 'Reload'
- Hint =
- 'Reload|Closes the current document and reopens it in the current' +
- ' window.'
- ImageIndex = 1
- ShortCut = 16466
- OnExecute = aFileReloadExecute
- OnUpdate = aFileReloadUpdate
- end
- object aFileReloadAll: TAction
- Category = 'File'
- Caption = 'Reload All'
- Hint = 'Reload All|Reloads documents in all open windows.'
- OnExecute = aFileReloadAllExecute
- OnUpdate = aFileReloadAllUpdate
- end
- object aFileExit: TAction
- Category = 'File'
- Caption = 'Exit'
- Hint = 'Exit|Exits this program.'
- ImageIndex = 7
- OnExecute = aFileExitExecute
- end
- object aHelpReadMe: TAction
- Category = 'Help'
- Caption = 'View Read Me...'
- Hint = 'View Read Me|Views the README.txt file.'
- ImageIndex = 4
- OnExecute = aHelpReadMeExecute
- end
- object aHelpLicense: TAction
- Category = 'Help'
- Caption = 'View License...'
- Hint = 'View License|Displays the GNU General Public License.'
- OnExecute = aHelpLicenseExecute
- end
- object aHelpAbout: TAction
- Category = 'Help'
- Caption = 'About...'
- Hint = 'About|Displays program information.'
- ImageIndex = 2
- OnExecute = aHelpAboutExecute
- end
- object aToolsOptions: TAction
- Category = 'Tools'
- Caption = 'Options...'
- Hint = 'Options|Displays available configuration options.'
- ImageIndex = 3
- ShortCut = 16464
- OnExecute = aToolsOptionsExecute
- end
- object aViewExplorer: TAction
- Category = 'View'
- Caption = 'Explorer'
- Hint = 'Explorer|Shows the Explorer pane.'
- ImageIndex = 10
- ShortCut = 16453
- OnExecute = aViewExplorerExecute
- OnUpdate = aViewExplorerUpdate
- end
- object WindowCascade1: TWindowCascade
- Category = 'Window'
- Caption = '&Cascade'
- Enabled = False
- Hint = 'Cascade'
- ImageIndex = 17
- end
- object WindowTileHorizontal1: TWindowTileHorizontal
- Category = 'Window'
- Caption = 'Tile &Horizontally'
- Enabled = False
- Hint = 'Tile Horizontal'
- ImageIndex = 18
- end
- object WindowTileVertical1: TWindowTileVertical
- Category = 'Window'
- Caption = '&Tile Vertically'
- Enabled = False
- Hint = 'Tile Vertical'
- ImageIndex = 19
- end
- object WindowArrange1: TWindowArrange
- Category = 'Window'
- Caption = '&Arrange'
- Enabled = False
- end
- object WindowMinimizeAll1: TWindowMinimizeAll
- Category = 'Window'
- Caption = '&Minimize All'
- Enabled = False
- Hint = 'Minimize All'
- end
- object aViewRefreshExplorer: TAction
- Category = 'View'
- Caption = 'Refresh Explorer'
- Hint = 'Refresh Explorer|Refreshes the Explorer file list.'
- OnExecute = aViewRefreshExplorerExecute
- OnUpdate = aViewRefreshExplorerUpdate
- end
- object aExplorerOpen: TAction
- Category = 'File'
- Caption = 'Open'
- Hint = 'Open|Opens the selected file.'
- ImageIndex = 0
- OnExecute = aExplorerOpenExecute
- OnUpdate = aExplorerOpenUpdate
- end
- end
- object od: TOpenDialog
- Filter = 'Cachegrind files (cachegrind.out.*)|cachegrind.out.*'
- Title = 'Open Profiler Document'
- Left = 32
- Top = 152
- end
- object ae: TApplicationEvents
- OnIdle = aeIdle
- Left = 344
- Top = 144
- end
- object pmExplorer: TPopupMenu
- Images = il
- Left = 20
- Top = 308
- object Open2: TMenuItem
- Action = aExplorerOpen
- Default = True
- end
- object N7: TMenuItem
- Caption = '-'
- end
- object Explorer2: TMenuItem
- Action = aViewExplorer
- end
- object RefreshExplorer2: TMenuItem
- Action = aViewRefreshExplorer
- end
- end
- object tUpdateStatusBar: TTimer
- OnTimer = tUpdateStatusBarTimer
- Left = 244
- Top = 36
- end
- object ilIcons: TImageList
- Left = 112
- Top = 180
- Bitmap = {
- 494C010103000400040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
- 0000000000003600000028000000400000001000000001002000000000000010
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF
- FF00FFFFFF007F7F7F000000000000000000000000007F7F7F00FFFFFF00FFFF
- FF00FFFFFF0000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF
- FF0000000000BFBFBF00FFFFFF00FFFFFF00FFFFFF00BFBFBF0000000000FFFF
- FF00FFFFFF0000000000000000000000000000000000FFFFFF00000000000000
- 0000FFFFFF000000000000000000FFFFFF00000000000000000000000000FFFF
- FF000000000000000000FFFFFF00000000000000000000000000000000000000
- 0000FFFFFF0000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000FFFFFF007F7F
- 7F00BFBFBF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00BFBFBF007F7F
- 7F00FFFFFF0000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000FFFFFF000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
- 0000FFFFFF0000000000000000000000000000000000FFFFFF00000000000000
- 0000FFFFFF000000000000000000FFFFFF00FFFFFF0000000000000000000000
- 00000000000000000000FFFFFF00000000000000000000000000000000000000
- 0000FFFFFF00000000000000000000000000000000000000000000000000FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000FFFFFF000000
- 0000FFFFFF00FFFFFF00FFFFFF000000FF000000000000000000FFFFFF000000
- 0000FFFFFF0000000000000000000000000000000000FFFFFF00FFFF0000FFFF
- 0000FFFF0000FFFF0000FFFF0000FFFFFF00FFFFFF0000000000FFFFFF000000
- FF00FFFFFF00FF000000FFFFFF00000000000000000000000000000000000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000FFFFFF000000
- 0000FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00FFFFFF000000
- 0000FFFFFF0000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF000000
- FF00FFFFFF00FF000000FFFFFF00000000000000000000000000000000000000
- 0000FFFFFF00000000000000000000000000000000000000000000000000FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000FFFFFF007F7F
- 7F00BFBFBF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00BFBFBF007F7F
- 7F00FFFFFF0000000000000000000000000000000000FFFFFF00000000000000
- 00000000000000000000FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFF
- FF00FFFFFF00FF000000FFFFFF00000000000000000000000000000000000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF
- FF0000000000BFBFBF00FFFFFF0000000000FFFFFF00BFBFBF0000000000FFFF
- FF00FFFFFF0000000000000000000000000000000000FFFFFF00000000000000
- 00000000000000000000FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
- 0000FFFFFF00000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF
- FF00FFFFFF007F7F7F000000000000000000000000007F7F7F00FFFFFF00FFFF
- FF00FFFFFF0000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000000000
- 00000000000000000000000000000000000000000000FF000000FF000000FF00
- 0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00
- 0000FF000000FF000000FF000000000000000000000000000000000000000000
- 0000FFFFFF000000000000000000FFFFFF00FFFFFF0000000000FFFFFF000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFF
- FF00FFFFFF0000000000000000000000000000000000C0C0C000C0C0C000FF00
- 0000FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF00
- 0000FF000000C0C0C000C0C0C000000000000000000000000000000000000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000000000000000FF000000
- FF000000FF000000FF000000FF000000FF000000FF000000FF0000000000FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000424D3E000000000000003E000000
- 2800000040000000100000000100010000000000800000000000000000000000
- 000000000000000000000000FFFFFF008003FFFFFFFF000080030000E0070000
- 80030000E007000080030000E007000080030000E007000080030000E0070000
- 80030000E007000080030000E007000080030000E007000080030000E0070000
- 80030000E007000080030000E00F000080030000E01F000080070000E03F0000
- 800FFFFFFFFF0000801FFFFFFFFF000000000000000000000000000000000000
- 000000000000}
- end
- object cn: TJvChangeNotify
- Notifications = <
- item
- Actions = [caChangeFileName, caChangeSize, caChangeLastWrite]
- end>
- CheckInterval = 500
- OnChangeNotify = cnChangeNotify
- Left = 492
- Top = 88
- end
- object tRefreshExplorer: TTimer
- Enabled = False
- OnTimer = tRefreshExplorerTimer
- Left = 288
- Top = 72
- end
- object AppInstances: TJvAppInstances
- OnCmdLineReceived = AppInstancesCmdLineReceived
- Left = 536
- Top = 216
- end
-end
diff --git a/uMain.~pas b/uMain.~pas
deleted file mode 100644
index 3577928..0000000
--- a/uMain.~pas
+++ /dev/null
@@ -1,696 +0,0 @@
-unit uMain;
-
-interface
-
-uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, ComCtrls, ToolWin, Menus, ActnList, XPStyleActnCtrls, ActnMan,
- ImgList, XPMan, AppEvnts, uConfig, ExtCtrls, StdActns, JvComponent,
- JvChangeNotify, JvTabBar, JvAppInst, JvComponentBase;
-
-type
- TExplorerSort = (esFileName, esTitle, esModified, esSize);
- PExplorerData = ^TExplorerData;
- TExplorerData = record
- FileName: string;
- Title: string;
- Modified: TDateTime;
- Size: Integer;
- end;
- TfMain = class(TForm)
- sb: TStatusBar;
- il: TImageList;
- mm: TMainMenu;
- am: TActionManager;
- aFileOpen: TAction;
- aFileExit: TAction;
- miFile: TMenuItem;
- Open1: TMenuItem;
- N1: TMenuItem;
- Exit1: TMenuItem;
- od: TOpenDialog;
- ae: TApplicationEvents;
- miMRUSep: TMenuItem;
- aFileClose: TAction;
- Close1: TMenuItem;
- aHelpReadMe: TAction;
- aHelpAbout: TAction;
- Help1: TMenuItem;
- ReadMe1: TMenuItem;
- N2: TMenuItem;
- About1: TMenuItem;
- aHelpLicense: TAction;
- ViewLicense1: TMenuItem;
- miWindow: TMenuItem;
- aFileReload: TAction;
- N3: TMenuItem;
- Reload1: TMenuItem;
- aFileCloseAll: TAction;
- CloseAll1: TMenuItem;
- aFileReloadAll: TAction;
- ReloadAll1: TMenuItem;
- aToolsOptions: TAction;
- ools1: TMenuItem;
- Options1: TMenuItem;
- ToolBar1: TToolBar;
- ToolButton1: TToolButton;
- ToolButton2: TToolButton;
- ToolButton3: TToolButton;
- ToolButton4: TToolButton;
- ToolButton5: TToolButton;
- ToolButton6: TToolButton;
- ToolButton7: TToolButton;
- lvExplorer: TListView;
- sExplorer: TSplitter;
- aViewExplorer: TAction;
- WindowCascade1: TWindowCascade;
- WindowTileHorizontal1: TWindowTileHorizontal;
- WindowTileVertical1: TWindowTileVertical;
- WindowMinimizeAll1: TWindowMinimizeAll;
- WindowArrange1: TWindowArrange;
- View1: TMenuItem;
- Cascade1: TMenuItem;
- ileHorizontally1: TMenuItem;
- ileVertically1: TMenuItem;
- Arrange1: TMenuItem;
- N6: TMenuItem;
- MinimizeAll1: TMenuItem;
- CloseAll2: TMenuItem;
- Explorer1: TMenuItem;
- ToolButton9: TToolButton;
- ToolButton8: TToolButton;
- aViewRefreshExplorer: TAction;
- RefreshExplorer1: TMenuItem;
- aExplorerOpen: TAction;
- pmExplorer: TPopupMenu;
- Open2: TMenuItem;
- N7: TMenuItem;
- RefreshExplorer2: TMenuItem;
- Explorer2: TMenuItem;
- tUpdateStatusBar: TTimer;
- Close2: TMenuItem;
- ilIcons: TImageList;
- cn: TJvChangeNotify;
- tRefreshExplorer: TTimer;
- tbTabs: TJvTabBar;
- AppInstances: TJvAppInstances;
- procedure FormShow(Sender: TObject);
- procedure AppInstancesCmdLineReceived(Sender: TObject; CmdLine: TStrings);
- procedure tbTabsTabSelected(Sender: TObject; Item: TJvTabBarItem);
- procedure tbTabsTabClosed(Sender: TObject; Item: TJvTabBarItem);
- procedure aFileOpenExecute(Sender: TObject);
- procedure miFileClick(Sender: TObject);
- procedure FormCreate(Sender: TObject);
- procedure FormDestroy(Sender: TObject);
- procedure aFileExitExecute(Sender: TObject);
- procedure aFileCloseUpdate(Sender: TObject);
- procedure aFileCloseExecute(Sender: TObject);
- procedure aHelpReadMeExecute(Sender: TObject);
- procedure aHelpAboutExecute(Sender: TObject);
- procedure aHelpLicenseExecute(Sender: TObject);
- procedure miWindowClick(Sender: TObject);
- procedure aFileReloadUpdate(Sender: TObject);
- procedure aFileReloadExecute(Sender: TObject);
- procedure aFileCloseAllExecute(Sender: TObject);
- procedure aFileCloseAllUpdate(Sender: TObject);
- procedure aFileReloadAllExecute(Sender: TObject);
- procedure aFileReloadAllUpdate(Sender: TObject);
- procedure aToolsOptionsExecute(Sender: TObject);
- procedure aViewExplorerUpdate(Sender: TObject);
- procedure aViewExplorerExecute(Sender: TObject);
- procedure lvExplorerData(Sender: TObject; Item: TListItem);
- procedure aViewRefreshExplorerUpdate(Sender: TObject);
- procedure aViewRefreshExplorerExecute(Sender: TObject);
- procedure lvExplorerColumnClick(Sender: TObject; Column: TListColumn);
- procedure aExplorerOpenUpdate(Sender: TObject);
- procedure aExplorerOpenExecute(Sender: TObject);
- procedure lvExplorerKeyDown(Sender: TObject; var Key: Word;
- Shift: TShiftState);
- procedure lvExplorerDblClick(Sender: TObject);
- procedure tUpdateStatusBarTimer(Sender: TObject);
- procedure aeDeactivate(Sender: TObject);
- procedure aeIdle(Sender: TObject; var Done: Boolean);
- procedure cnChangeNotify(Sender: TObject; Dir: String;
- Actions: TJvChangeActions);
- procedure tRefreshExplorerTimer(Sender: TObject);
- private
- { Private declarations }
- FConfig: TConfig;
- FExplorerList: TList;
- FExplorerSort: TExplorerSort;
- FLastMDIChildCount: Integer;
- FLastActiveMDIChild: TCustomForm;
- procedure miMRUClick(Sender: TObject);
- procedure WindowItemClick(Sender: TObject);
- procedure WMDropFiles(var M: TMessage); message WM_DROPFILES;
- procedure SetExplorerSort(const Value: TExplorerSort);
- public
- { Public declarations }
- property Config: TConfig read FConfig;
- property ExplorerList: TList read FExplorerList;
- property ExplorerSort: TExplorerSort read FExplorerSort write SetExplorerSort;
-
- procedure ClearExplorer;
- procedure Open(AFileName: string);
- procedure OpenEditor(AFileName: string; AOwner: TComponent = nil; Line: Integer = 0);
- procedure RefreshExplorer;
- procedure RefreshTabs;
- end;
-
-var
- fMain: TfMain;
-
-implementation
-
-{$R *.dfm}
-
-uses uDoc, Shellapi, uOptions, uCacheGrind, DateUtils, JclFileUtils, uEditor;
-
-function ExplorerSort(A, B: Pointer): Integer;
-var
- DA, DB: PExplorerData;
-begin
- Result := 0;
- DA := PExplorerData(A);
- DB := PExplorerData(B);
- case fMain.ExplorerSort of
- esFileName: Result := CompareText(DA.FileName, DB.FileName);
- esTitle: Result := CompareText(DA.Title, DB.Title);
- esModified: Result := CompareDateTime(DB.Modified, DA.Modified);
- esSize: Result := DB.Size - DA.Size;
- end;
- if Result = 0 then
- Result := CompareText(DA.FileName, DB.FileName);
-end;
-
-procedure TfMain.aFileOpenExecute(Sender: TObject);
-begin
- od.InitialDir := Config.WorkingDir;
- if od.Execute then
- Open(od.FileName);
-end;
-
-procedure TfMain.miFileClick(Sender: TObject);
-var
- mi: TMenuItem;
- I: Integer;
-begin
- // delete last MRU
- for I := miFile.Count - 1 downto miMRUSep.MenuIndex + 1 do begin
- mi := miFile[I];
- if Pos('miMRUEntry', mi.Name) = 1 then
- mi.Free;
- end;
- // recreate them
- if Config.MRUTitles.Count > 0 then begin
- miMRUSep.Visible := false;
- for I := 0 to Config.MRUTitles.Count - 1 do begin
- mi := TMenuItem.Create(mm);
- mi.Name := 'miMRUEntry' + IntToStr(I);
- mi.Caption := IntToStr(I+1) + '. ' +Config.MRUTitles[I];
- mi.Tag := I;
- mi.Hint := 'Opens '+ Config.MRUTitles[I] +' ('+ Config.MRU[I] + ').';
- mi.OnClick := miMRUClick;
- mi.ImageIndex := 9;
- miFile.Insert(miMRUSep.MenuIndex + I + 1, mi);
- end;
- end else
- miMRUSep.Visible := false;
-end;
-
-procedure TfMain.FormCreate(Sender: TObject);
-begin
- FConfig := TConfig.Create;
- FConfig.Load;
- FExplorerList := TList.Create;
- // accept drag and drop
- DragAcceptFiles(Handle, True);
- // visuals
- ExplorerSort := esModified;
- RefreshExplorer;
- RefreshTabs;
-end;
-
-procedure TfMain.FormDestroy(Sender: TObject);
-begin
- if Config.ClearMRUOnExit then
- Config.ClearMRU;
- FConfig.Save;
- FConfig.Free;
-end;
-
-procedure TfMain.aFileExitExecute(Sender: TObject);
-begin
- Close;
-end;
-
-procedure TfMain.Open(AFileName: string);
-var
- I: Integer;
- Form: TfDoc;
-begin
- for I := 0 to MDIChildCount - 1 do begin
- if MDIChildren[I] is TfDoc then begin
- Form := MDIChildren[I] as TfDoc;
- if SameText(Form.FileName, AFileName) then begin
- Form.Show;
- Form.SetFocus;
- Exit;
- end;
- end;
- end;
- // open in new window
- Form := TfDoc.Create(Application);
- try
- if MDIChildCount = 1 then
- Form.WindowState := wsMaximized;
- Form.Open(AFileName);
- Form.Show;
- except
- Form.Free;
- raise;
- end;
- lvExplorer.Invalidate;
-end;
-
-procedure TfMain.miMRUClick(Sender: TObject);
-var
- mi: TMenuItem;
-begin
- mi := Sender as TMenuItem;
- Open(Config.MRU[mi.Tag]);
-end;
-
-procedure TfMain.aFileCloseUpdate(Sender: TObject);
-begin
- aFileClose.Enabled := ActiveMDIChild <> nil;
-end;
-
-procedure TfMain.aFileCloseExecute(Sender: TObject);
-begin
- ActiveMDIChild.Close;
-end;
-
-procedure TfMain.aHelpReadMeExecute(Sender: TObject);
-begin
- ShellExecute(Handle, '', PChar(ExtractFilePath(Application.ExeName) + 'README.txt'),
- '', '', SW_SHOWNORMAL);
-end;
-
-procedure TfMain.aHelpAboutExecute(Sender: TObject);
-var
- VI: TJclFileVersionInfo;
-begin
- VI := TJclFileVersionInfo.Create(Application.ExeName);
- try
- MessageDlg(
- 'WinCacheGrind version '+ VI.BinFileVersion + #13#10 +
- 'Copyright (C) 2005 Hendy Irawan'#13#10 +
- #13#10 +
- 'Contact information:'#13#10 +
- 'E-mail: ceefour@gauldong.net'#13#10 +
- 'Web: http://wincachegrind.sourceforge.net/'#13#10 +
- #13#10 +
- 'This program is licensed under GNU General Public License version ' +
- '2 or later.'#13#10 +
- 'See GPL.txt for more information.', mtInformation, [mbOK], 0);
- finally
- FreeAndNil(VI);
- end;
-end;
-
-procedure TfMain.aHelpLicenseExecute(Sender: TObject);
-begin
- ShellExecute(Handle, '', PChar(ExtractFilePath(Application.ExeName) + 'gpl.txt'),
- '', '', SW_SHOWNORMAL);
-end;
-
-procedure TfMain.miWindowClick(Sender: TObject);
-var
- I: Integer;
- mi: TMenuItem;
-begin
- for I := miWindow.Count - 1 downto 8 do
- miWindow[I].Free;
- if MDIChildCount > 0 then begin
- // create separator
- mi := TMenuItem.Create(mm);
- mi.Caption := '-';
- miWindow.Add(mi);
- // then window list
- for I := 0 to MDIChildCount - 1 do begin
- mi := TMenuItem.Create(mm);
- mi.Caption := MDIChildren[I].Caption;
- mi.OnClick := WindowItemClick;
- if MDIChildren[I] is TfEditor then
- mi.ImageIndex := 20
- else
- mi.ImageIndex := 8;
- mi.Hint := 'Displays '+ MDIChildren[I].Caption;
- mi.Tag := I;
- miWindow.Add(mi);
- end;
- end;
-end;
-
-procedure TfMain.WindowItemClick(Sender: TObject);
-begin
- MDIChildren[(Sender as TMenuItem).Tag].Show;
-end;
-
-procedure TfMain.aFileReloadUpdate(Sender: TObject);
-begin
- aFileReload.Enabled := MDIChildCount > 0;
-end;
-
-procedure TfMain.aFileReloadExecute(Sender: TObject);
-begin
- (ActiveMDIChild as TfDoc).Reload;
-end;
-
-procedure TfMain.WMDropFiles(var M: TMessage);
-var
- hDrop: THandle;
- Count, I: Integer;
- PC: array[0..65535] of char;
-begin
- hDrop := M.wParam;
- try
- Count := DragQueryFile(hDrop, $FFFFFFFF, nil, 0);
- for I := 0 to Count - 1 do begin
- DragQueryFile(hDrop, I, PC, SizeOf(PC));
- Open(PC);
- end;
- finally
- DragFinish(hDrop);
- end;
-end;
-
-procedure TfMain.aFileCloseAllExecute(Sender: TObject);
-var
- I: Integer;
-begin
- for I := MDIChildCount - 1 downto 0 do
- MDIChildren[I].Close;
-end;
-
-procedure TfMain.aFileCloseAllUpdate(Sender: TObject);
-begin
- aFileCloseAll.Enabled := MDIChildCount > 0;
-end;
-
-procedure TfMain.aFileReloadAllExecute(Sender: TObject);
-var
- I: Integer;
-begin
- for I := 0 to MDIChildCount - 1 do
- (MDIChildren[I] as TfDoc).Reload;
-end;
-
-procedure TfMain.aFileReloadAllUpdate(Sender: TObject);
-begin
- aFileReloadAll.Enabled := MDIChildCount > 0;
-end;
-
-procedure TfMain.aToolsOptionsExecute(Sender: TObject);
-begin
- fOptions := TfOptions.Create(Self);
- try
- fOptions.ShowModal;
- finally
- FreeAndNil(fOptions);
- end;
- RefreshExplorer;
-end;
-
-procedure TfMain.aViewExplorerUpdate(Sender: TObject);
-begin
- aViewExplorer.Checked := lvExplorer.Visible;
-end;
-
-procedure TfMain.aViewExplorerExecute(Sender: TObject);
-begin
- lvExplorer.Visible := not lvExplorer.Visible;
- sExplorer.Visible := lvExplorer.Visible;
- if lvExplorer.Visible then
- RefreshExplorer;
-end;
-
-procedure TfMain.ClearExplorer;
-var
- I: Integer;
-begin
- lvExplorer.Items.Count := 0;
- for I := 0 to ExplorerList.Count - 1 do
- Dispose(PExplorerData(ExplorerList[I]));
- ExplorerList.Clear;
- lvExplorer.Invalidate;
-end;
-
-procedure TfMain.RefreshExplorer;
-var
- F: TSearchRec;
- Code: Integer;
- CG: TCacheGrind;
- ED: PExplorerData;
-begin
- sb.SimplePanel := True;
- Application.Hint := 'Refreshing Explorer list. Please wait...';
- sb.Repaint;
- ClearExplorer;
- if Config.WorkingDir <> '' then begin
- CG := TCacheGrind.Create(Self);
- try
- Code := FindFirst(Config.WorkingDir + '\cachegrind.out.*', faAnyFile, F);
- while Code = 0 do begin
- if F.Attr <> faDirectory then begin
- New(ED);
- ExplorerList.Add(ED);
- ED.FileName := Config.WorkingDir + '\' + F.Name;
- ED.Modified := FileDateToDateTime(F.Time);
- ED.Size := F.Size;
- try
- CG.Load(Config.WorkingDir + '\' + F.Name, True);
- ED.Title := CG.Cmd;
- except
- ED.Title := '(Error: Cannot read file)';
- end;
- end;
- Code := FindNext(F);
- end;
- FindClose(F);
- finally
- FreeAndNil(CG);
- end;
- FExplorerList.Sort(uMain.ExplorerSort);
- // update list
- lvExplorer.Items.Count := ExplorerList.Count;
- lvExplorer.Invalidate;
- // register change notify
- cn.Active := False;
- cn.Notifications[0].Directory := Config.WorkingDir;
- cn.Active := True;
- end;
- Application.Hint := '';
-end;
-
-procedure TfMain.lvExplorerData(Sender: TObject; Item: TListItem);
-var
- ED: PExplorerData;
- I: Integer;
-begin
- if Item.Index < ExplorerList.Count then begin
- ED := PExplorerData(ExplorerList[Item.Index]);
- Item.Caption := ExtractFileName(ED.FileName);
- Item.SubItems.Add(ED.Title);
- Item.SubItems.Add(FormatDateTime('ddddd t', ED.Modified));
- Item.SubItems.Add(Format('%.0n', [ED.Size * 1.0]));
- Item.ImageIndex := 0;
- for I := 0 to MDIChildCount - 1 do begin
- if MDIChildren[I] is TfDoc then
- if SameText((MDIChildren[I] as TfDoc).FileName, ED.FileName) then begin
- Item.ImageIndex := 1;
- Break;
- end;
- end;
- end;
-end;
-
-procedure TfMain.aViewRefreshExplorerUpdate(Sender: TObject);
-begin
- aViewRefreshExplorer.Enabled := Config.WorkingDir <> '';
-end;
-
-procedure TfMain.aViewRefreshExplorerExecute(Sender: TObject);
-begin
- RefreshExplorer;
-end;
-
-procedure TfMain.SetExplorerSort(const Value: TExplorerSort);
-begin
- FExplorerSort := Value;
- FExplorerList.Sort(uMain.ExplorerSort);
- lvExplorer.Invalidate;
-end;
-
-procedure TfMain.lvExplorerColumnClick(Sender: TObject;
- Column: TListColumn);
-begin
- ExplorerSort := TExplorerSort(Column.Index);
-end;
-
-procedure TfMain.aExplorerOpenUpdate(Sender: TObject);
-begin
- aExplorerOpen.Enabled := lvExplorer.Selected <> nil;
-end;
-
-procedure TfMain.aExplorerOpenExecute(Sender: TObject);
-begin
- Open(PExplorerData(ExplorerList[lvExplorer.Selected.Index]).FileName);
-end;
-
-procedure TfMain.lvExplorerKeyDown(Sender: TObject; var Key: Word;
- Shift: TShiftState);
-begin
- if (Shift = []) and (Key = VK_RETURN) then
- aExplorerOpen.Execute;
-end;
-
-procedure TfMain.lvExplorerDblClick(Sender: TObject);
-begin
- aExplorerOpen.Execute;
-end;
-
-procedure TfMain.tUpdateStatusBarTimer(Sender: TObject);
-begin
- if Application.Hint = '' then
- sb.SimpleText := Format('Allocated memory: %.0n bytes', [AllocMemSize * 1.0])
-end;
-
-procedure TfMain.OpenEditor(AFileName: string; AOwner: TComponent; Line: Integer);
-var
- I: Integer;
- Editor: TfEditor;
- Params: PAnsiChar;
-begin
- if Config.EditorPath <> '' then begin
- Params := pchar(' -n' + IntTostr(Line)+' "'+AFileName+'"');
- ShellExecute(Handle, '', PChar(Config.EditorPath),Params, '', SW_SHOWNORMAL);
- Exit;
- end;
- Editor := nil;
- // first check if this file is already opened
- for I := 1 to MDIChildCount - 1 do begin
- if MDIChildren[I] is TfEditor then
- if SameText((MDIChildren[I] as TfEditor).FileName, AFileName) then begin
- Editor := MDIChildren[I] as TfEditor;
- Break;
- end;
- end;
- if Editor = nil then begin
- if AOwner = nil then AOwner := Application;
- Editor := TfEditor.Create(AOwner);
- Editor.Open(AFileName);
- end;
- Editor.Show;
- Editor.he.SetFocus;
- if Line > 0 then begin
- Editor.he.SetCaret(0, Line - 1);
- Editor.HighlightedLine := Line - 1;
- end;
-end;
-
-procedure TfMain.aeDeactivate(Sender: TObject);
-begin
- lvExplorer.Invalidate;
-end;
-
-procedure TfMain.aeIdle(Sender: TObject; var Done: Boolean);
-begin
- if (FLastMDIChildCount <> MDIChildCount) or (FLastActiveMDIChild <> ActiveMDIChild) then begin
- FLastMDIChildCount := MDIChildCount;
- FLastActiveMDIChild := ActiveMDIChild;
- RefreshTabs;
- lvExplorer.Invalidate;
- end;
-end;
-
-procedure TfMain.RefreshTabs;
-var
- I: Integer;
- tab: TJvTabBarItem;
-begin
- tbTabs.Tabs.BeginUpdate;
- try
- tbTabs.Tabs.Clear;
- for I := 0 to MDIChildCount - 1 do begin
- tab := TJvTabBarItem(tbTabs.Tabs.Add());
- if MDIChildren[I] is TfDoc then begin
- tab.Caption := ExtractFileName((MDIChildren[I] as TfDoc).CacheGrind.Cmd);
- tab.ImageIndex := 1;
- end else if MDIChildren[I] is TfEditor then begin
- tab.Caption := ExtractFileName((MDIChildren[I] as TfEditor).FileName);
- tab.ImageIndex := 2;
- end else
- tab.Caption := MDIChildren[I].Caption;
- end;
- if tbTabs.Tabs.Count > 0 then begin
- tbTabs.SelectedTab := tbTabs.Tabs[0];
- tbTabs.Visible := true;
- end else
- tbTabs.Visible := false;
- finally
- tbTabs.Tabs.EndUpdate;
- end;
-end;
-
-procedure TfMain.cnChangeNotify(Sender: TObject; Dir: String;
- Actions: TJvChangeActions);
-begin
- sb.Panels[0].Text := 'Working folder modification detected.'
- +' Preparing to refresh Explorer file list...';
- sb.SimplePanel := False;
- sb.Repaint;
- tRefreshExplorer.Enabled := False;
- tRefreshExplorer.Enabled := True;
-end;
-
-procedure TfMain.tRefreshExplorerTimer(Sender: TObject);
-begin
- tRefreshExplorer.Enabled := False;
- RefreshExplorer;
-end;
-
-procedure TfMain.tbTabsTabClosed(Sender: TObject; Item: TJvTabBarItem);
-begin
- MDIChildren[Item.Index].Close;
-end;
-
-procedure TfMain.tbTabsTabSelected(Sender: TObject; Item: TJvTabBarItem);
-begin
- if (Item <> nil) and (Item.Index < MDIChildCount) then
- MDIChildren[Item.Index].Show;
-end;
-
-procedure TfMain.AppInstancesCmdLineReceived(Sender: TObject;
- CmdLine: TStrings);
-var
- i: Integer;
-begin
- for i := 0 to CmdLine.Count - 1 do begin
- Open(CmdLine[i]);
- end;
-end;
-
-procedure TfMain.FormShow(Sender: TObject);
-var
- i: Integer;
-begin
- // open stuff from command line
- // Note: You can't move this to onCreate because the MDI form
- // has to be active first before creating an MDI child
- for i := 1 to ParamCount do
- Open(ParamStr(i));
-end;
-
-end.
diff --git a/uOptions.dcu b/uOptions.dcu
deleted file mode 100644
index f9262f1..0000000
Binary files a/uOptions.dcu and /dev/null differ
diff --git a/uOptions.ddp b/uOptions.ddp
deleted file mode 100644
index 4370276..0000000
Binary files a/uOptions.ddp and /dev/null differ
diff --git a/uOptions.~ddp b/uOptions.~ddp
deleted file mode 100644
index 4370276..0000000
Binary files a/uOptions.~ddp and /dev/null differ
diff --git a/uOptions.~dfm b/uOptions.~dfm
deleted file mode 100644
index b9d47f5..0000000
--- a/uOptions.~dfm
+++ /dev/null
@@ -1,243 +0,0 @@
-object fOptions: TfOptions
- Left = 606
- Top = 363
- ActiveControl = pc
- BorderStyle = bsDialog
- BorderWidth = 8
- Caption = 'Options'
- ClientHeight = 280
- ClientWidth = 400
- Color = clBtnFace
- Font.Charset = DEFAULT_CHARSET
- Font.Color = clWindowText
- Font.Height = -11
- Font.Name = 'MS Sans Serif'
- Font.Style = []
- OldCreateOrder = False
- Position = poMainFormCenter
- ScreenSnap = True
- ShowHint = True
- OnCreate = FormCreate
- PixelsPerInch = 96
- TextHeight = 13
- object Panel1: TPanel
- Left = 0
- Top = 245
- Width = 400
- Height = 35
- Align = alBottom
- BevelOuter = bvNone
- Caption = ' '
- TabOrder = 1
- object bOK: TButton
- Left = 0
- Top = 8
- Width = 75
- Height = 25
- Caption = 'OK'
- Default = True
- TabOrder = 0
- OnClick = bOKClick
- end
- object bCancel: TButton
- Left = 80
- Top = 8
- Width = 75
- Height = 25
- Cancel = True
- Caption = 'Cancel'
- ModalResult = 2
- TabOrder = 1
- end
- end
- object pc: TPageControl
- Left = 0
- Top = 0
- Width = 400
- Height = 245
- ActivePage = Editor
- Align = alClient
- TabOrder = 0
- object tsMain: TTabSheet
- Caption = 'Main'
- ImageIndex = 2
- object Label3: TLabel
- Left = 8
- Top = 8
- Width = 72
- Height = 13
- Caption = 'Working folder:'
- end
- object deWorkingDir: TJvDirectoryEdit
- Left = 92
- Top = 4
- Width = 297
- Height = 21
- DialogKind = dkWin32
- DialogText = 'Browse for folder'
- ButtonHint = 'Browse|Browses for a folder.'
- ButtonFlat = True
- TabOrder = 0
- Text = 'deWorkingDir'
- end
- end
- object tsDisplay: TTabSheet
- Caption = 'Display'
- object Label1: TLabel
- Left = 8
- Top = 8
- Width = 94
- Height = 13
- Caption = 'Default time display:'
- end
- object Label4: TLabel
- Left = 196
- Top = 52
- Width = 50
- Height = 13
- Caption = 'Threshold:'
- end
- object Label5: TLabel
- Left = 328
- Top = 52
- Width = 56
- Height = 13
- Caption = 'milliseconds'
- end
- object cbTimeDisplay: TComboBox
- Left = 120
- Top = 4
- Width = 137
- Height = 21
- Style = csDropDownList
- ItemHeight = 13
- TabOrder = 0
- Items.Strings = (
- 'Milliseconds'
- 'Percentages')
- end
- object cbShowFullPath: TCheckBox
- Left = 8
- Top = 32
- Width = 245
- Height = 17
- Caption = 'Show full path as default'
- TabOrder = 1
- end
- object cbHideLibFuncs: TCheckBox
- Left = 8
- Top = 72
- Width = 213
- Height = 17
- Caption = 'Hide library functions as default'
- TabOrder = 4
- end
- object cbHideFastFuncs: TCheckBox
- Left = 8
- Top = 52
- Width = 169
- Height = 17
- Caption = 'Hide fast functions as default'
- TabOrder = 2
- end
- object seFastThreshold: TJvSpinEdit
- Left = 260
- Top = 48
- Width = 65
- Height = 21
- Alignment = taRightJustify
- Thousands = True
- MaxValue = 1000.000000000000000000
- MinValue = 1.000000000000000000
- Value = 1.000000000000000000
- TabOrder = 3
- end
- end
- object tsPrivacy: TTabSheet
- Caption = 'Privacy'
- ImageIndex = 1
- DesignSize = (
- 392
- 217)
- object GroupBox1: TGroupBox
- Left = 4
- Top = 4
- Width = 381
- Height = 93
- Anchors = [akLeft, akTop, akRight]
- Caption = 'Recent files'
- TabOrder = 0
- object Label2: TLabel
- Left = 8
- Top = 68
- Width = 151
- Height = 13
- Caption = 'Maximum number of recent files:'
- end
- object cbTrackMRU: TCheckBox
- Left = 8
- Top = 16
- Width = 365
- Height = 17
- Caption = 'Track recently opened files'
- TabOrder = 0
- end
- object cbClearMRUOnExit: TCheckBox
- Left = 8
- Top = 36
- Width = 161
- Height = 17
- Caption = 'Clear recent list on exit'
- TabOrder = 1
- end
- object bClearMRU: TButton
- Left = 180
- Top = 32
- Width = 125
- Height = 25
- Caption = 'Clear recent list now'
- TabOrder = 2
- OnClick = bClearMRUClick
- end
- object seMaxMRUCount: TJvSpinEdit
- Left = 176
- Top = 64
- Width = 49
- Height = 21
- Alignment = taRightJustify
- MaxValue = 9.000000000000000000
- MinValue = 1.000000000000000000
- Value = 1.000000000000000000
- TabOrder = 3
- end
- end
- end
- object Editor: TTabSheet
- Caption = 'Editor'
- ImageIndex = 3
- object Label6: TLabel
- Left = 24
- Top = 16
- Width = 52
- Height = 13
- Caption = 'Editor Path'
- end
- object Label7: TLabel
- Left = 56
- Top = 72
- Width = 111
- Height = 13
- Caption = 'only support notepad++'
- end
- object deEditorPath: TJvFilenameEdit
- Left = 96
- Top = 12
- Width = 273
- Height = 21
- Filter = 'All files (*.*)|*.exe'
- TabOrder = 0
- Text = 'deEditorPath'
- end
- end
- end
-end
diff --git a/uOptions.~pas b/uOptions.~pas
deleted file mode 100644
index 9b8c82c..0000000
--- a/uOptions.~pas
+++ /dev/null
@@ -1,112 +0,0 @@
-unit uOptions;
-
-interface
-
-uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, ComCtrls, StdCtrls, ExtCtrls, uConfig, Mask, JvToolEdit,
- JvMaskEdit, JvSpin, JvExMask;
-
-type
- TfOptions = class(TForm)
- Panel1: TPanel;
- bOK: TButton;
- bCancel: TButton;
- pc: TPageControl;
- tsDisplay: TTabSheet;
- tsPrivacy: TTabSheet;
- GroupBox1: TGroupBox;
- cbTrackMRU: TCheckBox;
- cbClearMRUOnExit: TCheckBox;
- Label1: TLabel;
- cbTimeDisplay: TComboBox;
- cbShowFullPath: TCheckBox;
- cbHideLibFuncs: TCheckBox;
- bClearMRU: TButton;
- Label2: TLabel;
- tsMain: TTabSheet;
- Label3: TLabel;
- deWorkingDir: TJvDirectoryEdit;
- cbHideFastFuncs: TCheckBox;
- Label4: TLabel;
- seFastThreshold: TJvSpinEdit;
- seMaxMRUCount: TJvSpinEdit;
- Label5: TLabel;
- Editor: TTabSheet;
- Label6: TLabel;
- deEditorPath: TJvFilenameEdit;
- Label7: TLabel;
- procedure FormCreate(Sender: TObject);
- procedure bOKClick(Sender: TObject);
- procedure bClearMRUClick(Sender: TObject);
- private
- function GetConfig: TConfig;
- { Private declarations }
- public
- { Public declarations }
- property Config: TConfig read GetConfig;
- end;
-
-var
- fOptions: TfOptions;
-
-implementation
-
-{$R *.dfm}
-
-uses uMain;
-
-procedure TfOptions.FormCreate(Sender: TObject);
-begin
- pc.ActivePageIndex := 0;
- // fill stuff
- // Main
- deWorkingDir.Text := Config.WorkingDir;
- // Display
- cbTimeDisplay.ItemIndex := Ord(Config.TimeDisplay);
- cbHideFastFuncs.Checked := Config.HideFastFuncs;
- seFastThreshold.Value := Config.FastThreshold;
- cbHideLibFuncs.Checked := Config.HideLibFuncs;
- cbShowFullPath.Checked := Config.ShowFullPath;
- // privacy
- cbTrackMRU.Checked := Config.TrackMRU;
- cbClearMRUOnExit.Checked := Config.ClearMRUOnExit;
- seMaxMRUCount.Value := Config.MaxMRUCount;
- //editor
- deEditorPath.Text := Config.EditorPath;
-end;
-
-procedure TfOptions.bOKClick(Sender: TObject);
-begin
- // save stuff
- // Main
- Config.WorkingDir := deWorkingDir.Text;
- // Display
- Config.TimeDisplay := TTimeDisplay(cbTimeDisplay.ItemIndex);
- Config.HideFastFuncs := cbHideFastFuncs.Checked;
- Config.FastThreshold := seFastThreshold.AsInteger;
- Config.HideLibFuncs := cbHideLibFuncs.Checked;
- Config.ShowFullPath := cbShowFullPath.Checked;
- // Privacy
- Config.TrackMRU := cbTrackMRU.Checked;
- Config.ClearMRUOnExit := cbClearMRUOnExit.Checked;
- Config.MaxMRUCount := seMaxMRUCount.AsInteger;
- //editor
- Config.EditorPath := deEditorPath.Text;
- // then save
- Config.Save;
- ModalResult := mrOk;
-end;
-
-function TfOptions.GetConfig: TConfig;
-begin
- Result := fMain.Config;
-end;
-
-procedure TfOptions.bClearMRUClick(Sender: TObject);
-begin
- Config.ClearMRU;
- MessageDlg('Recent list cleared.', mtInformation, [mbOK], 0);
-end;
-
-end.
diff --git a/uWait.dcu b/uWait.dcu
deleted file mode 100644
index a8bbf73..0000000
Binary files a/uWait.dcu and /dev/null differ
diff --git a/uWait.ddp b/uWait.ddp
deleted file mode 100644
index 4370276..0000000
Binary files a/uWait.ddp and /dev/null differ
diff --git a/uWait.~dfm b/uWait.~dfm
deleted file mode 100644
index ebb1c2e..0000000
--- a/uWait.~dfm
+++ /dev/null
@@ -1,37 +0,0 @@
-object fWait: TfWait
- Left = 229
- Top = 154
- BorderStyle = bsToolWindow
- Caption = 'Please wait...'
- ClientHeight = 84
- ClientWidth = 409
- Color = clBtnFace
- Font.Charset = DEFAULT_CHARSET
- Font.Color = clWindowText
- Font.Height = -11
- Font.Name = 'MS Sans Serif'
- Font.Style = []
- OldCreateOrder = False
- Position = poMainFormCenter
- ScreenSnap = True
- ShowHint = True
- OnClose = FormClose
- OnDestroy = FormDestroy
- PixelsPerInch = 96
- TextHeight = 13
- object lWait: TLabel
- Left = 16
- Top = 16
- Width = 24
- Height = 13
- Caption = 'lWait'
- ShowAccelChar = False
- end
- object pbWait: TProgressBar
- Left = 16
- Top = 44
- Width = 377
- Height = 17
- TabOrder = 0
- end
-end
diff --git a/uWait.~pas b/uWait.~pas
deleted file mode 100644
index a1c3565..0000000
--- a/uWait.~pas
+++ /dev/null
@@ -1,38 +0,0 @@
-unit uWait;
-
-interface
-
-uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, ComCtrls, StdCtrls;
-
-type
- TfWait = class(TForm)
- lWait: TLabel;
- pbWait: TProgressBar;
- procedure FormClose(Sender: TObject; var Action: TCloseAction);
- procedure FormDestroy(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
-var
- fWait: TfWait;
-
-implementation
-
-{$R *.dfm}
-
-procedure TfWait.FormClose(Sender: TObject; var Action: TCloseAction);
-begin
- Action := caFree;
-end;
-
-procedure TfWait.FormDestroy(Sender: TObject);
-begin
- fWait := nil;
-end;
-
-end.