Bladeren bron

move Linux configuraton to ~/.turbobird directory
modified: TurboBird.lpi
modified: TurboBird.lpr
modified: main.lfm
modified: main.lrs
modified: main.pas
modified: querywindow.lfm
modified: querywindow.lrs
modified: querywindow.pas
modified: reg.pas

motaz 11 jaren geleden
bovenliggende
commit
06c66baab8
9 gewijzigde bestanden met toevoegingen van 826 en 795 verwijderingen
  1. 85 64
      TurboBird.lpi
  2. 2 2
      TurboBird.lpr
  3. 1 1
      main.lfm
  4. 7 5
      main.lrs
  5. 70 16
      main.pas
  6. 258 258
      querywindow.lfm
  7. 394 443
      querywindow.lrs
  8. 0 2
      querywindow.pas
  9. 9 4
      reg.pas

+ 85 - 64
TurboBird.lpi

@@ -55,15 +55,15 @@
         <PackageName Value="LCL"/>
       </Item5>
     </RequiredPackages>
-    <Units Count="118">
+    <Units Count="120">
       <Unit0>
         <Filename Value="TurboBird.lpr"/>
         <IsPartOfProject Value="True"/>
         <UnitName Value="TurboBird"/>
-        <EditorIndex Value="2"/>
+        <EditorIndex Value="7"/>
         <WindowIndex Value="0"/>
-        <TopLine Value="1"/>
-        <CursorPos X="15" Y="30"/>
+        <TopLine Value="54"/>
+        <CursorPos X="33" Y="32"/>
         <UsageCount Value="200"/>
         <Loaded Value="True"/>
       </Unit0>
@@ -74,13 +74,13 @@
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
         <UnitName Value="main"/>
-        <IsVisibleTab Value="True"/>
-        <EditorIndex Value="1"/>
+        <EditorIndex Value="4"/>
         <WindowIndex Value="0"/>
-        <TopLine Value="3811"/>
-        <CursorPos X="1" Y="3828"/>
+        <TopLine Value="1437"/>
+        <CursorPos X="101" Y="1461"/>
         <UsageCount Value="200"/>
         <Loaded Value="True"/>
+        <LoadedDesigner Value="True"/>
       </Unit1>
       <Unit2>
         <Filename Value="createdb.pas"/>
@@ -101,10 +101,12 @@
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
         <UnitName Value="Reg"/>
+        <EditorIndex Value="6"/>
         <WindowIndex Value="0"/>
-        <TopLine Value="237"/>
-        <CursorPos X="22" Y="270"/>
+        <TopLine Value="243"/>
+        <CursorPos X="29" Y="252"/>
         <UsageCount Value="200"/>
+        <Loaded Value="True"/>
       </Unit3>
       <Unit4>
         <Filename Value="/usr/lib/lazarus/0.9.28.2/lcl/buttons.pp"/>
@@ -122,12 +124,12 @@
         <UnitName Value="QueryWindow"/>
         <EditorIndex Value="0"/>
         <WindowIndex Value="0"/>
-        <TopLine Value="934"/>
-        <CursorPos X="1" Y="944"/>
+        <TopLine Value="206"/>
+        <CursorPos X="17" Y="218"/>
         <UsageCount Value="200"/>
         <Bookmarks Count="2">
-          <Item0 X="3" Y="1127" ID="0"/>
-          <Item1 X="3" Y="2010" ID="1"/>
+          <Item0 X="3" Y="1126" ID="0"/>
+          <Item1 X="3" Y="2008" ID="1"/>
         </Bookmarks>
         <Loaded Value="True"/>
         <LoadedDesigner Value="True"/>
@@ -241,10 +243,13 @@
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
         <UnitName Value="About"/>
+        <EditorIndex Value="2"/>
         <WindowIndex Value="0"/>
-        <TopLine Value="8"/>
+        <TopLine Value="66"/>
         <CursorPos X="66" Y="94"/>
         <UsageCount Value="200"/>
+        <Loaded Value="True"/>
+        <LoadedDesigner Value="True"/>
       </Unit16>
       <Unit17>
         <Filename Value="/usr/lib/lazarus/0.9.28.2/lcl/interfaces/gtk2/interfaces.pas"/>
@@ -726,10 +731,12 @@
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
         <UnitName Value="SQLHistory"/>
+        <EditorIndex Value="1"/>
         <WindowIndex Value="0"/>
-        <TopLine Value="37"/>
-        <CursorPos X="31" Y="63"/>
-        <UsageCount Value="187"/>
+        <TopLine Value="129"/>
+        <CursorPos X="3" Y="148"/>
+        <UsageCount Value="189"/>
+        <Loaded Value="True"/>
       </Unit71>
       <Unit72>
         <Filename Value="../../lazarus/lazarus/lcl/include/menuitem.inc"/>
@@ -755,7 +762,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="51" Y="14"/>
-        <UsageCount Value="158"/>
+        <UsageCount Value="160"/>
       </Unit74>
       <Unit75>
         <Filename Value="/usr/lib/lazarus/0.9.30/lcl/comctrls.pp"/>
@@ -948,7 +955,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="64"/>
         <CursorPos X="16" Y="66"/>
-        <UsageCount Value="126"/>
+        <UsageCount Value="128"/>
       </Unit98>
       <Unit99>
         <Filename Value="../../FromInternet/fpc2.4/fpc-2.4.4/packages/ibase/src/ibase60dyn.pp"/>
@@ -983,7 +990,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="15" Y="255"/>
-        <UsageCount Value="113"/>
+        <UsageCount Value="115"/>
       </Unit102>
       <Unit103>
         <Filename Value="/usr/share/fpcsrc/2.6.0/rtl/inc/systemh.inc"/>
@@ -1017,7 +1024,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="1" Y="1"/>
-        <UsageCount Value="59"/>
+        <UsageCount Value="61"/>
       </Unit106>
       <Unit107>
         <Filename Value="../../../lazarus/lcl/interfaces/win32/win32object.inc"/>
@@ -1091,10 +1098,13 @@
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
         <UnitName Value="Update"/>
+        <IsVisibleTab Value="True"/>
+        <EditorIndex Value="3"/>
         <WindowIndex Value="0"/>
-        <TopLine Value="151"/>
+        <TopLine Value="271"/>
         <CursorPos X="40" Y="171"/>
-        <UsageCount Value="23"/>
+        <UsageCount Value="25"/>
+        <Loaded Value="True"/>
       </Unit116>
       <Unit117>
         <Filename Value="querycomplition.txt"/>
@@ -1104,128 +1114,140 @@
         <UsageCount Value="10"/>
         <DefaultSyntaxHighlighter Value="None"/>
       </Unit117>
+      <Unit118>
+        <Filename Value="/usr/share/fpcsrc/2.6.2/rtl/objpas/sysutils/finah.inc"/>
+        <EditorIndex Value="5"/>
+        <WindowIndex Value="0"/>
+        <TopLine Value="7"/>
+        <CursorPos X="10" Y="21"/>
+        <UsageCount Value="10"/>
+        <Loaded Value="True"/>
+      </Unit118>
+      <Unit119>
+        <Filename Value="/usr/share/fpcsrc/2.6.2/rtl/objpas/sysutils/fina.inc"/>
+        <WindowIndex Value="0"/>
+        <TopLine Value="31"/>
+        <CursorPos X="3" Y="36"/>
+        <UsageCount Value="10"/>
+      </Unit119>
     </Units>
-    <JumpHistory Count="30" HistoryIndex="29">
+    <JumpHistory Count="29" HistoryIndex="28">
       <Position1>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="232" Column="32" TopLine="204"/>
+        <Caret Line="1725" Column="15" TopLine="1701"/>
       </Position1>
       <Position2>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="443" Column="23" TopLine="412"/>
+        <Caret Line="1866" Column="15" TopLine="1842"/>
       </Position2>
       <Position3>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="483" Column="38" TopLine="451"/>
+        <Caret Line="1" Column="1" TopLine="1"/>
       </Position3>
       <Position4>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="489" Column="58" TopLine="457"/>
+        <Caret Line="1725" Column="15" TopLine="1701"/>
       </Position4>
       <Position5>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="529" Column="32" TopLine="497"/>
+        <Caret Line="1866" Column="15" TopLine="1866"/>
       </Position5>
       <Position6>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="531" Column="18" TopLine="499"/>
+        <Caret Line="1" Column="1" TopLine="1"/>
       </Position6>
       <Position7>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="585" Column="23" TopLine="553"/>
+        <Caret Line="79" Column="23" TopLine="56"/>
       </Position7>
       <Position8>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="586" Column="20" TopLine="554"/>
+        <Caret Line="87" Column="11" TopLine="64"/>
       </Position8>
       <Position9>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="588" Column="23" TopLine="556"/>
+        <Caret Line="141" Column="21" TopLine="118"/>
       </Position9>
       <Position10>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="589" Column="20" TopLine="557"/>
+        <Caret Line="356" Column="23" TopLine="333"/>
       </Position10>
       <Position11>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="655" Column="34" TopLine="623"/>
+        <Caret Line="365" Column="19" TopLine="341"/>
       </Position11>
       <Position12>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="904" Column="27" TopLine="775"/>
+        <Caret Line="1" Column="1" TopLine="1"/>
       </Position12>
       <Position13>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="1" Column="1" TopLine="1"/>
+        <Caret Line="79" Column="23" TopLine="56"/>
       </Position13>
       <Position14>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="760" Column="27" TopLine="730"/>
+        <Caret Line="87" Column="11" TopLine="64"/>
       </Position14>
       <Position15>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="1550" Column="3" TopLine="1521"/>
+        <Caret Line="141" Column="21" TopLine="118"/>
       </Position15>
       <Position16>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="1" Column="1" TopLine="1"/>
+        <Caret Line="356" Column="23" TopLine="333"/>
       </Position16>
       <Position17>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="2134" Column="69" TopLine="2098"/>
+        <Caret Line="365" Column="19" TopLine="341"/>
       </Position17>
       <Position18>
-        <Filename Value="main.pas"/>
-        <Caret Line="271" Column="5" TopLine="263"/>
+        <Filename Value="querywindow.pas"/>
+        <Caret Line="1" Column="1" TopLine="1"/>
       </Position18>
       <Position19>
-        <Filename Value="main.pas"/>
-        <Caret Line="1" Column="1" TopLine="1"/>
+        <Filename Value="querywindow.pas"/>
+        <Caret Line="95" Column="14" TopLine="72"/>
       </Position19>
       <Position20>
-        <Filename Value="main.pas"/>
-        <Caret Line="45" Column="24" TopLine="17"/>
+        <Filename Value="querywindow.pas"/>
+        <Caret Line="134" Column="24" TopLine="111"/>
       </Position20>
       <Position21>
-        <Filename Value="main.pas"/>
-        <Caret Line="209" Column="30" TopLine="181"/>
+        <Filename Value="querywindow.pas"/>
+        <Caret Line="218" Column="17" TopLine="194"/>
       </Position21>
       <Position22>
-        <Filename Value="main.pas"/>
-        <Caret Line="1108" Column="65" TopLine="1080"/>
+        <Filename Value="sqlhistory.pas"/>
+        <Caret Line="140" Column="21" TopLine="130"/>
       </Position22>
       <Position23>
         <Filename Value="main.pas"/>
-        <Caret Line="1111" Column="11" TopLine="1083"/>
+        <Caret Line="3860" Column="1" TopLine="3840"/>
       </Position23>
       <Position24>
         <Filename Value="main.pas"/>
-        <Caret Line="1303" Column="36" TopLine="1275"/>
+        <Caret Line="1" Column="1" TopLine="1"/>
       </Position24>
       <Position25>
         <Filename Value="main.pas"/>
-        <Caret Line="1317" Column="57" TopLine="1289"/>
+        <Caret Line="56" Column="15" TopLine="32"/>
       </Position25>
       <Position26>
         <Filename Value="main.pas"/>
-        <Caret Line="1318" Column="40" TopLine="1290"/>
+        <Caret Line="210" Column="19" TopLine="187"/>
       </Position26>
       <Position27>
         <Filename Value="main.pas"/>
-        <Caret Line="1320" Column="37" TopLine="1292"/>
+        <Caret Line="251" Column="29" TopLine="229"/>
       </Position27>
       <Position28>
         <Filename Value="main.pas"/>
-        <Caret Line="2398" Column="11" TopLine="2370"/>
+        <Caret Line="252" Column="36" TopLine="230"/>
       </Position28>
       <Position29>
         <Filename Value="main.pas"/>
-        <Caret Line="2598" Column="13" TopLine="2570"/>
+        <Caret Line="1" Column="1" TopLine="1"/>
       </Position29>
-      <Position30>
-        <Filename Value="main.pas"/>
-        <Caret Line="3826" Column="21" TopLine="3799"/>
-      </Position30>
     </JumpHistory>
   </ProjectOptions>
   <CompilerOptions>
@@ -1244,7 +1266,6 @@
     <Linking>
       <Debugging>
         <GenerateDebugInfo Value="False"/>
-        <UseLineInfoUnit Value="False"/>
         <StripSymbols Value="True"/>
       </Debugging>
       <LinkSmart Value="True"/>

+ 2 - 2
TurboBird.lpr

@@ -2,7 +2,7 @@
 {  TurboBird: FireBird database administration and management tool          }
 {  Developed by: Motaz Abdel Azeem http://code.sd/                          }
 {  Start development :  5.Dec.2009                                          }
-{  Last updated      : 10.Nov.2013                                          }
+{  Last updated      :  9.Dec.2013                                          }
 {  License           : GPL for GUI, LGPL for Units                          }
 {***************************************************************************}
 
@@ -29,7 +29,7 @@ const
   Minor = 9;
   Release = 12;
 
-  VersionDate = '2010 - Novumber 2013';
+  VersionDate = '2010 - December 2013';
 {$IFDEF Unix}
 {$DEFINE extdecl:=cdecl}
     fbclib = 'libfbclient.' + sharedsuffix;

+ 1 - 1
main.lfm

@@ -14,7 +14,7 @@ object fmMain: TfmMain
   OnClose = FormClose
   OnCreate = FormCreate
   Position = poScreenCenter
-  LCLVersion = '1.0.8.0'
+  LCLVersion = '1.0.14.0'
   object tvMain: TTreeView
     Left = 0
     Height = 596

+ 7 - 5
main.lrs

@@ -1,14 +1,16 @@
+{ This is an automatically generated lazarus resource file }
+
 LazarusResources.Add('TfmMain','FORMDATA',[
   'TPF0'#7'TfmMain'#6'fmMain'#4'Left'#3#244#0#6'Height'#3#128#2#3'Top'#3#139#0#5
   +'Width'#3#0#4#13'ActiveControl'#7#6'tvMain'#7'Caption'#6#28'TurboBird Admin '
   +'for FireBird'#12'ClientHeight'#3'i'#2#11'ClientWidth'#3#0#4#5'Color'#7#7'cl'
   +'White'#9'Font.Name'#6#4'Sans'#4'Menu'#7#9'MainMenu1'#10'OnActivate'#7#12'Fo'
   +'rmActivate'#7'OnClose'#7#9'FormClose'#8'OnCreate'#7#10'FormCreate'#8'Positi'
-  +'on'#7#14'poScreenCenter'#10'LCLVersion'#6#7'1.0.8.0'#0#9'TTreeView'#6'tvMai'
-  +'n'#4'Left'#2#0#6'Height'#3'T'#2#3'Top'#2#0#5'Width'#3'h'#1#5'Align'#7#6'alL'
-  +'eft'#15'BackgroundColor'#7#7'clWhite'#5'Color'#7#7'clCream'#13'HideSelectio'
-  +'n'#8#6'Images'#7#10'ImageList1'#6'Indent'#2#25#8'ReadOnly'#9#16'RightClickS'
-  +'elect'#9#9'ShowLines'#8#8'TabOrder'#2#0#10'OnDblClick'#7#14'tvMainDblClick'
+  +'on'#7#14'poScreenCenter'#10'LCLVersion'#6#8'1.0.14.0'#0#9'TTreeView'#6'tvMa'
+  +'in'#4'Left'#2#0#6'Height'#3'T'#2#3'Top'#2#0#5'Width'#3'h'#1#5'Align'#7#6'al'
+  +'Left'#15'BackgroundColor'#7#7'clWhite'#5'Color'#7#7'clCream'#13'HideSelecti'
+  +'on'#8#6'Images'#7#10'ImageList1'#6'Indent'#2#25#8'ReadOnly'#9#16'RightClick'
+  +'Select'#9#9'ShowLines'#8#8'TabOrder'#2#0#10'OnDblClick'#7#14'tvMainDblClick'
   +#10'OnExpanded'#7#14'tvMainExpanded'#7'Options'#11#17'tvoAutoItemHeight'#21
   +'tvoKeepCollapsedNodes'#11'tvoReadOnly'#19'tvoRightClickSelect'#14'tvoShowBu'
   +'ttons'#11'tvoShowRoot'#11'tvoToolTips'#0#15'ExpandSignColor'#7#8'clMaroon'#0

+ 70 - 16
main.pas

@@ -252,6 +252,12 @@ type
     function SaveAndCloseSQLHistory: Boolean;
     function OpenSQLHistory(DatabaseTitle: string): Boolean;
     function ConnectToDBAs(dbIndex: Integer): Boolean;
+    function IsLinux: Boolean;
+    function IsWindows: Boolean;
+    function IsUnix: Boolean;
+    function Is64bit: Boolean;
+    function Is32bit: Boolean;
+    function getConfigurationDirectory: string;
   end;
 
 var
@@ -702,6 +708,46 @@ begin
   end;
 end;
 
+function TfmMain.IsLinux: Boolean;
+begin
+  Result := Target = 'Linux';
+end;
+
+function TfmMain.IsWindows: Boolean;
+begin
+  Result := Target = 'Win';
+end;
+
+function TfmMain.IsUnix: Boolean;
+begin
+end;
+
+function TfmMain.Is64bit: Boolean;
+begin
+  result := Arch = '64';
+end;
+
+function TfmMain.Is32bit: Boolean;
+begin
+  result := Arch = '32';
+end;
+
+function TfmMain.getConfigurationDirectory: string;
+var
+  ConfigDir: string;
+begin
+  if IsLinux then
+  begin
+    ConfigDir:= GetEnvironmentVariable('HOME') + DirectorySeparator + '.turbobird' + DirectorySeparator;
+
+    if not DirectoryExists(ConfigDir) then
+      CreateDir(ConfigDir);
+    Result:= ConfigDir;
+  end
+  else
+    ExtractFilePath(ParamStr(0));
+end;
+
 (****************  Fill and show constraints form ************************)
 
 procedure TfmMain.FillAndShowConstraintsForm(Form: TfmTableManage; ATableName: string; dbIndex: Integer);
@@ -1412,7 +1458,7 @@ var
   i: Integer;
 begin
   try
-    AFileName:= ExtractFilePath(ParamStr(0)) + LowerCase(RemoveSpecialChars(DatabaseTitle)) + '.history';
+    AFileName:= getConfigurationDirectory + LowerCase(RemoveSpecialChars(DatabaseTitle)) + '.history';
 
     // Different opened history file
     if mdsHistory.Active and (AFileName <> CurrentHistoryFile) then
@@ -3805,7 +3851,14 @@ begin
   try
     tvMain.Items.Clear;
     ReleaseRegisteredDatabases;
-    FileName:= ChangeFileExt(ParamStr(0), '.reg');
+    FileName:= getConfigurationDirectory + 'turbobird.reg';
+
+    // Copy old configuration file
+    if not FileExists(FileName) and (FileExists(ChangeFileExt(ParamStr(0), '.reg'))) then
+    begin
+      CopyFile(ChangeFileExt(ParamStr(0), '.reg'), FileName);
+    end;
+
     AssignFile(F, FileName);
     if FileExists(FileName) then
     begin
@@ -3965,20 +4018,21 @@ var
   FileName: string;
 begin
   Result:= False;
-    FileName:= ChangeFileExt(ParamStr(0), '.reg');
-    AssignFile(F, FileName);
-    if FileExists(FileName) then
-    begin
-      FileMode:= 2;
-      Reset(F);
-      Seek(F, Index);
-      Read(F, Rec);
-      Rec.Deleted:= True;
-      Seek(F, Index);
-      Write(F, Rec);
-      CloseFile(F);
-      Result:= True;
-    end;
+  FileName:= getConfigurationDirectory + 'turbobird.reg';
+
+  AssignFile(F, FileName);
+  if FileExists(FileName) then
+  begin
+    FileMode:= 2;
+    Reset(F);
+    Seek(F, Index);
+    Read(F, Rec);
+    Rec.Deleted:= True;
+    Seek(F, Index);
+    Write(F, Rec);
+    CloseFile(F);
+    Result:= True;
+  end;
 end;
 
 (**************  Get Firebird Type name  *****************)

+ 258 - 258
querywindow.lfm

@@ -14,7 +14,7 @@ object fmQueryWindow: TfmQueryWindow
   OnShow = FormShow
   PopupMenu = pmTab
   Position = poScreenCenter
-  LCLVersion = '1.0.12.0'
+  LCLVersion = '1.0.14.0'
   object Panel1: TPanel
     Left = 0
     Height = 60
@@ -1349,263 +1349,263 @@ object fmQueryWindow: TfmQueryWindow
       0000000000000000000100000001808080028080800280808002555555034040
       4004666666056666660555555506555555065555550666666605808080045555
       5503808080028080800280808002000000010000000100000000000000000000
-      0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00ABABAB00ABAB
-      AB00ABABAB00ABABAB00ABABAB00ABABAB00ABABAB00ABABAB00ABABAB1BABAB
-      AB6CABABABB7ABABABCCABABABFCABABABFCABABABCCABABABB7ABABAB6CABAB
-      AB1BABABAB00ABABAB00ABABAB00ABABAB00ABABAB00ABABAB00ABABAB00ABAB
-      AB00ABABAB00ABABAB00FFFFFF00FFFFFF00FFFFFF00FFFFFF00AAAAAA00AAAA
-      AA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00AAAAAA33AAAAAA9CB2B2B2FFCBC9
-      CAFFE4E0E1FFEAE6E7FFF7F2F3FFF7F4F5FFEAE9EAFFE3E2E2FFCAC9C9FFB2B2
-      B2FFAAAAAA9CAAAAAA33FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00AAAA
-      AA00AAAAAA00AAAAAA00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A9A9A900A9A9
-      A900FFFFFF00FFFFFF00FFFFFF00A9A9A98AB1B1B1FFDAD7D8FFF8F3F3FFF9F2
-      F3FFF5EDEFFFF3EAEBFFF1EAEBFFF1EDEEFFF3F1F2FFF4F3F3FFF6F4F4FFF5F4
-      F4FFDADADAFFB1B1B1FFA9A9A98AFFFFFF00FFFFFF00FFFFFF00FFFFFF00A9A9
-      A900A9A9A900A9A9A900FFFFFF00FFFFFF00FFFFFF00FFFFFF00A7A7A800A7A7
-      A800FFFFFF00A7A7A806A7A7A896BFBDBEFFF2F0F2FFF6F3F4FFF5EFF1FFF3EA
-      EBFFF1E7E9FFEFE7E9FFEDE7E8FFEFEDEEFFEFEFEFFFEFEFEFFFEFEFEFFFF1F0
-      F0FFF3F3F3FFF2F1F1FFC1C0C1FFA7A7A896A7A7A806FFFFFF00FFFFFF00A7A7
-      A800A7A7A800A7A7A800FFFFFF00FFFFFF00FFFFFF00FFFFFF00A6A6A600A6A6
-      A600FFFFFF00A6A6A696C7C5C5FFF4F1F1FFF3F0F1FFF2EDEFFFF2EDEFFFF1EB
-      EDFFEFE6E8FFEDE6E8FFEBE7EAFFECEBEDFFEBEDEEFFECEDEDFFECEDEDFFEDED
-      EDFFEDEDEDFFF1F0F0FFF3F3F3FFCACACAFFA6A6A696FFFFFF00FFFFFF00A6A6
-      A600A6A6A600A6A6A600FFFFFF00FFFFFF00FFFFFF00FFFFFF00A4A4A400A4A4
-      A400A4A4A48ABAB9BAFFF1EFEFFFF1EFEFFFEFEDEDFFEFEDEEFFEFECEEFFEFEB
-      EEFFEEE6EAFFEAE6E8FFE9E6E9FFEAEBEDFFEAEBEDFFEAEBEDFFEAECEDFFEAEC
-      EDFFEBECEDFFECEDEDFFEFEFEFFFF1F1F1FFBDBCBCFFA4A4A48AFFFFFF00A4A4
-      A400A4A4A400A4A4A400FFFFFF00FFFFFF00FFFFFF00FFFFFF00A3A3A300A3A3
-      A336AAAAAAFFE8E6E7FFEFEEEFFFECEBECFFECEBECFFEBEBECFFEBEBEDFFECEA
-      EDFFEBE6EBFFE9E4E9FFE8E7EAFFE7EAEDFFE6EAECFFE6EAECFFE6EAECFFE7EA
-      EBFFE8EBEBFFEAEBECFFEBEBECFFEFEEEFFFECEBEBFFAAAAAAFFA3A3A336A3A3
-      A300A3A3A300A3A3A300FFFFFF00FFFFFF00FFFFFF00FFFFFF00A1A1A100A1A1
-      A19FCBCACBFFEDECEDFFEBEAEBFFEAEAEBFFE9EAEBFFE8EAEBFFE8E9EBFFE9E9
-      EDFFEAE6EBFFE7E4E9FFE5E5EAFFE4E8ECFFE3E8EBFFE3E8EBFFE3E8EBFFE4E9
-      EBFFE6E9EBFFE8EAEBFFE9EAEBFFEAEAEBFFEFEEEFFFCFCFCFFFA1A1A19FA1A1
-      A100A1A1A100A1A1A100FFFFFF00FFFFFF00FFFFFF00FFFFFF009F9F9F21A8A8
-      A8FFE3E2E3FFEBEBEBFFEAE9EAFFE8E8EAFFE6E8EAFFE5E8EAFFE5E8EAFFE6E8
-      ECFFE8E9EEFFE8E8EEFFE7EBF0FFE6EDF2FFE5EBEFFFE1E9EDFFE1E8EAFFE1E7
-      EAFFE3E8EAFFE4E8EAFFE7E8EAFFE8E8EAFFECEBEBFFE9E7E8FFA8A8A8FF9F9F
-      9F219F9F9F009F9F9F00FFFFFF00FFFFFF00FFFFFF00FFFFFF009D9D9D78BBBB
-      BBFFE6E5E6FFE8E8E8FFE7E8E8FFE6E7E8FFE4E6E8FFE2E6E9FFE2E6EAFFE5EA
-      EDFFDCE0E5FFCFD0D2FFC3C4C4FFC4C4C5FFCFD1D3FFD9E0E4FFE0E9ECFFDFE6
-      E9FFE0E6E8FFE2E6E8FFE4E6E9FFE6E7E9FFE8E8E9FFEBEAEBFFBDBCBCFF9D9D
-      9D789D9D9D009D9D9D00FFFFFF00FFFFFF00FFFFFF00FFFFFF009B9B9BBDC9C8
-      C9FFE5E5E5FFE6E6E6FFE5E5E6FFE3E5E6FFE1E4E6FFE0E4E7FFE1E6EAFFD9DE
-      E2FFC4C4C6FFD3D4D49DECEDED6DEEEEEE6BD4D4D49BC4C4C6FFD6DDE0FFDDE5
-      E9FFDDE4E6FFE0E4E7FFE2E4E7FFE4E5E7FFE6E5E7FFE9E8E9FFCFCDCEFF9B9B
-      9BBD9B9B9B009B9B9B00FFFFFF00FFFFFF00FFFFFF00FFFFFF00989899E4D2D0
-      D1FFE6E5E5FFE5E4E5FFE3E4E5FFE1E4E5FFDFE3E5FFDDE2E6FFDFE4E9FFCBCD
-      CFFFD3D3D39BFDFFFF5AFDFFFF5AFFFFFF59FFFFFF59D3D3D39BCACCCFFFDCE4
-      E8FFDBE2E6FFDDE2E6FFE0E3E6FFE2E4E6FFE4E4E6FFE7E6E7FFD9D6D7FF9898
-      99E4ABABAB00ABABAB00FFFFFF00FFFFFF00FFFFFF00FFFFFF00969697F9D6D4
-      D5FFE5E4E4FFE4E3E4FFE2E2E4FFE0E2E4FFDEE2E4FFDCE1E4FFDCE2E7FFBFBF
-      C0FFEDEDED6BFDFFFF5AFDFFFF5AFFFFFF59FFFFFF59EDEDED6BBFBFC0FFDAE2
-      E7FFDAE0E4FFDBE1E4FFDEE2E4FFE0E2E4FFE2E2E4FFE4E4E5FFD7D4D5FF9696
-      97F9ABABAB00ABABAB00FFFFFF00FFFFFF00FFFFFF00FFFFFF00949495F9D5D3
-      D4FFD5D2D4FFD3D2D4FFD1D1D4FFCDD0D4FFCAD0D4FFC7CFD4FFC4CED5FF9A9B
-      9CFF8D8D8D1EAAAAAA98ABABABFFABABABFFABABABFFABABABFFABABABFFABAB
-      ABFFABABABFFABABABFFABABABFFABABABFFABABABFFABABABFFABABABFFABAB
-      ABFFAAAAAA9832323202FFFFFF00FFFFFF00FFFFFF00FFFFFF00929292E4CFCC
-      CEFFD5D1D3FFD1CFD2FFCFCED2FFCCCED2FFC8CDD1FFC4CCD1FFC7D0D7FFA8AB
-      AEFF8B8B8B6AA9A9A9FFFCFCFCFFFAFAFAFFFAFAFAFFFAFAFAFFFAFAFAFFFAFA
-      FAFFFAFAFAFFFAFAFAFFFAFAFAFFFAFAFAFFFAFAFAFFFAFAFAFFFAFAFAFFFCFC
-      FCFFA9A9A9FF32323206FFFFFF00FFFFFF00FFFFFF00FFFFFF00909090BAC2BF
-      C1FFD4CFD2FFD0CCCFFFCDCBCFFFCACBCFFFC6CACFFFC3C9CEFFC5CFD5FFBAC3
-      C8FF959698FFA6A6A6FFF3F3F3FFDADADAFFCDCDCDFFCDCDCDFFCDCDCDFFCDCD
-      CDFFCDCDCDFFCDCDCDFFCDCDCDFFCDCDCDFFCDCDCDFFCDCDCDFFDADADAFFF3F3
-      F3FFA6A6A6FF3232320DFFFFFF00FFFFFF00FFFFFF00FFFFFF008D8D8E78AEAD
-      AEFFD4CFD2FFCECACDFFCCC9CDFFC9C9CDFFC5C8CDFFC2C8CCFFC2CAD0FFC7D2
-      D8FFB1BCC1FFA3A3A3FFEDEDEDFFC9C9C9FF72CAFAFF7BCDFAFF79CDFAFF76CB
-      FAFF75CBFAFF73CBFAFF72CAF9FF71C9F9FF6AC7F9FF4DBCF8FFC9C9C9FFEDED
-      EDFFA3A3A3FF32323212FFFFFF00FFFFFF00FFFFFF00FFFFFF008B8B8C1B9392
-      93FFD3CFD1FFD0CBCEFFCBC8CBFFC8C7CBFFC5C7CBFFC2C6CAFFC0C6CAFFBFC8
-      CEFFB9C1C9FF9F9F9FFFEDEDEDFFC9C9C9FF52BEF8FF57C0F8FF57BFF9FF55BF
-      F9FF54BFF9FF51BDF8FF4CBBF8FF45B9F8FF37B4F7FF15A6F6FFC9C9C9FFEDED
-      EDFF9F9F9FFF32323214FFFFFF00FFFFFF00FFFFFF00FFFFFF0089898A008989
-      8A96B5B3B4FFD1CED0FFC9C6C9FFC7C5C9FFC4C5C8FFC1C4C8FFBFC4C8FFBEC4
-      C8FFB0B7BCFF9B9B9BFFEDEDEDFFC9C9C9FF3EA3EEFF58B3F2FF50B1F3FF4CB0
-      F2FF4AAFF2FF46ADF2FF40AAF2FF35A5F1FF259EEFFF1690EBFFC9C9C9FFEDED
-      EDFF9B9B9BFF32323214FFFFFF00FFFFFF00FFFFFF00FFFFFF00878788008787
-      882D8E8E8FFFCECCCDFFCDCACCFFC5C4C6FFC3C3C6FFC1C3C6FFBFC2C6FFBDC2
-      C6FFB1B6BAFF969697FFEDEDEDFFC9C9C9FF2689E4FF3D9BEAFF4CA3ECFF53A7
-      EDFF57A9EDFF57A9EDFF53A7EDFF4CA3ECFF3D9BEAFF2689E4FFC9C9C9FFEDED
-      EDFF969697FF32323214FFFFFF00FFFFFF00FFFFFF00FFFFFF00858586008585
-      8600858586879B9A9BFFD1CFD0FFC9C7C9FFC3C2C4FFC1C1C4FFC0C1C4FFBEC1
-      C4FFB2B3B8FF929292FFEDEDEDFFC9C9C9FF1672DCFF2580E0FF358AE3FF4090
-      E5FF4694E6FF4A96E6FF4C97E6FF5099E7FF589EE7FF3E8AE1FFC9C9C9FFEDED
-      EDFF929292FF32323214FFFFFF00FFFFFF00FFFFFF00FFFFFF00848485008484
-      85008484850084848593A3A2A3FFD0CED0FFC7C7C8FFC0C0C2FFC0BFC2FFBFBF
-      C2FFB1B2B6FF8D8D8EFFEDEDEDFFC9C9C9FF0B56CEFF0D57CFFF135CD0FF1960
-      D2FF1E63D3FF2165D3FF2267D4FF2468D4FF2B6DD5FF3D7AD9FFC9C9C9FFEDED
-      EDFF8D8D8EFF32323214FFFFFF00FFFFFF00FFFFFF00FFFFFF00828283000000
-      000180808002666666058181829799999AFFCFCECFFFCDCACCFFC4C2C4FFC0BE
-      C1FFB2AEB3FF89898AFFEDEDEDFFC9C9C9FF07399AFF043596FF043596FF0535
-      97FF063798FF073799FF083999FF0B3C9CFF1243A0FF2355ABFFC9C9C9FFEDED
-      EDFF89898AFF32323214FFFFFF00FFFFFF00FFFFFF00FFFFFF00818181008080
-      80026D6D6D0755555512555555217B7B7B9D878787FFB4B3B4FFD4D1D3FFD1CD
-      D0FFBDB8BBFF858586FFE8E8E8FFCFCFCFFFC4C4C4FFC4C4C4FFC4C4C4FFC4C4
-      C4FFC4C4C4FFC4C4C4FFC4C4C4FFC4C4C4FFC4C4C4FFC4C4C4FFCFCFCFFFE8E8
-      E8FF858586FF32323214FFFFFF00FFFFFF00FFFFFF00FFFFFF007F7F80005555
-      55035D5D5D0B5858581D575757355858584B67676876777778BD878788FFA4A2
-      A4FFB6B0B4FF828283FFE4E4E4FFD9D9DAFFD9D9DAFFD9D9DAFFD9D9DAFFD9D9
-      DAFFD9D9DAFFD9D9DAFFD9D9DAFFD9D9DAFFD9D9DAFFD9D9DAFFD9D9DAFFE4E4
-      E4FF828283FF32323212FFFFFF00FFFFFF00FFFFFF00FFFFFF007E7E7F008080
-      80026D6D6D0755555512555555215757572F575757385959593C636363527373
-      7390747475CD777778F37F7F80FF7F7F80FF7F7F80FF7F7F80FF7F7F80FF7F7F
-      80FF7F7F80FF7F7F80FF7F7F80FF7F7F80FF7F7F80FF7F7F80FF7F7F80FF7F7F
-      80FF777778A63232320DFFFFFF00FFFFFF00FFFFFF00FFFFFF007D7D7E000000
-      000180808002666666054D4D4D0A5B5B5B0E5A5A5A1155555512595959145555
-      55184B4B4B214646462F3D3D3D413A3A3A4D3939395339393952393939503737
-      374C3636364B373737493636364735353545333333413333333E313131363232
-      32283232321432323206FFFFFF00FFFFFF00FFFFFF00FFFFFF007D7D7E007D7D
-      7E007D7D7E000000000100000001808080028080800280808002555555034040
-      4004565656074949490B3C3C3C133A3A3A183939391A3B3B3B193E3E3E183636
-      3617383838163838381638383816303030153030301532323214323232123232
-      320D3232320632323202FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00ABABAB96ABABABFFABABABFFABABABFFABABABFFABABABFFABABABFFABAB
-      ABFFABABABFFABABABFFABABABFFABABABFFABABABFFABABABFFABABABFFAAAA
-      AAFFA7A7A7FFA7A7A7FFA9A9A999ABABAB00ABABAB00ABABAB00ABABAB00ABAB
-      AB00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00AAAAAAFFEFEFEFFFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3
-      F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFF3F3F3FFEFEF
-      EFFFD5D5D5FFC5C5C5FFB7B7B7FFAAAAAA84ABABAB00ABABAB00ABABAB00ABAB
-      AB00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00A9A9A9FFF1F0F1FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0
-      F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFEBEB
-      EBFFD0D0D0FFB9B9B9FFDCDCDCFFB2B2B2FFA9A9A963ABABAB00ABABAB00ABAB
-      AB00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00A7A7A7FFF2F2F2FFF2F1F1FFF1F1F1FFF1F1F1FFF1F1F1FFF1F2F1FFF1F1
-      F1FFF2F1F2FFF2F1F2FFF2F1F1FFF1F2F1FFF1F1F1FFF1F1F1FFF2F2F1FFEDED
-      EDFFD2D2D2FFB8B8B8FFE2E2E2FFDEDEDEFFA9A9A9FFA7A7A72DABABAB00ABAB
-      AB00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00A6A6A6FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0
-      F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFF0F0F0FFEBEB
-      EBFFCDCDCDFFB6B6B6FFD7D8D8FFE1E1E1FFC4C4C4FFA3A3A39CABABAB01ABAB
-      AB00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00A4A4A4FFEFEFEFFFEEEEEEFFEEEEEEFFACACACFF7D7D7EFF7D7D7EFF7D7D
-      7EFFACACACFFEEEEEFFFEEEEEEFFEEEEEEFFEFEEEEFFACACACFF7D7D7EFF7A7A
-      7BFF868687FFA8A8A9FFB4B4B4FFB7B7B7FFB7B7B7FF9D9D9DFFABABAB07ABAB
-      AB00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00A2A2A2FFEDEDEDFFECEDEDFFEDEDEDFF7A7A7BFFB3B3B4FFB6B6B6FFB4B4
-      B5FF7A7A7BFFEDEDEDFFECEDEDFFEDEDEDFFEDEDEDFF9B9B9CFFB4B4B5FFB4B4
-      B4FF979798FF757575FFDDDDDDFFDFDFDFFFDEDEDEFFA0A0A0FFABABAB09ABAB
-      AB00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00A0A0A0FFEBEBEBFFEBEBEBFFEBEAEAFF767677FFAAABABFFA6A6A6FFAEAE
-      AFFF767677FF767677FF767677FF767677FF767677FF969697FFAFAFAFFFA5A5
-      A6FF929293FF757576FFEBEAEAFFEBEBEBFFE8E8E8FF9E9E9EFFABABAB04ABAB
-      AB00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF009E9E9EFFEAEAEAFFE9E9E9FFE9E9E9FF727272FF9D9D9EFFD8D8D8FFA9A9
-      AAFFACACADFFAEAEAFFFAFAFB0FFAFAFB0FFAEAEAFFFACACADFFA9A9AAFFD8D8
-      D8FF858586FF727272FFE9E9E9FFE9E9E9FFE8E8E8FF9E9E9EFFABABAB00ABAB
-      AB00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF009C9C9CFFE8E8E8FFE6E7E7FFE7E7E7FF6C6C6DFF989899FFAFAFB0FF9191
-      92FFD7D6D6FFD7D6D6FFD6D6D7FFD7D7D7FFD6D6D6FFD6D7D7FF919192FFAFAF
-      B0FF838384FF6C6C6DFFE6E6E6FFE4E4E4FFE0E0E0FF9B9B9BFFFFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF009A9A9AFFE6E6E6FFE5E5E5FFE5E5E5FF676767FF929293FF919192FF8989
-      8AFFD3D3D3FFCE7FC7FFCE7FC7FFCE7FC7FFCE7FC7FFD3D3D3FF89898AFF9191
-      92FF808081FF676767FFE0DFE0FFE0DFE0FFDEDDDEFF9A9A9AFFFFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00979798FFE4E4E4FFE3E3E3FFE3E3E3FF616161FF8F8E8EFFCBCBCBFF8484
-      84FFD0D0CFFFCA7CC3FFCB7CC3FFCB7CC3FFCA7CC3FFCFCFD0FF848484FFCBCB
-      CBFF7F7F7FFF616161FFDFDEDFFFDFDFDFFFDDDDDDFF979798FFFFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00959596FFE2E2E2FFE1E1E2FFE1E2E1FF5B5B5BFF8A8A8AFFA2A2A2FF7F7F
-      80FFC0C0C0FFB038ACFFB038ACFFB038ACFFB038ACFFC0C0C0FF7F7F80FFA2A2
-      A2FF7C7C7CFF5B5B5BFFDEDEDEFFDEDEDEFFDDDDDDFF959596FFFFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00939393FFDADADAFFD8D8D8FFD8D8D8FF545455FF797979FF767676FF6969
-      69FFC9C9C9FFB206ADFFB206ADFFB206ADFFB206ADFFC9C9C9FF696969FF7676
-      76FF797979FF545455FFD3D3D3FFD3D3D3FFD5D5D5FF939393FFFFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00919191FFD8D8D8FFD6D6D6FFD6D6D6FF4E4E4FFF767677FFD3D3D3FF6565
-      66FFABABABFF601A68FF601A68FF601A68FF601A68FFABABABFF656566FFD3D3
-      D3FF767677FF4E4E4FFFD2D2D2FFD2D2D2FFD4D4D4FF919191FFFFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF008E8E8FFFD6D6D6FFD4D4D4FFD3D3D3FF484849FF737374FF979797FF5D5D
-      5DFFABABABFFABABABFFABABABFFABABABFFABABABFFABABABFF5D5D5DFF9797
-      97FF737374FF484849FFD2D2D2FFD2D2D2FFD4D4D4FF8E8E8FFFFFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF008C8C8DFFD5D5D5FFD3D3D3FFD2D2D2FF434343FF727272FF5C5C5CFF6565
-      66FF515152FF4C4C4DFF4C4C4DFF4C4C4DFF4C4C4DFF515152FF656566FF5C5C
-      5CFF727272FF434343FFD2D2D2FFD2D2D2FFD4D4D4FF8C8C8DFFFFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF008A8A8BFFD3D3D3FFD1D1D1FFD1D1D1FF3D3D3EFF656565FF4C4C4CFF5555
-      55FF3D3D3EFF3D3D3EFF3D3D3EFF3D3D3EFF3D3D3EFF3D3D3EFF555555FF4C4C
-      4CFF656565FF3D3D3EFFD1D1D1FFD1D1D1FFD3D3D3FF8A8A8BFFFFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00888889FFD2D2D2FFD0D0D0FFD0D0D0FF393939FF4E4E4FFF49494AFF4949
-      4AFF393939FFD0D0D0FFD0D0D0FFD0D0D0FFD0D0D0FF393939FF49494AFF4949
-      4AFF4E4E4FFF393939FFD0D0D0FFD0D0D0FFD2D2D2FF888889FFFFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
-      FF00868687FFD0D0D0FFCECECEFFCECECEFF747474FF353535FF353535FF3535
-      35FF747474FFCECECEFFCECECEFFCECECEFFCECECEFF747474FF353535FF3535
-      35FF353535FF747474FFCECECEFFCECECEFFD0D0D0FF868687FFFFFFFF00FFFF
-      FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
-      0000848485FFCFCFCFFFCDCDCDFFCDCDCDFFCDCDCDFFCDCDCDFFCDCDCDFFCDCD
-      CDFFCDCDCDFFCDCDCDFFCDCDCDFFCDCDCDFFCDCDCDFFCDCDCDFFCDCDCDFFCDCD
-      CDFFCDCDCDFFCDCDCDFFCDCDCDFFCDCDCDFFCFCFCFFF848485FF000000000000
-      0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
-      0001828283FFCFCFCFFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCC
-      CCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCC
-      CCFFCCCCCCFFCCCCCCFFCCCCCCFFCCCCCCFFCFCFCFFF828283FF000000010000
-      0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008080
-      8002818182FFCECECEFFCBCBCBFFCBCBCBFFCBCBCBFFCBCBCBFFCBCBCBFFCBCB
-      CBFFCBCBCBFFCBCBCBFFCBCBCBFFCBCBCBFFCBCBCBFFCBCBCBFFCBCBCBFFCBCB
-      CBFFCBCBCBFFCBCBCBFFCBCBCBFFCBCBCBFFCECECEFF818182FF404040040000
-      0001FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005555
-      55037F7F80FFD9D9D9FFDFDFDFFFDFDFDFFFDFDFDFFFDFDFDFFFDFDFDFFFDFDF
-      DFFFDFDFDFFFDFDFDFFFDFDFDFFFDFDFDFFFDFDFDFFFDFDFDFFFDFDFDFFFDFDF
-      DFFFDFDFDFFFDFDFDFFFDFDFDFFFDFDFDFFFD9D9D9FF7F7F80FF555555060000
-      0001FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF008080
-      80027E7E7F997E7E7FFF7E7E7FFF7E7E7FFF7E7E7FFF7E7E7FFF7E7E7FFF7E7E
-      7FFF7E7E7FFF7E7E7FFF7E7E7FFF7E7E7FFF7E7E7FFF7E7E7FFF7E7E7FFF7E7E
-      7FFF7E7E7FFF7E7E7FFF7E7E7FFF7E7E7FFF7E7E7FFF7D7D7E9B404040040000
-      0001FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
-      000180808002666666054D4D4D0A5B5B5B0E5A5A5A1155555512595959145555
-      55185252521C5858581D5555551E5555551E5555551E5858581D5858581A5555
-      5515515151135A5A5A115555550F5555550C4949490755555503000000010000
-      0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
-      0000000000000000000100000001808080028080800280808002555555034040
-      4004666666056666660555555506555555065555550666666605808080045555
-      5503808080028080800280808002000000010000000100000000000000000000
-      0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+      0000FFFFFF00FFFFFF00FFFFFF005B5B5B005B5B5B005B5B5B005B5B5B005B5B
+      5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B
+      5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B
+      5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B
+      5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B
+      5B005B5B5B005B5B5B005B5B5B005B5B5B00535755FF535755FF535755FF5357
+      55FF535755FF535755FF535755FF535755FF535755FF535755FF535755FF5559
+      57FD5A5E5DB55555550C5B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B
+      5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B
+      5B005B5B5B005B5B5B005B5B5B0000000001535755FFF2F2F2FFFEFEFEFFFEFE
+      FEFFFEFEFEFFFEFEFEFFFEFEFEFFFEFEFEFFFEFEFEFFFDFDFDFFFDFDFDFFEAEA
+      EAFF898B8AFE595D5AD1555555095B5B5B005B5B5B005B5B5B005B5B5B005B5B
+      5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B
+      5B005B5B5B005B5B5B005B5B5B0080808002535755FFD7D7D7FFD7D7D7FFD7D7
+      D7FFD7D7D7FFD6D6D6FFD5D5D5FFD3D3D3FFD1D1D1FFCDCDCDFFC8C8C8FFBFBF
+      BFFFBCBCBCFFA3A4A4FF595D5BC8666666055B5B5B005B5B5B005B5B5B005B5B
+      5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B
+      5B005B5B5B005B5B5B005B5B5B0055555503535755FED9D9D9FFD9D9D9FFD9D9
+      D9FFD8D8D8FFD8D8D8FFD8D8D8FFD7D7D7FFD4D4D4FFD2D2D2FFCECECEFFC7C7
+      C7FFBEBEBEFFF2F2F2FFA0A2A1FE5A5D5BBE555555035B5B5B005B5B5B005B5B
+      5B005B5B5B005B5B5B005B5B5B005B5B5B00808080047A7A7AC1777777FB7777
+      77FB777777FB777777FB777777FB767676FB555957FFDCDCDCFFDBDBDBFFDBDB
+      DBFFDBDBDBFF9B9C9BFF989A99FF989A99FF989A99FF979998FF9B9D9CFFD1D1
+      D1FFC1C1C1FFF9F9F9FFF3F3F3FF9FA1A0FE5A5E5BB3808080025B5B5B005B5B
+      5B005B5B5B005B5B5B005B5B5B005B5B5B0078787824808080F5CDCDCDFFC4C4
+      C4FFC3C3C3FFC3C3C3FFC1C1C1FFBEBEBEFF555957FFDEDEDEFFDEDEDEFFDEDE
+      DEFFDDDDDDFFDBDBDBFFDBDBDBFFDADADAFFDADADAFFDADADAFFD9D9D9FFD7D7
+      D7FFCFCFCFFFA7A7A7FFA7A7A7FFBCBCBCFF8B8D8CFC555957725B5B5B005B5B
+      5B005B5B5B005B5B5B005B5B5B005B5B5B007272721D818181F4B3B3B3FF9F9F
+      9FFF9E9E9EFF9D9D9DFF9C9C9CFF999999FF565A58FFE1E1E1FFD9D9D9FFE0E0
+      E0FFE0E0E0FF9FA1A0FF9D9E9DFF9D9E9DFF9D9E9DFF9D9E9DFFA2A3A3FFDEDE
+      DEFFDADADAFFD1D1D1FFCCCCCCFFC8C8C8FFB4B5B5FF666B69EF000000015B5B
+      5B005B5B5B005B5B5B005B5B5B005B5B5B006D6D6D157A7A7AF5C4C5C5FFB0B0
+      B0FFAEAEAEFFADADADFFACACACFFA9A9A9FF575B59FFE3E3E3FF8E918FFFCFD0
+      D0FFE2E2E2FFDDDEDEFFDEDEDEFFDEDEDEFFDDDDDDFFDDDDDDFFDDDDDDFFE0E0
+      E0FFE0E0E0FFDDDDDDFFDADADAFFD5D5D5FFCECECEFF565A58FD606060085B5B
+      5B005B5B5B005B5B5B005B5B5B005B5B5B006D6D6D0E737373F8B1B1B1FF9C9C
+      9CFF9A9A9AFF999999FF979797FF949494FF565A58FFE6E6E6FFE5E5E5FFE8E8
+      E8FFE5E5E5FFA0A1A0FF9D9F9EFF9D9F9EFF9D9F9EFF9D9F9EFF9D9F9EFF9D9F
+      9EFF9D9F9EFF9C9E9DFFA2A4A3FFDDDDDDFFD9D9D9FF555957FC606060085B5B
+      5B005B5B5B005B5B5B005B5B5B005B5B5B00808080066F6F6FFBC1C2C2FFACAC
+      ACFFAAAAAAFFA9A9A9FFA7A7A7FFA2A2A2FF585C5AFFE8E8E8FFE8E8E8FFE8E8
+      E8FFE8E8E8FFE7E7E7FFE7E7E7FFE7E7E7FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6
+      E6FFE5E5E5FFE5E5E5FFE5E5E5FFE4E4E4FFE1E1E1FF555957FB606060085B5B
+      5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B00696969FDAFB0B0FF9898
+      98FF969696FF969696FF949494FF909090FF585C5AFFEBEBEBFFEBEBEBFFEAEA
+      EAFFEAEAEAFFA5A7A6FFA3A4A3FFA2A3A2FFA2A3A2FFA2A3A2FFA2A3A2FFA2A3
+      A2FFA2A3A2FFA2A3A2FFA7A8A8FFE7E7E7FFE7E7E7FF555957FB606060085B5B
+      5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B00666666FBBDBDBDFFA8A8
+      A8FFA68A73FFA56737FFA56737FFA46636FFA36535FFA66838FFA66838FFA668
+      38FFA66838FFA66838FFA66838FFA66838FFA66838FFA66838FFA66838FFA668
+      38FFA66838FFA66838FFA66838FFA66838FFA66838FFA36535FFA56635FBA566
+      35FBA669389E5B5B5B005B5B5B005B5B5B005B5B5B00656565F6AAAAAAFF9595
+      95FFA17654FFD8B89AFFE9D3BEFFE9D3BEFFE9D3BEFFE9D2BDFFE9D2BDFFE9D2
+      BCFFE9D2BCFFE9D2BCFFE9D2BCFFE9D2BCFFE9D2BCFFE9D2BCFFE8D1BCFFE8D1
+      BCFFE8D1BCFFE8D1BCFFE8D1BCFFE8D1BBFFE8D1BBFFE8D1BBFFE8D1BBFFDCBD
+      A0FFA76938DA5B5B5B005B5B5B005B5B5B005B5B5B00626262F1B5B6B6FFA5A5
+      A5FFA7754FFFDEC1A7FFDEBD9DFFDAB38EFFD9B38EFFD9B38FFFD9B38FFFD9B3
+      8FFFD9B38FFFD9B38FFFD9B48FFFD9B48FFFD9B48FFFD9B48FFFD9B48FFFD9B4
+      8FFFDAB48FFFDAB48FFFDAB48FFFDAB58FFFDAB58FFFDAB590FFDEBC9CFFD7B6
+      96FFA76A39C65B5B5B005B5B5B005B5B5B005B5B5B005F5F5FECA5A5A5FF9292
+      92FFA56F44FFE4CAB3FFDDBB99FFDAB48FFFDAB38FFFDAB38FFFDAB38FFFDAB3
+      8FFFDAB38FFFDAB38FFFDAB38FFFDAB38FFFDAB38FFFDAB38FFFDAB38FFFDAB3
+      8FFFD9B38FFFD9B38FFFD9B38FFFD9B38FFFD9B38FFFD9B38EFFDBB693FFD3AF
+      8EFFA86939AF5B5B5B005B5B5B005B5B5B005B5B5B005E5E5EE5ACADADFFA2A2
+      A2FFA66B3DFFE8D1BDFFDDB998FFDBB693FFDBB693FFDBB693FFDBB693FFDBB6
+      93FFDBB692FFDBB692FFDBB692FFDBB592FFDBB592FFDBB592FFDBB592FFDBB5
+      92FFDBB592FFDBB592FFDBB592FFDBB592FFDBB592FFD7AD86FFDDBA98FFCFA7
+      85FFA76737945B5B5B005B5B5B005B5B5B005B5B5B005A5A5ADF9F9F9FFF8F8E
+      8EFFA56838FFECD8C6FFDCB997FFDCB896FFDCB896FFDCB895FFDCB895FFDCB8
+      95FFDCB895FFDCB895FFDCB895FFDCB895FFDCB895FFDCB895FFDCB895FFDCB8
+      95FFDCB795FFDCB795FFDCB795FFDCB694FFD7AE87FFD5A980FFDFBE9FFFCA9F
+      7CFDA364347A5B5B5B005B5B5B005B5B5B005B5B5B00575757D8A4A5A5FFA09B
+      97FFAB7246FFECD8C5FFDDB999FFDDB999FFDDB999FFDDB999FFDDB999FFDDB9
+      99FFDDB999FFDDB999FFDDB999FFDDB999FFDDB999FFDDB999FFDDB998FFDDB9
+      98FFDDB998FFDDB998FFDCB895FFD7AF88FFD6AC84FFD6AC84FFE2C4A7FFC396
+      71F7A46535655B5B5B005B5B5B005B5B5B005B5B5B00555555D1989898FF9288
+      80FFB27D55FFEAD4C0FFDEBC9CFFDEBC9CFFDEBC9CFFDEBB9CFFDEBB9CFFDEBB
+      9CFFDEBB9CFFDEBB9CFFDEBB9CFFDEBB9BFFDEBB9BFFDEBB9BFFDEBB9BFFDEBB
+      9BFFDEBB9BFFDCB694FFD9AF8AFFD8AE88FFD8AE88FFD8AE88FFE4C7ADFFBC8B
+      64F3A46536515B5B5B005B5B5B005B5B5B005B5B5B00525252C99C9C9CFF9F8F
+      83FFB78861FFE7CDB5FFDDB999FFDDB999FFDDB999FFDDB999FFDDBA99FFDDBA
+      99FFDDBA9AFFDDBA9AFFDDB999FFDCB897FFDCB796FFDBB694FFDAB491FFDAB3
+      8FFFD8AF89FFD8AE88FFD8AE88FFD8AE88FFD8AE88FFD8AE89FFE4C6ADFFB57E
+      54F1A364323D5B5B5B005B5B5B005B5B5B005B5B5B00505050C0909090FF947F
+      6FFFBD8F6AFFE2C4A9FFDBB592FFDBB593FFDBB592FFD9B28EFFD8AF89FFD6AB
+      84FFD5A880FFD4A780FFD4A87FFFD4A87FFFD4A87FFFD5A87FFFD5A87FFFD5A8
+      7FFFD5A880FFD5A880FFD5A880FFD5A880FFD5A980FFD5A980FFE1C1A4FFAC72
+      45F4A66633285B5B5B005B5B5B005B5B5B005B5B5B004E4E4EB8919191FFA086
+      71FFC2936EFFDDBB9BFFD6AC85FFD3A67CFFD1A177FFD1A176FFD1A276FFD1A2
+      76FFD1A276FFD1A276FFD2A277FFD2A277FFD2A277FFD2A277FFD2A277FFD2A3
+      77FFD2A377FFD2A378FFD2A378FFD2A378FFD2A378FFD2A378FFDDBA99FFA76A
+      3AF8A66633145B5B5B005B5B5B005B5B5B005B5B5B004B4B4BAE868787FF9978
+      5FFFC28F66FFD3A67CFFCE9C6DFFCE9C6DFFCE9C6DFFCE9C6EFFCE9C6EFFCF9C
+      6EFFCF9C6EFFCF9C6EFFCF9C6EFFCF9D6FFFCF9D6FFFCF9D6FFFCF9D6FFFCF9D
+      6FFFCF9D6FFFCF9D70FFCF9D70FFCF9D70FFCF9E70FFCF9E71FFD7B08BFFA466
+      34FD808000025B5B5B005B5B5B005B5B5B005B5B5B00494949A4878787FFA37C
+      5DFFC08C5FFFCE9C6EFFCC9767FFCC9767FFCD9767FFCD9867FFCD9868FFCD98
+      68FFCD9868FFCD9868FFCD9868FFCD9868FFCD9869FFCD9869FFCD9869FFCD99
+      69FFCD9969FFCD9969FFCD996AFFCD996AFFCD996AFFCE9B6CFFCFA176FFA667
+      36F35B5B5B005B5B5B005B5B5B005B5B5B005B5B5B004747479B7E7E7EFFA073
+      4FFFC79569FFD2A478FFD1A276FFD1A276FFD1A276FFD1A276FFD1A276FFD1A2
+      77FFD1A277FFD1A277FFD1A377FFD1A377FFD1A377FFD1A378FFD1A378FFD1A3
+      78FFD1A378FFD1A378FFD1A378FFD2A479FFD2A479FFD3A57BFFCC9D72FFA769
+      38E45B5B5B005B5B5B005B5B5B005B5B5B005B5B5B00454545907E7E7EFFA572
+      4AFFC89D75FFD0A883FFD0A883FFD0A883FFD0A883FFD0A883FFD1A984FFD1A9
+      84FFD1A984FFD1A984FFD1A984FFD1A984FFD1A984FFD1A984FFD2AA85FFD2AA
+      85FFD2AA85FFD2AA85FFD3AB86FFD3AB86FFD3AB86FFD2AA84FFC5946AFFA868
+      39D25B5B5B005B5B5B005B5B5B005B5B5B00000000063F3F3F8D787470FFA468
+      3AFFB88659FFBA885BFFBA895CFFBA895CFFBA895CFFBA895CFFBA895CFFBB8A
+      5CFFBB8A5CFFBB8A5CFFBB8A5CFFBC8B5DFFBC8B5DFFBC8B5DFFBC8B5DFFBD8C
+      5EFFBD8C5EFFBD8C5EFFBD8C5EFFBE8D5FFFBE8D5FFFBE8C5EFFAF7547FC9E63
+      339B000000045B5B5B005B5B5B0000000002000000162121216C78563CFCA465
+      34FFA46636FFA46636FFA46636FFA46636FFA46636FFA46636FFA46636FFA466
+      36FFA46636FFA46636FFA46636FFA46636FFA46636FFA46636FFA46636FFA466
+      36FFA46636FFA46636FFA46636FFA46636FFA46635FDA46636FD995F32E13C24
+      144D00000011000000025B5B5B00000000010000000F0000002E07070445160F
+      0C53150F0C54150F0C54150F0C54150F0C54150F0C54150F0C54150F0C54150F
+      0C54150F0C54150F0C54150F0C54150F0C54150F0C54150F0C54150F0C54150F
+      0C54150F0C54150F0C54150F0C54130D0A4F100A074E110A034C0000003E0000
+      00250000000A000000015B5B5B005B5B5B0000000002000000080000000B0000
+      000C0000000D0000000D0000000D0000000D0000000D0000000D0000000D0000
+      000D0000000D0000000D0000000D0000000D0000000D0000000D0000000D0000
+      000D0000000D0000000D0000000D0000000D0000000D0000000C0000000B0000
+      0006000000025B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B
+      5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B
+      5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B
+      5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B5B005B5B
+      5B005B5B5B005B5B5B005B5B5B00000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000894C21368A4B1F92894C21D08A4C21D68A4D
+      21CB884A208E8949203800000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000008E471C12884B20B88F552BF2AF805BFDC09879FFC9A689FFC6A2
+      85FFB58A69FD955D35F5894C1FC5844C1C1B0000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      000089491B1C884B20DEA77753D0CAA58AE1CBA78BFFCEAB90FFCEAD93FFD0AF
+      96FFD1B198FFD1B299FFB68C6CFC894E23F0884A1C2D00000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000008055
+      2B0687491FC6AA7C5BADAB7C5BC99C6641E1A06B44EFB28362FDCDAB90FFCFAD
+      93FFCCA78CFFCBA68AFFCFAD94FFC1997CFF8A4D21E985471F19000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      000000000000000000000000000000000000000000000000000000000000864A
+      1F72915A32D78F552DEA874C1F9B87491F42884B2047884C21AB915831F6C7A2
+      86FFCCA98DFFC8A184FFC69F80FFCDAB90FFB38765FD8B4B20AD000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      00000000000000000000000000000000000000000000000000008E551C098749
+      1FC7884C22F3864B1D3D0000000000000000000000000000000088482058935C
+      32F3CDAB90FFC69E7FFFC49B7BFFC39A7AFFCEAC91FF915930F1884A1C2D0000
+      0000000000000000000000000000000000000000000000000000000000000000
+      000000000000000000000000000000000000000000000000000086481F39864A
+      1EA9854A1E450000000000000000000000000000000000000000000000008A4A
+      20A5B78B6AFCC8A183FFC29776FFC19573FFC9A386FFB18361FC874A1F8E0000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000844A1F538549
+      1D7B55555524545454BD595959FD5C5C5CFF5C5C5CFF5C5C5CFF5C5C5CFF6657
+      4DFF986744FFCBA589FFBF9371FFBE906DFFC29777FFC49D7FFF834E28FF5C5C
+      5CFF5B5B5BFF5B5B5BFF5B5B5BFF585858FC535353A949494907000000000000
+      000000000000000000000000000000000000000000000000000087481D358346
+      1F21535353B6AFAFAFFFFCFCFCFFFEFEFEFFFDFDFDFFFDFDFDFFFCFCFCFFF5F2
+      F0FF915831FFCBA78BFFBD8F6BFFBC8D69FFBD8E6AFFCCA98EFF8D522AFFF6F6
+      F6FFF5F5F5FFF4F4F4FFF3F3F3FFF2F2F2FF959595FF53535375000000000000
+      0000000000000000000000000000000000000000000000000000854316176666
+      4D0A545454EDF5F5F5FFCEBCAFFF874A1FFF874A1FFF874A1FFF874A1FFF874A
+      1FFF894E23FFCCA88CFFBA8A65FFB98863FFB88761FFCFAE95FF874A1FFF874A
+      1FFF874A1FFF874A1FFF874A1FFFAD896FFFDEDEDEFF535353D9000000010000
+      0000000000000000000000000000000000000000000000000000000000005353
+      5359979797FFF8F8F8FFE5E5E5FFC3AD9CFF955E38FFC2997AFFC8A183FFC9A3
+      86FFCBA68AFFCCA88DFFB8855FFFB7845DFFB6825BFFCFAF94FFD0B097FFD1B2
+      99FFD1B198FFB08261FF9B6A48FFDBDAD9FFEDEDEDFF7E7E7EFF545454430000
+      0000000000000000000000000000000000000000000000000000000000005353
+      53BCDFDFDFFFECECECFFE0E0E0FFE3E3E3FFB99B86FF98613AFFC39A7BFFBA8A
+      65FFB6825BFFB5825AFFB58159FFB48058FFB0794EFFAB7043FFA76939FFBE8F
+      6CFFB68968FF905A34FFD2CDCAFFD7D7D7FFE2E2E2FFC3C3C3FF535353AA0000
+      0000000000000000000000000000000000000000000000000000535353226969
+      69FEFAFAFAFFE1E1E1FFE4E4E4FFE7E7E7FFE7E7E7FFAC876CFF9C6942FFC39B
+      7BFFB58158FFAE764AFFAA6E41FFA56636FFA46433FFA46433FFB6835CFFBE93
+      74FF8F562DFFCEC3BBFFDCDCDCFFD9D9D9FFD9D9D9FFE9E9E9FF5F5F5FF94E4E
+      4E1700000000000000000000000000000000000000000000000054545486BDBD
+      BDFFF0F0F0FFE1E1E1FFE5E5E5FFE5E5E5FFE4E4E4FFE2E1E0FFA3785AFF9F6A
+      42FFBD8E6AFFA7693AFFA46433FFA46433FFA46433FFB0784DFFC49C7DFF9259
+      31FFC2B0A2FFDCDCDCFFDBDBDBFFDADADAFFD8D8D8FFE4E4E4FFA2A2A2FF5353
+      5378000000000000000000000000000000000000000040404004555555E5F0F0
+      F0FFE4E4E4FFE5E5E5FFE4E4E4FFE2E2E2FFE0E0E0FFDDDDDDFFDAD9D8FF9A6A
+      48FFA26E47FFBF926FFFA76939FFA46433FFAA6F41FFC7A082FF98623CFFB193
+      7EFFD8D8D8FFD9D9D9FFDADADAFFDADADAFFDADADAFFDADADAFFD8D8D8FF5353
+      53DE80808002000000000000000000000000000000005252524E919191FFF5F5
+      F5FFDCDCDCFFE7E7E7FFE0E0E0FFDCDCDCFFD9D9D9FFD6D6D6FFD6D6D6FFD2CE
+      CCFF935E39FFAC7A55FFBF9270FFA96C3DFFC69D7EFFA2704AFF9F7658FFD0D0
+      D0FFD1D1D1FFD2D2D2FFD4D4D4FFD6D6D6FFDEDEDEFFD4D4D4FFE5E5E5FF7F7F
+      7FFF5151514800000000000000000000000000000000535353B3D8D8D8FFE7E7
+      E7FFDCDCDCFFE3E3E3FFDFDFDFFFD6D6D6FFD5D5D5FFD5D5D5FFD4D4D4FFD1D1
+      D1FFC6BFBAFF8E572FFFB1825EFFCAA589FFAD7C59FF93603CFFC5C3C1FFCACA
+      CAFFCCCCCCFFCDCDCDFFD0D0D0FFD8D8D8FFDBDBDBFFD2D2D2FFDBDBDBFFBDBD
+      BDFF545454AE0000000000000000000000004E4E4E1A676767FBF5F5F5FFDCDC
+      DCFFD9D9D9FFD7D7D7FFDFDFDFFFDFDFDFFFD7D7D7FFD4D4D4FFD1D1D1FFCECE
+      CEFFC8C8C8FFBDB4AEFF8C532BFFA6724DFF8D542BFFBBB5B0FFC4C4C4FFC6C6
+      C6FFCACACAFFCDCDCDFFD8D8D8FFD9D9D9FFCDCDCDFFD0D0D0FFD3D3D3FFE0E0
+      E0FF626262FB5555551B000000000000000052525279B6B6B6FFEBEBEBFFDDDD
+      DDFFDADADAFFD8D8D8FFD6D6D6FFDADADAFFE2E2E2FFDEDEDEFFD7D7D7FFCFCF
+      CFFFCBCBCBFFC8C8C8FFB8ABA2FF874A1FFFB8ABA2FFC6C6C6FFCACACAFFD0D0
+      D0FFD7D7D7FFDADADAFFD2D2D2FFCECECEFFCFCFCFFFD2D2D2FFD8D8D8FFDDDD
+      DDFF9D9D9DFF5353537E0000000000000000535353D3E9E9E9FFE1E1E1FFF7F7
+      F7FFE7E7E7FFDADADAFFD9D9D9FFD6D6D6FFD5D5D5FFD6D6D6FFD9D9D9FFDCDC
+      DCFFDCDCDCFFDBDBDBFFDADADAFFD5D0CDFFD9D9D9FFDBDBDBFFD9D9D9FFD7D7
+      D7FFD0D0D0FFCECECEFFCFCFCFFFD1D1D1FFD3D3D3FFE2E2E2FFF6F6F6FFDADA
+      DAFFD3D3D3FF575757DB0000000000000000535353F8F6F6F6FFDCDCDCFFDDDD
+      DDFFDBDBDBFFDCDCDCFFDCDCDCFFDCDCDCFFDCDCDCFFDBDBDBFFD9D9D9FFD8D8
+      D8FFD7D7D7FFD6D6D6FFD4D4D4FFD4D4D4FFD4D4D4FFD5D5D5FFD6D6D6FFD7D7
+      D7FFD7D7D7FFD8D8D8FFD8D8D8FFD8D8D8FFD7D7D7FFD6D6D6FFD7D7D7FFD5D5
+      D5FFE8E8E8FF555555FF0000000000000000535353FFF0F0F0FFE0E0E0FFE1E1
+      E1FFE1E1E1FFE0E0E0FFE0E0E0FFDFDFDFFFDFDFDFFFDEDEDEFFDDDDDDFFDDDD
+      DDFFDDDDDDFFDCDCDCFFDCDCDCFFDBDBDBFFDBDBDBFFDADADAFFDADADAFFDADA
+      DAFFD9D9D9FFD8D8D8FFD7D7D7FFD7D7D7FFD6D6D6FFD6D6D6FFD5D5D5FFD5D5
+      D5FFD0D0D0FF535353FF0000000000000000535353FFECECECFFBABABAFFBABA
+      BAFFB9B9B9FFB8B8B8FFB7B7B7FFB5B5B5FFB4B4B4FFB3B3B3FFB2B2B2FFB1B1
+      B1FFAFAFAFFFAEAEAEFFADADADFFACACACFFABABABFFAAAAAAFFA8A8A8FFA7A7
+      A7FFA6A6A6FFA5A5A5FFA4A4A4FFA2A2A2FFA1A1A1FFA0A0A0FF9F9F9FFF9F9F
+      9FFFB9B9B9FF535353FF0000000000000000535353FFEAEAEAFFBABABAFFBABA
+      BAFF848484FF8A8A8AFF929292FF999999FF9E9E9EFFA3A3A3FFA7A7A7FFAAAA
+      AAFFACACACFFADADADFFAEAEAEFFABABABFFAAAAAAFF989898FFC5C5C5FF9797
+      97FFC3C3C3FF949494FFC2C2C2FF929292FFC1C1C1FF909090FFBFBFBFFF9F9F
+      9FFFB7B7B7FF535353FF0000000000000000535353FFE9E9E9FFBABABAFFB9B9
+      B9FF878787FF8A8A8AFF929292FF999999FF9E9E9EFFA3A3A3FFA7A7A7FFAAAA
+      AAFFABABABFFADADADFFADADADFFABABABFFAAAAAAFF989898FFC5C5C5FF9696
+      96FFC3C3C3FF949494FFC2C2C2FF919191FFC0C0C0FF8F8F8FFFBFBFBFFF9F9F
+      9FFFB4B4B4FF535353FF0000000000000000535353FFE7E7E7FFBABABAFFB9B9
+      B9FF8E8E8EFF8C8C8CFF929292FF999999FF9E9E9EFFA3A3A3FFA7A7A7FFAAAA
+      AAFFABABABFFADADADFFACACACFFAAAAAAFFA9A9A9FF989898FFC5C5C5FF9696
+      96FFC3C3C3FF939393FFC1C1C1FF919191FFC0C0C0FF8F8F8FFFBFBFBFFF9F9F
+      9FFFB2B2B2FF535353FF0000000000000000535353FFE4E4E4FFBABABAFFB8B8
+      B8FFB8B8B8FFB5B5B5FFB9B9B9FFB3B3B3FFB0B0B0FFAFAFAFFFACACACFFADAD
+      ADFFAAAAAAFFACACACFFACACACFFAAAAAAFFA9A9A9FF979797FFC4C4C4FF9595
+      95FFC3C3C3FF939393FFC1C1C1FF909090FFBFBFBFFF8F8F8FFFBFBFBFFFA0A0
+      A0FFAEAEAEFF535353FD0000000000000000525252DFC5C5C5FFE1E1E1FFE0E0
+      E0FFDEDEDEFFDCDCDCFFDBDBDBFFD9D9D9FFD7D7D7FFD5D5D5FFD3D3D3FFD1D1
+      D1FFCFCFCFFFCDCDCDFFCBCBCBFFC9C9C9FFC7C7C7FFC4C4C4FFC2C2C2FFBFBF
+      BFFFBDBDBDFFBBBBBBFFB9B9B9FFB6B6B6FFB4B4B4FFB2B2B2FFB1B1B1FFAFAF
+      AFFF959595FF515151D6000000080000000048484858515151E3535353FF5353
+      53FF535353FF535353FF535353FF535353FF535353FF535353FF535353FF5353
+      53FF535353FF535353FF535353FF535353FF535353FF535353FF535353FF5353
+      53FF535353FF535353FF535353FF535353FF535353FF535353FF535353FF5353
+      53FF505050E33A3A3A5D0000000E00000000000000080000001B0000002C0000
+      003A000000400000004500000045000000450000004500000045000000450000
+      0045000000450000004500000045000000450000004500000045000000450000
+      004500000045000000450000004500000045000000450000003F000000420000
+      003A0000002C00000017000000020000000000000000000000010000000C0000
+      00170000001F0000002200000022000000220000002200000022000000220000
+      0022000000220000002200000022000000220000002200000022000000220000
+      002200000022000000220000002200000022000000220000001E0000001A0000
+      0012000000060000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
       FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF

File diff suppressed because it is too large
+ 394 - 443
querywindow.lrs


+ 0 - 2
querywindow.pas

@@ -482,7 +482,6 @@ begin
 
 end;
 
-
 { EnableApplyButton: enable save updates button when records has been modified }
 
 procedure TfmQueryWindow.EnableApplyButton;
@@ -1450,7 +1449,6 @@ begin
   AddResultControl(ATab, Apply);
 end;
 
-
 { Remove all run-time controls from current Query window }
 
 procedure TfmQueryWindow.RemoveControls;

+ 9 - 4
reg.pas

@@ -112,7 +112,9 @@ var
   FileName: string;
 begin
   try
-    FileName:= ChangeFileExt(ParamStr(0), '.reg');
+
+    FileName:= fmMain.getConfigurationDirectory + 'turbobird.reg';
+
     AssignFile(F, FileName);
     if FileExists(FileName) then
     begin
@@ -162,7 +164,8 @@ var
   FileName: string;
 begin
   try
-    FileName:= ChangeFileExt(ParamStr(0), '.reg');
+    FileName:= fmMain.getConfigurationDirectory + 'turbobird.reg';
+
     AssignFile(F, FileName);
     FileMode:= 2;
     Reset(F);
@@ -221,7 +224,9 @@ var
   F: file of TRegisteredDatabase;
 begin
   Result:= -1;
-  FileName:= ChangeFileExt(ParamStr(0), '.reg');
+
+  FileName:= fmMain.getConfigurationDirectory + 'turbobird.reg';
+
   AssignFile(F, FileName);
   if FileExists(FileName) then
   begin
@@ -247,8 +252,8 @@ var
 begin
   try
     Sort;
+    FileName:= fmMain.getConfigurationDirectory + 'turbobird.reg';
 
-    FileName:= ChangeFileExt(ParamStr(0), '.reg');
     AssignFile(F, FileName);
     FileMode:= 2;
     Rewrite(F);

Some files were not shown because too many files changed in this diff