diff --git a/components/fpspreadsheet/examples/wikitablemaker/readme.txt b/components/fpspreadsheet/examples/wikitablemaker/readme.txt new file mode 100644 index 000000000..601646e2d --- /dev/null +++ b/components/fpspreadsheet/examples/wikitablemaker/readme.txt @@ -0,0 +1,10 @@ +WikiTableMaker implements an editor for tables to be used in wikis. + +Load a spreadsheet file into the worksheet grid, or type in the data needed. +Go to page "code" to see the wiki code. Copy it to the clipboard and paste it +into the wiki source page. + +Technically, WikiTableMaker is a moderately stripped-down version of the +spready demo. The worksheet grid, however, is created at run-time. Therefore, +it is not necessary to install the laz_fpspreadsheet package to run this +sample project. diff --git a/components/fpspreadsheet/examples/wikitablemaker/synhighlighterwikitable.pas b/components/fpspreadsheet/examples/wikitablemaker/synhighlighterwikitable.pas new file mode 100644 index 000000000..8dd650e9a --- /dev/null +++ b/components/fpspreadsheet/examples/wikitablemaker/synhighlighterwikitable.pas @@ -0,0 +1,730 @@ +unit SynHighlighterWikitable; + +{$IFDEF FPC} + {$MODE OBJFPC}{$H+} +{$ENDIF} + +interface + +uses + SysUtils, Classes, + LCLIntf, LCLType, + Controls, Graphics, + SynEditTypes, SynEditHighlighter; + +type + TtkTokenKind = (tkAmpersand, tkComment, tkIdentifier, tkNull, tkNumber, + tkSpace, tkString, tkSymbol, tkText, tkUnknown); + { + TtkTokenKind = (tkComment, tkIdentifier, tkKey, tkNull, tkNumber, tkSpace, + tkString, tkSymbol, tkUnknown); + } + + TRangeState = (rsUnknown, rsSymbol, rsParam, rsValue, rsComment, rsText, rsAmpersand); + + TProcTableProc = procedure of object; + + PIdentFuncTableFunc = ^TIdentFuncTableFunc; + TIdentFuncTableFunc = function: TtkTokenKind of object; + + TSynWikiTableSyn = class(TSynCustomHighlighter) + private + FLine: PChar; + FLineNumber: Integer; + FTokenPos: Integer; + FTokenID: TtkTokenKind; + FRange: TRangeState; + Run: LongInt; + FAmpersandCode: Integer; + FStringLen: Integer; + FToIdent: PChar; + FProcTable: array[#0..#255] of TProcTableProc; + FIdentFuncTable: array[0..255] of TIdentFuncTableFunc; + FCommentAttri: TSynHighlighterAttributes; + FNumberAttri: TSynHighlighterAttributes; + FSpaceAttri: TSynHighlighterAttributes; + FSymbolAttri: TSynHighlighterAttributes; + (* + FIdentifierAttri: TSynHighlighterAttributes; + FKeyAttri: TSynHighlighterAttributes; + FNumberAttri: TSynHighlighterAttributes; + FStringAttri: TSynHighlighterAttributes; + *) + procedure InitIdent; + function IdentKind(MayBe: PChar): TtkTokenKind; + function KeyHash(ToHash: PChar): Integer; + function KeyComp(const aKey: string): Boolean; + procedure MakeMethodTables; + + procedure AmpersandProc; + procedure BarProc; + procedure BeginProc; + procedure CommentProc; + procedure CRProc; + procedure ExclamProc; + procedure LFProc; + procedure IdentProc; + procedure NullProc; + procedure NumberProc; + procedure SpaceProc; + procedure StringProc; + procedure TextProc; + procedure UnknownProc; + protected + public + constructor Create(AOwner: TComponent); override; + function GetDefaultAttribute(Index: integer): TSynHighlighterAttributes; override; + function GetEol: Boolean; override; + function GetToken: string; override; + procedure GetTokenEx(out TokenStart: PChar; out TokenLength: integer); override; + function GetTokenID: TtkTokenKind; + function GetTokenAttribute: TSynHighlighterAttributes; override; + function GetTokenKind: integer; override; + function GetTokenPos: Integer; override; + procedure Next; override; + procedure SetLine(const NewValue: String; LineNumber: Integer); override; + published + property CommentAttri: TSynHighlighterAttributes + read FCommentAttri write FCommentAttri; + property NumberAttri: TSynHighlighterAttributes + read FNumberAttri write FNumberAttri; + property SpaceAttri: TSynHighlighterAttributes + read FSpaceAttri write FSpaceAttri; + property SymbolAttri: TSynHighlighterAttributes + read FSymbolAttri write FSymbolAttri; + + end; + + +implementation + +uses + SynEditStrConst; + +const + // to do: remove next line when this identifier is in stable + SYN_ATTR_NUMBER = 6; // not available in Laz 1.2.4 + + MAX_ESCAPEAMPS = 159; + + EscapeAmps: array[0..MAX_ESCAPEAMPS - 1] of PChar = ( + ('&'), { & } + ('<'), { > } + ('>'), { < } + ('"'), { " } + ('™'), { ™ } + (' '), { space } + ('©'), { © } + ('®'), { ® } + ('À'), { À } + ('Á'), { Á } + ('Â'), {  } + ('Ã'), { à } + ('Ä'), { Ä } + ('Å'), { Å } + ('Æ'), { Æ } + ('Ç'), { Ç } + ('È'), { È } + ('É'), { É } + ('Ê'), { Ê } + ('Ë'), { Ë } + ('Ì'), { Ì } + ('Í'), { Í } + ('Î'), { Î } + ('Ï'), { Ï } + ('Ð'), { Ð } + ('Ñ'), { Ñ } + ('Ò'), { Ò } + ('Ó'), { Ó } + ('Ô'), { Ô } + ('Õ'), { Õ } + ('Ö'), { Ö } + ('Ø'), { Ø } + ('Ù'), { Ù } + ('Ú'), { Ú } + ('Û'), { Û } + ('Ü'), { Ü } + ('Ý'), { Ý } + ('Þ'), { Þ } + ('ß'), { ß } + ('à'), { à } + ('á'), { á } + ('â'), { â } + ('ã'), { ã } + ('ä'), { ä } + ('å'), { å } + ('æ'), { æ } + ('ç'), { ç } + ('è'), { è } + ('é'), { é } + ('ê'), { ê } + ('ë'), { ë } + ('ì'), { ì } + ('í'), { í } + ('î'), { î } + ('ï'), { ï } + ('ð'), { ð } + ('ñ'), { ñ } + ('ò'), { ò } + ('ó'), { ó } + ('ô'), { ô } + ('õ'), { õ } + ('ö'), { ö } + ('ø'), { ø } + ('ù'), { ù } + ('ú'), { ú } + ('û'), { û } + ('ü'), { ü } + ('ý'), { ý } + ('þ'), { þ } + ('ÿ'), { ÿ } + ('¡'), { ¡ } + ('¢'), { ¢ } + ('£'), { £ } + ('¤'), { ¤ } + ('¥'), { ¥ } + ('¦'), { ¦ } + ('§'), { § } + ('¨'), { ¨ } + ('ª'), { ª } + ('«'), { « } + ('­'), { ¬ } + ('¯'), { ¯ } + ('°'), { ° } + ('±'), { ± } + ('²'), { ² } + ('³'), { ³ } + ('´'), { ´ } + ('µ'), { µ } + ('·'), { · } + ('¸'), { ¸ } + ('¹'), { ¹ } + ('º'), { º } + ('»'), { » } + ('¼'), { ¼ } + ('½'), { ½ } + ('¾'), { ¾ } + ('¿'), { ¿ } + ('×'), { × } + ('÷'), { ÷ } + ('€'), { € } + ('‰'), + ('„'), + ('”'), + ('‘'), + ('’'), + ('–'), + ('—'), + ('•'), + //used by very old HTML editors + (' '), { TAB } + (''), {  } + ('€'), { € } + (''), {  } + ('‚'), { ‚ } + ('ƒ'), { ƒ } + ('„'), { „ } + ('&ldots;'), { … } + ('†'), { † } + ('‡'), { ‡ } + ('ˆ'), { ˆ } + ('‰'), { ‰ } + ('Š'), { Š } + ('‹'), { ‹ } + ('Œ'), { Œ } + (''), {  } + ('Ž'), { Ž } + (''), {  } + (''), {  } + ('˜'), { ˜ } + ('™'), { ™ } + ('š'), { š } + ('›'), { › } + ('œ'), { œ } + (''), {  } + ('ž'), { ž } + ('Ÿ'), { Ÿ } + ('¡'), { ¡ } + ('¢'), { ¢ } + ('£'), { £ } + ('¤'), { ¤ } + ('¥'), { ¥ } + ('¦'), { ¦ } + ('§'), { § } + ('¨'), { ¨ } + ('ª'), { ª } + ('¯'), { » } + ('°'), { ° } + ('±'), { ± } + ('²'), { ² } + ('´'), { ´ } + ('µ'), { µ } + ('·'), { · } + ('¸'), { ¸ } + ('¹'), { ¹ } + ('º'), { º } + ('¼'), { ¼ } + ('½'), { ½ } + ('¾'), { ¾ } + ('¿'), { ¿ } + ('×')); { Ô } + +var + Identifiers: array[#0..#255] of ByteBool; + mHashTable: array[#0..#255] of Integer; + +procedure MakeIdentTable; +var + I, J: Char; +begin + for I := #0 to #255 do begin + case I of + 'a'..'z', 'A'..'Z', '-', '_', '0'..'9','@': Identifiers[I] := True; + else + Identifiers[I] := False; + end; + J := UpCase(I); + if I in ['a'..'z', 'A'..'Z', '-', '_','@'] then + mHashTable[I] := Ord(J) - 64 + else + mHashTable[I] := 0; + end; +end; + +constructor TSynWikiTableSyn.Create(AOwner: TComponent); +begin + inherited Create(AOwner); + + FCommentAttri := TSynHighlighterAttributes.Create(@SYNS_AttrComment, SYNS_XML_AttrComment); + FCommentAttri.Style := [fsItalic]; + FCommentAttri.Foreground := clTeal; + AddAttribute(FCommentAttri); + + FNumberAttri := TSynHighlighterAttributes.Create(@SYNS_AttrNumber, SYNS_XML_AttrNumber); + FNumberAttri.Foreground := clBlue; + AddAttribute(fNumberAttri); + + FSpaceAttri := TSynHighlighterAttributes.Create(@SYNS_AttrSpace, SYNS_XML_AttrSpace); + AddAttribute(FSpaceAttri); + + FSymbolAttri := TSynHighlighterAttributes.Create(@SYNS_AttrSymbol, SYNS_XML_AttrSymbol); + FSymbolAttri.Style := [fsBold]; + FSymbolAttri.Foreground := clPurple; + AddAttribute(fSymbolAttri); + + (* + fIdentifierAttri := TSynHighlighterAttributes.Create(@SYNS_AttrIdentifier, SYNS_XML_AttrIdentifier); + AddAttribute(fIdentifierAttri); + + fKeyAttri := TSynHighlighterAttributes.Create(@SYNS_AttrKey, SYNS_XML_AttrKey); + fKeyAttri.Style := [fsBold]; + AddAttribute(fKeyAttri); + + fStringAttri := TSynHighlighterAttributes.Create(@SYNS_AttrString, SYNS_XML_AttrString); + AddAttribute(fStringAttri); + *) + + SetAttributesOnChange(@DefHighlightChange); + InitIdent; + MakeMethodTables; +// fDefaultFilter := SYNS_FilterCSS; + FRange := rsUnknown; +end; + +procedure TSynWikiTableSyn.AmpersandProc; +begin + case FAmpersandCode of + Low(EscapeAmps)..High(EscapeAmps): + begin + FTokenID := tkAmpersand; + inc(Run, StrLen(EscapeAmps[FAmpersandCode])); + end; + end; + FAmpersandCode := -1; + FRange := rsText; +end; + +procedure TSynWikiTableSyn.BarProc; +begin + FTokenID := tkSymbol; + FRange := rsSymbol; + inc(Run); + if FLine[Run] in ['-', '}'] then inc(Run); +end; + +procedure TSynWikiTableSyn.BeginProc; +begin + inc(Run); + if FLine[Run] = '|' then begin + FTokenID := tkSymbol; + FRange := rsSymbol; + inc(Run); + end; +end; + +procedure TSynWikitableSyn.CommentProc; +begin + FTokenID := tkComment; + + if (FLine[Run] in [#0, #10, #13]) then begin + FProcTable[FLine[Run]]; + Exit; + end; + + while not (FLine[Run] in [#0, #10, #13]) do begin + if (FLine[Run] = '>') and (FLine[Run - 1] = '-') and (FLine[Run - 2] = '-') + then begin + FRange := rsText; + inc(Run); + { + if TopHtmlCodeFoldBlockType = cfbtHtmlComment then + EndHtmlNodeCodeFoldBlock; + } + break; + end; + inc(Run); + end; +end; + +procedure TSynWikiTableSyn.CRProc; +begin + FTokenID := tkSpace; + inc(Run); + if FLine[Run] = #10 then inc(Run); +end; + +procedure TSynWikiTableSyn.ExclamProc; +begin + FTokenID := tkSymbol; + inc(Run); + if FLine[Run] = '-' then inc(Run); +end; + +function TSynWikiTableSyn.GetDefaultAttribute(Index: Integer): TSynHighlighterAttributes; +begin + case Index of + SYN_ATTR_COMMENT : Result := FCommentAttri; + SYN_ATTR_SYMBOL : Result := FSymbolAttri; + SYN_ATTR_NUMBER : Result := FNumberAttri; + SYN_ATTR_WHITESPACE : Result := FSpaceAttri; + (* + SYN_ATTR_IDENTIFIER : Result := FIdentifierAttri; + SYN_ATTR_KEYWORD : Result := FKeyAttri; + SYN_ATTR_STRING : Result := FStringAttri; + *) + else + Result := nil; + end; +end; + +function TSynWikiTableSyn.GetEol: Boolean; +begin + Result := (FTokenID = tkNull); +end; + +function TSynWikiTableSyn.GetToken: string; +var + Len: LongInt; +begin + Result := ''; + Len := Run - FTokenPos; + SetString(Result, (FLine + FTokenPos), Len); +end; + +function TSynWikiTableSyn.GetTokenAttribute: TSynHighlighterAttributes; +begin + case GetTokenID of + tkComment : Result := FCommentAttri; + tkSymbol : Result := FSymbolAttri; + tkNumber : Result := FNumberAttri; + tkSpace : Result := FSpaceAttri; + { + tkIdentifier: Result := FIdentifierAttri; + tkKey : Result := FKeyAttri; + tkNumber : Result := FNumberAttri; + tkString : Result := FStringAttri; + tkUnknown : Result := FIdentifierAttri; + } + else + Result := nil; + end; +end; + +procedure TSynWikiTableSyn.GetTokenEx(out TokenStart: PChar; + out TokenLength: integer); +begin + TokenLength := Run - FTokenPos; + TokenStart := FLine + FTokenPos; +end; + +function TSynWikiTableSyn.GetTokenID: TtkTokenKind; +begin + Result := FTokenId; +end; + +function TSynWikiTableSyn.GetTokenKind: integer; +begin + Result := Ord(FTokenId); +end; + +function TSynWikiTableSyn.GetTokenPos: Integer; +begin + Result := FTokenPos; +end; + +function TSynWikiTableSyn.IdentKind(MayBe: PChar): TtkTokenKind; +var + HashKey: Integer; +begin + FToIdent := MayBe; + HashKey := KeyHash(MayBe); + if (HashKey >= 16) and (HashKey <= 275) then + Result := fIdentFuncTable[HashKey]() + else + Result := tkIdentifier; +end; + +procedure TSynWikiTableSyn.IdentProc; +begin + FTokenID := IdentKind((FLine + Run)); + inc(Run, FStringLen); + while Identifiers[FLine[Run]] do + Inc(Run); +end; + +procedure TSynWikiTableSyn.InitIdent; +var + i: Integer; +begin (* + for i := 0 to 255 do + case i of + 1: FIdentFuncTable[i] := @Func1; + 2: FIdentFuncTable[i] := @Func2; + 8: FIdentFuncTable[i] := @Func8; + 9: FIdentFuncTable[i] := @Func9; + 10: FIdentFuncTable[i] := @Func10; + 11: FIdentFuncTable[i] := @Func11; + 12: FIdentFuncTable[i] := @Func12; + 13: FIdentFuncTable[i] := @Func13; + 14: FIdentFuncTable[i] := @Func14; + 15: FIdentFuncTable[i] := @Func15; + 16: FIdentFuncTable[i] := @Func16; + 17: FIdentFuncTable[i] := @Func17; + 18: FIdentFuncTable[i] := @Func18; + 19: FIdentFuncTable[i] := @Func19; + 20: FIdentFuncTable[i] := @Func20; + 21: FIdentFuncTable[i] := @Func21; + 23: FIdentFuncTable[i] := @Func23; + 24: FIdentFuncTable[i] := @Func24; + 25: FIdentFuncTable[i] := @Func25; + end; + *) +end; + +function TSynWikiTableSyn.KeyComp(const aKey: string): Boolean; +var + i: Integer; + Temp: PChar; +begin + Temp := FToIdent; + if Length(aKey) = FStringLen then begin + Result := True; + for i := 1 to FStringLen do begin + if mHashTable[Temp^] <> mHashTable[aKey[i]] then begin + Result := False; + Break; + end; + inc(Temp); + end; + end else + Result := False; +end; + +function TSynWikiTableSyn.KeyHash(ToHash: PChar): Integer; +begin + Result := 0; + While (ToHash^ In ['a'..'z', 'A'..'Z', '!', '/']) do begin + Inc(Result, mHashTable[ToHash^]); + Inc(ToHash); + end; + While (ToHash^ In ['0'..'9']) do begin + Inc(Result, (Ord(ToHash^) - Ord('0')) ); + Inc(ToHash); + end; + FStringLen := (ToHash - FToIdent); +end; + +procedure TSynWikiTableSyn.LFProc; +begin + FTokenID := tkSpace; + inc(Run); +end; + +procedure TSynWikiTableSyn.MakeMethodTables; +var + ch: Char; +begin + for ch := #0 to #255 do + case ch of + #0 : FProcTable[ch] := @NullProc; + #10 : FProcTable[ch] := @LFProc; + #13 : FProcTable[ch] := @CRProc; + #1..#9, #11, #12, #14..#32 : FProcTable[ch] := @SpaceProc; + '"' : FProcTable[ch] := @StringProc; + '0'..'9' : FProcTable[ch] := @NumberProc; + 'A'..'Z', 'a'..'z', '_','@' : FProcTable[ch] := @IdentProc; + '&' : FProcTable[ch] := @AmpersandProc; + '<' : FProcTable[ch] := @CommentProc; + '{' : FProcTable[ch] := @BeginProc; + '|' : FProcTable[ch] := @BarProc; + '!' : FProcTable[ch] := @ExclamProc; + + // '{', '}' : FProcTable[ch] := @AsciiCharProc; +// '-' : FProcTable[ch] := @DashProc; +// '#', '$' : FProcTable[ch] := @IntegerProc; +// ')', '(' : FProcTable[ch] := @RoundOpenProc; +// '/' : FProcTable[ch] := @SlashProc; + else + FProcTable[ch] := @UnknownProc; + end; +end; +(* +var + i: Char; +begin + For i := #0 To #255 do begin + case i of + #0 : FProcTable[i] := @NullProc; + #10 : FProcTable[i] := @LFProc; + #13 : FProcTable[i] := @CRProc; + #1..#9, #11, #12, #14..#32 : FProcTable[i] := @SpaceProc; + '"' : FProcTable[i] := @StringProc; +// '<' : FProcTable[i] := @BraceOpenProc; +// '>' : FProcTable[i] := @BraceCloseProc; +{ '&': + begin + fProcTable[i] := @AmpersandProc; + end; + '=': + begin + fProcTable[i] := @EqualProc; + end; + } + else + fProcTable[i] := @IdentProc; + end; + end; +end; + *) +procedure TSynWikiTableSyn.Next; +begin + FTokenPos := Run; + case FRange of + rsText : TextProc; + rsComment : CommentProc; + else FProcTable[FLine[Run]]; + end; + + + { + if FRange = rsCStyle then + CStyleCommentProc + else + FProcTable[FLine[Run]](); + } +end; + +procedure TSynWikiTableSyn.NullProc; +begin + fTokenID := tkNull; +end; + +procedure TSynWikiTableSyn.NumberProc; +begin + inc(Run); + FTokenID := tkNumber; + while FLine[Run] in ['0'..'9', '.', 'e', 'E'] do begin + if ((FLine[Run] = '.') and (FLine[Run + 1] = '.')) or + ((FLine[Run] = 'e') and ((FLine[Run + 1] = 'x') or (FLine[Run + 1] = 'm'))) then + Break; + Inc(Run); + end; +end; + +procedure TSynWikiTableSyn.SetLine(const NewValue: String; LineNumber: Integer); +begin + inherited; + FLine := PChar(NewValue); + Run := 0; + FLineNumber := LineNumber; + Next; +end; + +procedure TSynWikiTableSyn.SpaceProc; +begin + inc(Run); + FTokenID := tkSpace; + while FLine[Run] <= #32 do begin + if FLine[Run] in [#0, #9, #10, #13] then break; + inc(Run); + end; +end; + +procedure TSynWikiTableSyn.StringProc; +begin + (* + if (FRange = rsValue) then begin + FRange := rsParam; + FTokenID := tkValue; + end else begin + fTokenID := tkString; + end; + *) + FTokenID := tkString; + inc(Run); // first '"' + while not (FLine[Run] in [#0, #10, #13, '"']) do inc(Run); + if FLine[Run] = '"' then inc(Run); // last '"' +end; + +procedure TSynWikiTableSyn.TextProc; +const + StopSet = [#0..#31, '<', '&', '{', '|']; +var + i: Integer; +begin + if FLine[Run] in (StopSet - ['&']) then begin + FProcTable[fLine[Run]]; + exit; + end; + + FTokenID := tkText; + while True do begin + while not (FLine[Run] in StopSet) do inc(Run); + + if (FLine[Run] = '&') then begin + for i:=Low(EscapeAmps) To High(EscapeAmps) do begin + if (StrLIComp((fLine + Run), PChar(EscapeAmps[i]), StrLen(EscapeAmps[i])) = 0) then begin + fAmpersandCode := i; + fRange := rsAmpersand; + Exit; + end; + end; + + Inc(Run); + end else begin + Break; + end; + end; +end; + +procedure TSynWikiTableSyn.UnknownProc; +begin + inc(Run); + while (FLine[Run] in [#128..#191]) or // continued utf8 subcode + ((FLine[Run] <> #0) and (FProcTable[fLine[Run]] = @UnknownProc)) do inc(Run); + FTokenID := tkUnknown; +end; + + +end. + diff --git a/components/fpspreadsheet/examples/wikitablemaker/wikitablemaker.lpi b/components/fpspreadsheet/examples/wikitablemaker/wikitablemaker.lpi new file mode 100644 index 000000000..7bd67a5f1 --- /dev/null +++ b/components/fpspreadsheet/examples/wikitablemaker/wikitablemaker.lpi @@ -0,0 +1,167 @@ + + + + + + + + + + <UseXPManifest Value="True"/> + </General> + <VersionInfo> + <Language Value=""/> + <CharSet Value=""/> + <StringTable ProductVersion=""/> + </VersionInfo> + <BuildModes Count="3"> + <Item1 Name="default" Default="True"/> + <Item2 Name="Debug"> + <CompilerOptions> + <Version Value="11"/> + <Target> + <Filename Value="wikitablemaker"/> + </Target> + <SearchPaths> + <IncludeFiles Value="$(ProjOutDir)"/> + <OtherUnitFiles Value="../.."/> + <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/> + </SearchPaths> + <Parsing> + <SyntaxOptions> + <UseAnsiStrings Value="False"/> + </SyntaxOptions> + </Parsing> + <Linking> + <Options> + <Win32> + <GraphicApplication Value="True"/> + </Win32> + </Options> + </Linking> + </CompilerOptions> + </Item2> + <Item3 Name="Release"> + <CompilerOptions> + <Version Value="11"/> + <PathDelim Value="\"/> + <Target> + <Filename Value="wikitablemaker"/> + </Target> + <SearchPaths> + <IncludeFiles Value="$(ProjOutDir)"/> + <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> + </SearchPaths> + <Parsing> + <SyntaxOptions> + <UseAnsiStrings Value="False"/> + </SyntaxOptions> + </Parsing> + <CodeGeneration> + <SmartLinkUnit Value="True"/> + <Optimizations> + <OptimizationLevel Value="3"/> + </Optimizations> + </CodeGeneration> + <Linking> + <Debugging> + <GenerateDebugInfo Value="False"/> + </Debugging> + <LinkSmart Value="True"/> + <Options> + <Win32> + <GraphicApplication Value="True"/> + </Win32> + </Options> + </Linking> + </CompilerOptions> + </Item3> + </BuildModes> + <PublishOptions> + <Version Value="2"/> + <IgnoreBinaries Value="False"/> + <IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/> + <ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/> + </PublishOptions> + <RunParams> + <local> + <FormatVersion Value="1"/> + </local> + </RunParams> + <RequiredPackages Count="3"> + <Item1> + <PackageName Value="LazControls"/> + </Item1> + <Item2> + <PackageName Value="SynEdit"/> + </Item2> + <Item3> + <PackageName Value="LCL"/> + </Item3> + </RequiredPackages> + <Units Count="3"> + <Unit0> + <Filename Value="wikitablemaker.lpr"/> + <IsPartOfProject Value="True"/> + </Unit0> + <Unit1> + <Filename Value="wtmain.pas"/> + <IsPartOfProject Value="True"/> + <ComponentName Value="MainFrm"/> + <HasResources Value="True"/> + <ResourceBaseClass Value="Form"/> + <UnitName Value="wtMain"/> + </Unit1> + <Unit2> + <Filename Value="wtmain.lfm"/> + <IsPartOfProject Value="True"/> + </Unit2> + </Units> + </ProjectOptions> + <CompilerOptions> + <Version Value="11"/> + <PathDelim Value="\"/> + <Target> + <Filename Value="wikitablemaker"/> + </Target> + <SearchPaths> + <IncludeFiles Value="$(ProjOutDir)"/> + <OtherUnitFiles Value="..\.."/> + <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> + </SearchPaths> + <Parsing> + <SyntaxOptions> + <UseAnsiStrings Value="False"/> + </SyntaxOptions> + </Parsing> + <Linking> + <Debugging> + <UseExternalDbgSyms Value="True"/> + </Debugging> + <Options> + <Win32> + <GraphicApplication Value="True"/> + </Win32> + </Options> + </Linking> + </CompilerOptions> + <Debugging> + <Exceptions Count="5"> + <Item1> + <Name Value="EAbort"/> + </Item1> + <Item2> + <Name Value="ECodetoolError"/> + </Item2> + <Item3> + <Name Value="EFOpenError"/> + </Item3> + <Item4> + <Name Value="Exception"/> + </Item4> + <Item5> + <Name Value="EStreamError"/> + </Item5> + </Exceptions> + </Debugging> +</CONFIG> diff --git a/components/fpspreadsheet/examples/wikitablemaker/wikitablemaker.lpr b/components/fpspreadsheet/examples/wikitablemaker/wikitablemaker.lpr new file mode 100644 index 000000000..de36e0e1a --- /dev/null +++ b/components/fpspreadsheet/examples/wikitablemaker/wikitablemaker.lpr @@ -0,0 +1,17 @@ +program wikitablemaker; + +{$mode objfpc}{$H+} + +uses + Interfaces, // this includes the LCL widgetset + Forms, lazcontrols, wtMain; + +{$R *.res} + +begin + Application.Initialize; + Application.CreateForm(TMainFrm, MainFrm); + MainFrm.BeforeRun; + Application.Run; +end. + diff --git a/components/fpspreadsheet/examples/wikitablemaker/wtmain.lfm b/components/fpspreadsheet/examples/wikitablemaker/wtmain.lfm new file mode 100644 index 000000000..0554a6a71 --- /dev/null +++ b/components/fpspreadsheet/examples/wikitablemaker/wtmain.lfm @@ -0,0 +1,3808 @@ +object MainFrm: TMainFrm + Left = 512 + Height = 639 + Top = 144 + Width = 884 + Caption = 'wikitable maker' + ClientHeight = 619 + ClientWidth = 884 + Menu = MainMenu + OnActivate = FormActivate + OnCreate = FormCreate + ShowHint = True + LCLVersion = '1.3' + object ToolBar1: TToolBar + Left = 0 + Height = 28 + Top = 0 + Width = 884 + ButtonHeight = 24 + ButtonWidth = 24 + Caption = 'ToolBar1' + EdgeBorders = [] + Images = ImageList + TabOrder = 0 + object ToolButton1: TToolButton + Left = 25 + Top = 0 + Action = AcOpen + end + object ToolButton2: TToolButton + Left = 49 + Top = 0 + Action = AcSaveAs + end + object ToolButton3: TToolButton + Left = 78 + Top = 0 + Action = AcQuit + end + object ToolButton5: TToolButton + Left = 73 + Top = 0 + Width = 5 + Caption = 'ToolButton5' + Style = tbsDivider + end + object ToolButton22: TToolButton + Left = 1 + Top = 0 + Action = AcNew + end + end + object FormatToolBar: TToolBar + Left = 0 + Height = 28 + Top = 56 + Width = 884 + AutoSize = True + ButtonHeight = 24 + ButtonWidth = 25 + Caption = 'FormatToolBar' + Constraints.MinHeight = 28 + EdgeBorders = [] + Images = ImageList + TabOrder = 1 + object TbLeftAlign: TToolButton + Left = 336 + Top = 0 + Action = AcLeftAlign + Wrap = True + end + object TbHorCenterAlign: TToolButton + Left = 361 + Top = 0 + Action = AcHorCenterAlign + end + object TbRightAlign: TToolButton + Left = 386 + Top = 0 + Action = AcRightAlign + end + object FontComboBox: TComboBox + Left = 56 + Height = 23 + Top = 0 + Width = 127 + ItemHeight = 15 + OnSelect = FontComboBoxSelect + TabOrder = 0 + end + object FontSizeComboBox: TComboBox + Left = 183 + Height = 23 + Top = 0 + Width = 48 + ItemHeight = 15 + Items.Strings = ( + '8' + '9' + '10' + '11' + '12' + '14' + '16' + '18' + '20' + '24' + ) + OnSelect = FontSizeComboBoxSelect + TabOrder = 1 + end + object TbFontBold: TToolButton + Left = 231 + Top = 0 + Action = AcFontBold + end + object TbFontItalic: TToolButton + Left = 256 + Top = 0 + Action = AcFontItalic + end + object TbFontUnderline: TToolButton + Left = 281 + Top = 0 + Action = AcFontUnderline + end + object TbFontStrikeout: TToolButton + Left = 306 + Top = 0 + Action = AcFontStrikeout + end + object ToolButton14: TToolButton + Left = 331 + Top = 0 + Width = 5 + Caption = 'ToolButton14' + Style = tbsDivider + Wrap = True + end + object ToolButton15: TToolButton + Left = 411 + Top = 0 + Width = 5 + Caption = 'ToolButton15' + Style = tbsDivider + Wrap = True + end + object TbVAlignTop: TToolButton + Left = 416 + Top = 0 + Action = AcVAlignTop + Wrap = True + end + object TbVAlignCenter: TToolButton + Left = 441 + Top = 0 + Action = AcVAlignCenter + end + object TbVAlignBottom: TToolButton + Left = 466 + Top = 0 + Action = AcVAlignBottom + end + object ToolButton19: TToolButton + Left = 491 + Top = 0 + Width = 5 + Caption = 'ToolButton19' + Style = tbsDivider + Wrap = True + end + object TbBorders: TToolButton + Left = 496 + Top = 0 + Action = AcBorderNone + DropdownMenu = BordersPopupMenu + Style = tbsDropDown + Wrap = True + end + object CbBackgroundColor: TColorBox + Left = 558 + Height = 26 + Top = 0 + Width = 149 + NoneColorColor = clDefault + Style = [cbPrettyNames, cbCustomColors] + OnGetColors = CbBackgroundColorGetColors + ItemHeight = 20 + OnSelect = CbBackgroundColorSelect + TabOrder = 2 + end + object TbDefaultFont: TToolButton + Left = 31 + Top = 0 + Action = AcDefaultFont + end + object ToolButton26: TToolButton + Left = 26 + Top = 0 + Width = 5 + Caption = 'ToolButton26' + Style = tbsDivider + Wrap = True + end + object TbCopyFormat: TToolButton + Left = 1 + Top = 0 + Action = AcCopyFormat + end + object TbMergeCells: TToolButton + Left = 533 + Top = 0 + Action = AcMergeCells + end + object TbAddColumn: TToolButton + Left = 707 + Top = 0 + Action = AcAddColumn + end + object TbDeleteColumn: TToolButton + Left = 732 + Top = 0 + Action = AcDeleteColumn + end + object TbAddRow: TToolButton + Left = 762 + Top = 0 + Action = AcAddRow + end + object TbDeleteRow: TToolButton + Left = 787 + Top = 0 + Action = AcDeleteRow + end + object ToolButton33: TToolButton + Left = 757 + Top = 0 + Width = 5 + Caption = 'ToolButton33' + Style = tbsDivider + end + end + object PageControl: TPageControl + Left = 0 + Height = 532 + Top = 87 + Width = 884 + ActivePage = PgTable + Align = alClient + Images = ImageList + TabIndex = 0 + TabOrder = 2 + OnChange = PageControlChange + object PgTable: TTabSheet + Caption = 'Table' + ClientHeight = 504 + ClientWidth = 876 + ImageIndex = 31 + object TabControl: TTabControl + Left = 0 + Height = 504 + Top = 0 + Width = 876 + OnChange = TabControlChange + TabPosition = tpBottom + Align = alClient + TabOrder = 0 + end + end + object PgCode: TTabSheet + Caption = 'Code' + ClientHeight = 504 + ClientWidth = 876 + ImageIndex = 3 + inline SynEdit: TSynEdit + Left = 0 + Height = 504 + Top = 0 + Width = 876 + Align = alClient + Font.Height = -13 + Font.Name = 'Courier New' + Font.Pitch = fpFixed + Font.Quality = fqCleartype + ParentColor = False + ParentFont = False + TabOrder = 0 + Gutter.Width = 57 + Gutter.MouseActions = <> + RightGutter.Width = 0 + RightGutter.MouseActions = <> + Keystrokes = < + item + Command = ecUp + ShortCut = 38 + end + item + Command = ecSelUp + ShortCut = 8230 + end + item + Command = ecScrollUp + ShortCut = 16422 + end + item + Command = ecDown + ShortCut = 40 + end + item + Command = ecSelDown + ShortCut = 8232 + end + item + Command = ecScrollDown + ShortCut = 16424 + end + item + Command = ecLeft + ShortCut = 37 + end + item + Command = ecSelLeft + ShortCut = 8229 + end + item + Command = ecWordLeft + ShortCut = 16421 + end + item + Command = ecSelWordLeft + ShortCut = 24613 + end + item + Command = ecRight + ShortCut = 39 + end + item + Command = ecSelRight + ShortCut = 8231 + end + item + Command = ecWordRight + ShortCut = 16423 + end + item + Command = ecSelWordRight + ShortCut = 24615 + end + item + Command = ecPageDown + ShortCut = 34 + end + item + Command = ecSelPageDown + ShortCut = 8226 + end + item + Command = ecPageBottom + ShortCut = 16418 + end + item + Command = ecSelPageBottom + ShortCut = 24610 + end + item + Command = ecPageUp + ShortCut = 33 + end + item + Command = ecSelPageUp + ShortCut = 8225 + end + item + Command = ecPageTop + ShortCut = 16417 + end + item + Command = ecSelPageTop + ShortCut = 24609 + end + item + Command = ecLineStart + ShortCut = 36 + end + item + Command = ecSelLineStart + ShortCut = 8228 + end + item + Command = ecEditorTop + ShortCut = 16420 + end + item + Command = ecSelEditorTop + ShortCut = 24612 + end + item + Command = ecLineEnd + ShortCut = 35 + end + item + Command = ecSelLineEnd + ShortCut = 8227 + end + item + Command = ecEditorBottom + ShortCut = 16419 + end + item + Command = ecSelEditorBottom + ShortCut = 24611 + end + item + Command = ecToggleMode + ShortCut = 45 + end + item + Command = ecCopy + ShortCut = 16429 + end + item + Command = ecPaste + ShortCut = 8237 + end + item + Command = ecDeleteChar + ShortCut = 46 + end + item + Command = ecCut + ShortCut = 8238 + end + item + Command = ecDeleteLastChar + ShortCut = 8 + end + item + Command = ecDeleteLastChar + ShortCut = 8200 + end + item + Command = ecDeleteLastWord + ShortCut = 16392 + end + item + Command = ecUndo + ShortCut = 32776 + end + item + Command = ecRedo + ShortCut = 40968 + end + item + Command = ecLineBreak + ShortCut = 13 + end + item + Command = ecSelectAll + ShortCut = 16449 + end + item + Command = ecCopy + ShortCut = 16451 + end + item + Command = ecBlockIndent + ShortCut = 24649 + end + item + Command = ecLineBreak + ShortCut = 16461 + end + item + Command = ecInsertLine + ShortCut = 16462 + end + item + Command = ecDeleteWord + ShortCut = 16468 + end + item + Command = ecBlockUnindent + ShortCut = 24661 + end + item + Command = ecPaste + ShortCut = 16470 + end + item + Command = ecCut + ShortCut = 16472 + end + item + Command = ecDeleteLine + ShortCut = 16473 + end + item + Command = ecDeleteEOL + ShortCut = 24665 + end + item + Command = ecUndo + ShortCut = 16474 + end + item + Command = ecRedo + ShortCut = 24666 + end + item + Command = ecGotoMarker0 + ShortCut = 16432 + end + item + Command = ecGotoMarker1 + ShortCut = 16433 + end + item + Command = ecGotoMarker2 + ShortCut = 16434 + end + item + Command = ecGotoMarker3 + ShortCut = 16435 + end + item + Command = ecGotoMarker4 + ShortCut = 16436 + end + item + Command = ecGotoMarker5 + ShortCut = 16437 + end + item + Command = ecGotoMarker6 + ShortCut = 16438 + end + item + Command = ecGotoMarker7 + ShortCut = 16439 + end + item + Command = ecGotoMarker8 + ShortCut = 16440 + end + item + Command = ecGotoMarker9 + ShortCut = 16441 + end + item + Command = ecSetMarker0 + ShortCut = 24624 + end + item + Command = ecSetMarker1 + ShortCut = 24625 + end + item + Command = ecSetMarker2 + ShortCut = 24626 + end + item + Command = ecSetMarker3 + ShortCut = 24627 + end + item + Command = ecSetMarker4 + ShortCut = 24628 + end + item + Command = ecSetMarker5 + ShortCut = 24629 + end + item + Command = ecSetMarker6 + ShortCut = 24630 + end + item + Command = ecSetMarker7 + ShortCut = 24631 + end + item + Command = ecSetMarker8 + ShortCut = 24632 + end + item + Command = ecSetMarker9 + ShortCut = 24633 + end + item + Command = EcFoldLevel1 + ShortCut = 41009 + end + item + Command = EcFoldLevel2 + ShortCut = 41010 + end + item + Command = EcFoldLevel1 + ShortCut = 41011 + end + item + Command = EcFoldLevel1 + ShortCut = 41012 + end + item + Command = EcFoldLevel1 + ShortCut = 41013 + end + item + Command = EcFoldLevel6 + ShortCut = 41014 + end + item + Command = EcFoldLevel7 + ShortCut = 41015 + end + item + Command = EcFoldLevel8 + ShortCut = 41016 + end + item + Command = EcFoldLevel9 + ShortCut = 41017 + end + item + Command = EcFoldLevel0 + ShortCut = 41008 + end + item + Command = EcFoldCurrent + ShortCut = 41005 + end + item + Command = EcUnFoldCurrent + ShortCut = 41003 + end + item + Command = EcToggleMarkupWord + ShortCut = 32845 + end + item + Command = ecNormalSelect + ShortCut = 24654 + end + item + Command = ecColumnSelect + ShortCut = 24643 + end + item + Command = ecLineSelect + ShortCut = 24652 + end + item + Command = ecTab + ShortCut = 9 + end + item + Command = ecShiftTab + ShortCut = 8201 + end + item + Command = ecMatchBracket + ShortCut = 24642 + end + item + Command = ecColSelUp + ShortCut = 40998 + end + item + Command = ecColSelDown + ShortCut = 41000 + end + item + Command = ecColSelLeft + ShortCut = 40997 + end + item + Command = ecColSelRight + ShortCut = 40999 + end + item + Command = ecColSelPageDown + ShortCut = 40994 + end + item + Command = ecColSelPageBottom + ShortCut = 57378 + end + item + Command = ecColSelPageUp + ShortCut = 40993 + end + item + Command = ecColSelPageTop + ShortCut = 57377 + end + item + Command = ecColSelLineStart + ShortCut = 40996 + end + item + Command = ecColSelLineEnd + ShortCut = 40995 + end + item + Command = ecColSelEditorTop + ShortCut = 57380 + end + item + Command = ecColSelEditorBottom + ShortCut = 57379 + end> + MouseActions = <> + MouseTextActions = <> + MouseSelActions = <> + Lines.Strings = ( + '' + ) + VisibleSpecialChars = [vscSpace, vscTabAtLast] + ReadOnly = True + SelectedColor.FrameEdges = sfeAround + SelectedColor.BackPriority = 50 + SelectedColor.ForePriority = 50 + SelectedColor.FramePriority = 50 + SelectedColor.BoldPriority = 50 + SelectedColor.ItalicPriority = 50 + SelectedColor.UnderlinePriority = 50 + SelectedColor.StrikeOutPriority = 50 + IncrementColor.FrameEdges = sfeAround + HighlightAllColor.FrameEdges = sfeAround + BracketHighlightStyle = sbhsBoth + BracketMatchColor.Background = clNone + BracketMatchColor.Foreground = clNone + BracketMatchColor.FrameEdges = sfeAround + BracketMatchColor.Style = [fsBold] + FoldedCodeColor.Background = clNone + FoldedCodeColor.Foreground = clGray + FoldedCodeColor.FrameColor = clGray + FoldedCodeColor.FrameEdges = sfeAround + MouseLinkColor.Background = clNone + MouseLinkColor.Foreground = clBlue + MouseLinkColor.FrameEdges = sfeAround + LineHighlightColor.Background = clNone + LineHighlightColor.Foreground = clNone + LineHighlightColor.FrameEdges = sfeAround + inline SynLeftGutterPartList1: TSynGutterPartList + object SynGutterMarks1: TSynGutterMarks + Width = 24 + MouseActions = <> + end + object SynGutterLineNumber1: TSynGutterLineNumber + Width = 17 + MouseActions = <> + MarkupInfo.Background = clBtnFace + MarkupInfo.Foreground = clNone + MarkupInfo.FrameEdges = sfeAround + DigitCount = 2 + ShowOnlyLineNumbersMultiplesOf = 1 + ZeroStart = False + LeadingZeros = False + end + object SynGutterChanges1: TSynGutterChanges + Width = 4 + MouseActions = <> + ModifiedColor = 59900 + SavedColor = clGreen + end + object SynGutterSeparator1: TSynGutterSeparator + Width = 2 + MouseActions = <> + MarkupInfo.Background = clWhite + MarkupInfo.Foreground = clGray + MarkupInfo.FrameEdges = sfeAround + end + object SynGutterCodeFolding1: TSynGutterCodeFolding + MouseActions = <> + MarkupInfo.Background = clNone + MarkupInfo.Foreground = clGray + MarkupInfo.FrameEdges = sfeAround + MouseActionsExpanded = <> + MouseActionsCollapsed = <> + end + end + end + end + end + object CodeToolBar: TToolBar + Left = 0 + Height = 28 + Top = 28 + Width = 884 + Caption = 'CodeToolBar' + EdgeBorders = [] + Images = ImageList + List = True + ShowCaptions = True + TabOrder = 3 + Visible = False + object ToolButton4: TToolButton + Left = 1 + Top = 0 + Action = AcCopyToClipboard + end + end + object ToolbarBevel: TBevel + Left = 0 + Height = 3 + Top = 84 + Width = 884 + Align = alTop + Shape = bsTopLine + end + object OpenDialog: TOpenDialog + DefaultExt = '.xls' + Filter = 'Excel spreadsheet (*.xls)|*.xls|Excel XML spreadsheet (*.xlsx)|*.xlsx|LibreOffice/OpenOffice spreadsheet (*.ods)|*.ods|Wikitable (pipes) (.wikitable_pipes)|.wikitable_pipes|All files (*.*)|*.*' + Options = [ofExtensionDifferent, ofEnableSizing, ofViewDetail] + left = 184 + top = 200 + end + object SaveDialog: TSaveDialog + DefaultExt = '.xls' + Filter = 'Excel spreadsheet (*.xls)|*.xls|Excel XML spreadsheet (*.xlsx)|*.xlsx|LibreOffice/OpenOffice spreadsheet (*.ods)|*.ods|Wikitable (wikimedia) (.wikitable_wikimedia)|*.wikitable_wikimedia' + Options = [ofOverwritePrompt, ofExtensionDifferent, ofEnableSizing, ofViewDetail] + left = 184 + top = 264 + end + object MainMenu: TMainMenu + Images = ImageList + left = 384 + top = 200 + object mnuFile: TMenuItem + Caption = '&File' + object MnuNew: TMenuItem + Action = AcNew + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF000000 + 001D000000340000003600000036000000360000003600000036000000360000 + 0036000000360000003600000036000000330000001DFFFFFF00FFFFFF000000 + 0034F9F9F9F5FCFCFCFDFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFC + FCFFFCFCFCFFFCFCFCFFFCFCFCFDF9F9F9F300000033FFFFFF00000000010000 + 0036FCFCFCFEFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFC + FCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFD00000036FFFFFF00000000010000 + 0036FCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFBFBFBFFFBFBFBFFFBFB + FBFFFBFBFBFFFBFBFBFFFBFBFBFFFCFCFCFF0000003600000001000000010000 + 0036FCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFBFBFBFFFBFBFBFFFAFAFAFFFAFA + FAFFFAFAFAFFFAFAFAFFFAFAFAFFFCFCFCFF0000003600000001000000010000 + 0036FCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFBFBFBFFFBFBFBFFFBFBFBFFFAFA + FAFFFAFAFAFFF8F8F8FFF8F8F8FFFCFCFCFF0000003600000001000000010000 + 0036FCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFBFB + FBFFF9F9F9FFF9F9F9FFF8F8F8FFFCFCFCFF0000003600000001000000010000 + 0036FCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFAFA + FAFFF9F9F9FFF6F6F6FFF6F6F6FFFCFCFCFF0000003600000001000000010000 + 0036FCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFBFBFBFFF8F8 + F8FFF6F6F6FFF3F3F3FFF2F2F2FFFCFCFCFF0000003600000001000000010000 + 0036FCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFBFBFBFFF8F8F8FFF5F5 + F5FFF2F2F2FFEFEFEFFFEDEDEDFFFCFCFCFF0000003600000001000000010000 + 0036FCFCFCFFFBFBFBFFFCFCFCFFFCFCFCFFFBFBFBFFF8F8F8FFF5F5F5FFF1F1 + F1FFECECECFFEAEAEAFFE6E6E6FFFCFCFCFF0000003600000001000000010000 + 0036FCFCFCFFF9F9F9FFF9F9F9FFF9F9F9FFF7F7F7FFF6F6F6FFF2F2F2FFEBEB + EBFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFF0000003600000001000000010000 + 0036FCFCFCFFF7F7F7FFF9F9F9FFF7F7F7FFF7F7F7FFF3F3F3FFF0F0F0FFEAEA + EAFFFCFCFCFFF6F6F6FFF4F4F4FF9999999100000020FFFFFF00FFFFFF000000 + 0036FBFBFBFDF4F4F4FFF5F5F5FFF5F5F5FFF5F5F5FFF1F1F1FFEFEFEFFFE9E9 + E9FFFCFCFCFFE7E7E7FF959595910000002000000002FFFFFF00FFFFFF000000 + 0033F8F8F8F0FBFBFBFDFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFC + FCFFF8F8F8FF949494910000002000000002FFFFFF00FFFFFF00FFFFFF000000 + 001C000000330000003600000036000000360000003600000036000000360000 + 0036000000360000002000000002FFFFFF00FFFFFF00FFFFFF00 + } + end + object mnuOpen: TMenuItem + Action = AcOpen + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 20000000000000040000640000006400000000000000000000002C86D8002D88 + D8F72D87D8F72D88D8F72D88D8F72D88D8F72D88D8F72D88D8F72D88D8F72D88 + D8F72D88D8F72D87D8F72D88D8F72C86D800FFFFFF00FFFFFF00338ED9FBDCF0 + FAFF98E1F6FF95E0F6FF92DFF6FF8EDEF5FF89DCF5FF85DAF4FF80D9F4FF7AD7 + F3FF74D5F3FF70D3F2FFC2EAF8FF3594DAFFFFFFFF00FFFFFF003594DAF7EFFA + FEFF93E5F8FF8FE4F8FF89E3F8FF82E1F7FF7ADFF7FF71DEF6FF67DBF5FF5BD8 + F4FF4DD4F3FF40D1F2FFCAF2FBFF3594DAFFFFFFFF00FFFFFF00369ADAF8F2FA + FDFF94E6F8FF92E5F8FF90E5F8FF8BE3F8FF86E2F7FF7FE1F7FF77DEF6FF6CDC + F6FF5ED9F4FF4FD5F3FFCCF2FBFF3594DAFFFFFFFF00FFFFFF0036A1DAF9F6FC + FEFF94E5F8FF93E5F8FF93E5F8FF91E5F8FF93DBE9FF93D7E3FF93D2DCFF90CE + D7FF8CC8CFFF86C1C6FFC9D8D6FF3594DAFFC57444E8CA7F53F137A6DAFAFEFF + FFFFF8FDFFFFF6FDFFFFF5FCFFFFF3FCFEFF9AE4F4FF9AE6F7FF9BE6F6FF9DE5 + F5FF9EE5F5FF9FE5F4FFDAF3F8FF3594DAFFFDF4EEFFCA8054F935ABDAFAE8F6 + FBFF70BCE7FF55AAE2FF4DA5E0FF91C9EBFFFAF3EFFFFDFEFDFFFFFDFCFFFFFD + FCFFFEFDFCFFFEFCFBFFFEFEFDFF3594DAFFEFF2E8FFCE8156FF36AADAF2F1FA + FDFF94DEF5FF93DCF4FF64BCE9FF3594DAFF3594DAFF3594DAFF3594DAFF3594 + DAFF3594DAFF3594DAFF3594DAFF3594DAFFFBF6EFFFCC8355FE35AFDAF0F7FC + FEFF8EE4F8FF91DEF5FF9FE0F5FFACE1F6FFCA8452FFFFF7F1FFFFE9D9FFFFEA + DBFFFFE9D9FFFFE7D7FFFFE5D2FFFFE2CBFFFFF7F1FFCB8555FE36B3DAF8FDFE + FEFFFEFFFFFFFEFEFFFFFDFEFFFFFEFFFFFFE4BA91FFFFF7F0FFFFE7D5FFFDE7 + D6FFFDE6D4FFFCE4D0FFFBE3CBFFFADCC2FFFEF3E8FFCC8656FE34B4D9D05EC2 + E1FA60C3E2FA60C3E2FA60C3E2FA5FC3E2FAE4BB91FFFFF7F2FFFEE7D5FFFEE7 + D5FFFDE5D1FFFAE0CAFFF9DEC4FFF7D9BCFFFDF2E7FFCC8757FEFFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E4BB92FFFEF7F1FFFCE5D2FFFCE4 + D1FFFBE2CCFFF9DDC4FFF6D7BBFFF3D1AFFFFAEFE4FFCC8758FEFFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E4BB92FFFEF6F0FFFCE2CDFFFCE3 + CDFFFADFC8FFF7D9BCFFF5E9DDFFFAF3EBFFFBF8F3FFCA8353FEFFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E4BB93FFFEF5EDFFFCDEC5FFFBE0 + C7FFF9DCC2FFF5D3B4FFFEF9F3FFFAE2C4FFECC193FFC37D4893FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E5BE96FFFFFFFEFFFDF3E9FFFDF3 + EAFFFCF2E8FFFAEFE3FFFAF2E7FFEABB88FFCF8555B3B4693D0CFFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EAC39DFFE6BF96FFE4BB92FFE4BB + 92FFD1A06CF5D09E6DF6CC965FDAC479427EB2673C09FFFFFF00 + } + OnClick = acOpenExecute + end + object mnuSaveAs: TMenuItem + Action = AcSaveAs + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000BA6A3600B969 + 35B5B86935EEB76835FFB56835FFB46734FFB26634FFB06533FFAE6433FFAC63 + 32FFAA6232FFA96132FFA86031FFA76031FEA66031F1A86131C4BA6A35DEEBC6 + ADFFEAC5ADFFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFB + F8FFFEFBF8FFFEFBF8FFFEFBF8FFC89A7CFFC79879FFA76031EDBA6B37FEEDCA + B3FFE0A27AFFFEFAF7FF62C088FF62C088FF62C088FF62C088FF62C088FF62C0 + 88FF62C088FF62C088FFFDF9F6FFCA8D65FFC99B7CFFA76031FEBB6C38FFEECC + B6FFE1A27AFFFEFAF7FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDC + C2FFBFDCC2FFBFDCC2FFFDF9F6FFCD9068FFCC9E81FFA86132FFBB6B38FFEFCE + B8FFE1A279FFFEFAF7FF62C088FF62C088FF62C088FF62C088FF62C088FF62C0 + 88FF62C088FF62C088FFFDF9F6FFCF936AFFCEA384FFAA6132FFBA6A36FFEFD0 + BBFFE2A27AFFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFB + F8FFFEFBF8FFFEFBF8FFFEFBF8FFD3966DFFD2A78AFFAB6232FFBB6A36FFF0D2 + BEFFE2A37AFFE2A37AFFE1A37AFFE2A37BFFE1A37BFFE0A178FFDE9F77FFDD9F + 76FFDC9D74FFD99B72FFD89971FFD69970FFD5AB8EFFAD6333FFBB6A36FFF2D5 + C2FFE3A37AFFE3A37AFFE2A37BFFE2A37BFFE2A47BFFE1A279FFE0A178FFDEA0 + 77FFDE9E75FFDC9D74FFDA9B73FFD99B73FFDAB095FFAF6433FFBB6A36FFF2D8 + C5FFE3A47BFFE3A37AFFE3A47AFFE2A47BFFE2A37BFFE1A37BFFE1A279FFDFA0 + 77FFDE9F76FFDD9E74FFDB9C72FFDC9D74FFDDB59AFFB16534FFBB6B36FFF4D9 + C7FFE6A67DFFC88C64FFC98D65FFC98E67FFCB926CFFCB926DFFCA9069FFC88C + 65FFC88C64FFC88C64FFC88C64FFDA9C74FFE1BA9FFFB36634FFBB6B36FEF4DC + C9FFE7A77DFFF9ECE1FFF9ECE1FFF9EDE3FFFCF4EEFFFDFAF7FFFDF7F3FFFAED + E5FFF7E7DBFFF7E5D9FFF6E5D8FFDEA077FFE4BEA4FFB46734FFBC6B36FAF5DD + CCFFE7A87EFFFAF0E8FFFAF0E8FFC98D66FFFAF0E9FFFDF8F3FFFEFAF8FFFCF4 + EFFFF9E9DFFFF7E7DBFFF7E5D9FFE0A278FFE7C2A9FFB66835FFBC6B36F0F6DF + D0FFE8A87EFFFCF6F1FFFCF6F1FFC88C64FFFAF1E9FFFBF4EEFFFDFAF7FFFDF9 + F6FFFAF0E8FFF8E8DDFFF7E6DBFFE1A37AFFEFD5C3FFB76935FEBC6B36D8F6DF + D1FFE9AA80FFFEFAF6FFFDFAF6FFC88C64FFFBF3EEFFFBF1EAFFFCF6F2FFFEFB + F8FFFCF6F1FFF9ECE2FFF8E7DBFFEED0BAFFECD0BDFFBB703EF8BC6B369BF6E0 + D1FFF7E0D1FFFEFBF8FFFEFBF7FFFDF9F6FFFCF5F0FFFAF0EAFFFBF2EDFFFDF9 + F6FFFDFAF7FFFBF1EBFFF8E9DFFEECD0BDFBC9895EECB5693563BC6B3671BC6B + 3690BC6B36CCBC6B36EEBC6B36FABB6B36FEBB6B36FFBB6A36FFBB6A36FFBC6C + 39FFBD6E3BFFBB6D3AFFBB6B38EFBB703ECBB6693554FFFFFF00 + } + OnClick = acSaveAsExecute + end + object MnuFileSeparator1: TMenuItem + Caption = '-' + end + object mnuQuit: TMenuItem + Action = AcQuit + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF001D63 + 9B1619609839145D9562105A92880D5890A4135C92FC0C578FED999999FF7171 + 71FF545454FF515151FF4F4F4FFF4C4C4CFF4A4A4AFF474747FF454545FF2567 + 9DFF3274A8FF3D7CAFFF4784B5FF4E8ABAFF3E7EADFF0C578FEAFFFFFF00FFFF + FF00585858FFA2A2A2FFA2A2A2FFA3A3A3FFA4A4A4FFA4A4A4FFA5A5A5FF2F6F + A5FF78ABD2FF78ABD3FF73A7D1FF69A0CDFF407FAEFF0F5991EAFFFFFF00FFFF + FF005C5C5CFFA1A1A1FF3C7340FFA0A1A1FFA3A3A3FFA3A3A3FFA4A4A4FF3674 + AAFF7DAFD4FF5B9AC9FF5495C7FF5896C8FF4180AEFF135C94EAFFFFFF00FFFF + FF00606060FFA0A0A0FF3D7641FF367139FFA2A2A2FFA2A2A2FFA3A3A3FF3D79 + B0FF82B3D7FF629FCCFF5A9AC9FF5E9BCAFF4381AFFF196098EA37823EFF347E + 3BFF317937FF2E7534FF499150FF468F4CFF39733DFFA1A1A1FFA2A2A2FF457E + B4FF88B7D9FF67A3CFFF619ECCFF639FCCFF4583B1FF1F649CEA3B8742FF89CB + 92FF84C88DFF80C688FF7BC383FF77C17FFF478F4DFF3B743FFFA1A1A1FF4C84 + BAFF8DBBDBFF6EA8D1FF66A6D1FF5FB4DFFF4785B1FF2569A1EA3E8B46FF8FCE + 99FF7DC687FF78C381FF73C07CFF74C07CFF79C281FF49904FFF547F57FF5489 + BFFF94BFDDFF75ADD4FF63B8E1FF4BD4FFFF428BB8FF2C6EA6EA41904AFF94D2 + 9FFF91D09AFF8DCD96FF89CB92FF84C88DFF519858FF417C46FF9F9F9FFF5A8E + C4FF98C3E0FF7CB3D7FF74AFD6FF5EC4EDFF4B88B3FF3473ABEA44944DFF4291 + 4BFF3F8D48FF3D8945FF5DA465FF5AA061FF45834BFF9E9E9EFF9E9E9EFF6092 + C9FF9EC7E2FF83B8DAFF7DB4D7FF7EB3D7FF4F89B4FF3B79B1EAFFFFFF00FFFF + FF00777777FF9A9A9AFF3D8A45FF498A4FFF9C9C9CFF9D9D9DFF9D9D9DFF6696 + CCFFA2CBE3FF89BDDCFF83B9DAFF84B9DAFF518BB5FF437EB6EAFFFFFF00FFFF + FF007A7A7AFF999999FF529159FF999A99FF9B9B9BFF9C9C9CFF9C9C9CFF6C9A + D0FFA7CEE5FF8FC1DFFF89BDDCFF8BBDDCFF538DB6FF4B84BCEAFFFFFF00FFFF + FF007D7D7DFF999999FF999999FF9A9A9AFF9A9A9AFF9B9B9BFF9B9B9BFF6F9D + D3FFAAD1E7FFABD1E7FF98C7E1FF91C2DEFF568FB7FF5289C1EAFFFFFF00FFFF + FF00808080FF7E7E7EFF7C7C7CFF7A7A7AFF777777FF757575FF727272FF719E + D4FF6F9ED6FF87B2DCFFABD3E8FFA9D0E6FF5890B8FF598EC6EAFFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00709ED6DB6D9CD4FF85B1DAFF5A91B9FF6093CBEAFFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF006D9CD4896A9AD2FB6697CFEE + } + OnClick = acQuitExecute + end + end + object mnuTable: TMenuItem + Caption = 'Table' + object MnuColHeaders: TMenuItem + Action = AcColumnTitles + AutoCheck = True + end + object MnuRowHeaders: TMenuItem + Action = AcRowTitles + AutoCheck = True + end + object MnuTableSeparator1: TMenuItem + Caption = '-' + end + object MnuAddCol: TMenuItem + Action = AcAddColumn + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D69E + 72C4D3996EF4D19668FFCE9263FFCB8E5EFFC98A5BFFC78756FFC38452FFC384 + 52FFC38452FFC38452FFC38452FFC38452FFBB7742B0FFFFFF00FFFFFF00D7A1 + 75FFF8F2EDFFF7F0EAFFF6EDE6FFF4EAE2FFF3E7DEFFF1E4DBFFF0E2D8FFF0E2 + D8FFF0E2D8FFF0E2D8FFF0E2D8FFF0E2D8FFC58A5DFDFFFFFF00FFFFFF00D9A4 + 7AFFF9F3EEFF1D5F21FF226526FF276D2CFFFFFFFFFFFFFFFFFFFFFFFFFFEAC7 + ADFFFFFFFFFFFFFFFFFFFFFFFFFFF0E2D8FFC68C5FFFFFFFFF00FFFFFF00DDA8 + 7EFFF9F3EFFF276D2CFF84C68AFF347E3AFFEBD0BBFFEBD0BBFFEBD1BDFFEACD + B5FFEACDB5FFEACDB5FFEACDB5FFF0E2D8FFC68A5CFFFFFFFF00FFFFFF00DFAA + 82FFF9F3EFFF2E7533FF92CC97FF3B8842FFFFFFFFFFFFFFFFFFFFFFFFFFEACF + BAFFFBF6F2FFFFFFFFFFFFFFFFFFF0E2D8FFC88D5FFFFFFFFF00FFFFFF00E1AE + 87FFFAF4F0FF347E3AFFA0D3A4FF42924AFFEACCB3FFEACCB3FFEACEB7FFE8C7 + ACFFE8C7ACFFE8C8B0FFE8C8AEFFF0E2D8FFC48654FFFFFFFF00FFFFFF00E3B1 + 8CFFFAF6F1FF3B8842FFACD8B0FF489B51FFFFFFFFFFFFFFFFFFFFFFFFFFE8C7 + ACFFFFFFFFFFFFFFFFFFFFFFFFFFF1E5DBFFC68655FFFFFFFF00FFFFFF00E5B4 + 8FFFFAF6F2FF42924AFFB6DDBAFF4FA358FFE9C7ADFFE9C9AEFFE9C9B0FFE8C7 + ACFFE9C9B0FFE8C8B0FFE8CCB5FFF2E7DEFFC88A59FFFFFFFF00FFFFFF00E7B7 + 94FFFBF7F4FF489B51FFB9DFBDFF54AB5EFFFFFFFFFFFFFFFFFFFFFFFFFFE8C7 + ACFF84B094FF257341FF196B37FF247240FF6C7C4AFFFFFFFF00FFFFFF00E9BA + 98FFFBF7F4FF4FA358FF4FA358FF59B163FFE9C3A6FFE9C3A6FFE9C3A6FFA2AE + 8EFF288C53FF64BA8DFF95D2B2FF64BA8DFF288C53FF196B378CFFFFFF00EBBD + 9BFFFBF7F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2270 + 3EFF62BA8BFF60BA87FFFFFFFFFF60B987FF67BC8FFF196B37F7FFFFFF00ECBF + 9EFFFBF7F4FF9CD5A5FF98D3A1FF94D09DFF90CE98FF8BCB93FF87C98EFF317B + 4CFF9CD4B6FFFFFFFFFFFFFFFFFFFFFFFFFF95D2B2FF196B37FFFFFFFF00EEC1 + A1EBFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FF4989 + 60FF90D3B1FF92D6B1FFFFFFFFFF65BC8CFF67BC8FFF196B37F7FFFFFF00EFC2 + A37EEFC1A2E3EDC09FFFEBBE9DFFEBBC9AFFE9BA96FFE7B793FFE6B590FF9DAF + 91FF61AB81FF95D4B4FFBAE6D0FF6ABB8FFF2D8F57FF196B378CFFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00A2AE8EFF5F9771FF4F8E66FF49895FFFA2AE8EFFFFFFFF00 + } + end + object MnuDeleteCol: TMenuItem + Action = AcDeleteColumn + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D69E + 72C4D3996EF4D19668FFCE9263FFCB8E5EFFC98A5BFFC78756FFC38452FFC384 + 52FFC38452FFC38452FFC38452FFC38452FFBB7742B0FFFFFF00FFFFFF00D7A1 + 75FFF8F2EDFFF7F0EAFFF6EDE6FFF4EAE2FFF3E7DEFFF1E4DBFFF0E2D8FFF0E2 + D8FFF0E2D8FFF0E2D8FFF0E2D8FFF0E2D8FFC58A5DFDFFFFFF00FFFFFF00D9A4 + 7AFFF9F3EEFF1C11EAFF1C11EAFF231AECFFFFFFFFFFFFFFFFFFFFFFFFFFEAC7 + ADFFFFFFFFFFFFFFFFFFFFFFFFFFF0E2D8FFC68C5FFFFFFFFF00FFFFFF00DDA8 + 7EFFF9F3EFFF1C11EAFF9399F9FF2E26EEFFEBD0BBFFEBD0BBFFEBD1BDFFEACD + B5FFEACDB5FFEACDB5FFEACDB5FFF0E2D8FFC68A5CFFFFFFFF00FFFFFF00DFAA + 82FFF9F3EFFF231AECFF9CA2FAFF3A35F1FFFFFFFFFFFFFFFFFFFFFFFFFFEACF + BAFFFBF6F2FFFFFFFFFFFFFFFFFFF0E2D8FFC88D5FFFFFFFFF00FFFFFF00E1AE + 87FFFAF4F0FF2E26EEFFA6ADFBFF4845F4FFEACCB3FFEACCB3FFEACEB7FFE8C7 + ACFFE8C7ACFFE8C8B0FFE8C8AEFFF0E2D8FFC48654FFFFFFFF00FFFFFF00E3B1 + 8CFFFAF6F1FF3A35F1FFB1B9FBFF5654F7FFFFFFFFFFFFFFFFFFFFFFFFFFE8C7 + ACFFFFFFFFFFFFFFFFFFFFFFFFFFF1E5DBFFC68655FFFFFFFF00FFFFFF00E5B4 + 8FFFFAF6F2FF5654F7FFC1CBFCFF6D6FFCFFE9C7ADFFE9C9AEFFE9C9B0FFE8C7 + ACFFE9C9B0FFE8C8B0FFE8CCB5FFF2E7DEFFC88A59FFFFFFFF00FFFFFF00E7B7 + 94FFFBF7F4FF6263FAFFC4CEFDFF7478FEFFFFFFFFFFFFFFFFFFFFFFFFFFE8C7 + ACFF95B0E3FF235CC2FF0543BCFF1E58BEFF6B6C8AFFFFFFFF00FFFFFF00E9BA + 98FFFBF7F4FF6D6FFCFF7478FEFF7478FEFFE9C3A6FFE9C3A6FFE9C3A6FF818D + B5FF2865C8FF2177E6FF0579EAFF0164DDFF064EBCFF0345B87AFFFFFF00EBBD + 9BFFFBF7F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF164B + AEFF639DF4FF187FFFFF0076F8FF0076EEFF0368E1FF0345B9E4FFFFFF00ECBF + 9EFFFBF7F4FF9CD5A5FF98D3A1FF94D09DFF90CE98FF8BCB93FF87C98EFF0543 + BCFFAECDFEFFFFFFFFFFFFFFFFFFFFFFFFFF187FEFFF0442BCFEFFFFFF00EEC1 + A1EBFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FF255D + C2FF8DB5F6FF4D92FFFF1177FFFF2186FFFF408AEBFF0344B9DEFFFFFF00EFC2 + A37EEFC1A2E3EDC09FFFEBBE9DFFEBBC9AFFE9BA96FFE7B793FFE6B590FF96B1 + E3FF3D76D2FF8DB5F7FFB8D6FEFF72A8F5FF2E6BCAFF0443BA6DFFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF007591C3FF235BC0FF0543BCFF1D58BFFF7591C2FFFFFFFF00 + } + end + object MnuTableSeparator2: TMenuItem + Caption = '-' + end + object MnuAddRow: TMenuItem + Action = AcAddRow + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D69E + 72C4D3996EF4D19668FFCE9263FFCB8E5EFFC98A5BFFC78756FFC38452FFC384 + 52FFC38452FFC38452FFC38452FFC38452FFBB7742B0FFFFFF00FFFFFF00D7A1 + 75FFF8F2EDFFF7F0EAFFF6EDE6FFF4EAE2FFF3E7DEFFF1E4DBFFF0E2D8FFF0E2 + D8FFF0E2D8FFF0E2D8FFF0E2D8FFF0E2D8FFC58A5DFDFFFFFF00FFFFFF00D9A4 + 7AFFF9F3EEFFEBD2BEFFFFFFFFFFEBD3BFFFFFFFFFFFFFFFFFFFFFFFFFFFEAC7 + ADFFFFFFFFFFFFFFFFFFFFFFFFFFF0E2D8FFC68C5FFFFFFFFF00FFFFFF00DDA8 + 7EFFF9F3EFFF4FA358FF489B51FF42924AFF42924AFF3B8842FF347E3AFF2E75 + 33FF276D2CFF226526FF1D5F21FFF0E2D8FFC68A5CFFFFFFFF00FFFFFF00DFAA + 82FFF9F3EFFF58B162FFB9DFBDFFB6DDBAFFB6DDBAFFACD8B0FFA0D3A4FF92CC + 97FF84C68AFF79C17EFF226526FFF0E2D8FFC88D5FFFFFFFFF00FFFFFF00E1AE + 87FFFAF4F0FF59B163FF54AB5EFF4FA358FF4FA358FF489B51FF42924AFF3B88 + 42FF347E3AFF2E7533FF276D2CFFF0E2D8FFC48654FFFFFFFF00FFFFFF00E3B1 + 8CFFFAF6F1FFEAC9AEFFFFFFFFFFEAC9B0FFFFFFFFFFFFFFFFFFFFFFFFFFE8C7 + ACFFFFFFFFFFFFFFFFFFFFFFFFFFF1E5DBFFC68655FFFFFFFF00FFFFFF00E5B4 + 8FFFFAF6F2FFE9C6AAFFE9C6ACFFEAC7ACFFE9C7ADFFE9C9AEFFE9C9B0FFE8C7 + ACFFE9C9B0FFE8C8B0FFE8CCB5FFF2E7DEFFC88A59FFFFFFFF00FFFFFF00E7B7 + 94FFFBF7F4FFE9C3A6FFFFFFFFFFE8C4A9FFFFFFFFFFFFFFFFFFFFFFFFFFE8C7 + ACFF84B094FF257341FF196B37FF247240FF6C7C4AFFFFFFFF00FFFFFF00E9BA + 98FFFBF7F4FFE9C3A6FFE9C3A6FFE9C3A6FFE9C3A6FFE9C3A6FFE9C3A6FFA2AE + 8EFF288C53FF64BA8DFF95D2B2FF64BA8DFF288C53FF196B378CFFFFFF00EBBD + 9BFFFBF7F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2270 + 3EFF62BA8BFF60BA87FFFFFFFFFF60B987FF67BC8FFF196B37F7FFFFFF00ECBF + 9EFFFBF7F4FF9CD5A5FF98D3A1FF94D09DFF90CE98FF8BCB93FF87C98EFF317B + 4CFF9CD4B6FFFFFFFFFFFFFFFFFFFFFFFFFF95D2B2FF196B37FFFFFFFF00EEC1 + A1EBFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FF4989 + 60FF90D3B1FF92D6B1FFFFFFFFFF65BC8CFF67BC8FFF196B37F7FFFFFF00EFC2 + A37EEFC1A2E3EDC09FFFEBBE9DFFEBBC9AFFE9BA96FFE7B793FFE6B590FF9DAF + 91FF61AB81FF95D4B4FFBAE6D0FF6ABB8FFF2D8F57FF196B378CFFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00A2AE8EFF5F9771FF4F8E66FF49895FFFA2AE8EFFFFFFFF00 + } + end + object MnuDeleteRow: TMenuItem + Action = AcDeleteRow + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D69D + 72C4D3976DF4D09568FFCE9062FFCB8C5DFFC9885BFFC78655FFC28252FFC282 + 52FFC28252FFC28252FFC28252FFC28252FFBA7642B0FFFFFF00FFFFFF00D79F + 75FFF8F1ECFFF7EFE9FFF6ECE6FFF4E9E2FFF3E6DDFFF1E3DBFFF0E2D8FFF0E2 + D8FFF0E2D8FFF0E2D8FFF0E2D8FFF0E2D8FFC5885DFDFFFFFF00FFFFFF00D9A2 + 79FFF9F2EDFFEBD0BDFFFFFFFFFFEBD2BFFFFFFFFFFFFFFFFFFFFFFFFFFFEAC5 + ACFFFFFFFFFFFFFFFFFFFFFFFFFFF0E2D8FFC68B5EFFFFFFFF00FFFFFF00DDA6 + 7DFFF9F3EFFF6C6CFCFF6262FAFF6262FAFF5353F7FF4644F4FF3835F1FF2C26 + EEFF211AECFF1B11E9FF1B11E9FFF0E2D8FFC6895CFFFFFFFF00FFFFFF00DFA8 + 81FFF9F3EFFF7476FEFFC3CCFDFFC3CCFDFFC0CAFCFFBAC2FCFFB1B8FBFFA5AA + FBFF9CA0FAFF9398F9FF1B11E9FFF0E2D8FFC88B5EFFFFFFFF00FFFFFF00E1AE + 87FFFAF4F0FF7476FEFF7476FEFF7476FEFF6C6CFCFF6262FAFF5353F7FF4644 + F4FF3835F1FF2C26EEFF211AECFFF0E2D8FFC48454FFFFFFFF00FFFFFF00E3AF + 8BFFFAF5F0FFEAC9AEFFFFFFFFFFEAC8B0FFFFFFFFFFFFFFFFFFFFFFFFFFE8C7 + ACFFFFFFFFFFFFFFFFFFFFFFFFFFF1E4DBFFC58555FFFFFFFF00FFFFFF00E5B2 + 8FFFFAF6F2FFE9C4A9FFE9C4ABFFEAC6ACFFE9C7ADFFE9C8ADFFE9C8AFFFE8C7 + ACFFE9C8AFFFE8C7B0FFE8CBB4FFF2E7DEFFC88858FFFFFFFF00FFFFFF00E7B6 + 93FFFBF6F3FFE9C1A5FFFFFFFFFFE8C2A8FFFFFFFFFFFFFFFFFFFFFFFFFFE8C7 + ACFF95AFE3FF235AC1FF0541BBFF1E56BEFF6B6B89FFFFFFFF00FFFFFF00E9B9 + 97FFFBF6F3FFE9C1A5FFE9C1A5FFE9C1A5FFE9C1A5FFE9C1A5FFE9C1A5FF818C + B5FF2862C8FF2075E6FF0577E9FF0164DDFF064BBCFF0342B77AFFFFFF00EBBC + 9BFFFBF6F3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1648 + AEFF629CF4FF177BFFFF0073F8FF0073EEFF0366E1FF0342B9E4FFFFFF00ECBE + 9EFFFBF6F3FF9BD5A3FF97D3A0FF94D09DFF90CE97FF8BCB92FF87C98DFF0541 + BBFFAECCFEFFFFFFFFFFFFFFFFFFFFFFFFFF187BEEFF0441BCFEFFFFFF00EEBF + A0EBFBF6F3FFFBF6F3FFFBF6F3FFFBF6F3FFFBF6F3FFFBF6F3FFFBF6F3FF255B + C1FF8CB2F6FF4D91FFFF1174FFFF2184FFFF3F86EBFF0342B9DEFFFFFF00EFC1 + A37EEFC0A1E3EDBF9FFFEBBD9DFFEBBB99FFE9B995FFE7B693FFE6B390FF95B0 + E3FF3D73D1FF8DB3F7FFB8D5FEFF71A5F5FF2E69CAFF0440BA6DFFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF007590C3FF2359BFFF0541BBFF1D55BFFF758FC1FFFFFFFF00 + } + end + object MnuTableSeparator3: TMenuItem + Caption = '-' + end + object MnuGridlines: TMenuItem + Action = AcShowGridlines + AutoCheck = True + end + end + object mnuFormat: TMenuItem + Caption = 'Format' + object MnuFOnt: TMenuItem + Action = AcDefaultFont + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CE68 + 38AEDA8F5DFEDB9060FFD78350EDC4502B8DBD422310BC3F222AC34D2BA2D071 + 42EAD67E51FFD57C4DFFC65531BDB6391D31FFFFFF00FFFFFF00FFFFFF00CA5C + 2F0ACB5F3044E1A475FFDA8C58ECC6522C3DFFFFFF00FFFFFF00BF452413C348 + 277FDC966BFFDB8F60FFBD3F2154B6381E02FFFFFF00FFFFFF00FFFFFF00FFFF + FF00CB5D3001D3743F9BE2A97CFFCC663799FFFFFF00FFFFFF00FFFFFF00CC63 + 37B1DFA077FFDA895AFFBB3E2222FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00CC633215DB935EEAE2A779FFD8834AD3CF6A3AB2CE6839B5D57A + 45D8E3A881FFD98656F9BE41231BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00CF6A365CDF9D68F6DA8B52D1CB5F314EC7592E2ACD67 + 37A0E1A67AFFD88653F2BF46250DFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00D06A3503D78042AADF9F6AF7CD663466C95D2F0ACC61 + 3388E1A679FFD57A44D2C24A2706FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00D1713822DE9B63E2DC965EDFCF693554CF69 + 3580E2A97CFFD16C3AA5FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D4793C77E2A670F7DA8847ADD67E + 43A0E4AE82FFCF6D3A99FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D67D3B1CDD9656BAE3A973F2E1A8 + 73F5E1A471F7D3773E98CB5F3008FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D7833E53E2A76CDEE9BC91FFE7BA + 8FFFE7B78BFFE2A471FBD67E42B6CB5C2F0AFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D8874040D88B4385DA8E4994D989 + 438FD8844090D884419AD3733A8ACC62320DC95B2E01FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + object MnuHorAlignment: TMenuItem + Caption = 'Horizontal alignment' + object MnuHorDefault: TMenuItem + Action = AcHorDefaultAlign + AutoCheck = True + end + object MnuHorAlignmentSeparator: TMenuItem + Caption = '-' + end + object MnuLeftAlignment: TMenuItem + Action = AcLeftAlign + AutoCheck = True + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF003C3C3CFF353535FF2F2F2FFF292929FF242424FF1E1E1EFF191919FF1414 + 14FF0F0F0FFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF004A4A4AFF444444FF3E3E3EFF383838FF323232FF2C2C2CFF262626FF2020 + 20FF1B1B1BFF161616FF111111FF0C0C0CFFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00585858FF525252FF4C4C4CFF464646FF404040FF3A3A3AFF343434FF2E2E + 2EFF282828FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00646464FF5F5F5FFF5A5A5AFF545454FF4F4F4FFF494949FF434343FF3D3D + 3DFF373737FF313131FF2B2B2BFF252525FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF006F6F6FFF6B6B6BFF666666FF616161FF5C5C5CFF575757FF515151FF4B4B + 4BFF454545FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00767676FF747474FF707070FF6C6C6CFF686868FF636363FF5E5E5EFF5959 + 59FF535353FF4E4E4EFF484848FF424242FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + object MnuCenterAlignment: TMenuItem + Action = AcHorCenterAlign + AutoCheck = True + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF003535356B2F2F2FFF292929FF242424FF1E1E1EFF191919FF1414 + 14FF0F0F0FFF0B0B0BFF0707076BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF004A4A4AFF444444FF3E3E3EFF383838FF323232FF2C2C2CFF262626FF2020 + 20FF1B1B1BFF161616FF111111FF0C0C0CFFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF005252526B4C4C4CFF464646FF404040FF3A3A3AFF343434FF2E2E + 2EFF282828FF232323FF1D1D1D6BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00646464FF5F5F5FFF5A5A5AFF545454FF4F4F4FFF494949FF434343FF3D3D + 3DFF373737FF313131FF2B2B2BFF252525FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF006B6B6B6B666666FF616161FF5C5C5CFF575757FF515151FF4B4B + 4BFF454545FF3F3F3FFF3939396BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00767676FF747474FF707070FF6C6C6CFF686868FF636363FF5E5E5EFF5959 + 59FF535353FF4E4E4EFF484848FF424242FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + object MnuRightAligment: TMenuItem + Action = AcRightAlign + AutoCheck = True + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00292929FF242424FF1E1E1EFF191919FF1414 + 14FF0F0F0FFF0B0B0BFF070707FF030303FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF004A4A4AFF444444FF3E3E3EFF383838FF323232FF2C2C2CFF262626FF2020 + 20FF1B1B1BFF161616FF111111FF0C0C0CFFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00464646FF404040FF3A3A3AFF343434FF2E2E + 2EFF282828FF232323FF1D1D1DFF181818FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00646464FF5F5F5FFF5A5A5AFF545454FF4F4F4FFF494949FF434343FF3D3D + 3DFF373737FF313131FF2B2B2BFF252525FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00616161FF5C5C5CFF575757FF515151FF4B4B + 4BFF454545FF3F3F3FFF393939FF333333FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00767676FF747474FF707070FF6C6C6CFF686868FF636363FF5E5E5EFF5959 + 59FF535353FF4E4E4EFF484848FF424242FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + end + object MnuVertAlignment: TMenuItem + Caption = 'Vertical alignment' + object MnuVertDefault: TMenuItem + Action = AcVAlignDefault + AutoCheck = True + end + object MnuVertAlignmentSeparator: TMenuItem + Caption = '-' + end + object MnuVertTop: TMenuItem + Action = AcVAlignTop + AutoCheck = True + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF003B3B3B00343434002E2E2E0028282800232323001D1D1D00181818001313 + 13000F0F0F000B0B0B000707070003030300FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF0049494900434343003D3D3D0037373700313131002B2B2B00252525001F1F + 1F001A1A1A0015151500111111000C0C0C00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF0057575700515151004B4B4B00454545003F3F3F0039393900333333002D2D + 2D0027272700222222001C1C1C0017171700FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00636363005E5E5E0059595900535353004E4E4E0048484800424242003C3C + 3C0036363600303030002A2A2A0024242400FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF006E6E6EFF6A6A6AFF656565FF606060FF5B5B5BFF565656FF505050FF4A4A + 4AFF444444FF3E3E3EFF383838FF323232FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00757575FF737373FF6F6F6FFF6B6B6BFF676767FF626262FF5D5D5DFF5858 + 58FF525252FF4D4D4DFF474747FF414141FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + object MnuVertCentered: TMenuItem + Action = AcVAlignCenter + AutoCheck = True + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF003B3B3B00343434002E2E2E0028282800232323001D1D1D00181818001313 + 13000F0F0F000B0B0B000707070003030300FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF0049494900434343003D3D3D0037373700313131002B2B2B00252525001F1F + 1F001A1A1A0015151500111111000C0C0C00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00575757FF515151FF4B4B4BFF454545FF3F3F3FFF393939FF333333FF2D2D + 2DFF272727FF222222FF1C1C1CFF171717FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00636363FF5E5E5EFF595959FF535353FF4E4E4EFF484848FF424242FF3C3C + 3CFF363636FF303030FF2A2A2AFF242424FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF006E6E6E006A6A6A0065656500606060005B5B5B0056565600505050004A4A + 4A00444444003E3E3E003838380032323200FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF0075757500737373006F6F6F006B6B6B0067676700626262005D5D5D005858 + 5800525252004D4D4D004747470041414100FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + object MnuVertBottom: TMenuItem + Action = AcVAlignBottom + AutoCheck = True + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF003B3B3BFF343434FF2E2E2EFF282828FF232323FF1D1D1DFF181818FF1313 + 13FF0F0F0FFF0B0B0BFF070707FF030303FFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00494949FF434343FF3D3D3DFF373737FF313131FF2B2B2BFF252525FF1F1F + 1FFF1A1A1AFF151515FF111111FF0C0C0CFFFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF0057575700515151004B4B4B00454545003F3F3F0039393900333333002D2D + 2D0027272700222222001C1C1C0017171700FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00636363005E5E5E0059595900535353004E4E4E0048484800424242003C3C + 3C0036363600303030002A2A2A0024242400FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF006E6E6E006A6A6A0065656500606060005B5B5B0056565600505050004A4A + 4A00444444003E3E3E003838380032323200FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF0075757500737373006F6F6F006B6B6B0067676700626262005D5D5D005858 + 5800525252004D4D4D004747470041414100FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + end + object MnuFormatSeparator: TMenuItem + Caption = '-' + end + object MnuMergeCells: TMenuItem + Action = AcMergeCells + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D69E + 72C4D3996EF4D19668FFCE9263FFCB8E5EFFC98A5BFFC78756FFC38452FFC384 + 52FFC38452FFC38452FFC38452FFC38452FFBB7742B0FFFFFF00FFFFFF00D7A1 + 75FFF8F2EDFFF7F0EAFFF6EDE6FFF4EAE2FFF3E7DEFFF1E4DBFFF0E2D8FFF0E2 + D8FFF0E2D8FFF0E2D8FFF0E2D8FFF0E2D8FFC58A5DFDFFFFFF00FFFFFF00D9A4 + 7AFFF9F3EEFFEBD2BEFFFFFFFFFFEBD3BFFFFFFFFFFFFFFFFFFFFFFFFFFFEAC7 + ADFFFFFFFFFFFFFFFFFFFFFFFFFFF0E2D8FFC68C5FFFFFFFFF00FFFFFF00DDA8 + 7EFFF9F3EFFFEBD0BAFFEBD0BBFFC68A5CFFC38452FFC38452FFC38452FFCA92 + 66FFEACDB5FFEACDB5FFEACDB5FFF0E2D8FFC68A5CFFFFFFFF00FFFFFF00DFAA + 82FFF9F3EFFFEACEB7FFFFFFFFFFC88D5FFFFFFFFFFFFFFFFFFFFFFFFFFFC58B + 5EFFFBF6F2FFFFFFFFFFFFFFFFFFF0E2D8FFC88D5FFFFFFFFF00FFFFFF00E1AE + 87FFFAF4F0FFEACBB2FFEACCB3FFC48654FFE9C7ADFFE9C9AEFFE9C9B0FFC68C + 5FFFE8C7ACFFE8C8B0FFE8C8AEFFF0E2D8FFC48654FFFFFFFF00FFFFFF00E3B1 + 8CFFFAF6F1FFEAC9AEFFFFFFFFFFC68655FFFFFFFFFFFFFFFFFFFFFFFFFFC68A + 5CFFFFFFFFFFFFFFFFFFFFFFFFFFF1E5DBFFC68655FFFFFFFF00FFFFFF00E5B4 + 8FFFFAF6F2FFE9C6AAFFE9C6ACFFC98A5BFFC98A5BFFC78756FFC38452FFC384 + 52FFE9C9B0FFE8C8B0FFE8CCB5FFF2E7DEFFC88A59FFFFFFFF00FFFFFF00E7B7 + 94FFFBF7F4FFE9C3A6FFFFFFFFFFE8C4A9FFFFFFFFFFFFFFFFFFFFFFFFFFE8C7 + ACFFFFFFFFFFFFFFFFFFFFFFFFFFF7F1EBFFCB8F5FFFFFFFFF00FFFFFF00E9BA + 98FFFBF7F4FFE9C3A6FFE9C3A6FFE9C3A6FFE9C3A6FFE9C3A6FFE9C3A6FFE9C3 + A6FFE9C3A6FFE9C3A6FFE9C3A6FFFBF7F4FFCE9364FFFFFFFF00FFFFFF00EBBD + 9BFFFBF7F4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFBF7F4FFD1976AFFFFFFFF00FFFFFF00ECBF + 9EFFFBF7F4FF9CD5A5FF98D3A1FF94D09DFF90CE98FF8BCB93FF87C98EFF82C6 + 89FF7EC384FF7AC180FF76BE7CFFFBF7F4FFD49B6FFFFFFFFF00FFFFFF00EEC1 + A1EBFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7 + F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFD7A074F8FFFFFF00FFFFFF00EFC2 + A37EEFC1A2E3EDC09FFFEBBE9DFFEBBC9AFFE9BA96FFE7B793FFE6B590FFE4B2 + 8CFFE2AF88FFE0AC84FFDDA980FFDCA57DFFDAA37ACAFFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + end + end + object ImageList: TImageList + left = 272 + top = 264 + Bitmap = { + 4C69290000001000000010000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00EAC39DFFE6BF96FFE4BB92FFE4BB92FFD1A06CF5D09E6DF6CC96 + 5FDAC479427EB2673C09FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00E5BE96FFFFFFFEFFFDF3E9FFFDF3EAFFFCF2E8FFFAEFE3FFFAF2 + E7FFEABB88FFCF8555B3B4693D0CFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00E4BB93FFFEF5EDFFFCDEC5FFFBE0C7FFF9DCC2FFF5D3B4FFFEF9 + F3FFFAE2C4FFECC193FFC37D4893FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00E4BB92FFFEF6F0FFFCE2CDFFFCE3CDFFFADFC8FFF7D9BCFFF5E9 + DDFFFAF3EBFFFBF8F3FFCA8353FEFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00E4BB92FFFEF7F1FFFCE5D2FFFCE4D1FFFBE2CCFFF9DDC4FFF6D7 + BBFFF3D1AFFFFAEFE4FFCC8758FE34B4D9D05EC2E1FA60C3E2FA60C3E2FA60C3 + E2FA5FC3E2FAE4BB91FFFFF7F2FFFEE7D5FFFEE7D5FFFDE5D1FFFAE0CAFFF9DE + C4FFF7D9BCFFFDF2E7FFCC8757FE36B3DAF8FDFEFEFFFEFFFFFFFEFEFFFFFDFE + FFFFFEFFFFFFE4BA91FFFFF7F0FFFFE7D5FFFDE7D6FFFDE6D4FFFCE4D0FFFBE3 + CBFFFADCC2FFFEF3E8FFCC8656FE35AFDAF0F7FCFEFF8EE4F8FF91DEF5FF9FE0 + F5FFACE1F6FFCA8452FFFFF7F1FFFFE9D9FFFFEADBFFFFE9D9FFFFE7D7FFFFE5 + D2FFFFE2CBFFFFF7F1FFCB8555FE36AADAF2F1FAFDFF94DEF5FF93DCF4FF64BC + E9FF3594DAFF3594DAFF3594DAFF3594DAFF3594DAFF3594DAFF3594DAFF3594 + DAFF3594DAFFFBF6EFFFCC8355FE35ABDAFAE8F6FBFF70BCE7FF55AAE2FF4DA5 + E0FF91C9EBFFFAF3EFFFFDFEFDFFFFFDFCFFFFFDFCFFFEFDFCFFFEFCFBFFFEFE + FDFF3594DAFFEFF2E8FFCE8156FF37A6DAFAFEFFFFFFF8FDFFFFF6FDFFFFF5FC + FFFFF3FCFEFF9AE4F4FF9AE6F7FF9BE6F6FF9DE5F5FF9EE5F5FF9FE5F4FFDAF3 + F8FF3594DAFFFDF4EEFFCA8054F936A1DAF9F6FCFEFF94E5F8FF93E5F8FF93E5 + F8FF91E5F8FF93DBE9FF93D7E3FF93D2DCFF90CED7FF8CC8CFFF86C1C6FFC9D8 + D6FF3594DAFFC57444E8CA7F53F1369ADAF8F2FAFDFF94E6F8FF92E5F8FF90E5 + F8FF8BE3F8FF86E2F7FF7FE1F7FF77DEF6FF6CDCF6FF5ED9F4FF4FD5F3FFCCF2 + FBFF3594DAFFFFFFFF00FFFFFF003594DAF7EFFAFEFF93E5F8FF8FE4F8FF89E3 + F8FF82E1F7FF7ADFF7FF71DEF6FF67DBF5FF5BD8F4FF4DD4F3FF40D1F2FFCAF2 + FBFF3594DAFFFFFFFF00FFFFFF00338ED9FBDCF0FAFF98E1F6FF95E0F6FF92DF + F6FF8EDEF5FF89DCF5FF85DAF4FF80D9F4FF7AD7F3FF74D5F3FF70D3F2FFC2EA + F8FF3594DAFFFFFFFF00FFFFFF002C86D8002D88D8F72D87D8F72D88D8F72D88 + D8F72D88D8F72D88D8F72D88D8F72D88D8F72D88D8F72D88D8F72D87D8F72D88 + D8F72C86D800FFFFFF00FFFFFF00BC6B3671BC6B3690BC6B36CCBC6B36EEBC6B + 36FABB6B36FEBB6B36FFBB6A36FFBB6A36FFBC6C39FFBD6E3BFFBB6D3AFFBB6B + 38EFBB703ECBB6693554FFFFFF00BC6B369BF6E0D1FFF7E0D1FFFEFBF8FFFEFB + F7FFFDF9F6FFFCF5F0FFFAF0EAFFFBF2EDFFFDF9F6FFFDFAF7FFFBF1EBFFF8E9 + DFFEECD0BDFBC9895EECB5693563BC6B36D8F6DFD1FFE9AA80FFFEFAF6FFFDFA + F6FFC88C64FFFBF3EEFFFBF1EAFFFCF6F2FFFEFBF8FFFCF6F1FFF9ECE2FFF8E7 + DBFFEED0BAFFECD0BDFFBB703EF8BC6B36F0F6DFD0FFE8A87EFFFCF6F1FFFCF6 + F1FFC88C64FFFAF1E9FFFBF4EEFFFDFAF7FFFDF9F6FFFAF0E8FFF8E8DDFFF7E6 + DBFFE1A37AFFEFD5C3FFB76935FEBC6B36FAF5DDCCFFE7A87EFFFAF0E8FFFAF0 + E8FFC98D66FFFAF0E9FFFDF8F3FFFEFAF8FFFCF4EFFFF9E9DFFFF7E7DBFFF7E5 + D9FFE0A278FFE7C2A9FFB66835FFBB6B36FEF4DCC9FFE7A77DFFF9ECE1FFF9EC + E1FFF9EDE3FFFCF4EEFFFDFAF7FFFDF7F3FFFAEDE5FFF7E7DBFFF7E5D9FFF6E5 + D8FFDEA077FFE4BEA4FFB46734FFBB6B36FFF4D9C7FFE6A67DFFC88C64FFC98D + 65FFC98E67FFCB926CFFCB926DFFCA9069FFC88C65FFC88C64FFC88C64FFC88C + 64FFDA9C74FFE1BA9FFFB36634FFBB6A36FFF2D8C5FFE3A47BFFE3A37AFFE3A4 + 7AFFE2A47BFFE2A37BFFE1A37BFFE1A279FFDFA077FFDE9F76FFDD9E74FFDB9C + 72FFDC9D74FFDDB59AFFB16534FFBB6A36FFF2D5C2FFE3A37AFFE3A37AFFE2A3 + 7BFFE2A37BFFE2A47BFFE1A279FFE0A178FFDEA077FFDE9E75FFDC9D74FFDA9B + 73FFD99B73FFDAB095FFAF6433FFBB6A36FFF0D2BEFFE2A37AFFE2A37AFFE1A3 + 7AFFE2A37BFFE1A37BFFE0A178FFDE9F77FFDD9F76FFDC9D74FFD99B72FFD899 + 71FFD69970FFD5AB8EFFAD6333FFBA6A36FFEFD0BBFFE2A27AFFFEFBF8FFFEFB + F8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFB + F8FFD3966DFFD2A78AFFAB6232FFBB6B38FFEFCEB8FFE1A279FFFEFAF7FF62C0 + 88FF62C088FF62C088FF62C088FF62C088FF62C088FF62C088FF62C088FFFDF9 + F6FFCF936AFFCEA384FFAA6132FFBB6C38FFEECCB6FFE1A27AFFFEFAF7FFBFDC + C2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFFDF9 + F6FFCD9068FFCC9E81FFA86132FFBA6B37FEEDCAB3FFE0A27AFFFEFAF7FF62C0 + 88FF62C088FF62C088FF62C088FF62C088FF62C088FF62C088FF62C088FFFDF9 + F6FFCA8D65FFC99B7CFFA76031FEBA6A35DEEBC6ADFFEAC5ADFFFEFBF8FFFEFB + F8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFB + F8FFC89A7CFFC79879FFA76031EDBA6A3600B96935B5B86935EEB76835FFB568 + 35FFB46734FFB26634FFB06533FFAE6433FFAC6332FFAA6232FFA96132FFA860 + 31FFA76031FEA66031F1A86131C4FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF006D9CD4896A9AD2FB6697CFEEFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00709ED6DB6D9C + D4FF85B1DAFF5A91B9FF6093CBEAFFFFFF00FFFFFF00808080FF7E7E7EFF7C7C + 7CFF7A7A7AFF777777FF757575FF727272FF719ED4FF6F9ED6FF87B2DCFFABD3 + E8FFA9D0E6FF5890B8FF598EC6EAFFFFFF00FFFFFF007D7D7DFF999999FF9999 + 99FF9A9A9AFF9A9A9AFF9B9B9BFF9B9B9BFF6F9DD3FFAAD1E7FFABD1E7FF98C7 + E1FF91C2DEFF568FB7FF5289C1EAFFFFFF00FFFFFF007A7A7AFF999999FF5291 + 59FF999A99FF9B9B9BFF9C9C9CFF9C9C9CFF6C9AD0FFA7CEE5FF8FC1DFFF89BD + DCFF8BBDDCFF538DB6FF4B84BCEAFFFFFF00FFFFFF00777777FF9A9A9AFF3D8A + 45FF498A4FFF9C9C9CFF9D9D9DFF9D9D9DFF6696CCFFA2CBE3FF89BDDCFF83B9 + DAFF84B9DAFF518BB5FF437EB6EA44944DFF42914BFF3F8D48FF3D8945FF5DA4 + 65FF5AA061FF45834BFF9E9E9EFF9E9E9EFF6092C9FF9EC7E2FF83B8DAFF7DB4 + D7FF7EB3D7FF4F89B4FF3B79B1EA41904AFF94D29FFF91D09AFF8DCD96FF89CB + 92FF84C88DFF519858FF417C46FF9F9F9FFF5A8EC4FF98C3E0FF7CB3D7FF74AF + D6FF5EC4EDFF4B88B3FF3473ABEA3E8B46FF8FCE99FF7DC687FF78C381FF73C0 + 7CFF74C07CFF79C281FF49904FFF547F57FF5489BFFF94BFDDFF75ADD4FF63B8 + E1FF4BD4FFFF428BB8FF2C6EA6EA3B8742FF89CB92FF84C88DFF80C688FF7BC3 + 83FF77C17FFF478F4DFF3B743FFFA1A1A1FF4C84BAFF8DBBDBFF6EA8D1FF66A6 + D1FF5FB4DFFF4785B1FF2569A1EA37823EFF347E3BFF317937FF2E7534FF4991 + 50FF468F4CFF39733DFFA1A1A1FFA2A2A2FF457EB4FF88B7D9FF67A3CFFF619E + CCFF639FCCFF4583B1FF1F649CEAFFFFFF00FFFFFF00606060FFA0A0A0FF3D76 + 41FF367139FFA2A2A2FFA2A2A2FFA3A3A3FF3D79B0FF82B3D7FF629FCCFF5A9A + C9FF5E9BCAFF4381AFFF196098EAFFFFFF00FFFFFF005C5C5CFFA1A1A1FF3C73 + 40FFA0A1A1FFA3A3A3FFA3A3A3FFA4A4A4FF3674AAFF7DAFD4FF5B9AC9FF5495 + C7FF5896C8FF4180AEFF135C94EAFFFFFF00FFFFFF00585858FFA2A2A2FFA2A2 + A2FFA3A3A3FFA4A4A4FFA4A4A4FFA5A5A5FF2F6FA5FF78ABD2FF78ABD3FF73A7 + D1FF69A0CDFF407FAEFF0F5991EA999999FF717171FF545454FF515151FF4F4F + 4FFF4C4C4CFF4A4A4AFF474747FF454545FF25679DFF3274A8FF3D7CAFFF4784 + B5FF4E8ABAFF3E7EADFF0C578FEAFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF001D639B1619609839145D9562105A + 92880D5890A4135C92FC0C578FEDFFFFFF00FFFFFF00E2AC5F36E2AC5FC6EABC + 81FFE8B777FFE6B26DFFE4B068FFE2AC5FF0E2AC5FE3E2AC5FCFE2AC5FCCE2AC + 5FBBE2AC5FA8E2AC5F4BE2AC5F05FFFFFF00FFFFFF00DEA85D6DEAC08CFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFDF9F4FFFBF3EAFFF8EBD9FFF8E6D3FFF5DF + C6FFE9CBA6FFDEA85DEDDEA85D5DFFFFFF00FFFFFF00DAA45B84EBC69AFFFFFF + FFFFFCEFE2FFFDF0E7FFFDF1EBFFFDF5EEFFFDF8F1FFFDFAF7FFFFFCFAFFFFFF + FFFFFEFBF7FFF4DAC0FFDAA45BEAFFFFFF00FFFFFF00D59F5892EBCAA5FFFFFD + FBFFFDE9D5FFFDEBD8FFFDEADBFFFDEDDFFFFDF0E2FFFDF1E4FFFCF0E4FFFFFF + FFFFE0A070FFFFFBF9FFDFB887FFFFFFFF00FFFFFF00D09A55A4EDD0B2FFFFF6 + F0FFFAE1CAFFFBE3CCFFFBE3D0FFFBE6D3FFFBE9D5FFFCE9D8FFFCEADBFFFFFF + FDFFD29D71FFEED9C1FFD09A55E5FFFFFF00FFFFFF00CA9452BBF0D9C1FFFBED + E1FFF9DAC0FFF9DCC2FFF9DEC5FFFAE0C7FFFAE2CAFFFAE2CDFFFAE5D0FFFFFE + FDFFCB8F5AFFCA9452F1CA945245FFFFFF00FFFFFF00C48E4EDAF5E7D8FFFAE5 + D2FFF9DABCFFF9DBBCFFFADBBFFFFADDC1FFFADDC1FFF9DDC4FFFBE1C8FFFFFD + FBFFC89457FFC48E4E12FFFFFF00FFFFFF00FFFFFF00BD884BF9FCF6F0FFF9DF + C7FFF9DCBDFFFADCBFFFFADBC1FFFADDC3FFFADDC2FFF9DDC4FFFBE0C9FFFFFC + FAFFC18D53FFBD884B0FFFFFFF00FFFFFF00B7824709B9854BFFFEFBF7FFF9DC + C1FFF8DCBFFFF8DCBFFFF8DBC0FFF9DDC0FFF9DDC0FFF9DDC3FFFBE2CBFFFCF9 + F5FFB78247FBB7824701FFFFFF00FFFFFF00B17B431EB98652FFFEFCF9FFF9DC + BFFFF8DBBFFFF8DCC0FFF9DBC2FFF9DCC1FFF9DDC2FFFADDC3FFFBE7D4FFF5ED + E2FFB17B43E4FFFFFF00FFFFFF00FFFFFF00AA754028B78656FFFEFEFDFFFADE + C2FFFADCBFFFF9DBC0FFF9DBC0FFF9DDC1FFFADBC0FFFADCC3FFFDEBDEFFECDC + CDFFAA7540CAFFFFFF00FFFFFF00A46F3C14A46F3CABD5AE8CFFFDF0E5FFF7C7 + A2FFF7CFADFFF9D5B5FFF8DABDFFF8DEC2FFFAE1C6FFFAE4CCFFFDF5ECFFE2CE + BAFFA46F3CB3FFFFFF00FFFFFF009E6939579E6939F6B48559FFD9A57BFFD89E + 6FFFD79B6AFFD89663FFD6925DFFD48F59FFD38E57FFE29D69FFFAE3D1FFD8BB + A2FF9E69399EFFFFFF00FFFFFF0099643689C7A485FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFEFCFFFEFBF7FFFEF7F1FFFEF6F1FFE4AE86FFFAE8DBFFCEAF + 95FF9964368BFFFFFF00FFFFFF00945F3368B8906DFFD6BAA3FFDFC6B3FFE7D4 + C3FFEEDFD3FFF5EAE2FFFBF4EFFFFDFAF6FFFFFEFDFFFBEBDFFFFBEFE6FFC19D + 80FF945F336FFFFFFF00FFFFFF00905B3100905B3184905B31A3905B31B6905B + 31C9905B31DA905B31EB905B31FA956139FF9A6941FFA3744FFFAD825FFF905B + 31D9905B3134FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00767676FF747474FF7070 + 70FF6C6C6CFF686868FF636363FF5E5E5EFF595959FF535353FF4E4E4EFF4848 + 48FF424242FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006F6F6FFF6B6B6BFF6666 + 66FF616161FF5C5C5CFF575757FF515151FF4B4B4BFF454545FFFFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00646464FF5F5F5FFF5A5A + 5AFF545454FF4F4F4FFF494949FF434343FF3D3D3DFF373737FF313131FF2B2B + 2BFF252525FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00585858FF525252FF4C4C + 4CFF464646FF404040FF3A3A3AFF343434FF2E2E2EFF282828FFFFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4AFF444444FF3E3E + 3EFF383838FF323232FF2C2C2CFF262626FF202020FF1B1B1BFF161616FF1111 + 11FF0C0C0CFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003C3C3CFF353535FF2F2F + 2FFF292929FF242424FF1E1E1EFF191919FF141414FF0F0F0FFFFFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00767676FF747474FF7070 + 70FF6C6C6CFF686868FF636363FF5E5E5EFF595959FF535353FF4E4E4EFF4848 + 48FF424242FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006B6B6B6B6666 + 66FF616161FF5C5C5CFF575757FF515151FF4B4B4BFF454545FF3F3F3FFF3939 + 396BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00646464FF5F5F5FFF5A5A + 5AFF545454FF4F4F4FFF494949FF434343FF3D3D3DFF373737FF313131FF2B2B + 2BFF252525FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005252526B4C4C + 4CFF464646FF404040FF3A3A3AFF343434FF2E2E2EFF282828FF232323FF1D1D + 1D6BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4AFF444444FF3E3E + 3EFF383838FF323232FF2C2C2CFF262626FF202020FF1B1B1BFF161616FF1111 + 11FF0C0C0CFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003535356B2F2F + 2FFF292929FF242424FF1E1E1EFF191919FF141414FF0F0F0FFF0B0B0BFF0707 + 076BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00767676FF747474FF7070 + 70FF6C6C6CFF686868FF636363FF5E5E5EFF595959FF535353FF4E4E4EFF4848 + 48FF424242FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00616161FF5C5C5CFF575757FF515151FF4B4B4BFF454545FF3F3F3FFF3939 + 39FF333333FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00646464FF5F5F5FFF5A5A + 5AFF545454FF4F4F4FFF494949FF434343FF3D3D3DFF373737FF313131FF2B2B + 2BFF252525FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00464646FF404040FF3A3A3AFF343434FF2E2E2EFF282828FF232323FF1D1D + 1DFF181818FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4AFF444444FF3E3E + 3EFF383838FF323232FF2C2C2CFF262626FF202020FF1B1B1BFF161616FF1111 + 11FF0C0C0CFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00292929FF242424FF1E1E1EFF191919FF141414FF0F0F0FFF0B0B0BFF0707 + 07FF030303FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00777777607777 + 77CF747474FF707070EF6B6B6B7F656565AF606060EF5959599F53535310FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007373 + 737F696969FF6A6A6ABFFFFFFF00FFFFFF005858589F545454FF4A4A4ACFFFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006D6D + 6D7F656565FF636363BFFFFFFF00FFFFFF004F4F4F7F4E4E4EFF414141FFFFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006767 + 677F5F5F5FFF5B5B5BBFFFFFFF004D4D4D10464646DF464646FF3838389FFFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006060 + 607F595959FF535353DF4C4C4C7F454545CF444444FF363636BFFFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005858 + 587F535353FF4A4A4ABFFFFFFF00FFFFFF003434349F383838FF262626CF1F1F + 1F10FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004F4F + 4F7F4D4D4DFF414141BFFFFFFF00FFFFFF002B2B2B10262626FF2D2D2DFF1717 + 1770FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004646 + 467F464646FF383838BFFFFFFF00FFFFFF00FFFFFF001C1C1CFF292929FF1010 + 107FFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003D3D + 3D7F404040FF2F2F2FCFFFFFFF00FFFFFF001B1B1B70242424FF0F0F0FEF0A0A + 0A20FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003C3C3C603434 + 34AF2D2D2DBF262626BF1F1F1F8F1919198F131313BF0D0D0D8F09090920FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF006B6B6B80656565F0606060FF595959F0535353C0FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF005E5E5EE0595959FF51515160FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF005C5C5C30575757FF4F4F4FF0FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF0054545490525252FF464646A0FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF004C4C4CE0494949FF3D3D3D50FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF004A4A4A30454545FF3C3C3CF0FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF0041414190444444FF323232A0FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00383838E0383838FF2A2A2A50FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF0036363640353535FF282828FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003434 + 34802D2D2DC0262626C01F1F1FC0191919B0FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF0074747411707070996B6B6B666565657760606099595959BBFFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF006E6E6EEE6A6A6A77FFFFFF00FFFFFF0058585877515151FFFFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006D6D + 6D66666666FF63636388FFFFFF00FFFFFF00FFFFFF00484848BBFFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006767 + 6744606060FF5B5B5BFF545454994D4D4D33FFFFFF003F3F3F44FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00595959BB555555FF515151FF484848FF3D3D3DCC36363644FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0077777775777777FF777777FF7777 + 77FF777777FF777777FF5F5F5FFF3C3C3CFF181818FF000000FF000000FF0000 + 00FF000000FF00000074FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004F4F + 4F11FFFFFF00FFFFFF00FFFFFF00323232662B2B2BDD323232FF1E1E1ECCFFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004646 + 46663F3F3F77FFFFFF00FFFFFF00FFFFFF00FFFFFF001C1C1CFF161616DDFFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003D3D + 3D66373737FF2F2F2F11FFFFFF00FFFFFF00FFFFFF00141414EE0F0F0F77FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003434 + 34662D2D2DEE262626CC1F1F1F7719191966131313770D0D0D88FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00777777607777 + 77EF777777FF7575758FFFFFFF00FFFFFF00FFFFFF00616161AF5B5B5BFF5454 + 5470FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007777 + 77BF747474FFFFFFFF00FFFFFF00FFFFFF00FFFFFF0059595910535353CFFFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007373 + 73BF6E6E6EFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4ABFFFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006D6D + 6DBF686868FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00414141BFFFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006767 + 67BF616161FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00383838BFFFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006060 + 60BF595959FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF002F2F2FBFFFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF005858 + 58BF515151FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00262626BFFFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004F4F + 4F8F4B4B4BFF41414150FFFFFF00FFFFFF00FFFFFF00242424401E1E1E8FFFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004646 + 46203F3F3FEF383838CF31313120FFFFFF00232323401C1C1CCF16161620FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00363636202F2F2F9F282828BF212121BF1B1B1B8F14141430FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF002B2B + 2BFF242424FF1E1E1EFF171717FF121212FF0C0C0CFF070707FF030303FFFFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00D8874040D88B4385DA8E4994D989438FD8844090D884419AD373 + 3A8ACC62320DC95B2E01FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00D7833E53E2A76CDEE9BC91FFE7BA8FFFE7B78BFFE2A471FBD67E + 42B6CB5C2F0AFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00D67D3B1CDD9656BAE3A973F2E1A873F5E1A471F7D3773E98CB5F + 3008FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00D4793C77E2A670F7DA8847ADD67E43A0E4AE82FFCF6D3A99FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00D1713822DE9B63E2DC965EDFCF693554CF693580E2A97CFFD16C3AA5FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00D06A + 3503D78042AADF9F6AF7CD663466C95D2F0ACC613388E1A679FFD57A44D2C24A + 2706FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CF6A + 365CDF9D68F6DA8B52D1CB5F314EC7592E2ACD6737A0E1A67AFFD88653F2BF46 + 250DFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CC633215DB93 + 5EEAE2A779FFD8834AD3CF6A3AB2CE6839B5D57A45D8E3A881FFD98656F9BE41 + 231BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00CB5D3001D3743F9BE2A9 + 7CFFCC663799FFFFFF00FFFFFF00FFFFFF00CC6337B1DFA077FFDA895AFFBB3E + 2222FFFFFF00FFFFFF00FFFFFF00FFFFFF00CA5C2F0ACB5F3044E1A475FFDA8C + 58ECC6522C3DFFFFFF00FFFFFF00BF452413C348277FDC966BFFDB8F60FFBD3F + 2154B6381E02FFFFFF00FFFFFF00FFFFFF00CE6838AEDA8F5DFEDB9060FFD783 + 50EDC4502B8DBD422310BC3F222AC34D2BA2D07142EAD67E51FFD57C4DFFC655 + 31BDB6391D31FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00757575FF737373FF6F6F + 6FFF6B6B6BFF676767FF626262FF5D5D5DFF585858FF525252FF4D4D4DFF4747 + 47FF414141FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006E6E6EFF6A6A6AFF6565 + 65FF606060FF5B5B5BFF565656FF505050FF4A4A4AFF444444FF3E3E3EFF3838 + 38FF323232FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00636363005E5E5E005959 + 5900535353004E4E4E0048484800424242003C3C3C0036363600303030002A2A + 2A0024242400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0057575700515151004B4B + 4B00454545003F3F3F0039393900333333002D2D2D0027272700222222001C1C + 1C0017171700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0049494900434343003D3D + 3D0037373700313131002B2B2B00252525001F1F1F001A1A1A00151515001111 + 11000C0C0C00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003B3B3B00343434002E2E + 2E0028282800232323001D1D1D0018181800131313000F0F0F000B0B0B000707 + 070003030300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0075757500737373006F6F + 6F006B6B6B0067676700626262005D5D5D0058585800525252004D4D4D004747 + 470041414100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006E6E6E006A6A6A006565 + 6500606060005B5B5B0056565600505050004A4A4A00444444003E3E3E003838 + 380032323200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00636363FF5E5E5EFF5959 + 59FF535353FF4E4E4EFF484848FF424242FF3C3C3CFF363636FF303030FF2A2A + 2AFF242424FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00575757FF515151FF4B4B + 4BFF454545FF3F3F3FFF393939FF333333FF2D2D2DFF272727FF222222FF1C1C + 1CFF171717FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0049494900434343003D3D + 3D0037373700313131002B2B2B00252525001F1F1F001A1A1A00151515001111 + 11000C0C0C00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003B3B3B00343434002E2E + 2E0028282800232323001D1D1D0018181800131313000F0F0F000B0B0B000707 + 070003030300FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0075757500737373006F6F + 6F006B6B6B0067676700626262005D5D5D0058585800525252004D4D4D004747 + 470041414100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF006E6E6E006A6A6A006565 + 6500606060005B5B5B0056565600505050004A4A4A00444444003E3E3E003838 + 380032323200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00636363005E5E5E005959 + 5900535353004E4E4E0048484800424242003C3C3C0036363600303030002A2A + 2A0024242400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0057575700515151004B4B + 4B00454545003F3F3F0039393900333333002D2D2D0027272700222222001C1C + 1C0017171700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00494949FF434343FF3D3D + 3DFF373737FF313131FF2B2B2BFF252525FF1F1F1FFF1A1A1AFF151515FF1111 + 11FF0C0C0CFFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF003B3B3BFF343434FF2E2E + 2EFF282828FF232323FF1D1D1DFF181818FF131313FF0F0F0FFF0B0B0BFF0707 + 07FF030303FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000004D0000000D000000670000 + 000D000000670000000D000000670000000D000000670000000D000000670000 + 000D0000004DFFFFFF00FFFFFF00FFFFFF000000000E00000000000000000000 + 000000000000000000000000000D000000000000000000000000000000000000 + 00000000000DFFFFFF00FFFFFF00FFFFFF000000006B00000000000000000000 + 000000000000000000000000006B000000000000000000000000000000000000 + 00000000006BFFFFFF00FFFFFF00FFFFFF000000000E00000000000000000000 + 000000000000000000000000000E000000000000000000000000000000000000 + 00000000000EFFFFFF00FFFFFF00FFFFFF000000007100000000000000000000 + 0000000000000000000000000071000000000000000000000000000000000000 + 000000000071FFFFFF00FFFFFF00FFFFFF000000000F00000000000000000000 + 000000000000000000000000000F000000000000000000000000000000000000 + 00000000000FFFFFFF00FFFFFF00FFFFFF00000000780000000F000000780000 + 000F000000780000000F000000780000000F000000780000000F000000780000 + 000F00000078FFFFFF00FFFFFF00FFFFFF000000001000000000000000000000 + 0000000000000000000000000010000000000000000000000000000000000000 + 000000000010FFFFFF00FFFFFF00FFFFFF000000008000000000000000000000 + 0000000000000000000000000080000000000000000000000000000000000000 + 000000000080FFFFFF00FFFFFF00FFFFFF000000001100000000010101000101 + 0100010101000000000000000011000000000101010001010100010101000000 + 000000000011FFFFFF00FFFFFF00FFFFFF000101018901010100010101000101 + 0100010101000101010001010189010101000101010001010100010101000101 + 010001010189FFFFFF00FFFFFF00FFFFFF000101011401010100010101000101 + 0100010101000101010001010113010101000101010001010100010101000101 + 010001010113FFFFFF00FFFFFF00FFFFFF000101017B01010115010101A40101 + 0115010101A401010115010101A401010115010101A401010115010101A40101 + 01150101017BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00010101810000000D000000670000 + 000D000000670000000D000000670000000D000000670000000D000000670000 + 000D0000004DFFFFFF00FFFFFF00FFFFFF00010101AE01010100000000000000 + 000000000000000000000000000D000000000000000000000000000000000000 + 00000000000DFFFFFF00FFFFFF00FFFFFF00010101B001010100010101000000 + 000000000000000000000000006B000000000000000000000000000000000000 + 00000000006BFFFFFF00FFFFFF00FFFFFF00010101B301010100010101000101 + 010000000000000000000000000E000000000000000000000000000000000000 + 00000000000EFFFFFF00FFFFFF00FFFFFF00010101B601010100010101000000 + 0000000000000000000000000071000000000000000000000000000000000000 + 000000000071FFFFFF00FFFFFF00FFFFFF00010101B901010100000000000000 + 000000000000000000000000000F000000000000000000000000000000000000 + 00000000000FFFFFFF00FFFFFF00FFFFFF00010101BC0000000F000000780000 + 000F000000780000000F000000780000000F000000780000000F000000780000 + 000F00000078FFFFFF00FFFFFF00FFFFFF00010101C001010100000000000000 + 0000000000000000000000000010000000000000000000000000000000000000 + 000000000010FFFFFF00FFFFFF00FFFFFF00010101C401010100010101000000 + 0000000000000000000000000080000000000000000000000000000000000000 + 000000000080FFFFFF00FFFFFF00FFFFFF00010101C701010100010101000101 + 0100010101000000000000000011000000000101010001010100010101000000 + 000000000011FFFFFF00FFFFFF00FFFFFF00010101CC01010100010101000101 + 0100010101000101010001010189010101000101010001010100010101000101 + 010001010189FFFFFF00FFFFFF00FFFFFF00000000D901010100010101000101 + 0100010101000101010001010113010101000101010001010100010101000101 + 010001010113FFFFFF00FFFFFF00FFFFFF00000000AC01010115010101A40101 + 0115010101A401010115010101A401010115010101A401010115010101A40101 + 01150101017BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000004D0000000D000000670000 + 000D000000670101010D010101AC0000000D000000670000000D000000670000 + 000D0000004DFFFFFF00FFFFFF00FFFFFF000000000E00000000000000000000 + 00000000000001010100010101AE010101000000000000000000000000000000 + 00000000000DFFFFFF00FFFFFF00FFFFFF000000006B00000000000000000000 + 00000101010001010100010101B0010101000101010000000000000000000000 + 00000000006BFFFFFF00FFFFFF00FFFFFF000000000E00000000000000000101 + 01000101010001010100010101B3010101000101010001010100000000000000 + 00000000000EFFFFFF00FFFFFF00FFFFFF000000007100000000000000000000 + 00000101010001010100010101B6010101000101010000000000000000000000 + 000000000071FFFFFF00FFFFFF00FFFFFF000000000F00000000000000000000 + 00000000000001010100010101B9010101000000000000000000000000000000 + 00000000000FFFFFFF00FFFFFF00FFFFFF00000000780000000F000000780000 + 000F000000780101010F010101BC0000000F000000780000000F000000780000 + 000F00000078FFFFFF00FFFFFF00FFFFFF000000001000000000000000000000 + 00000000000001010100010101C0010101000000000000000000000000000000 + 000000000010FFFFFF00FFFFFF00FFFFFF000000008000000000000000000000 + 00000101010001010100010101C4010101000101010000000000000000000000 + 000000000080FFFFFF00FFFFFF00FFFFFF000000001100000000010101000101 + 01000101010001010100010101C7010101000101010001010100010101000000 + 000000000011FFFFFF00FFFFFF00FFFFFF000101018901010100010101000101 + 01000101010001010100010101CC010101000101010001010100010101000101 + 010001010189FFFFFF00FFFFFF00FFFFFF000101011401010100010101000101 + 01000101010001010100000000D9010101000101010001010100010101000101 + 010001010113FFFFFF00FFFFFF00FFFFFF000101017B01010115010101A40101 + 0115010101A401010115000000E601010115010101A401010115010101A40101 + 01150101017BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000004D0000000D000000670000 + 000D000000670000000D000000670000000D000000670000000D000000670101 + 010D01010181FFFFFF00FFFFFF00FFFFFF000000000E00000000000000000000 + 000000000000000000000000000D000000000000000000000000000000000101 + 0100010101AEFFFFFF00FFFFFF00FFFFFF000000006B00000000000000000000 + 000000000000000000000000006B000000000000000000000000010101000101 + 0100010101B0FFFFFF00FFFFFF00FFFFFF000000000E00000000000000000000 + 000000000000000000000000000E000000000000000001010100010101000101 + 0100010101B3FFFFFF00FFFFFF00FFFFFF000000007100000000000000000000 + 0000000000000000000000000071000000000000000000000000010101000101 + 0100010101B6FFFFFF00FFFFFF00FFFFFF000000000F00000000000000000000 + 000000000000000000000000000F000000000000000000000000000000000101 + 0100010101B9FFFFFF00FFFFFF00FFFFFF00000000780000000F000000780000 + 000F000000780000000F000000780000000F000000780000000F000000780101 + 010F010101BCFFFFFF00FFFFFF00FFFFFF000000001000000000000000000000 + 0000000000000000000000000010000000000000000000000000000000000101 + 0100010101C0FFFFFF00FFFFFF00FFFFFF000000008000000000000000000000 + 0000000000000000000000000080000000000000000000000000010101000101 + 0100010101C4FFFFFF00FFFFFF00FFFFFF000000001100000000010101000101 + 0100010101000000000000000011000000000101010001010100010101000101 + 0100010101C7FFFFFF00FFFFFF00FFFFFF000101018901010100010101000101 + 0100010101000101010001010189010101000101010001010100010101000101 + 0100010101CCFFFFFF00FFFFFF00FFFFFF000101011401010100010101000101 + 0100010101000101010001010113010101000101010001010100010101000101 + 0100000000D9FFFFFF00FFFFFF00FFFFFF000101017B01010115010101A40101 + 0115010101A401010115010101A401010115010101A401010115010101A40101 + 0115000000ACFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0001010181010101AC010101AC0101 + 01AC010101AC010101AC010101AC010101AC010101AC010101AC010101AC0101 + 01AC01010181FFFFFF00FFFFFF00FFFFFF000101010E01010100010101000101 + 010001010100010101000101010D010101000101010001010100010101000101 + 01000101010DFFFFFF00FFFFFF00FFFFFF000000006B00000000010101000101 + 010001010100000000000000006B000000000101010001010100010101000000 + 00000000006BFFFFFF00FFFFFF00FFFFFF000000000E00000000010101000101 + 010001010100000000000000000E000000000000000001010100010101000000 + 00000000000EFFFFFF00FFFFFF00FFFFFF000000007100000000000000000000 + 0000000000000000000000000071000000000000000000000000000000000000 + 000000000071FFFFFF00FFFFFF00FFFFFF000000000F00000000000000000000 + 000000000000000000000000000F000000000000000000000000000000000000 + 00000000000FFFFFFF00FFFFFF00FFFFFF00000000780000000F000000780000 + 000F000000780000000F000000780000000F000000780000000F000000780000 + 000F00000078FFFFFF00FFFFFF00FFFFFF000000001000000000000000000000 + 0000000000000000000000000010000000000000000000000000000000000000 + 000000000010FFFFFF00FFFFFF00FFFFFF000000008000000000000000000000 + 0000000000000000000000000080000000000000000000000000000000000000 + 000000000080FFFFFF00FFFFFF00FFFFFF000000001100000000010101000101 + 0100010101000000000000000011000000000101010001010100010101000000 + 000000000011FFFFFF00FFFFFF00FFFFFF000101018901010100010101000101 + 0100010101000101010001010189010101000101010001010100010101000101 + 010001010189FFFFFF00FFFFFF00FFFFFF000101011401010100010101000101 + 0100010101000101010001010113010101000101010001010100010101000101 + 010001010113FFFFFF00FFFFFF00FFFFFF000101017B01010115010101A40101 + 0115010101A401010115010101A401010115010101A401010115010101A40101 + 01150101017BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000004D0000000D000000670000 + 000D000000670000000D000000670000000D000000670000000D000000670000 + 000D0000004DFFFFFF00FFFFFF00FFFFFF000000000E00000000000000000000 + 000000000000000000000000000D000000000000000000000000000000000000 + 00000000000DFFFFFF00FFFFFF00FFFFFF000000006B00000000000000000000 + 000000000000000000000000006B000000000000000000000000000000000000 + 00000000006BFFFFFF00FFFFFF00FFFFFF000000000E00000000010101000101 + 010001010100000000000000000E000000000101010001010100010101000000 + 00000000000EFFFFFF00FFFFFF00FFFFFF000000007100000000010101000101 + 0100010101000000000000000071000000000101010001010100010101000000 + 000000000071FFFFFF00FFFFFF00FFFFFF000101010F01010100010101000101 + 010001010100010101000101010F010101000101010001010100010101000101 + 01000101010FFFFFFF00FFFFFF00FFFFFF00010101BC010101BC010101BC0101 + 01BC010101BC010101BC010101BC010101BC010101BC010101BC010101BC0101 + 01BC010101BCFFFFFF00FFFFFF00FFFFFF000101011001010100010101000101 + 0100010101000101010001010110010101000101010001010100010101000101 + 010001010110FFFFFF00FFFFFF00FFFFFF000000008000000000010101000101 + 0100010101000000000000000080000000000101010001010100010101000000 + 000000000080FFFFFF00FFFFFF00FFFFFF000000001100000000010101000101 + 0100010101000000000000000011000000000101010001010100010101000000 + 000000000011FFFFFF00FFFFFF00FFFFFF000101018901010100010101000101 + 0100010101000101010001010189010101000101010001010100010101000101 + 010001010189FFFFFF00FFFFFF00FFFFFF000101011401010100010101000101 + 0100010101000101010001010113010101000101010001010100010101000101 + 010001010113FFFFFF00FFFFFF00FFFFFF000101017B01010115010101A40101 + 0115010101A401010115010101A401010115010101A401010115010101A40101 + 01150101017BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000004D0000000D000000670000 + 000D000000670000000D000000670000000D000000670000000D000000670000 + 000D0000004DFFFFFF00FFFFFF00FFFFFF000000000E00000000000000000000 + 000000000000000000000000000D000000000000000000000000000000000000 + 00000000000DFFFFFF00FFFFFF00FFFFFF000000006B00000000000000000000 + 000000000000000000000000006B000000000000000000000000000000000000 + 00000000006BFFFFFF00FFFFFF00FFFFFF000000000E00000000000000000000 + 000000000000000000000000000E000000000000000000000000000000000000 + 00000000000EFFFFFF00FFFFFF00FFFFFF000000007100000000000000000000 + 0000000000000000000000000071000000000000000000000000000000000000 + 000000000071FFFFFF00FFFFFF00FFFFFF000000000F00000000000000000000 + 000000000000000000000000000F000000000000000000000000000000000000 + 00000000000FFFFFFF00FFFFFF00FFFFFF00000000780000000F000000780000 + 000F000000780000000F000000780000000F000000780000000F000000780000 + 000F00000078FFFFFF00FFFFFF00FFFFFF000000001000000000000000000000 + 0000000000000000000000000010000000000000000000000000000000000000 + 000000000010FFFFFF00FFFFFF00FFFFFF000000008000000000000000000000 + 0000000000000000000000000080000000000000000000000000000000000000 + 000000000080FFFFFF00FFFFFF00FFFFFF000000001100000000000000000000 + 0000000000000000000000000011000000000000000000000000000000000000 + 000000000011FFFFFF00FFFFFF00FFFFFF000101018901010100000000000000 + 0000000000000101010001010189010101000000000000000000000000000101 + 010001010189FFFFFF00FFFFFF00FFFFFF000101011400000000000000000000 + 0000000000000000000001010113010101000000000000000000000000000000 + 000001010113FFFFFF00FFFFFF00FFFFFF00000000AC000000E6000000E60000 + 00E6000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 + 00E6000000ACFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000004D0000000D000000670000 + 000D000000670000000D000000670000000D000000670000000D000000670000 + 000D0000004DFFFFFF00FFFFFF00FFFFFF000000000E00000000000000000000 + 000000000000000000000000000D000000000000000000000000000000000000 + 00000000000DFFFFFF00FFFFFF00FFFFFF000000006B00000000000000000000 + 000000000000000000000000006B000000000000000000000000000000000000 + 00000000006BFFFFFF00FFFFFF00FFFFFF000000000E00000000000000000000 + 000000000000000000000000000E000000000000000000000000000000000000 + 00000000000EFFFFFF00FFFFFF00FFFFFF000000007100000000000000000000 + 0000000000000000000000000071000000000000000000000000000000000000 + 000000000071FFFFFF00FFFFFF00FFFFFF000000000F00000000000000000000 + 000000000000000000000000000F000000000000000000000000000000000000 + 00000000000FFFFFFF00FFFFFF00FFFFFF00000000780000000F000000780000 + 000F000000780000000F000000780000000F000000780000000F000000780000 + 000F00000078FFFFFF00FFFFFF00FFFFFF000000001000000000000000000000 + 0000000000000000000000000010000000000000000000000000000000000000 + 000000000010FFFFFF00FFFFFF00FFFFFF000000008000000000010101000101 + 0100010101000000000000000080000000000101010001010100010101000000 + 000000000080FFFFFF00FFFFFF00FFFFFF000101011101010100010101000101 + 0100010101000101010001010111010101000101010001010100010101000101 + 010001010111FFFFFF00FFFFFF00FFFFFF00010101CC010101CC010101CC0101 + 01CC010101CC010101CC010101CC010101CC010101CC010101CC010101CC0101 + 01CC010101CCFFFFFF00FFFFFF00FFFFFF000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000FFFFFF00FFFFFF00FFFFFF00000000AC000000E6000000E60000 + 00E6000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 + 00E6000000ACFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000004D0000000D000000670000 + 000D000000670000000D000000670000000D000000670000000D000000670000 + 000D0000004DFFFFFF00FFFFFF00FFFFFF000000000E00000000000000000000 + 000000000000000000000000000D000000000000000000000000000000000000 + 00000000000DFFFFFF00FFFFFF00FFFFFF000000006B00000000000000000000 + 000000000000000000000000006B000000000000000000000000000000000000 + 00000000006BFFFFFF00FFFFFF00FFFFFF000000000E00000000000000000000 + 000000000000000000000000000E000000000000000000000000000000000000 + 00000000000EFFFFFF00FFFFFF00FFFFFF000000007100000000000000000000 + 0000000000000000000000000071000000000000000000000000000000000000 + 000000000071FFFFFF00FFFFFF00FFFFFF000000000F00000000000000000000 + 000000000000000000000000000F000000000000000000000000000000000000 + 00000000000FFFFFFF00FFFFFF00FFFFFF00000000780000000F000000780000 + 000F000000780000000F000000780000000F000000780000000F000000780000 + 000F00000078FFFFFF00FFFFFF00FFFFFF000000001000000000000000000000 + 0000000000000000000000000010000000000000000000000000000000000000 + 000000000010FFFFFF00FFFFFF00FFFFFF000000008000000000000000000000 + 0000000000000000000000000080000000000000000000000000000000000000 + 000000000080FFFFFF00FFFFFF00FFFFFF000000001100000000000000000000 + 0000000000000000000000000011000000000000000000000000000000000000 + 000000000011FFFFFF00FFFFFF00FFFFFF000101018900000000000000000000 + 0000000000000000000001010189000000000000000000000000000000000000 + 000001010189FFFFFF00FFFFFF00FFFFFF00000000D9000000D9000000D90000 + 00D9000000D9000000D9000000D9000000D9000000D9000000D9000000D90000 + 00D9000000D9FFFFFF00FFFFFF00FFFFFF00000000AC000000E6000000E60000 + 00E6000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 + 00E6000000ACFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000004D0000000D000000670000 + 000D000000670101010D010101AC0000000D000000670000000D000000670000 + 000D0000004DFFFFFF00FFFFFF00FFFFFF000000000E00000000000000000000 + 00000000000001010100010101AE010101000000000000000000000000000000 + 00000000000DFFFFFF00FFFFFF00FFFFFF000000006B00000000000000000000 + 00000101010001010100010101B0010101000101010000000000000000000000 + 00000000006BFFFFFF00FFFFFF00FFFFFF000000000E00000000010101000101 + 01000101010001010100010101B3010101000101010001010100010101000000 + 00000000000EFFFFFF00FFFFFF00FFFFFF000000007100000000010101000101 + 01000101010001010100010101B6010101000101010001010100010101000000 + 000000000071FFFFFF00FFFFFF00FFFFFF000101010F01010100010101000101 + 01000101010001010100010101B9010101000101010001010100010101000101 + 01000101010FFFFFFF00FFFFFF00FFFFFF00010101BC010101BC010101BC0101 + 01BC010101BC010101BC0101018E010101BC010101BC010101BC010101BC0101 + 01BC010101BCFFFFFF00FFFFFF00FFFFFF000101011001010100010101000101 + 01000101010001010100010101C0010101000101010001010100010101000101 + 010001010110FFFFFF00FFFFFF00FFFFFF000000008000000000010101000101 + 01000101010001010100010101C4010101000101010001010100010101000000 + 000000000080FFFFFF00FFFFFF00FFFFFF000000001100000000010101000101 + 01000101010001010100010101C7010101000101010001010100010101000000 + 000000000011FFFFFF00FFFFFF00FFFFFF000101018901010100010101000101 + 01000101010001010100010101CC010101000101010001010100010101000101 + 010001010189FFFFFF00FFFFFF00FFFFFF000101011401010100010101000101 + 01000101010001010100000000D9010101000101010001010100010101000101 + 010001010113FFFFFF00FFFFFF00FFFFFF000101017B01010115010101A40101 + 0115010101A401010115000000E601010115010101A401010115010101A40101 + 01150101017BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0001010181010101AC010101AC0101 + 01AC010101AC010101AC010101AC010101AC010101AC010101AC010101AC0101 + 01AC01010181FFFFFF00FFFFFF00FFFFFF000101010E01010100010101000101 + 010001010100010101000101010D010101000101010001010100010101000101 + 01000101010DFFFFFF00FFFFFF00FFFFFF000000006B00000000010101000101 + 010001010100000000000000006B000000000101010001010100010101000000 + 00000000006BFFFFFF00FFFFFF00FFFFFF000000000E00000000010101000101 + 010001010100000000000000000E000000000000000001010100010101000000 + 00000000000EFFFFFF00FFFFFF00FFFFFF000000007100000000000000000000 + 0000000000000000000000000071000000000000000000000000000000000000 + 000000000071FFFFFF00FFFFFF00FFFFFF000000000F00000000000000000000 + 000000000000000000000000000F000000000000000000000000000000000000 + 00000000000FFFFFFF00FFFFFF00FFFFFF00000000780000000F000000780000 + 000F000000780000000F000000780000000F000000780000000F000000780000 + 000F00000078FFFFFF00FFFFFF00FFFFFF000000001000000000000000000000 + 0000000000000000000000000010000000000000000000000000000000000000 + 000000000010FFFFFF00FFFFFF00FFFFFF000000008000000000000000000000 + 0000000000000000000000000080000000000000000000000000000000000000 + 000000000080FFFFFF00FFFFFF00FFFFFF000000001100000000000000000000 + 0000000000000000000000000011000000000000000000000000000000000000 + 000000000011FFFFFF00FFFFFF00FFFFFF000101018901010100000000000000 + 0000000000000101010001010189010101000000000000000000000000000101 + 010001010189FFFFFF00FFFFFF00FFFFFF000101011400000000000000000000 + 0000000000000000000001010113010101000000000000000000000000000000 + 000001010113FFFFFF00FFFFFF00FFFFFF00000000AC000000E6000000E60000 + 00E6000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 + 00E6000000ACFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0001010181010101AC010101AC0101 + 01AC010101AC010101AC010101AC010101AC010101AC010101AC010101AC0101 + 01AC01010181FFFFFF00FFFFFF00FFFFFF000101010E01010100010101000101 + 010001010100010101000101010D010101000101010001010100010101000101 + 01000101010DFFFFFF00FFFFFF00FFFFFF000000006B00000000010101000101 + 010001010100000000000000006B000000000101010001010100010101000000 + 00000000006BFFFFFF00FFFFFF00FFFFFF000000000E00000000010101000101 + 010001010100000000000000000E000000000000000001010100010101000000 + 00000000000EFFFFFF00FFFFFF00FFFFFF000000007100000000000000000000 + 0000000000000000000000000071000000000000000000000000000000000000 + 000000000071FFFFFF00FFFFFF00FFFFFF000000000F00000000000000000000 + 000000000000000000000000000F000000000000000000000000000000000000 + 00000000000FFFFFFF00FFFFFF00FFFFFF00000000780000000F000000780000 + 000F000000780000000F000000780000000F000000780000000F000000780000 + 000F00000078FFFFFF00FFFFFF00FFFFFF000000001000000000000000000000 + 0000000000000000000000000010000000000000000000000000000000000000 + 000000000010FFFFFF00FFFFFF00FFFFFF000000008000000000000000000000 + 0000000000000000000000000080000000000000000000000000000000000000 + 000000000080FFFFFF00FFFFFF00FFFFFF000000001100000000000000000000 + 0000000000000000000000000011000000000000000000000000000000000000 + 000000000011FFFFFF00FFFFFF00FFFFFF000101018900000000000000000000 + 0000000000000000000001010189000000000000000000000000000000000000 + 000001010189FFFFFF00FFFFFF00FFFFFF00000000D9000000D9000000D90000 + 00D9000000D9000000D9000000D9000000D9000000D9000000D9000000D90000 + 00D9000000D9FFFFFF00FFFFFF00FFFFFF00000000AC000000E6000000E60000 + 00E6000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 + 00E6000000ACFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0001010181010101AC010101AC0101 + 01AC010101AC010101AC010101AC010101AC010101AC010101AC010101AC0101 + 01AC01010181FFFFFF00FFFFFF00FFFFFF00010101AE01010100010101000101 + 010001010100010101000101010D010101000101010001010100010101000101 + 0100010101AEFFFFFF00FFFFFF00FFFFFF00010101B001010100010101000101 + 010001010100000000000000006B000000000101010001010100010101000101 + 0100010101B0FFFFFF00FFFFFF00FFFFFF00010101B301010100010101000101 + 010001010100000000000000000E000000000000000001010100010101000101 + 0100010101B3FFFFFF00FFFFFF00FFFFFF00010101B601010100010101000000 + 0000000000000000000000000071000000000000000000000000010101000101 + 0100010101B6FFFFFF00FFFFFF00FFFFFF00010101B901010100000000000000 + 000000000000000000000000000F000000000000000000000000000000000101 + 0100010101B9FFFFFF00FFFFFF00FFFFFF00010101BC0000000F000000780000 + 000F000000780000000F000000780000000F000000780000000F000000780101 + 010F010101BCFFFFFF00FFFFFF00FFFFFF00010101C001010100000000000000 + 0000000000000000000000000010000000000000000000000000000000000101 + 0100010101C0FFFFFF00FFFFFF00FFFFFF00010101C401010100010101000000 + 0000000000000000000000000080000000000000000000000000010101000101 + 0100010101C4FFFFFF00FFFFFF00FFFFFF00010101C701010100010101000101 + 0100000000000000000000000011000000000000000001010100010101000101 + 0100010101C7FFFFFF00FFFFFF00FFFFFF00010101CC01010100010101000000 + 0000000000000101010001010189010101000000000000000000010101000101 + 0100010101CCFFFFFF00FFFFFF00FFFFFF00000000D900000000000000000000 + 0000000000000000000001010113010101000000000000000000000000000000 + 0000000000D9FFFFFF00FFFFFF00FFFFFF00000000AC000000E6000000E60000 + 00E6000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 + 00E6000000ACFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0001010181010101AC010101AC0101 + 01AC010101AC010101AC010101AC010101AC010101AC010101AC010101AC0101 + 01AC01010181FFFFFF00FFFFFF00FFFFFF00010101AE010101AE010101AE0101 + 01AE010101AE010101AE010101AE010101AE010101AE010101AE010101AE0101 + 01AE010101AEFFFFFF00FFFFFF00FFFFFF00010101B0010101B0010101000101 + 010001010100010101000000006B010101000101010001010100010101000101 + 01B0010101B0FFFFFF00FFFFFF00FFFFFF00010101B3010101B3010101000101 + 010001010100010101000000000E000000000101010001010100010101000101 + 01B3010101B3FFFFFF00FFFFFF00FFFFFF00010101B6010101B6010101000101 + 0100000000000000000000000071000000000000000001010100010101000101 + 01B6010101B6FFFFFF00FFFFFF00FFFFFF00010101B9010101B9010101000000 + 000000000000000000000000000F000000000000000000000000010101000101 + 01B9010101B9FFFFFF00FFFFFF00FFFFFF00010101BC010101BC000000780000 + 000F000000780000000F000000780000000F000000780000000F000000780101 + 01BC010101BCFFFFFF00FFFFFF00FFFFFF00010101C0010101C0010101000000 + 0000000000000000000000000010000000000000000000000000010101000101 + 01C0010101C0FFFFFF00FFFFFF00FFFFFF00010101C4010101C4010101000101 + 0100000000000000000000000080000000000000000001010100010101000101 + 01C4010101C4FFFFFF00FFFFFF00FFFFFF00010101C7010101C7010101000101 + 0100000000000000000000000011000000000000000001010100010101000101 + 01C7010101C7FFFFFF00FFFFFF00FFFFFF00010101CC010101CC010101000000 + 0000000000000000000001010189000000000000000000000000010101000101 + 01CC010101CCFFFFFF00FFFFFF00FFFFFF00000000D9000000D9000000D90000 + 00D9000000D9000000D9000000D9000000D9000000D9000000D9000000D90000 + 00D9000000D9FFFFFF00FFFFFF00FFFFFF00000000AC000000E6000000E60000 + 00E6000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 + 00E6000000ACFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0001010181010101AC010101AC0101 + 01AC010101AC010101AC010101AC010101AC010101AC010101AC010101AC0101 + 01AC01010181FFFFFF00FFFFFF00FFFFFF00010101AE01010100010101000101 + 01000101010001010100010101AE010101000101010001010100010101000101 + 0100010101AEFFFFFF00FFFFFF00FFFFFF00010101B001010100010101000101 + 01000101010001010100010101B0010101000101010001010100010101000101 + 0100010101B0FFFFFF00FFFFFF00FFFFFF00010101B301010100010101000101 + 01000101010001010100010101B3010101000101010001010100010101000101 + 0100010101B3FFFFFF00FFFFFF00FFFFFF00010101B601010100010101000101 + 01000101010001010100010101B6010101000101010001010100010101000101 + 0100010101B6FFFFFF00FFFFFF00FFFFFF00010101B901010100010101000101 + 01000101010001010100010101B9010101000101010001010100010101000101 + 0100010101B9FFFFFF00FFFFFF00FFFFFF00010101BC010101BC010101BC0101 + 01BC010101BC010101BC0101018E010101BC010101BC010101BC010101BC0101 + 01BC010101BCFFFFFF00FFFFFF00FFFFFF00010101C001010100010101000101 + 01000101010001010100010101C0010101000101010001010100010101000101 + 0100010101C0FFFFFF00FFFFFF00FFFFFF00010101C401010100010101000101 + 01000101010001010100010101C4010101000101010001010100010101000101 + 0100010101C4FFFFFF00FFFFFF00FFFFFF00010101C701010100010101000101 + 01000101010001010100010101C7010101000101010001010100010101000101 + 0100010101C7FFFFFF00FFFFFF00FFFFFF00010101CC01010100010101000000 + 00000101010001010100010101CC010101000101010000000000010101000101 + 0100010101CCFFFFFF00FFFFFF00FFFFFF00000000D900000000000000000000 + 00000000000000000000000000D9000000000000000000000000000000000000 + 0000000000D9FFFFFF00FFFFFF00FFFFFF00000000AC000000E6000000E60000 + 00E6000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 + 00E6000000ACFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00016395000163940001629300016192000162 + 930001629300016394000000000001334C00016597000164960001639400003A + 8C00003E9248003C8FCC00378A48016395000163940001629300016192000162 + 930001629300016394000000000001334C390165969C0164959C0163943E0039 + 8B48003688CC5285C9FF002E7ECC016395000163940001629300016192000162 + 93000162930001639400000000240000006788CCDDFF87CBDDFF016091AF0030 + 80CC3F72B6FF002774CC00247048016395000163940001629300016192000162 + 9300016293100162936D00000069DDDCDCFF949494FF70B4D6FF80C4DBFF015C + 8DB2001A63CC0013584800226E00016395050163941401629328016192410161 + 9277106C9AAB4B9BBADB79B9D5FC919191FFD9D4D4FF8D8D8DFF68ACCEFF74B8 + D4FF015887B4015686400155840001629383126D9BB82078A2C33385ABD058A2 + C0E774B9D1FB6EACCCFF669DC8FF83C7DAFF888888FFD3CACAFF838383FF60A4 + C6FF63A7C9FF015382A5015281000160913E015E8FB16AAEC9FF66A8C5FF5692 + B8FF4B80AFFF5D97BFFF77B9D2FF669DC8FF7BBAD5FF7E7E7EFFCEC0C0FF7979 + 79FF5588BBFF014F7EA6014E7D00015F9000002B5548002B55CC336898FF508C + B3FF69ABC8FF67A7C6FF4D80B3FF71B1CEFF6EA9CDFF6CA3CEFF6D6D6DFFAA99 + 99FF010101A5014C7A42014B7A00015F9000002B55000157873F015585B65FA1 + C0FF3F79A3FF4278A7FF66A6C5FF619DC2FF5E95C1FF74B4D1FF6598CBFF0101 + 01AB0101013C014B7900014B7A00015F9000002B550001568600002B5548002B + 55CC4F8DB3FF68ACC8FF4880ACFF5087B3FF6AAAC8FF5588BBFF00416EC1003E + 6A4401010100014B7900014B7A00015F9000002B550001568600002B5500014D + 7C41014B79BB3A719FFF386F9DFF5F9FC0FF4578ABFF003763C600356046003C + 680001010100014B7900014B7A00015F9000002B550001568600002B5500014C + 7B00002B5548002B55CC5494B7FF34679AFF00305ACA002D584800335E00003C + 680001010100014B7900014B7A00015F9000002B550001568600002B5500014C + 7B00002B550000315C47002D57CC002C56CC002B5548002C570000335E00003C + 680001010100014B7900014B7A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EFC2A37EEFC1A2E3EDC09FFFEBBE + 9DFFEBBC9AFFE9BA96FFE7B793FFE6B590FFE4B28CFFE2AF88FFE0AC84FFDDA9 + 80FFDCA57DFFDAA37ACAFFFFFF00FFFFFF00EEC1A1EBFBF7F4FFFBF7F4FFFBF7 + F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7 + F4FFFBF7F4FFD7A074F8FFFFFF00FFFFFF00ECBF9EFFFBF7F4FF9CD5A5FF98D3 + A1FF94D09DFF90CE98FF8BCB93FF87C98EFF82C689FF7EC384FF7AC180FF76BE + 7CFFFBF7F4FFD49B6FFFFFFFFF00FFFFFF00EBBD9BFFFBF7F4FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFBF7F4FFD1976AFFFFFFFF00FFFFFF00E9BA98FFFBF7F4FFE9C3A6FFE9C3 + A6FFE9C3A6FFE9C3A6FFE9C3A6FFE9C3A6FFE9C3A6FFE9C3A6FFE9C3A6FFE9C3 + A6FFFBF7F4FFCE9364FFFFFFFF00FFFFFF00E7B794FFFBF7F4FFE9C3A6FFFFFF + FFFFE8C4A9FFFFFFFFFFFFFFFFFFFFFFFFFFE8C7ACFFFFFFFFFFFFFFFFFFFFFF + FFFFF7F1EBFFCB8F5FFFFFFFFF00FFFFFF00E5B48FFFFAF6F2FFE9C6AAFFE9C6 + ACFFEAC7ACFFE9C7ADFFE9C9AEFFE9C9B0FFE8C7ACFFE9C9B0FFE8C8B0FFE8CC + B5FFF2E7DEFFC88A59FFFFFFFF00FFFFFF00E3B18CFFFAF6F1FFEAC9AEFFFFFF + FFFFEAC9B0FFFFFFFFFFFFFFFFFFFFFFFFFFE8C7ACFFFFFFFFFFFFFFFFFFFFFF + FFFFF1E5DBFFC68655FFFFFFFF00FFFFFF00E1AE87FFFAF4F0FFEACBB2FFEACC + B3FFEACCB3FFEACCB3FFEACCB3FFEACEB7FFE8C7ACFFE8C7ACFFE8C8B0FFE8C8 + AEFFF0E2D8FFC48654FFFFFFFF00FFFFFF00DFAA82FFF9F3EFFFEACEB7FFFFFF + FFFFEBD0BBFFFFFFFFFFFFFFFFFFFFFFFFFFEACFBAFFFBF6F2FFFFFFFFFFFFFF + FFFFF0E2D8FFC88D5FFFFFFFFF00FFFFFF00DDA87EFFF9F3EFFFEBD0BAFFEBD0 + BBFFEBD0BBFFEBD0BBFFEBD0BBFFEBD1BDFFEACDB5FFEACDB5FFEACDB5FFEACD + B5FFF0E2D8FFC68A5CFFFFFFFF00FFFFFF00D9A47AFFF9F3EEFFEBD2BEFFFFFF + FFFFEBD3BFFFFFFFFFFFFFFFFFFFFFFFFFFFEAC7ADFFFFFFFFFFFFFFFFFFFFFF + FFFFF0E2D8FFC68C5FFFFFFFFF00FFFFFF00D7A175FFF8F2EDFFF7F0EAFFF6ED + E6FFF4EAE2FFF3E7DEFFF1E4DBFFF0E2D8FFF0E2D8FFF0E2D8FFF0E2D8FFF0E2 + D8FFF0E2D8FFC58A5DFDFFFFFF00FFFFFF00D69E72C4D3996EF4D19668FFCE92 + 63FFCB8E5EFFC98A5BFFC78756FFC38452FFC38452FFC38452FFC38452FFC384 + 52FFC38452FFBB7742B0FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0001010100010101000101 + 01000101013E010101AF010101B00101013E010101000101013F010101B40101 + 01B601010140FFFFFF00FFFFFF00FFFFFF00FFFFFF0001010100010101000101 + 0112010101AF0101012C01010135010101B301010112010101B50101012E0101 + 0138010101B9FFFFFF00FFFFFF00FFFFFF00FFFFFF0001010100010101000101 + 0112010101B10101010001010112010101B401010112010101B7010101000101 + 0113010101BBFFFFFF00FFFFFF00FFFFFF00FFFFFF0001010100010101000101 + 0112010101B20101010001010112010101B601010113010101B9010101000101 + 0113010101BEFFFFFF00FFFFFF00FFFFFF00FFFFFF00010101B1010101590101 + 0112010101B40101012E01010137010101B801010113010101BB0101012F0101 + 013A010101C0FFFFFF00FFFFFF00FFFFFF00FFFFFF00010101B20101015A0101 + 010001010140010101B8010101B9010101410101010001010143010101BF0101 + 01C101010144FFFFFF00FFFFFF00FFFFFF00FFFFFF0001010100010101000101 + 0100010101000101010001010100010101000101010001010100010101000101 + 010001010100FFFFFF00FFFFFF00FFFFFF00FFFFFF00010101002C120A00AF45 + 230033150D000101010001010100010101000101010001010100010101000101 + 010001010100FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7815F00B9543200AF45 + 2300D4573500A8462D0039181000010101000101010001010145010101C60101 + 01C801010147FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7815F00BC573500AF45 + 23FFD4573540DF5D3B00702F1E000101010001010114010101C7010101320101 + 013D010101CDFFFFFF00FFFFFF00FFFFFF00FFFFFF00E7815FFFBE5A38FFAF45 + 23E0D45735FFDF5D3B00391810000101010001010114010101CA010101000000 + 0015000000D5FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7815F00BC573500AF45 + 23FFD457354039181000010101000101010001010115010101CC010101000000 + 0016000000DEFFFFFF00FFFFFF00FFFFFF00FFFFFF00E7815F00B9543200AF45 + 23009D40270001010100010101CA0101016600000015000000D5000000370000 + 0045000000E6FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7815F00B9543200AF45 + 230033150D0001010100010101CC00000068000000000000004E000000E40000 + 00E900000053FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00010101000101 + 0100010101000101012B010101AC0101012B010101000101012B010101AC0101 + 012BFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00010101000101 + 01000101010001010160010101A6010101000101010001010160010101A60101 + 0100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00010101000101 + 010001010100010101A9010101620101010001010100010101A9010101620101 + 0100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000101012E0101 + 01B5010101B5010101B5010101B5010101B5010101B5010101B5010101B50101 + 01B5FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00010101000101 + 010001010166010101B1010101000101010001010166010101B1010101000101 + 0100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00010101000101 + 0100010101B5010101690101010001010100010101B501010169010101000101 + 0100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00010101C30101 + 01C3010101C3010101C3010101C3010101C3010101C3010101C3010101C30101 + 0131FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00010101000101 + 016F010101BE01010100010101000101016F010101BE01010100010101000101 + 0100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00010101000101 + 01C7010101730101010001010100010101C70101017301010100010101000101 + 0100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000003A0000 + 00E400000039000000000000003A000000E40000003900000000010101000101 + 0100FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000001C00000033000000360000 + 0036000000360000003600000036000000360000003600000036000000200000 + 0002FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000033F8F8F8F0FBFBFBFDFCFC + FCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFF8F8F8FF949494910000 + 002000000002FFFFFF00FFFFFF00FFFFFF0000000036FBFBFBFDF4F4F4FFF5F5 + F5FFF5F5F5FFF5F5F5FFF1F1F1FFEFEFEFFFE9E9E9FFFCFCFCFFE7E7E7FF9595 + 95910000002000000002FFFFFF000000000100000036FCFCFCFFF7F7F7FFF9F9 + F9FFF7F7F7FFF7F7F7FFF3F3F3FFF0F0F0FFEAEAEAFFFCFCFCFFF6F6F6FFF4F4 + F4FF9999999100000020FFFFFF000000000100000036FCFCFCFFF9F9F9FFF9F9 + F9FFF9F9F9FFF7F7F7FFF6F6F6FFF2F2F2FFEBEBEBFFFCFCFCFFFCFCFCFFFCFC + FCFFFCFCFCFF00000036000000010000000100000036FCFCFCFFFBFBFBFFFCFC + FCFFFCFCFCFFFBFBFBFFF8F8F8FFF5F5F5FFF1F1F1FFECECECFFEAEAEAFFE6E6 + E6FFFCFCFCFF00000036000000010000000100000036FCFCFCFFFCFCFCFFFCFC + FCFFFCFCFCFFFCFCFCFFFBFBFBFFF8F8F8FFF5F5F5FFF2F2F2FFEFEFEFFFEDED + EDFFFCFCFCFF00000036000000010000000100000036FCFCFCFFFCFCFCFFFCFC + FCFFFCFCFCFFFCFCFCFFFCFCFCFFFBFBFBFFF8F8F8FFF6F6F6FFF3F3F3FFF2F2 + F2FFFCFCFCFF00000036000000010000000100000036FCFCFCFFFCFCFCFFFCFC + FCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFAFAFAFFF9F9F9FFF6F6F6FFF6F6 + F6FFFCFCFCFF00000036000000010000000100000036FCFCFCFFFCFCFCFFFCFC + FCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFBFBFBFFF9F9F9FFF9F9F9FFF8F8 + F8FFFCFCFCFF00000036000000010000000100000036FCFCFCFFFCFCFCFFFCFC + FCFFFCFCFCFFFBFBFBFFFBFBFBFFFBFBFBFFFAFAFAFFFAFAFAFFF8F8F8FFF8F8 + F8FFFCFCFCFF00000036000000010000000100000036FCFCFCFFFCFCFCFFFCFC + FCFFFCFCFCFFFBFBFBFFFBFBFBFFFAFAFAFFFAFAFAFFFAFAFAFFFAFAFAFFFAFA + FAFFFCFCFCFF00000036000000010000000100000036FCFCFCFFFCFCFCFFFCFC + FCFFFCFCFCFFFCFCFCFFFBFBFBFFFBFBFBFFFBFBFBFFFBFBFBFFFBFBFBFFFBFB + FBFFFCFCFCFF00000036000000010000000100000036FCFCFCFEFCFCFCFFFCFC + FCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFC + FCFFFCFCFCFD00000036FFFFFF00FFFFFF0000000034F9F9F9F5FCFCFCFDFCFC + FCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFCFCFFFCFC + FCFDF9F9F9F300000033FFFFFF00FFFFFF000000001D00000034000000360000 + 0036000000360000003600000036000000360000003600000036000000360000 + 0036000000330000001DFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A2AE8EFF5F9771FF4F8E + 66FF49895FFFA2AE8EFFFFFFFF00FFFFFF00EFC2A37EEFC1A2E3EDC09FFFEBBE + 9DFFEBBC9AFFE9BA96FFE7B793FFE6B590FF9DAF91FF61AB81FF95D4B4FFBAE6 + D0FF6ABB8FFF2D8F57FF196B378CFFFFFF00EEC1A1EBFBF7F4FFFBF7F4FFFBF7 + F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FF498960FF90D3B1FF92D6B1FFFFFF + FFFF65BC8CFF67BC8FFF196B37F7FFFFFF00ECBF9EFFFBF7F4FF9CD5A5FF98D3 + A1FF94D09DFF90CE98FF8BCB93FF87C98EFF317B4CFF9CD4B6FFFFFFFFFFFFFF + FFFFFFFFFFFF95D2B2FF196B37FFFFFFFF00EBBD9BFFFBF7F4FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22703EFF62BA8BFF60BA87FFFFFF + FFFF60B987FF67BC8FFF196B37F7FFFFFF00E9BA98FFFBF7F4FFE9C3A6FFE9C3 + A6FFE9C3A6FFE9C3A6FFE9C3A6FFE9C3A6FFA2AE8EFF288C53FF64BA8DFF95D2 + B2FF64BA8DFF288C53FF196B378CFFFFFF00E7B794FFFBF7F4FFE9C3A6FFFFFF + FFFFE8C4A9FFFFFFFFFFFFFFFFFFFFFFFFFFE8C7ACFF84B094FF257341FF196B + 37FF247240FF6C7C4AFFFFFFFF00FFFFFF00E5B48FFFFAF6F2FFE9C6AAFFE9C6 + ACFFEAC7ACFFE9C7ADFFE9C9AEFFE9C9B0FFE8C7ACFFE9C9B0FFE8C8B0FFE8CC + B5FFF2E7DEFFC88A59FFFFFFFF00FFFFFF00E3B18CFFFAF6F1FFEAC9AEFFFFFF + FFFFEAC9B0FFFFFFFFFFFFFFFFFFFFFFFFFFE8C7ACFFFFFFFFFFFFFFFFFFFFFF + FFFFF1E5DBFFC68655FFFFFFFF00FFFFFF00E1AE87FFFAF4F0FF59B163FF54AB + 5EFF4FA358FF4FA358FF489B51FF42924AFF3B8842FF347E3AFF2E7533FF276D + 2CFFF0E2D8FFC48654FFFFFFFF00FFFFFF00DFAA82FFF9F3EFFF58B162FFB9DF + BDFFB6DDBAFFB6DDBAFFACD8B0FFA0D3A4FF92CC97FF84C68AFF79C17EFF2265 + 26FFF0E2D8FFC88D5FFFFFFFFF00FFFFFF00DDA87EFFF9F3EFFF4FA358FF489B + 51FF42924AFF42924AFF3B8842FF347E3AFF2E7533FF276D2CFF226526FF1D5F + 21FFF0E2D8FFC68A5CFFFFFFFF00FFFFFF00D9A47AFFF9F3EEFFEBD2BEFFFFFF + FFFFEBD3BFFFFFFFFFFFFFFFFFFFFFFFFFFFEAC7ADFFFFFFFFFFFFFFFFFFFFFF + FFFFF0E2D8FFC68C5FFFFFFFFF00FFFFFF00D7A175FFF8F2EDFFF7F0EAFFF6ED + E6FFF4EAE2FFF3E7DEFFF1E4DBFFF0E2D8FFF0E2D8FFF0E2D8FFF0E2D8FFF0E2 + D8FFF0E2D8FFC58A5DFDFFFFFF00FFFFFF00D69E72C4D3996EF4D19668FFCE92 + 63FFCB8E5EFFC98A5BFFC78756FFC38452FFC38452FFC38452FFC38452FFC384 + 52FFC38452FFBB7742B0FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A2AE8EFF5F9771FF4F8E + 66FF49895FFFA2AE8EFFFFFFFF00FFFFFF00EFC2A37EEFC1A2E3EDC09FFFEBBE + 9DFFEBBC9AFFE9BA96FFE7B793FFE6B590FF9DAF91FF61AB81FF95D4B4FFBAE6 + D0FF6ABB8FFF2D8F57FF196B378CFFFFFF00EEC1A1EBFBF7F4FFFBF7F4FFFBF7 + F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FF498960FF90D3B1FF92D6B1FFFFFF + FFFF65BC8CFF67BC8FFF196B37F7FFFFFF00ECBF9EFFFBF7F4FF9CD5A5FF98D3 + A1FF94D09DFF90CE98FF8BCB93FF87C98EFF317B4CFF9CD4B6FFFFFFFFFFFFFF + FFFFFFFFFFFF95D2B2FF196B37FFFFFFFF00EBBD9BFFFBF7F4FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF22703EFF62BA8BFF60BA87FFFFFF + FFFF60B987FF67BC8FFF196B37F7FFFFFF00E9BA98FFFBF7F4FF4FA358FF4FA3 + 58FF59B163FFE9C3A6FFE9C3A6FFE9C3A6FFA2AE8EFF288C53FF64BA8DFF95D2 + B2FF64BA8DFF288C53FF196B378CFFFFFF00E7B794FFFBF7F4FF489B51FFB9DF + BDFF54AB5EFFFFFFFFFFFFFFFFFFFFFFFFFFE8C7ACFF84B094FF257341FF196B + 37FF247240FF6C7C4AFFFFFFFF00FFFFFF00E5B48FFFFAF6F2FF42924AFFB6DD + BAFF4FA358FFE9C7ADFFE9C9AEFFE9C9B0FFE8C7ACFFE9C9B0FFE8C8B0FFE8CC + B5FFF2E7DEFFC88A59FFFFFFFF00FFFFFF00E3B18CFFFAF6F1FF3B8842FFACD8 + B0FF489B51FFFFFFFFFFFFFFFFFFFFFFFFFFE8C7ACFFFFFFFFFFFFFFFFFFFFFF + FFFFF1E5DBFFC68655FFFFFFFF00FFFFFF00E1AE87FFFAF4F0FF347E3AFFA0D3 + A4FF42924AFFEACCB3FFEACCB3FFEACEB7FFE8C7ACFFE8C7ACFFE8C8B0FFE8C8 + AEFFF0E2D8FFC48654FFFFFFFF00FFFFFF00DFAA82FFF9F3EFFF2E7533FF92CC + 97FF3B8842FFFFFFFFFFFFFFFFFFFFFFFFFFEACFBAFFFBF6F2FFFFFFFFFFFFFF + FFFFF0E2D8FFC88D5FFFFFFFFF00FFFFFF00DDA87EFFF9F3EFFF276D2CFF84C6 + 8AFF347E3AFFEBD0BBFFEBD0BBFFEBD1BDFFEACDB5FFEACDB5FFEACDB5FFEACD + B5FFF0E2D8FFC68A5CFFFFFFFF00FFFFFF00D9A47AFFF9F3EEFF1D5F21FF2265 + 26FF276D2CFFFFFFFFFFFFFFFFFFFFFFFFFFEAC7ADFFFFFFFFFFFFFFFFFFFFFF + FFFFF0E2D8FFC68C5FFFFFFFFF00FFFFFF00D7A175FFF8F2EDFFF7F0EAFFF6ED + E6FFF4EAE2FFF3E7DEFFF1E4DBFFF0E2D8FFF0E2D8FFF0E2D8FFF0E2D8FFF0E2 + D8FFF0E2D8FFC58A5DFDFFFFFF00FFFFFF00D69E72C4D3996EF4D19668FFCE92 + 63FFCB8E5EFFC98A5BFFC78756FFC38452FFC38452FFC38452FFC38452FFC384 + 52FFC38452FFBB7742B0FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007590C3FF2359BFFF0541 + BBFF1D55BFFF758FC1FFFFFFFF00FFFFFF00EFC1A37EEFC0A1E3EDBF9FFFEBBD + 9DFFEBBB99FFE9B995FFE7B693FFE6B390FF95B0E3FF3D73D1FF8DB3F7FFB8D5 + FEFF71A5F5FF2E69CAFF0440BA6DFFFFFF00EEBFA0EBFBF6F3FFFBF6F3FFFBF6 + F3FFFBF6F3FFFBF6F3FFFBF6F3FFFBF6F3FF255BC1FF8CB2F6FF4D91FFFF1174 + FFFF2184FFFF3F86EBFF0342B9DEFFFFFF00ECBE9EFFFBF6F3FF9BD5A3FF97D3 + A0FF94D09DFF90CE97FF8BCB92FF87C98DFF0541BBFFAECCFEFFFFFFFFFFFFFF + FFFFFFFFFFFF187BEEFF0441BCFEFFFFFF00EBBC9BFFFBF6F3FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1648AEFF629CF4FF177BFFFF0073 + F8FF0073EEFF0366E1FF0342B9E4FFFFFF00E9B997FFFBF6F3FFE9C1A5FFE9C1 + A5FFE9C1A5FFE9C1A5FFE9C1A5FFE9C1A5FF818CB5FF2862C8FF2075E6FF0577 + E9FF0164DDFF064BBCFF0342B77AFFFFFF00E7B693FFFBF6F3FFE9C1A5FFFFFF + FFFFE8C2A8FFFFFFFFFFFFFFFFFFFFFFFFFFE8C7ACFF95AFE3FF235AC1FF0541 + BBFF1E56BEFF6B6B89FFFFFFFF00FFFFFF00E5B28FFFFAF6F2FFE9C4A9FFE9C4 + ABFFEAC6ACFFE9C7ADFFE9C8ADFFE9C8AFFFE8C7ACFFE9C8AFFFE8C7B0FFE8CB + B4FFF2E7DEFFC88858FFFFFFFF00FFFFFF00E3AF8BFFFAF5F0FFEAC9AEFFFFFF + FFFFEAC8B0FFFFFFFFFFFFFFFFFFFFFFFFFFE8C7ACFFFFFFFFFFFFFFFFFFFFFF + FFFFF1E4DBFFC58555FFFFFFFF00FFFFFF00E1AE87FFFAF4F0FF7476FEFF7476 + FEFF7476FEFF6C6CFCFF6262FAFF5353F7FF4644F4FF3835F1FF2C26EEFF211A + ECFFF0E2D8FFC48454FFFFFFFF00FFFFFF00DFA881FFF9F3EFFF7476FEFFC3CC + FDFFC3CCFDFFC0CAFCFFBAC2FCFFB1B8FBFFA5AAFBFF9CA0FAFF9398F9FF1B11 + E9FFF0E2D8FFC88B5EFFFFFFFF00FFFFFF00DDA67DFFF9F3EFFF6C6CFCFF6262 + FAFF6262FAFF5353F7FF4644F4FF3835F1FF2C26EEFF211AECFF1B11E9FF1B11 + E9FFF0E2D8FFC6895CFFFFFFFF00FFFFFF00D9A279FFF9F2EDFFEBD0BDFFFFFF + FFFFEBD2BFFFFFFFFFFFFFFFFFFFFFFFFFFFEAC5ACFFFFFFFFFFFFFFFFFFFFFF + FFFFF0E2D8FFC68B5EFFFFFFFF00FFFFFF00D79F75FFF8F1ECFFF7EFE9FFF6EC + E6FFF4E9E2FFF3E6DDFFF1E3DBFFF0E2D8FFF0E2D8FFF0E2D8FFF0E2D8FFF0E2 + D8FFF0E2D8FFC5885DFDFFFFFF00FFFFFF00D69D72C4D3976DF4D09568FFCE90 + 62FFCB8C5DFFC9885BFFC78655FFC28252FFC28252FFC28252FFC28252FFC282 + 52FFC28252FFBA7642B0FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF007591C3FF235BC0FF0543 + BCFF1D58BFFF7591C2FFFFFFFF00FFFFFF00EFC2A37EEFC1A2E3EDC09FFFEBBE + 9DFFEBBC9AFFE9BA96FFE7B793FFE6B590FF96B1E3FF3D76D2FF8DB5F7FFB8D6 + FEFF72A8F5FF2E6BCAFF0443BA6DFFFFFF00EEC1A1EBFBF7F4FFFBF7F4FFFBF7 + F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FF255DC2FF8DB5F6FF4D92FFFF1177 + FFFF2186FFFF408AEBFF0344B9DEFFFFFF00ECBF9EFFFBF7F4FF9CD5A5FF98D3 + A1FF94D09DFF90CE98FF8BCB93FF87C98EFF0543BCFFAECDFEFFFFFFFFFFFFFF + FFFFFFFFFFFF187FEFFF0442BCFEFFFFFF00EBBD9BFFFBF7F4FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF164BAEFF639DF4FF187FFFFF0076 + F8FF0076EEFF0368E1FF0345B9E4FFFFFF00E9BA98FFFBF7F4FF6D6FFCFF7478 + FEFF7478FEFFE9C3A6FFE9C3A6FFE9C3A6FF818DB5FF2865C8FF2177E6FF0579 + EAFF0164DDFF064EBCFF0345B87AFFFFFF00E7B794FFFBF7F4FF6263FAFFC4CE + FDFF7478FEFFFFFFFFFFFFFFFFFFFFFFFFFFE8C7ACFF95B0E3FF235CC2FF0543 + BCFF1E58BEFF6B6C8AFFFFFFFF00FFFFFF00E5B48FFFFAF6F2FF5654F7FFC1CB + FCFF6D6FFCFFE9C7ADFFE9C9AEFFE9C9B0FFE8C7ACFFE9C9B0FFE8C8B0FFE8CC + B5FFF2E7DEFFC88A59FFFFFFFF00FFFFFF00E3B18CFFFAF6F1FF3A35F1FFB1B9 + FBFF5654F7FFFFFFFFFFFFFFFFFFFFFFFFFFE8C7ACFFFFFFFFFFFFFFFFFFFFFF + FFFFF1E5DBFFC68655FFFFFFFF00FFFFFF00E1AE87FFFAF4F0FF2E26EEFFA6AD + FBFF4845F4FFEACCB3FFEACCB3FFEACEB7FFE8C7ACFFE8C7ACFFE8C8B0FFE8C8 + AEFFF0E2D8FFC48654FFFFFFFF00FFFFFF00DFAA82FFF9F3EFFF231AECFF9CA2 + FAFF3A35F1FFFFFFFFFFFFFFFFFFFFFFFFFFEACFBAFFFBF6F2FFFFFFFFFFFFFF + FFFFF0E2D8FFC88D5FFFFFFFFF00FFFFFF00DDA87EFFF9F3EFFF1C11EAFF9399 + F9FF2E26EEFFEBD0BBFFEBD0BBFFEBD1BDFFEACDB5FFEACDB5FFEACDB5FFEACD + B5FFF0E2D8FFC68A5CFFFFFFFF00FFFFFF00D9A47AFFF9F3EEFF1C11EAFF1C11 + EAFF231AECFFFFFFFFFFFFFFFFFFFFFFFFFFEAC7ADFFFFFFFFFFFFFFFFFFFFFF + FFFFF0E2D8FFC68C5FFFFFFFFF00FFFFFF00D7A175FFF8F2EDFFF7F0EAFFF6ED + E6FFF4EAE2FFF3E7DEFFF1E4DBFFF0E2D8FFF0E2D8FFF0E2D8FFF0E2D8FFF0E2 + D8FFF0E2D8FFC58A5DFDFFFFFF00FFFFFF00D69E72C4D3996EF4D19668FFCE92 + 63FFCB8E5EFFC98A5BFFC78756FFC38452FFC38452FFC38452FFC38452FFC384 + 52FFC38452FFBB7742B0FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EFC2A37EEFC1A2E3EDC09FFFEBBE + 9DFFEBBC9AFFE9BA96FFE7B793FFE6B590FFE4B28CFFE2AF88FFE0AC84FFDDA9 + 80FFDCA57DFFDAA37ACAFFFFFF00FFFFFF00EEC1A1EBFBF7F4FFFBF7F4FFFBF7 + F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7F4FFFBF7 + F4FFFBF7F4FFD7A074F8FFFFFF00FFFFFF00ECBF9EFFFBF7F4FF9CD5A5FF98D3 + A1FF94D09DFF90CE98FF8BCB93FF87C98EFF82C689FF7EC384FF7AC180FF76BE + 7CFFFBF7F4FFD49B6FFFFFFFFF00FFFFFF00EBBD9BFFFBF7F4FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFBF7F4FFD1976AFFFFFFFF00FFFFFF00E9BA98FFFBF7F4FFE9C3A6FFE9C3 + A6FFE9C3A6FFE9C3A6FFE9C3A6FFE9C3A6FFE9C3A6FFE9C3A6FFE9C3A6FFE9C3 + A6FFFBF7F4FFCE9364FFFFFFFF00FFFFFF00E7B794FFFBF7F4FFE9C3A6FFFFFF + FFFFE8C4A9FFFFFFFFFFFFFFFFFFFFFFFFFFE8C7ACFFFFFFFFFFFFFFFFFFFFFF + FFFFF7F1EBFFCB8F5FFFFFFFFF00FFFFFF00E5B48FFFFAF6F2FFE9C6AAFFE9C6 + ACFFC98A5BFFC98A5BFFC78756FFC38452FFC38452FFE9C9B0FFE8C8B0FFE8CC + B5FFF2E7DEFFC88A59FFFFFFFF00FFFFFF00E3B18CFFFAF6F1FFEAC9AEFFFFFF + FFFFC68655FFFFFFFFFFFFFFFFFFFFFFFFFFC68A5CFFFFFFFFFFFFFFFFFFFFFF + FFFFF1E5DBFFC68655FFFFFFFF00FFFFFF00E1AE87FFFAF4F0FFEACBB2FFEACC + B3FFC48654FFE9C7ADFFE9C9AEFFE9C9B0FFC68C5FFFE8C7ACFFE8C8B0FFE8C8 + AEFFF0E2D8FFC48654FFFFFFFF00FFFFFF00DFAA82FFF9F3EFFFEACEB7FFFFFF + FFFFC88D5FFFFFFFFFFFFFFFFFFFFFFFFFFFC58B5EFFFBF6F2FFFFFFFFFFFFFF + FFFFF0E2D8FFC88D5FFFFFFFFF00FFFFFF00DDA87EFFF9F3EFFFEBD0BAFFEBD0 + BBFFC68A5CFFC38452FFC38452FFC38452FFCA9266FFEACDB5FFEACDB5FFEACD + B5FFF0E2D8FFC68A5CFFFFFFFF00FFFFFF00D9A47AFFF9F3EEFFEBD2BEFFFFFF + FFFFEBD3BFFFFFFFFFFFFFFFFFFFFFFFFFFFEAC7ADFFFFFFFFFFFFFFFFFFFFFF + FFFFF0E2D8FFC68C5FFFFFFFFF00FFFFFF00D7A175FFF8F2EDFFF7F0EAFFF6ED + E6FFF4EAE2FFF3E7DEFFF1E4DBFFF0E2D8FFF0E2D8FFF0E2D8FFF0E2D8FFF0E2 + D8FFF0E2D8FFC58A5DFDFFFFFF00FFFFFF00D69E72C4D3996EF4D19668FFCE92 + 63FFCB8E5EFFC98A5BFFC78756FFC38452FFC38452FFC38452FFC38452FFC384 + 52FFC38452FFBB7742B0FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00C77947AACC8655CECC8857DECB8856DBCC88 + 56DBCB8757DBCA8350D0C479426EB2673C08FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00CA8554D0FFFFFFDBFDF3E9DEFDF3EADEFCF2 + E8DEFAEFE3DEFAF2E7DEEABB88DECF85559CB4693D0AFFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00CB8656DAFEF5EDDEFCDEC5DEFBE0C7DEF9DC + C2DEF5D3B4DEFEF9F3DEFAE2C4DEECC193DEC37D4880FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00CB8655DBFEF6F0DEFCE2CDDEFCE3CDDEFADF + C8DEF7D9BCDEF5E9DDDEFAF3EBDEFBF8F3DECD9565DCFFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00CB8655DBFEF7F1DEFCE5D2DEFCE4D1DEFBE2 + CCDEF9DDC4DEEAC39DFFE6BF96FFE4BB92FFE4BB92FFD1A06CF5D09E6DF6CC96 + 5FDAC479427EB2673C09FFFFFF00CB8654DBFFF7F2DEFEE7D5DEFEE7D5DEFDE5 + D1DEFAE0CADEE5BE96FFFFFFFEFFFDF3E9FFFDF3EAFFFCF2E8FFFAEFE3FFFAF2 + E7FFEABB88FFCF8555B3B4693D0CCB8553DBFFF7F0DEFFE7D5DEFDE7D6DEFDE6 + D4DEFCE4D0DEE4BB93FFFEF5EDFFFCDEC5FFFBE0C7FFF9DCC2FFF5D3B4FFFEF9 + F3FFFAE2C4FFECC193FFC37D4893CA8452DBFFF7F1DEFFE9D9DEFFEADBDEFFE9 + D9DEFFE7D7DEE4BB92FFFEF6F0FFFCE2CDFFFCE3CDFFFADFC8FFF7D9BCFFF5E9 + DDFFFAF3EBFFFBF8F3FFCA8353FECC8352DBFBF5EEDEFFE9D9DEFFEADBDEFFE9 + D9DEFFE7D7DEE4BB92FFFEF7F1FFFCE5D2FFFCE4D1FFFBE2CCFFF9DDC4FFF6D7 + BBFFF3D1AFFFFAEFE4FFCC8758FECF8253DEEFF1E7DEFFE9D9DEFFEADBDEFFE9 + D9DEFFE7D7DEE4BB91FFFFF7F2FFFEE7D5FFFEE7D5FFFDE5D1FFFAE0CAFFF9DE + C4FFF7D9BCFFFDF2E7FFCC8757FEC87C4ED3FCF3ECDEFAF1E8DEFAF0E7DEFBF1 + E9DEFBF2EADEE4BA91FFFFF7F0FFFFE7D5FFFDE7D6FFFDE6D4FFFCE4D0FFFBE3 + CBFFFADCC2FFFEF3E8FFCC8656FEC7794AB9C8794BCEC87545DDC77545D4C875 + 45D4C77545D4CA8452FFFFF7F1FFFFE9D9FFFFEADBFFFFE9D9FFFFE7D7FFFFE5 + D2FFFFE2CBFFFFF7F1FFCB8555FEFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00CC8352FBFBF5EEFFFFE9D9FFFFEADBFFFFE9D9FFFFE7D7FFFFE5 + D2FFFFE2CBFFFBF6EFFFCC8355FEFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00CF8253FFEFF1E7FFFFE9D9FFFFEADBFFFFE9D9FFFFE7D7FFFFE5 + D2FFFFE2CBFFEFF2E8FFCE8156FFFFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00C77949EDFCF3ECFFFAF1E8FFFAF0E7FFFBF1E9FFFBF2EAFFFBF2 + EAFFFBF2EBFFFDF4EEFFCA8054F9FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00C57342C1C67545E6C87545FEC77545F3C87545F3C77545F3C775 + 45F3C87546F4C57444E8CA7F53F1 + } + end + object ActionList: TActionList + Images = ImageList + left = 272 + top = 200 + object AcHorDefaultAlign: TAction + Tag = 100 + Category = 'Format' + AutoCheck = True + Caption = 'Default' + Checked = True + OnExecute = AcHorAlignmentExecute + end + object AcLeftAlign: TAction + Tag = 101 + Category = 'Format' + AutoCheck = True + Caption = 'Left' + ImageIndex = 4 + OnExecute = AcHorAlignmentExecute + end + object AcHorCenterAlign: TAction + Tag = 102 + Category = 'Format' + AutoCheck = True + Caption = 'Centered' + ImageIndex = 5 + OnExecute = AcHorAlignmentExecute + end + object AcRightAlign: TAction + Tag = 103 + Category = 'Format' + AutoCheck = True + Caption = 'Right' + ImageIndex = 6 + OnExecute = AcHorAlignmentExecute + end + object AcFontBold: TAction + Category = 'Format' + AutoCheck = True + Caption = 'Bold' + Hint = 'Bold' + ImageIndex = 7 + OnExecute = AcFontStyleExecute + end + object AcFontItalic: TAction + Category = 'Format' + AutoCheck = True + Caption = 'Italic' + Hint = 'Italic' + ImageIndex = 8 + OnExecute = AcFontStyleExecute + end + object AcFontStrikeout: TAction + Category = 'Format' + AutoCheck = True + Caption = 'Strike out' + Hint = 'Strike out' + ImageIndex = 9 + OnExecute = AcFontStyleExecute + end + object AcFontUnderline: TAction + Tag = 9 + Category = 'Format' + AutoCheck = True + Caption = 'Underline' + Hint = 'Underline' + ImageIndex = 10 + OnExecute = AcFontStyleExecute + end + object AcDefaultFont: TAction + Category = 'Format' + Caption = 'Defaultfont...' + Hint = 'Font' + ImageIndex = 11 + OnExecute = AcDefaultFontExecute + end + object AcVAlignDefault: TAction + Tag = 110 + Category = 'Format' + AutoCheck = True + Caption = 'Default' + OnExecute = AcVertAlignmentExecute + end + object AcVAlignTop: TAction + Tag = 111 + Category = 'Format' + AutoCheck = True + Caption = 'Top' + ImageIndex = 12 + OnExecute = AcVertAlignmentExecute + end + object AcVAlignCenter: TAction + Tag = 112 + Category = 'Format' + AutoCheck = True + Caption = 'Centered' + ImageIndex = 13 + OnExecute = AcVertAlignmentExecute + end + object AcVAlignBottom: TAction + Tag = 113 + Category = 'Format' + AutoCheck = True + Caption = 'Bottom' + ImageIndex = 14 + OnExecute = AcVertAlignmentExecute + end + object AcBorderNone: TAction + Category = 'Format' + Caption = 'No borders' + ImageIndex = 15 + OnExecute = AcBorderExecute + end + object AcBorderLeft: TAction + Category = 'Format' + Caption = 'Left' + ImageIndex = 16 + OnExecute = AcBorderExecute + end + object AcBorderHCenter: TAction + Category = 'Format' + Caption = 'Inner' + ImageIndex = 17 + OnExecute = AcBorderExecute + end + object AcBorderRight: TAction + Category = 'Format' + Caption = 'Right' + ImageIndex = 18 + OnExecute = AcBorderExecute + end + object AcBorderTop: TAction + Category = 'Format' + Caption = 'Top' + ImageIndex = 19 + OnExecute = AcBorderExecute + end + object AcBorderVCenter: TAction + Category = 'Format' + Caption = 'Inner' + ImageIndex = 20 + OnExecute = AcBorderExecute + end + object AcBorderBottom: TAction + Category = 'Format' + Caption = 'Bottom' + GroupIndex = 120 + ImageIndex = 21 + OnExecute = AcBorderExecute + end + object AcBorderBottomDbl: TAction + Category = 'Format' + Caption = 'Bottom/double' + GroupIndex = 120 + ImageIndex = 22 + OnExecute = AcBorderExecute + end + object AcBorderBottomMedium: TAction + Category = 'Format' + Caption = 'Bottom/thick' + GroupIndex = 120 + ImageIndex = 23 + OnExecute = AcBorderExecute + end + object AcBorderTopBottom: TAction + Category = 'Format' + Caption = 'Top and bottom' + ImageIndex = 25 + OnExecute = AcBorderExecute + end + object AcBorderTopBottomThick: TAction + Category = 'Format' + Caption = 'Top and bottom/thick' + ImageIndex = 26 + OnExecute = AcBorderExecute + end + object AcBorderInner: TAction + Category = 'Format' + Caption = 'All inner' + ImageIndex = 24 + OnExecute = AcBorderExecute + end + object AcBorderAll: TAction + Category = 'Format' + Caption = 'All' + ImageIndex = 29 + OnExecute = AcBorderExecute + end + object AcBorderOuter: TAction + Category = 'Format' + Caption = 'Outer' + ImageIndex = 27 + OnExecute = AcBorderExecute + end + object AcBorderOuterMedium: TAction + Category = 'Format' + Caption = 'Outer/thick' + ImageIndex = 28 + OnExecute = AcBorderExecute + end + object AcCopyFormat: TAction + Category = 'Format' + AutoCheck = True + Caption = 'AcCopyFormat' + ImageIndex = 30 + OnExecute = AcCopyFormatExecute + end + object AcNew: TAction + Category = 'File' + Caption = 'New' + ImageIndex = 34 + OnExecute = AcNewExecute + end + object AcOpen: TAction + Category = 'File' + Caption = 'Open...' + ImageIndex = 0 + OnExecute = acOpenExecute + end + object AcSaveAs: TAction + Category = 'File' + Caption = 'Save as...' + ImageIndex = 1 + OnExecute = acSaveAsExecute + end + object AcQuit: TAction + Category = 'File' + Caption = 'Quit' + ImageIndex = 2 + OnExecute = acQuitExecute + end + object AcAddColumn: TAction + Category = 'Table' + Caption = 'Add column' + Hint = 'Add column' + ImageIndex = 36 + OnExecute = AcAddColumnExecute + end + object AcAddRow: TAction + Category = 'Table' + Caption = 'Add row' + Hint = 'Add row' + ImageIndex = 35 + OnExecute = AcAddRowExecute + end + object AcMergeCells: TAction + Category = 'Format' + Caption = 'Merge cells' + Hint = 'Merge/unmerge selected cells' + ImageIndex = 39 + OnExecute = AcMergeCellsExecute + end + object AcShowHeaders: TAction + Category = 'View' + AutoCheck = True + Caption = 'Headers' + Checked = True + Hint = 'Show/hide column and row headers' + OnExecute = AcShowHeadersExecute + end + object AcShowGridlines: TAction + Category = 'View' + AutoCheck = True + Caption = 'Grid lines' + Checked = True + Hint = 'Show/hide grid lines' + OnExecute = AcShowGridlinesExecute + end + object AcDeleteColumn: TAction + Category = 'Table' + Caption = 'Delete column' + Hint = 'Delete column' + ImageIndex = 38 + OnExecute = AcDeleteColumnExecute + end + object AcDeleteRow: TAction + Category = 'Table' + Caption = 'Delete row' + Hint = 'Delete row' + ImageIndex = 37 + OnExecute = AcDeleteRowExecute + end + object AcCopyToClipboard: TAction + Category = 'Code' + Caption = 'Copy to clipboard' + ImageIndex = 40 + OnExecute = AcCopyToClipboardExecute + end + object AcColumnTitles: TAction + Category = 'Table' + AutoCheck = True + Caption = 'Column headers' + Hint = 'Use first row as column titles' + OnExecute = AcColumnTitlesExecute + end + object AcRowTitles: TAction + Category = 'Table' + AutoCheck = True + Caption = 'Row headers' + Hint = 'Use first column als row titles' + OnExecute = AcRowTitlesExecute + end + end + object FontDialog: TFontDialog + MinFontSize = 0 + MaxFontSize = 0 + left = 184 + top = 328 + end + object BordersPopupMenu: TPopupMenu + Images = ImageList + left = 384 + top = 264 + object MnuNoBorders: TMenuItem + Action = AcBorderNone + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000101 + 017B01010115010101A401010115010101A401010115010101A4010101150101 + 01A401010115010101A4010101150101017BFFFFFF00FFFFFF00FFFFFF000101 + 0114010101000101010001010100010101000101010001010113010101000101 + 010001010100010101000101010001010113FFFFFF00FFFFFF00FFFFFF000101 + 0189010101000101010001010100010101000101010001010189010101000101 + 010001010100010101000101010001010189FFFFFF00FFFFFF00FFFFFF000000 + 0011000000000101010001010100010101000000000000000011000000000101 + 010001010100010101000000000000000011FFFFFF00FFFFFF00FFFFFF000000 + 0080000000000000000000000000000000000000000000000080000000000000 + 000000000000000000000000000000000080FFFFFF00FFFFFF00FFFFFF000000 + 0010000000000000000000000000000000000000000000000010000000000000 + 000000000000000000000000000000000010FFFFFF00FFFFFF00FFFFFF000000 + 00780000000F000000780000000F000000780000000F000000780000000F0000 + 00780000000F000000780000000F00000078FFFFFF00FFFFFF00FFFFFF000000 + 000F00000000000000000000000000000000000000000000000F000000000000 + 00000000000000000000000000000000000FFFFFFF00FFFFFF00FFFFFF000000 + 0071000000000000000000000000000000000000000000000071000000000000 + 000000000000000000000000000000000071FFFFFF00FFFFFF00FFFFFF000000 + 000E00000000000000000000000000000000000000000000000E000000000000 + 00000000000000000000000000000000000EFFFFFF00FFFFFF00FFFFFF000000 + 006B00000000000000000000000000000000000000000000006B000000000000 + 00000000000000000000000000000000006BFFFFFF00FFFFFF00FFFFFF000000 + 000E00000000000000000000000000000000000000000000000D000000000000 + 00000000000000000000000000000000000DFFFFFF00FFFFFF00FFFFFF000000 + 004D0000000D000000670000000D000000670000000D000000670000000D0000 + 00670000000D000000670000000D0000004DFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + object MnuBordersSeparator1: TMenuItem + Caption = '-' + end + object MnuBorderLeft: TMenuItem + Action = AcBorderLeft + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000 + 00AC01010115010101A401010115010101A401010115010101A4010101150101 + 01A401010115010101A4010101150101017BFFFFFF00FFFFFF00FFFFFF000000 + 00D9010101000101010001010100010101000101010001010113010101000101 + 010001010100010101000101010001010113FFFFFF00FFFFFF00FFFFFF000101 + 01CC010101000101010001010100010101000101010001010189010101000101 + 010001010100010101000101010001010189FFFFFF00FFFFFF00FFFFFF000101 + 01C7010101000101010001010100010101000000000000000011000000000101 + 010001010100010101000000000000000011FFFFFF00FFFFFF00FFFFFF000101 + 01C4010101000101010000000000000000000000000000000080000000000000 + 000000000000000000000000000000000080FFFFFF00FFFFFF00FFFFFF000101 + 01C0010101000000000000000000000000000000000000000010000000000000 + 000000000000000000000000000000000010FFFFFF00FFFFFF00FFFFFF000101 + 01BC0000000F000000780000000F000000780000000F000000780000000F0000 + 00780000000F000000780000000F00000078FFFFFF00FFFFFF00FFFFFF000101 + 01B901010100000000000000000000000000000000000000000F000000000000 + 00000000000000000000000000000000000FFFFFFF00FFFFFF00FFFFFF000101 + 01B6010101000101010000000000000000000000000000000071000000000000 + 000000000000000000000000000000000071FFFFFF00FFFFFF00FFFFFF000101 + 01B301010100010101000101010000000000000000000000000E000000000000 + 00000000000000000000000000000000000EFFFFFF00FFFFFF00FFFFFF000101 + 01B001010100010101000000000000000000000000000000006B000000000000 + 00000000000000000000000000000000006BFFFFFF00FFFFFF00FFFFFF000101 + 01AE01010100000000000000000000000000000000000000000D000000000000 + 00000000000000000000000000000000000DFFFFFF00FFFFFF00FFFFFF000101 + 01810000000D000000670000000D000000670000000D000000670000000D0000 + 00670000000D000000670000000D0000004DFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + object MnuBorderInner: TMenuItem + Action = AcBorderHCenter + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000101 + 017B01010115010101A401010115010101A401010115000000E6010101150101 + 01A401010115010101A4010101150101017BFFFFFF00FFFFFF00FFFFFF000101 + 01140101010001010100010101000101010001010100000000D9010101000101 + 010001010100010101000101010001010113FFFFFF00FFFFFF00FFFFFF000101 + 01890101010001010100010101000101010001010100010101CC010101000101 + 010001010100010101000101010001010189FFFFFF00FFFFFF00FFFFFF000000 + 00110000000001010100010101000101010001010100010101C7010101000101 + 010001010100010101000000000000000011FFFFFF00FFFFFF00FFFFFF000000 + 00800000000000000000000000000101010001010100010101C4010101000101 + 010000000000000000000000000000000080FFFFFF00FFFFFF00FFFFFF000000 + 00100000000000000000000000000000000001010100010101C0010101000000 + 000000000000000000000000000000000010FFFFFF00FFFFFF00FFFFFF000000 + 00780000000F000000780000000F000000780101010F010101BC0000000F0000 + 00780000000F000000780000000F00000078FFFFFF00FFFFFF00FFFFFF000000 + 000F0000000000000000000000000000000001010100010101B9010101000000 + 00000000000000000000000000000000000FFFFFFF00FFFFFF00FFFFFF000000 + 00710000000000000000000000000101010001010100010101B6010101000101 + 010000000000000000000000000000000071FFFFFF00FFFFFF00FFFFFF000000 + 000E0000000000000000010101000101010001010100010101B3010101000101 + 01000101010000000000000000000000000EFFFFFF00FFFFFF00FFFFFF000000 + 006B0000000000000000000000000101010001010100010101B0010101000101 + 01000000000000000000000000000000006BFFFFFF00FFFFFF00FFFFFF000000 + 000E0000000000000000000000000000000001010100010101AE010101000000 + 00000000000000000000000000000000000DFFFFFF00FFFFFF00FFFFFF000000 + 004D0000000D000000670000000D000000670101010D010101AC0000000D0000 + 00670000000D000000670000000D0000004DFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + object MnuBorderRight: TMenuItem + Action = AcBorderRight + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000101 + 017B01010115010101A401010115010101A401010115010101A4010101150101 + 01A401010115010101A401010115000000ACFFFFFF00FFFFFF00FFFFFF000101 + 0114010101000101010001010100010101000101010001010113010101000101 + 0100010101000101010001010100000000D9FFFFFF00FFFFFF00FFFFFF000101 + 0189010101000101010001010100010101000101010001010189010101000101 + 0100010101000101010001010100010101CCFFFFFF00FFFFFF00FFFFFF000000 + 0011000000000101010001010100010101000000000000000011000000000101 + 0100010101000101010001010100010101C7FFFFFF00FFFFFF00FFFFFF000000 + 0080000000000000000000000000000000000000000000000080000000000000 + 0000000000000101010001010100010101C4FFFFFF00FFFFFF00FFFFFF000000 + 0010000000000000000000000000000000000000000000000010000000000000 + 0000000000000000000001010100010101C0FFFFFF00FFFFFF00FFFFFF000000 + 00780000000F000000780000000F000000780000000F000000780000000F0000 + 00780000000F000000780101010F010101BCFFFFFF00FFFFFF00FFFFFF000000 + 000F00000000000000000000000000000000000000000000000F000000000000 + 0000000000000000000001010100010101B9FFFFFF00FFFFFF00FFFFFF000000 + 0071000000000000000000000000000000000000000000000071000000000000 + 0000000000000101010001010100010101B6FFFFFF00FFFFFF00FFFFFF000000 + 000E00000000000000000000000000000000000000000000000E000000000000 + 0000010101000101010001010100010101B3FFFFFF00FFFFFF00FFFFFF000000 + 006B00000000000000000000000000000000000000000000006B000000000000 + 0000000000000101010001010100010101B0FFFFFF00FFFFFF00FFFFFF000000 + 000E00000000000000000000000000000000000000000000000D000000000000 + 0000000000000000000001010100010101AEFFFFFF00FFFFFF00FFFFFF000000 + 004D0000000D000000670000000D000000670000000D000000670000000D0000 + 00670000000D000000670101010D01010181FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + object MnuBordersSeparator2: TMenuItem + Caption = '-' + end + object MnuBorderTop: TMenuItem + Action = AcBorderTop + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000101 + 017B01010115010101A401010115010101A401010115010101A4010101150101 + 01A401010115010101A4010101150101017BFFFFFF00FFFFFF00FFFFFF000101 + 0114010101000101010001010100010101000101010001010113010101000101 + 010001010100010101000101010001010113FFFFFF00FFFFFF00FFFFFF000101 + 0189010101000101010001010100010101000101010001010189010101000101 + 010001010100010101000101010001010189FFFFFF00FFFFFF00FFFFFF000000 + 0011000000000101010001010100010101000000000000000011000000000101 + 010001010100010101000000000000000011FFFFFF00FFFFFF00FFFFFF000000 + 0080000000000000000000000000000000000000000000000080000000000000 + 000000000000000000000000000000000080FFFFFF00FFFFFF00FFFFFF000000 + 0010000000000000000000000000000000000000000000000010000000000000 + 000000000000000000000000000000000010FFFFFF00FFFFFF00FFFFFF000000 + 00780000000F000000780000000F000000780000000F000000780000000F0000 + 00780000000F000000780000000F00000078FFFFFF00FFFFFF00FFFFFF000000 + 000F00000000000000000000000000000000000000000000000F000000000000 + 00000000000000000000000000000000000FFFFFFF00FFFFFF00FFFFFF000000 + 0071000000000000000000000000000000000000000000000071000000000000 + 000000000000000000000000000000000071FFFFFF00FFFFFF00FFFFFF000000 + 000E00000000010101000101010001010100000000000000000E000000000000 + 00000101010001010100000000000000000EFFFFFF00FFFFFF00FFFFFF000000 + 006B00000000010101000101010001010100000000000000006B000000000101 + 01000101010001010100000000000000006BFFFFFF00FFFFFF00FFFFFF000101 + 010E01010100010101000101010001010100010101000101010D010101000101 + 01000101010001010100010101000101010DFFFFFF00FFFFFF00FFFFFF000101 + 0181010101AC010101AC010101AC010101AC010101AC010101AC010101AC0101 + 01AC010101AC010101AC010101AC01010181FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + object MnuBorderVCenter: TMenuItem + Action = AcBorderVCenter + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000101 + 017B01010115010101A401010115010101A401010115010101A4010101150101 + 01A401010115010101A4010101150101017BFFFFFF00FFFFFF00FFFFFF000101 + 0114010101000101010001010100010101000101010001010113010101000101 + 010001010100010101000101010001010113FFFFFF00FFFFFF00FFFFFF000101 + 0189010101000101010001010100010101000101010001010189010101000101 + 010001010100010101000101010001010189FFFFFF00FFFFFF00FFFFFF000000 + 0011000000000101010001010100010101000000000000000011000000000101 + 010001010100010101000000000000000011FFFFFF00FFFFFF00FFFFFF000000 + 0080000000000101010001010100010101000000000000000080000000000101 + 010001010100010101000000000000000080FFFFFF00FFFFFF00FFFFFF000101 + 0110010101000101010001010100010101000101010001010110010101000101 + 010001010100010101000101010001010110FFFFFF00FFFFFF00FFFFFF000101 + 01BC010101BC010101BC010101BC010101BC010101BC010101BC010101BC0101 + 01BC010101BC010101BC010101BC010101BCFFFFFF00FFFFFF00FFFFFF000101 + 010F01010100010101000101010001010100010101000101010F010101000101 + 01000101010001010100010101000101010FFFFFFF00FFFFFF00FFFFFF000000 + 0071000000000101010001010100010101000000000000000071000000000101 + 010001010100010101000000000000000071FFFFFF00FFFFFF00FFFFFF000000 + 000E00000000010101000101010001010100000000000000000E000000000101 + 01000101010001010100000000000000000EFFFFFF00FFFFFF00FFFFFF000000 + 006B00000000000000000000000000000000000000000000006B000000000000 + 00000000000000000000000000000000006BFFFFFF00FFFFFF00FFFFFF000000 + 000E00000000000000000000000000000000000000000000000D000000000000 + 00000000000000000000000000000000000DFFFFFF00FFFFFF00FFFFFF000000 + 004D0000000D000000670000000D000000670000000D000000670000000D0000 + 00670000000D000000670000000D0000004DFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + object MnuBorderBottom: TMenuItem + Action = AcBorderBottom + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000 + 00AC000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 + 00E6000000E6000000E6000000E6000000ACFFFFFF00FFFFFF00FFFFFF000101 + 0114000000000000000000000000000000000000000001010113010101000000 + 000000000000000000000000000001010113FFFFFF00FFFFFF00FFFFFF000101 + 0189010101000000000000000000000000000101010001010189010101000000 + 000000000000000000000101010001010189FFFFFF00FFFFFF00FFFFFF000000 + 0011000000000000000000000000000000000000000000000011000000000000 + 000000000000000000000000000000000011FFFFFF00FFFFFF00FFFFFF000000 + 0080000000000000000000000000000000000000000000000080000000000000 + 000000000000000000000000000000000080FFFFFF00FFFFFF00FFFFFF000000 + 0010000000000000000000000000000000000000000000000010000000000000 + 000000000000000000000000000000000010FFFFFF00FFFFFF00FFFFFF000000 + 00780000000F000000780000000F000000780000000F000000780000000F0000 + 00780000000F000000780000000F00000078FFFFFF00FFFFFF00FFFFFF000000 + 000F00000000000000000000000000000000000000000000000F000000000000 + 00000000000000000000000000000000000FFFFFFF00FFFFFF00FFFFFF000000 + 0071000000000000000000000000000000000000000000000071000000000000 + 000000000000000000000000000000000071FFFFFF00FFFFFF00FFFFFF000000 + 000E00000000000000000000000000000000000000000000000E000000000000 + 00000000000000000000000000000000000EFFFFFF00FFFFFF00FFFFFF000000 + 006B00000000000000000000000000000000000000000000006B000000000000 + 00000000000000000000000000000000006BFFFFFF00FFFFFF00FFFFFF000000 + 000E00000000000000000000000000000000000000000000000D000000000000 + 00000000000000000000000000000000000DFFFFFF00FFFFFF00FFFFFF000000 + 004D0000000D000000670000000D000000670000000D000000670000000D0000 + 00670000000D000000670000000D0000004DFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + object MnuBorderBottomDbl: TMenuItem + Action = AcBorderBottomDbl + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000 + 00AC000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 + 00E6000000E6000000E6000000E6000000ACFFFFFF00FFFFFF00FFFFFF000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF000101 + 01CC010101CC010101CC010101CC010101CC010101CC010101CC010101CC0101 + 01CC010101CC010101CC010101CC010101CCFFFFFF00FFFFFF00FFFFFF000101 + 0111010101000101010001010100010101000101010001010111010101000101 + 010001010100010101000101010001010111FFFFFF00FFFFFF00FFFFFF000000 + 0080000000000101010001010100010101000000000000000080000000000101 + 010001010100010101000000000000000080FFFFFF00FFFFFF00FFFFFF000000 + 0010000000000000000000000000000000000000000000000010000000000000 + 000000000000000000000000000000000010FFFFFF00FFFFFF00FFFFFF000000 + 00780000000F000000780000000F000000780000000F000000780000000F0000 + 00780000000F000000780000000F00000078FFFFFF00FFFFFF00FFFFFF000000 + 000F00000000000000000000000000000000000000000000000F000000000000 + 00000000000000000000000000000000000FFFFFFF00FFFFFF00FFFFFF000000 + 0071000000000000000000000000000000000000000000000071000000000000 + 000000000000000000000000000000000071FFFFFF00FFFFFF00FFFFFF000000 + 000E00000000000000000000000000000000000000000000000E000000000000 + 00000000000000000000000000000000000EFFFFFF00FFFFFF00FFFFFF000000 + 006B00000000000000000000000000000000000000000000006B000000000000 + 00000000000000000000000000000000006BFFFFFF00FFFFFF00FFFFFF000000 + 000E00000000000000000000000000000000000000000000000D000000000000 + 00000000000000000000000000000000000DFFFFFF00FFFFFF00FFFFFF000000 + 004D0000000D000000670000000D000000670000000D000000670000000D0000 + 00670000000D000000670000000D0000004DFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + object MnuBorderBottomThick: TMenuItem + Action = AcBorderBottomMedium + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000 + 00AC000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 + 00E6000000E6000000E6000000E6000000ACFFFFFF00FFFFFF00FFFFFF000000 + 00D9000000D9000000D9000000D9000000D9000000D9000000D9000000D90000 + 00D9000000D9000000D9000000D9000000D9FFFFFF00FFFFFF00FFFFFF000101 + 0189000000000000000000000000000000000000000001010189000000000000 + 000000000000000000000000000001010189FFFFFF00FFFFFF00FFFFFF000000 + 0011000000000000000000000000000000000000000000000011000000000000 + 000000000000000000000000000000000011FFFFFF00FFFFFF00FFFFFF000000 + 0080000000000000000000000000000000000000000000000080000000000000 + 000000000000000000000000000000000080FFFFFF00FFFFFF00FFFFFF000000 + 0010000000000000000000000000000000000000000000000010000000000000 + 000000000000000000000000000000000010FFFFFF00FFFFFF00FFFFFF000000 + 00780000000F000000780000000F000000780000000F000000780000000F0000 + 00780000000F000000780000000F00000078FFFFFF00FFFFFF00FFFFFF000000 + 000F00000000000000000000000000000000000000000000000F000000000000 + 00000000000000000000000000000000000FFFFFFF00FFFFFF00FFFFFF000000 + 0071000000000000000000000000000000000000000000000071000000000000 + 000000000000000000000000000000000071FFFFFF00FFFFFF00FFFFFF000000 + 000E00000000000000000000000000000000000000000000000E000000000000 + 00000000000000000000000000000000000EFFFFFF00FFFFFF00FFFFFF000000 + 006B00000000000000000000000000000000000000000000006B000000000000 + 00000000000000000000000000000000006BFFFFFF00FFFFFF00FFFFFF000000 + 000E00000000000000000000000000000000000000000000000D000000000000 + 00000000000000000000000000000000000DFFFFFF00FFFFFF00FFFFFF000000 + 004D0000000D000000670000000D000000670000000D000000670000000D0000 + 00670000000D000000670000000D0000004DFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + object MenuItem17: TMenuItem + Caption = '-' + end + object MnuBorderTopBottom: TMenuItem + Action = AcBorderTopBottom + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000 + 00AC000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 + 00E6000000E6000000E6000000E6000000ACFFFFFF00FFFFFF00FFFFFF000101 + 0114000000000000000000000000000000000000000001010113010101000000 + 000000000000000000000000000001010113FFFFFF00FFFFFF00FFFFFF000101 + 0189010101000000000000000000000000000101010001010189010101000000 + 000000000000000000000101010001010189FFFFFF00FFFFFF00FFFFFF000000 + 0011000000000000000000000000000000000000000000000011000000000000 + 000000000000000000000000000000000011FFFFFF00FFFFFF00FFFFFF000000 + 0080000000000000000000000000000000000000000000000080000000000000 + 000000000000000000000000000000000080FFFFFF00FFFFFF00FFFFFF000000 + 0010000000000000000000000000000000000000000000000010000000000000 + 000000000000000000000000000000000010FFFFFF00FFFFFF00FFFFFF000000 + 00780000000F000000780000000F000000780000000F000000780000000F0000 + 00780000000F000000780000000F00000078FFFFFF00FFFFFF00FFFFFF000000 + 000F00000000000000000000000000000000000000000000000F000000000000 + 00000000000000000000000000000000000FFFFFFF00FFFFFF00FFFFFF000000 + 0071000000000000000000000000000000000000000000000071000000000000 + 000000000000000000000000000000000071FFFFFF00FFFFFF00FFFFFF000000 + 000E00000000010101000101010001010100000000000000000E000000000000 + 00000101010001010100000000000000000EFFFFFF00FFFFFF00FFFFFF000000 + 006B00000000010101000101010001010100000000000000006B000000000101 + 01000101010001010100000000000000006BFFFFFF00FFFFFF00FFFFFF000101 + 010E01010100010101000101010001010100010101000101010D010101000101 + 01000101010001010100010101000101010DFFFFFF00FFFFFF00FFFFFF000101 + 0181010101AC010101AC010101AC010101AC010101AC010101AC010101AC0101 + 01AC010101AC010101AC010101AC01010181FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + object MnuBorderTopBottomThick: TMenuItem + Action = AcBorderTopBottomThick + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000 + 00AC000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 + 00E6000000E6000000E6000000E6000000ACFFFFFF00FFFFFF00FFFFFF000000 + 00D9000000D9000000D9000000D9000000D9000000D9000000D9000000D90000 + 00D9000000D9000000D9000000D9000000D9FFFFFF00FFFFFF00FFFFFF000101 + 0189000000000000000000000000000000000000000001010189000000000000 + 000000000000000000000000000001010189FFFFFF00FFFFFF00FFFFFF000000 + 0011000000000000000000000000000000000000000000000011000000000000 + 000000000000000000000000000000000011FFFFFF00FFFFFF00FFFFFF000000 + 0080000000000000000000000000000000000000000000000080000000000000 + 000000000000000000000000000000000080FFFFFF00FFFFFF00FFFFFF000000 + 0010000000000000000000000000000000000000000000000010000000000000 + 000000000000000000000000000000000010FFFFFF00FFFFFF00FFFFFF000000 + 00780000000F000000780000000F000000780000000F000000780000000F0000 + 00780000000F000000780000000F00000078FFFFFF00FFFFFF00FFFFFF000000 + 000F00000000000000000000000000000000000000000000000F000000000000 + 00000000000000000000000000000000000FFFFFFF00FFFFFF00FFFFFF000000 + 0071000000000000000000000000000000000000000000000071000000000000 + 000000000000000000000000000000000071FFFFFF00FFFFFF00FFFFFF000000 + 000E00000000010101000101010001010100000000000000000E000000000000 + 00000101010001010100000000000000000EFFFFFF00FFFFFF00FFFFFF000000 + 006B00000000010101000101010001010100000000000000006B000000000101 + 01000101010001010100000000000000006BFFFFFF00FFFFFF00FFFFFF000101 + 010E01010100010101000101010001010100010101000101010D010101000101 + 01000101010001010100010101000101010DFFFFFF00FFFFFF00FFFFFF000101 + 0181010101AC010101AC010101AC010101AC010101AC010101AC010101AC0101 + 01AC010101AC010101AC010101AC01010181FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + object MnuBordersSeparator3: TMenuItem + Caption = '-' + end + object MnuBordersInner: TMenuItem + Action = AcBorderInner + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000101 + 017B01010115010101A401010115010101A401010115000000E6010101150101 + 01A401010115010101A4010101150101017BFFFFFF00FFFFFF00FFFFFF000101 + 01140101010001010100010101000101010001010100000000D9010101000101 + 010001010100010101000101010001010113FFFFFF00FFFFFF00FFFFFF000101 + 01890101010001010100010101000101010001010100010101CC010101000101 + 010001010100010101000101010001010189FFFFFF00FFFFFF00FFFFFF000000 + 00110000000001010100010101000101010001010100010101C7010101000101 + 010001010100010101000000000000000011FFFFFF00FFFFFF00FFFFFF000000 + 00800000000001010100010101000101010001010100010101C4010101000101 + 010001010100010101000000000000000080FFFFFF00FFFFFF00FFFFFF000101 + 01100101010001010100010101000101010001010100010101C0010101000101 + 010001010100010101000101010001010110FFFFFF00FFFFFF00FFFFFF000101 + 01BC010101BC010101BC010101BC010101BC010101BC0101018E010101BC0101 + 01BC010101BC010101BC010101BC010101BCFFFFFF00FFFFFF00FFFFFF000101 + 010F0101010001010100010101000101010001010100010101B9010101000101 + 01000101010001010100010101000101010FFFFFFF00FFFFFF00FFFFFF000000 + 00710000000001010100010101000101010001010100010101B6010101000101 + 010001010100010101000000000000000071FFFFFF00FFFFFF00FFFFFF000000 + 000E0000000001010100010101000101010001010100010101B3010101000101 + 01000101010001010100000000000000000EFFFFFF00FFFFFF00FFFFFF000000 + 006B0000000000000000000000000101010001010100010101B0010101000101 + 01000000000000000000000000000000006BFFFFFF00FFFFFF00FFFFFF000000 + 000E0000000000000000000000000000000001010100010101AE010101000000 + 00000000000000000000000000000000000DFFFFFF00FFFFFF00FFFFFF000000 + 004D0000000D000000670000000D000000670101010D010101AC0000000D0000 + 00670000000D000000670000000D0000004DFFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + object MnuBordersSeparator4: TMenuItem + Caption = '-' + end + object MnuBordersOuter: TMenuItem + Action = AcBorderOuter + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000 + 00AC000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 + 00E6000000E6000000E6000000E6000000ACFFFFFF00FFFFFF00FFFFFF000000 + 00D9000000000000000000000000000000000000000001010113010101000000 + 0000000000000000000000000000000000D9FFFFFF00FFFFFF00FFFFFF000101 + 01CC010101000101010000000000000000000101010001010189010101000000 + 0000000000000101010001010100010101CCFFFFFF00FFFFFF00FFFFFF000101 + 01C7010101000101010001010100000000000000000000000011000000000000 + 0000010101000101010001010100010101C7FFFFFF00FFFFFF00FFFFFF000101 + 01C4010101000101010000000000000000000000000000000080000000000000 + 0000000000000101010001010100010101C4FFFFFF00FFFFFF00FFFFFF000101 + 01C0010101000000000000000000000000000000000000000010000000000000 + 0000000000000000000001010100010101C0FFFFFF00FFFFFF00FFFFFF000101 + 01BC0000000F000000780000000F000000780000000F000000780000000F0000 + 00780000000F000000780101010F010101BCFFFFFF00FFFFFF00FFFFFF000101 + 01B901010100000000000000000000000000000000000000000F000000000000 + 0000000000000000000001010100010101B9FFFFFF00FFFFFF00FFFFFF000101 + 01B6010101000101010000000000000000000000000000000071000000000000 + 0000000000000101010001010100010101B6FFFFFF00FFFFFF00FFFFFF000101 + 01B301010100010101000101010001010100000000000000000E000000000000 + 0000010101000101010001010100010101B3FFFFFF00FFFFFF00FFFFFF000101 + 01B001010100010101000101010001010100000000000000006B000000000101 + 0100010101000101010001010100010101B0FFFFFF00FFFFFF00FFFFFF000101 + 01AE01010100010101000101010001010100010101000101010D010101000101 + 0100010101000101010001010100010101AEFFFFFF00FFFFFF00FFFFFF000101 + 0181010101AC010101AC010101AC010101AC010101AC010101AC010101AC0101 + 01AC010101AC010101AC010101AC01010181FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + object MnuBordersOuterThick: TMenuItem + Action = AcBorderOuterMedium + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000 + 00AC000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 + 00E6000000E6000000E6000000E6000000ACFFFFFF00FFFFFF00FFFFFF000000 + 00D9000000D9000000D9000000D9000000D9000000D9000000D9000000D90000 + 00D9000000D9000000D9000000D9000000D9FFFFFF00FFFFFF00FFFFFF000101 + 01CC010101CC0101010000000000000000000000000001010189000000000000 + 00000000000001010100010101CC010101CCFFFFFF00FFFFFF00FFFFFF000101 + 01C7010101C70101010001010100000000000000000000000011000000000000 + 00000101010001010100010101C7010101C7FFFFFF00FFFFFF00FFFFFF000101 + 01C4010101C40101010001010100000000000000000000000080000000000000 + 00000101010001010100010101C4010101C4FFFFFF00FFFFFF00FFFFFF000101 + 01C0010101C00101010000000000000000000000000000000010000000000000 + 00000000000001010100010101C0010101C0FFFFFF00FFFFFF00FFFFFF000101 + 01BC010101BC000000780000000F000000780000000F000000780000000F0000 + 00780000000F00000078010101BC010101BCFFFFFF00FFFFFF00FFFFFF000101 + 01B9010101B9010101000000000000000000000000000000000F000000000000 + 00000000000001010100010101B9010101B9FFFFFF00FFFFFF00FFFFFF000101 + 01B6010101B60101010001010100000000000000000000000071000000000000 + 00000101010001010100010101B6010101B6FFFFFF00FFFFFF00FFFFFF000101 + 01B3010101B3010101000101010001010100010101000000000E000000000101 + 01000101010001010100010101B3010101B3FFFFFF00FFFFFF00FFFFFF000101 + 01B0010101B0010101000101010001010100010101000000006B010101000101 + 01000101010001010100010101B0010101B0FFFFFF00FFFFFF00FFFFFF000101 + 01AE010101AE010101AE010101AE010101AE010101AE010101AE010101AE0101 + 01AE010101AE010101AE010101AE010101AEFFFFFF00FFFFFF00FFFFFF000101 + 0181010101AC010101AC010101AC010101AC010101AC010101AC010101AC0101 + 01AC010101AC010101AC010101AC01010181FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + object MnuBordersSeparator5: TMenuItem + Caption = '-' + end + object MnuBordersAll: TMenuItem + Action = AcBorderAll + Bitmap.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000 + 00AC000000E6000000E6000000E6000000E6000000E6000000E6000000E60000 + 00E6000000E6000000E6000000E6000000ACFFFFFF00FFFFFF00FFFFFF000000 + 00D90000000000000000000000000000000000000000000000D9000000000000 + 0000000000000000000000000000000000D9FFFFFF00FFFFFF00FFFFFF000101 + 01CC0101010001010100000000000101010001010100010101CC010101000101 + 0100000000000101010001010100010101CCFFFFFF00FFFFFF00FFFFFF000101 + 01C70101010001010100010101000101010001010100010101C7010101000101 + 0100010101000101010001010100010101C7FFFFFF00FFFFFF00FFFFFF000101 + 01C40101010001010100010101000101010001010100010101C4010101000101 + 0100010101000101010001010100010101C4FFFFFF00FFFFFF00FFFFFF000101 + 01C00101010001010100010101000101010001010100010101C0010101000101 + 0100010101000101010001010100010101C0FFFFFF00FFFFFF00FFFFFF000101 + 01BC010101BC010101BC010101BC010101BC010101BC0101018E010101BC0101 + 01BC010101BC010101BC010101BC010101BCFFFFFF00FFFFFF00FFFFFF000101 + 01B90101010001010100010101000101010001010100010101B9010101000101 + 0100010101000101010001010100010101B9FFFFFF00FFFFFF00FFFFFF000101 + 01B60101010001010100010101000101010001010100010101B6010101000101 + 0100010101000101010001010100010101B6FFFFFF00FFFFFF00FFFFFF000101 + 01B30101010001010100010101000101010001010100010101B3010101000101 + 0100010101000101010001010100010101B3FFFFFF00FFFFFF00FFFFFF000101 + 01B00101010001010100010101000101010001010100010101B0010101000101 + 0100010101000101010001010100010101B0FFFFFF00FFFFFF00FFFFFF000101 + 01AE0101010001010100010101000101010001010100010101AE010101000101 + 0100010101000101010001010100010101AEFFFFFF00FFFFFF00FFFFFF000101 + 0181010101AC010101AC010101AC010101AC010101AC010101AC010101AC0101 + 01AC010101AC010101AC010101AC01010181FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + end + end + object SynMultiSyn1: TSynMultiSyn + Enabled = False + Schemes = < + item + Highlighter = SynHTMLSyn1 + MarkerAttri.FrameEdges = sfeAround + end + item + Highlighter = SynCssSyn1 + MarkerAttri.FrameEdges = sfeAround + end> + DefaultHighlighter = SynCssSyn1 + left = 532 + top = 126 + end + object SynHTMLSyn1: TSynHTMLSyn + DefaultFilter = 'HTML Document (*.htm,*.html)|*.htm;*.html' + Enabled = False + AndAttri.FrameEdges = sfeAround + ASPAttri.FrameEdges = sfeAround + CDATAAttri.FrameEdges = sfeAround + DOCTYPEAttri.FrameEdges = sfeAround + CommentAttri.Foreground = clTeal + CommentAttri.FrameEdges = sfeAround + CommentAttri.Style = [fsItalic] + IdentifierAttri.FrameEdges = sfeAround + KeyAttri.FrameEdges = sfeAround + SpaceAttri.FrameEdges = sfeAround + SymbolAttri.FrameEdges = sfeAround + TextAttri.Foreground = clBlue + TextAttri.FrameEdges = sfeAround + UndefKeyAttri.FrameEdges = sfeAround + ValueAttri.FrameEdges = sfeAround + left = 531 + top = 189 + end + object SynCssSyn1: TSynCssSyn + DefaultFilter = 'Cascading Stylesheets (*.css)|*.css' + Enabled = False + CommentAttri.FrameEdges = sfeAround + IdentifierAttri.FrameEdges = sfeAround + KeyAttri.FrameEdges = sfeAround + NumberAttri.Foreground = clFuchsia + NumberAttri.FrameEdges = sfeAround + SpaceAttri.FrameEdges = sfeAround + StringAttri.Foreground = clBlue + StringAttri.FrameEdges = sfeAround + SymbolAttri.FrameEdges = sfeAround + left = 529 + top = 243 + end +end diff --git a/components/fpspreadsheet/examples/wikitablemaker/wtmain.pas b/components/fpspreadsheet/examples/wikitablemaker/wtmain.pas new file mode 100644 index 000000000..0523592d3 --- /dev/null +++ b/components/fpspreadsheet/examples/wikitablemaker/wtmain.pas @@ -0,0 +1,826 @@ +unit wtMain; + +{$mode objfpc}{$H+} + +interface + +uses + Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs, + StdCtrls, Menus, ExtCtrls, ComCtrls, ActnList, Grids, ColorBox, + SynEdit, SynEditHighlighter, + SynHighlighterHTML, SynHighlighterMulti, SynHighlighterCss, + fpspreadsheetgrid, fpspreadsheet, fpsallformats; + +type + + { TMainFrm } + + TMainFrm = class(TForm) + AcOpen: TAction; + AcSaveAs: TAction; + AcQuit: TAction; + AcLeftAlign: TAction; + AcHorCenterAlign: TAction; + AcRightAlign: TAction; + AcHorDefaultAlign: TAction; + AcFontBold: TAction; + AcFontItalic: TAction; + AcFontStrikeout: TAction; + AcFontUnderline: TAction; + AcDefaultFont: TAction; + AcBorderTop: TAction; + AcBorderBottom: TAction; + AcBorderBottomDbl: TAction; + AcBorderBottomMedium: TAction; + AcBorderLeft: TAction; + AcBorderRight: TAction; + AcBorderNone: TAction; + AcBorderHCenter: TAction; + AcBorderVCenter: TAction; + AcBorderTopBottom: TAction; + AcBorderTopBottomThick: TAction; + AcBorderInner: TAction; + AcBorderAll: TAction; + AcBorderOuter: TAction; + AcBorderOuterMedium: TAction; + AcCopyFormat: TAction; + AcNew: TAction; + AcAddColumn: TAction; + AcAddRow: TAction; + AcMergeCells: TAction; + AcShowHeaders: TAction; + AcShowGridlines: TAction; + AcDeleteColumn: TAction; + AcDeleteRow: TAction; + AcCopyToClipboard: TAction; + AcColumnTitles: TAction; + AcRowTitles: TAction; + AcVAlignDefault: TAction; + AcVAlignTop: TAction; + AcVAlignCenter: TAction; + AcVAlignBottom: TAction; + ActionList: TActionList; + MnuBorderBottom: TMenuItem; + MnuBorderBottomDbl: TMenuItem; + MnuBorderBottomThick: TMenuItem; + MnuBorderInner: TMenuItem; + MnuBorderLeft: TMenuItem; + MnuBorderRight: TMenuItem; + MnuBordersAll: TMenuItem; + MnuBordersInner: TMenuItem; + MnuBordersOuter: TMenuItem; + MnuBordersOuterThick: TMenuItem; + MnuBordersSeparator1: TMenuItem; + MnuBordersSeparator2: TMenuItem; + MnuBordersSeparator3: TMenuItem; + MnuBordersSeparator4: TMenuItem; + MnuBordersSeparator5: TMenuItem; + MnuBorderTop: TMenuItem; + MnuBorderTopBottom: TMenuItem; + MnuBorderTopBottomThick: TMenuItem; + MnuBorderVCenter: TMenuItem; + MnuFileSeparator1: TMenuItem; + MnuNew: TMenuItem; + MnuNoBorders: TMenuItem; + MnuTableSeparator1: TMenuItem; + ToolbarBevel: TBevel; + CbBackgroundColor: TColorBox; + FontComboBox: TComboBox; + FontDialog: TFontDialog; + FontSizeComboBox: TComboBox; + ImageList: TImageList; + MainMenu: TMainMenu; + MnuRowHeaders: TMenuItem; + MnuColHeaders: TMenuItem; + MnuDeleteCol: TMenuItem; + MnuTableSeparator2: TMenuItem; + MnuAddRow: TMenuItem; + MnuTableSeparator3: TMenuItem; + MnuGridlines: TMenuItem; + MnuAddCol: TMenuItem; + MnuFormatSeparator: TMenuItem; + MnuMergeCells: TMenuItem; + MnuDeleteRow: TMenuItem; + MnuLeftAlignment: TMenuItem; + MnuCenterAlignment: TMenuItem; + MnuRightAligment: TMenuItem; + MnuHorAlignmentSeparator: TMenuItem; + MnuVertAlignmentSeparator: TMenuItem; + MnuVertBottom: TMenuItem; + MnuVertCentered: TMenuItem; + MnuVertTop: TMenuItem; + MnuVertDefault: TMenuItem; + MnuVertAlignment: TMenuItem; + MnuFont: TMenuItem; + MnuHorDefault: TMenuItem; + MnuHorAlignment: TMenuItem; + MnuFormat: TMenuItem; + MnuTable: TMenuItem; + MnuFile: TMenuItem; + MnuOpen: TMenuItem; + MnuQuit: TMenuItem; + MnuSaveAs: TMenuItem; + OpenDialog: TOpenDialog; + BordersPopupMenu: TPopupMenu; + PageControl: TPageControl; + SaveDialog: TSaveDialog; + SynCssSyn1: TSynCssSyn; + SynEdit: TSynEdit; + SynHTMLSyn1: TSynHTMLSyn; + SynMultiSyn1: TSynMultiSyn; + TabControl: TTabControl; + PgTable: TTabSheet; + PgCode: TTabSheet; + CodeToolBar: TToolBar; + TbDeleteColumn: TToolButton; + TbAddRow: TToolButton; + TbMergeCells: TToolButton; + FormatToolBar: TToolBar; + TbLeftAlign: TToolButton; + TbFontStrikeout: TToolButton; + TbHorCenterAlign: TToolButton; + TbRightAlign: TToolButton; + TbVAlignTop: TToolButton; + TbVAlignCenter: TToolButton; + TbVAlignBottom: TToolButton; + TbBorders: TToolButton; + TbCopyFormat: TToolButton; + TbDefaultFont: TToolButton; + TbDeleteRow: TToolButton; + TbAddColumn: TToolButton; + TbFontBold: TToolButton; + TbFontItalic: TToolButton; + TbFontUnderline: TToolButton; + procedure AcAddColumnExecute(Sender: TObject); + procedure AcAddRowExecute(Sender: TObject); + procedure AcBorderExecute(Sender: TObject); + procedure AcColumnTitlesExecute(Sender: TObject); + procedure AcCopyFormatExecute(Sender: TObject); + procedure AcCopyToClipboardExecute(Sender: TObject); + procedure AcDeleteColumnExecute(Sender: TObject); + procedure AcDeleteRowExecute(Sender: TObject); + procedure AcDefaultFontExecute(Sender: TObject); + procedure AcFontStyleExecute(Sender: TObject); + procedure AcHorAlignmentExecute(Sender: TObject); + procedure AcMergeCellsExecute(Sender: TObject); + procedure AcNewExecute(Sender: TObject); + procedure AcOpenExecute(Sender: TObject); + procedure AcQuitExecute(Sender: TObject); + procedure AcRowTitlesExecute(Sender: TObject); + procedure AcSaveAsExecute(Sender: TObject); + procedure AcShowGridlinesExecute(Sender: TObject); + procedure AcShowHeadersExecute(Sender: TObject); + procedure AcVertAlignmentExecute(Sender: TObject); + procedure AcWordwrapExecute(Sender: TObject); + procedure CbBackgroundColorSelect(Sender: TObject); + procedure CbBackgroundColorGetColors(Sender: TCustomColorBox; Items: TStrings); + procedure FontComboBoxSelect(Sender: TObject); + procedure FontSizeComboBoxSelect(Sender: TObject); + procedure FormActivate(Sender: TObject); + procedure FormCreate(Sender: TObject); + procedure PageControlChange(Sender: TObject); + procedure TabControlChange(Sender: TObject); + procedure WorksheetGridSelection(Sender: TObject; aCol, aRow: Integer); + private + WorksheetGrid: TsWorksheetGrid; + FCopiedFormat: TCell; + FHighlighter: TSynCustomHighlighter; + procedure LoadFile(const AFileName: String); + procedure SetupBackgroundColorBox; + procedure UpdateBackgroundColorIndex; + procedure UpdateFontNameIndex; + procedure UpdateFontSizeIndex; + procedure UpdateFontStyleActions; + procedure UpdateHorAlignmentActions; + procedure UpdateVertAlignmentActions; + + public + procedure BeforeRun; + + end; + +var + MainFrm: TMainFrm; + +implementation + +uses + TypInfo, LCLIntf, LCLType, clipbrd, fpcanvas, + SynHighlighterWikiTable, + fpsutils; + +const + DROPDOWN_COUNT = 24; + + HORALIGN_TAG = 100; + VERTALIGN_TAG = 110; + + LEFT_BORDER_THIN = $0001; + LEFT_BORDER_THICK = $0002; + LR_INNER_BORDER_THIN = $0008; + RIGHT_BORDER_THIN = $0010; + RIGHT_BORDER_THICK = $0020; + TOP_BORDER_THIN = $0100; + TOP_BORDER_THICK = $0200; + TB_INNER_BORDER_THIN = $0800; + BOTTOM_BORDER_THIN = $1000; + BOTTOM_BORDER_THICK = $2000; + BOTTOM_BORDER_DOUBLE = $3000; + LEFT_BORDER_MASK = $0007; + RIGHT_BORDER_MASK = $0070; + TOP_BORDER_MASK = $0700; + BOTTOM_BORDER_MASK = $7000; + LR_INNER_BORDER = $0008; + TB_INNER_BORDER = $0800; + // Use a combination of these bits for the "Tag" of the Border actions - see FormCreate. + + +{ TMainFrm } + +procedure TMainFrm.AcBorderExecute(Sender: TObject); +const + LINESTYLES: Array[1..3] of TsLinestyle = (lsThin, lsMedium, lsDouble); +var + r,c: Integer; + ls: integer; + bs: TsCellBorderStyle; +begin + bs.Color := scBlack; + + with WorksheetGrid do begin + TbBorders.Action := TAction(Sender); + + BeginUpdate; + try + if TAction(Sender).Tag = 0 then begin + CellBorders[Selection] := []; + exit; + end; + // Top and bottom edges + for c := Selection.Left to Selection.Right do begin + ls := (TAction(Sender).Tag and TOP_BORDER_MASK) shr 8; + if (ls <> 0) then begin + CellBorder[c, Selection.Top] := CellBorder[c, Selection.Top] + [cbNorth]; + bs.LineStyle := LINESTYLES[ls]; + CellBorderStyle[c, Selection.Top, cbNorth] := bs; + end; + ls := (TAction(Sender).Tag and BOTTOM_BORDER_MASK) shr 12; + if ls <> 0 then begin + CellBorder[c, Selection.Bottom] := CellBorder[c, Selection.Bottom] + [cbSouth]; + bs.LineStyle := LINESTYLES[ls]; + CellBorderStyle[c, Selection.Bottom, cbSouth] := bs; + end; + end; + // Left and right edges + for r := Selection.Top to Selection.Bottom do begin + ls := (TAction(Sender).Tag and LEFT_BORDER_MASK); + if ls <> 0 then begin + CellBorder[Selection.Left, r] := CellBorder[Selection.Left, r] + [cbWest]; + bs.LineStyle := LINESTYLES[ls]; + CellBorderStyle[Selection.Left, r, cbWest] := bs; + end; + ls := (TAction(Sender).Tag and RIGHT_BORDER_MASK) shr 4; + if ls <> 0 then begin + CellBorder[Selection.Right, r] := CellBorder[Selection.Right, r] + [cbEast]; + bs.LineStyle := LINESTYLES[ls]; + CellBorderStyle[Selection.Right, r, cbEast] := bs; + end; + end; + // Inner edges along row (vertical border lines) - we assume only thin lines. + bs.LineStyle := lsThin; + if (TAction(Sender).Tag and LR_INNER_BORDER <> 0) and (Selection.Right > Selection.Left) + then + for r := Selection.Top to Selection.Bottom do begin + CellBorder[Selection.Left, r] := CellBorder[Selection.Left, r] + [cbEast]; + CellBorderStyle[Selection.Left, r, cbEast] := bs; + for c := Selection.Left+1 to Selection.Right-1 do begin + CellBorder[c,r] := CellBorder[c, r] + [cbEast, cbWest]; + CellBorderStyle[c, r, cbEast] := bs; + CellBorderStyle[c, r, cbWest] := bs; + end; + CellBorder[Selection.Right, r] := CellBorder[Selection.Right, r] + [cbWest]; + CellBorderStyle[Selection.Right, r, cbWest] := bs; + end; + // Inner edges along column (horizontal border lines) + if (TAction(Sender).Tag and TB_INNER_BORDER <> 0) and (Selection.Bottom > Selection.Top) + then + for c := Selection.Left to Selection.Right do begin + CellBorder[c, Selection.Top] := CellBorder[c, Selection.Top] + [cbSouth]; + CellBorderStyle[c, Selection.Top, cbSouth] := bs; + for r := Selection.Top+1 to Selection.Bottom-1 do begin + CellBorder[c, r] := CellBorder[c, r] + [cbNorth, cbSouth]; + CellBorderStyle[c, r, cbNorth] := bs; + CellBorderStyle[c, r, cbSouth] := bs; + end; + CellBorder[c, Selection.Bottom] := CellBorder[c, Selection.Bottom] + [cbNorth]; + CellBorderStyle[c, Selection.Bottom, cbNorth] := bs; + end; + finally + EndUpdate; + end; + end; +end; + +procedure TMainFrm.AcColumnTitlesExecute(Sender: TObject); +begin + if AcColumnTitles.Checked then + WorksheetGrid.FrozenRows := 1 + else + WorksheetGrid.FrozenRows := 0; +end; + +procedure TMainFrm.AcAddColumnExecute(Sender: TObject); +begin + WorksheetGrid.InsertCol(WorksheetGrid.Col); + WorksheetGrid.Col := WorksheetGrid.Col + 1; +end; + +procedure TMainFrm.AcAddRowExecute(Sender: TObject); +begin + WorksheetGrid.InsertRow(WorksheetGrid.Row); + WorksheetGrid.Row := WorksheetGrid.Row + 1; +end; + +procedure TMainFrm.AcCopyFormatExecute(Sender: TObject); +var + cell: PCell; + r, c: Cardinal; +begin + with WorksheetGrid do begin + if Workbook = nil then + exit; + + if AcCopyFormat.Checked then begin + r := GetWorksheetRow(Row); + c := GetWorksheetCol(Col); + cell := Worksheet.FindCell(r, c); + if cell <> nil then + FCopiedFormat := cell^; + end; + end; +end; + +procedure TMainFrm.AcCopyToClipboardExecute(Sender: TObject); +begin + if SynEdit.Lines.Count > 0 then + Clipboard.AsText := SynEdit.Lines.Text; +end; + +procedure TMainFrm.AcDeleteColumnExecute(Sender: TObject); +var + c: Integer; +begin + c := WorksheetGrid.Col; + WorksheetGrid.DeleteCol(c); + WorksheetGrid.Col := c; +end; + +procedure TMainFrm.AcDeleteRowExecute(Sender: TObject); +var + r: Integer; +begin + r := WorksheetGrid.Row; + WorksheetGrid.DeleteRow(r); + WorksheetGrid.Row := r; +end; + +{ Changes the default font of the workbook by calling a standard font dialog. } +procedure TMainFrm.AcDefaultFontExecute(Sender: TObject); +begin + with WorksheetGrid do begin + if Workbook = nil then + exit; + Convert_sFont_to_Font(Workbook.GetDefaultFont, FontDialog.Font); + if FontDialog.Execute then begin + Workbook.SetDefaultFont(FontDialog.Font.Name, FontDialog.Font.Size); + Invalidate; + end; + end; +end; + +procedure TMainFrm.AcFontStyleExecute(Sender: TObject); +var + style: TsFontstyles; +begin + with WorksheetGrid do begin + if Workbook = nil then + exit; + style := []; + if AcFontBold.Checked then Include(style, fssBold); + if AcFontItalic.Checked then Include(style, fssItalic); + if AcFontStrikeout.Checked then Include(style, fssStrikeout); + if AcFontUnderline.Checked then Include(style, fssUnderline); + CellFontStyles[Selection] := style; + end; +end; + +procedure TMainFrm.AcHorAlignmentExecute(Sender: TObject); +var + hor_align: TsHorAlignment; +begin + if TAction(Sender).Checked then + hor_align := TsHorAlignment(TAction(Sender).Tag - HORALIGN_TAG) + else + hor_align := haDefault; + with WorksheetGrid do HorAlignments[Selection] := hor_align; + UpdateHorAlignmentActions; +end; + +procedure TMainFrm.AcMergeCellsExecute(Sender: TObject); +begin + AcMergeCells.Checked := not AcMergeCells.Checked; + if AcMergeCells.Checked then + WorksheetGrid.MergeCells + else + WorksheetGrid.UnmergeCells; + WorksheetGridSelection(nil, WorksheetGrid.Col, WorksheetGrid.Row); +end; + +procedure TMainFrm.AcNewExecute(Sender: TObject); +begin + WorksheetGrid.NewWorkbook(26, 100); + + WorksheetGrid.BeginUpdate; + try + WorksheetGrid.Col := WorksheetGrid.FixedCols; + WorksheetGrid.Row := WorksheetGrid.FixedRows; + SetupBackgroundColorBox; + WorksheetGridSelection(nil, WorksheetGrid.Col, WorksheetGrid.Row); + finally + WorksheetGrid.EndUpdate; + end; +end; + +procedure TMainFrm.AcOpenExecute(Sender: TObject); +begin + if OpenDialog.Execute then + LoadFile(OpenDialog.FileName); +end; + +procedure TMainFrm.AcQuitExecute(Sender: TObject); +begin + Close; +end; + +procedure TMainFrm.AcRowTitlesExecute(Sender: TObject); +begin + if AcRowTitles.Checked then + WorksheetGrid.FrozenCols := 1 + else + WorksheetGrid.FrozenCols := 0; +end; + +procedure TMainFrm.AcSaveAsExecute(Sender: TObject); +// Saves sheet in grid to file, overwriting existing file +var + err: String = ''; +begin + if WorksheetGrid.Workbook = nil then + exit; + + if SaveDialog.Execute then + begin + Screen.Cursor := crHourglass; + try + WorksheetGrid.SaveToSpreadsheetFile(SaveDialog.FileName); + finally + Screen.Cursor := crDefault; + err := WorksheetGrid.Workbook.ErrorMsg; + if err <> '' then + MessageDlg(err, mtError, [mbOK], 0); + end; + end; +end; + +procedure TMainFrm.AcShowGridlinesExecute(Sender: TObject); +begin + WorksheetGrid.ShowGridLines := AcShowGridLines.Checked; +end; + +procedure TMainFrm.AcShowHeadersExecute(Sender: TObject); +begin + WorksheetGrid.ShowHeaders := AcShowHeaders.Checked; +end; + +procedure TMainFrm.AcVertAlignmentExecute(Sender: TObject); +var + vert_align: TsVertAlignment; +begin + if TAction(Sender).Checked then + vert_align := TsVertAlignment(TAction(Sender).Tag - VERTALIGN_TAG) + else + vert_align := vaDefault; + with WorksheetGrid do VertAlignments[Selection] := vert_align; + UpdateVertAlignmentActions; +end; + +procedure TMainFrm.AcWordwrapExecute(Sender: TObject); +begin + with WorksheetGrid do Wordwraps[Selection] := TAction(Sender).Checked; +end; + +procedure TMainFrm.BeforeRun; +begin + if ParamCount > 0 then + LoadFile(ParamStr(1)); +end; + +procedure TMainFrm.CbBackgroundColorGetColors(Sender: TCustomColorBox; Items: TStrings); +var + clr: TColor; + clrName: String; + i: Integer; +begin + if (WorksheetGrid <> nil) and (WorksheetGrid.Workbook <> nil) then begin + Items.Clear; + Items.AddObject('no fill', TObject(PtrInt(clNone))); + for i:=0 to WorksheetGrid.Workbook.GetPaletteSize-1 do begin + clr := WorksheetGrid.Workbook.GetPaletteColor(i); + clrName := WorksheetGrid.Workbook.GetColorName(i); + Items.AddObject(Format('%d: %s', [i, clrName]), TObject(PtrInt(clr))); + end; + end; +end; + +procedure TMainFrm.CbBackgroundColorSelect(Sender: TObject); +begin + if CbBackgroundColor.ItemIndex <= 0 then + with WorksheetGrid do BackgroundColors[Selection] := scNotDefined + else + with WorksheetGrid do BackgroundColors[Selection] := CbBackgroundColor.ItemIndex - 1; +end; + +procedure TMainFrm.FontComboBoxSelect(Sender: TObject); +var + fname: String; +begin + fname := FontCombobox.Items[FontCombobox.ItemIndex]; + if fname <> '' then + with WorksheetGrid do CellFontNames[Selection] := fName; +end; + +procedure TMainFrm.FontSizeComboBoxSelect(Sender: TObject); +var + sz: Integer; +begin + sz := StrToInt(FontSizeCombobox.Items[FontSizeCombobox.ItemIndex]); + if sz > 0 then + with WorksheetGrid do CellFontSizes[Selection] := sz; +end; + +procedure TMainFrm.FormActivate(Sender: TObject); +begin + WorksheetGridSelection(nil, WorksheetGrid.Col, WorksheetGrid.Row); +end; + +procedure TMainFrm.FormCreate(Sender: TObject); +begin + // Create the worksheet grid + WorksheetGrid := TsWorksheetGrid.Create(self); + with WorksheetGrid do begin + Parent := TabControl; + Align := alClient; + AutoAdvance := aaDown; + BorderStyle := bsNone; + MouseWheelOption := mwGrid; + Options := [goEditing, goFixedVertLine, goFixedHorzLine, goVertLine, + goHorzLine, goRangeSelect, goRowSizing, goColSizing, goThumbTracking, + goSmoothScroll, goFixedColSizing]; + TitleStyle := tsNative; + OnSelection := @WorksheetGridSelection; + end; + + // Create the syntax highlighter + FHighlighter := TSynWikitableSyn.Create(self); + SynEdit.Highlighter := FHighlighter; +// SynEdit.Highlighter := SynCSSSyn1; + + // Adjust format toolbar height, looks strange at 120 dpi + //FormatToolbar.Height := FontCombobox.Height + 2*FontCombobox.Top; + //FormatToolbar.ButtonHeight := FormatToolbar.Height - 4; + + + // Set the Tags of the Border actions + AcBorderNone.Tag := 0; + AcBorderLeft.Tag := LEFT_BORDER_THIN; + AcBorderHCenter.Tag := LR_INNER_BORDER_THIN; + AcBorderRight.Tag := RIGHT_BORDER_THIN; + AcBorderTop.Tag := TOP_BORDER_THIN; + AcBorderVCenter.Tag := TB_INNER_BORDER_THIN; + AcBorderBottom.Tag := BOTTOM_BORDER_THIN; + AcBorderBottomDbl.Tag := BOTTOM_BORDER_DOUBLE; + AcBorderBottomMedium.Tag := BOTTOM_BORDER_THICK; + AcBorderTopBottom.Tag := TOP_BORDER_THIN + BOTTOM_BORDER_THIN; + AcBorderTopBottomThick.Tag := TOP_BORDER_THIN + BOTTOM_BORDER_THICK; + AcBorderInner.Tag := LR_INNER_BORDER_THIN + TB_INNER_BORDER_THIN; + AcBorderOuter.Tag := LEFT_BORDER_THIN + RIGHT_BORDER_THIN + TOP_BORDER_THIN + BOTTOM_BORDER_THIN; + AcBorderOuterMedium.Tag := LEFT_BORDER_THICK + RIGHT_BORDER_THICK + TOP_BORDER_THICK + BOTTOM_BORDER_THICK; + AcBorderAll.Tag := AcBorderOuter.Tag + AcBorderInner.Tag; + + // Some initialization + FontCombobox.Items.Assign(Screen.Fonts); // Populate font combobox + FontCombobox.DropDownCount := DROPDOWN_COUNT; + FontSizeCombobox.DropDownCount := DROPDOWN_COUNT; + CbBackgroundColor.DropDownCount := DROPDOWN_COUNT; +// CbBackgroundColor.ItemHeight := FontCombobox.ItemHeight; + CbBackgroundColor.ColorRectWidth := CbBackgroundColor.ItemHeight - 6; // to get a square box... + + // Initialize a new empty workbook + AcNewExecute(nil); + + // Acitve control etc. + PageControl.ActivePage := PgTable; + ActiveControl := WorksheetGrid; +end; + +procedure TMainFrm.PageControlChange(Sender: TObject); +var + stream: TMemoryStream; +begin + // Switch toolbars according to the selection of the pagecontrol + CodeToolbar.Visible := PageControl.ActivePage = PgCode; + FormatToolbar.Visible := PageControl.ActivePage = PgTable; + ToolbarBevel.Top := Height; + + if (WorksheetGrid = nil) or (WorksheetGrid.Workbook = nil) then + exit; + + if PageControl.ActivePage = PgCode then begin + stream := TMemoryStream.Create; + try + WorksheetGrid.Workbook.WriteToStream(stream, sfWikitable_wikimedia); + stream.Position := 0; + SynEdit.Lines.LoadFromStream(stream); + finally + stream.Free; + end; + end; +end; + +procedure TMainFrm.LoadFile(const AFileName: String); +// Loads first worksheet from file into grid +var + pages: TStrings; + i: Integer; + err: String; +begin + // Load file + Screen.Cursor := crHourglass; + try + try + WorksheetGrid.LoadFromSpreadsheetFile(UTF8ToSys(AFileName)); + except + on E: Exception do begin + // In an error occurs show at least an empty valid worksheet + AcNewExecute(nil); + MessageDlg(E.Message, mtError, [mbOk], 0); + exit; + end; + end; + + // Update user interface + Caption := Format('spready - %s (%s)', [ + AFilename, + GetFileFormatName(WorksheetGrid.Workbook.FileFormat) + ]); + AcShowGridLines.Checked := WorksheetGrid.ShowGridLines; + AcShowHeaders.Checked := WorksheetGrid.ShowHeaders; + AcRowTitles.Checked := WorksheetGrid.FrozenCols <> 0; + AcColumnTitles.Checked := WorksheetGrid.FrozenRows <> 0; + SetupBackgroundColorBox; + + // Load names of worksheets into tabcontrol and show first sheet + WorksheetGrid.GetSheets(TabControl.Tabs); + TabControl.TabIndex := 0; + // Update display + WorksheetGridSelection(nil, WorksheetGrid.Col, WorksheetGrid.Row); + + finally + Screen.Cursor := crDefault; + + err := WorksheetGrid.Workbook.ErrorMsg; + if err <> '' then + MessageDlg(err, mtError, [mbOK], 0); + end; +end; + +procedure TMainFrm.SetupBackgroundColorBox; +begin + // This change triggers re-reading of the workbooks palette by the OnGetColors + // event of the ColorBox. + CbBackgroundColor.Style := CbBackgroundColor.Style - [cbCustomColors]; + CbBackgroundColor.Style := CbBackgroundColor.Style + [cbCustomColors]; + Application.ProcessMessages; +end; + +procedure TMainFrm.TabControlChange(Sender: TObject); +begin + WorksheetGrid.SelectSheetByIndex(TabControl.TabIndex); + WorksheetGridSelection(self, WorksheetGrid.Col, WorksheetGrid.Row); +end; + +procedure TMainFrm.UpdateBackgroundColorIndex; +var + sClr: TsColor; +begin + with WorksheetGrid do sClr := BackgroundColors[Selection]; + if sClr = scNotDefined then + CbBackgroundColor.ItemIndex := 0 // no fill + else + CbBackgroundColor.ItemIndex := sClr + 1; +end; + +procedure TMainFrm.UpdateHorAlignmentActions; +var + i: Integer; + ac: TAction; + hor_align: TsHorAlignment; +begin + with WorksheetGrid do hor_align := HorAlignments[Selection]; + for i:=0 to ActionList.ActionCount-1 do begin + ac := TAction(ActionList.Actions[i]); + if (ac.Tag >= HORALIGN_TAG) and (ac.Tag < HORALIGN_TAG+10) then + ac.Checked := ((ac.Tag - HORALIGN_TAG) = ord(hor_align)); + end; +end; + +procedure TMainFrm.UpdateFontNameIndex; +var + fname: String; +begin + with WorksheetGrid do fname := CellFontNames[Selection]; + if fname = '' then + FontCombobox.ItemIndex := -1 + else + FontCombobox.ItemIndex := FontCombobox.Items.IndexOf(fname); +end; + +procedure TMainFrm.UpdateFontSizeIndex; +var + sz: Single; +begin + with WorksheetGrid do sz := CellFontSizes[Selection]; + if sz < 0 then + FontSizeCombobox.ItemIndex := -1 + else + FontSizeCombobox.ItemIndex := FontSizeCombobox.Items.IndexOf(IntToStr(Round(sz))); +end; + +procedure TMainFrm.UpdateFontStyleActions; +var + style: TsFontStyles; +begin + with WorksheetGrid do style := CellFontStyles[Selection]; + AcFontBold.Checked := fssBold in style; + AcFontItalic.Checked := fssItalic in style; + AcFontUnderline.Checked := fssUnderline in style; + AcFontStrikeout.Checked := fssStrikeOut in style; +end; + +procedure TMainFrm.UpdateVertAlignmentActions; +var + i: Integer; + ac: TAction; + vert_align: TsVertAlignment; +begin + with WorksheetGrid do vert_align := VertAlignments[Selection]; + for i:=0 to ActionList.ActionCount-1 do begin + ac := TAction(ActionList.Actions[i]); + if (ac.Tag >= VERTALIGN_TAG) and (ac.Tag < VERTALIGN_TAG+10) then + ac.Checked := ((ac.Tag - VERTALIGN_TAG) = ord(vert_align)); + end; +end; + +procedure TMainFrm.WorksheetGridSelection(Sender: TObject; ACol, ARow: Integer); +var + r, c: Cardinal; + cell: PCell; +begin + if WorksheetGrid.Workbook = nil then + exit; + + r := WorksheetGrid.GetWorksheetRow(ARow); + c := WorksheetGrid.GetWorksheetCol(ACol); + + if AcCopyFormat.Checked then begin + WorksheetGrid.Worksheet.CopyFormat(@FCopiedFormat, r, c); + AcCopyFormat.Checked := false; + end; + + cell := WorksheetGrid.Worksheet.FindCell(r, c); + AcMergeCells.Checked := WorksheetGrid.Worksheet.IsMerged(cell); + + UpdateHorAlignmentActions; + UpdateVertAlignmentActions; + UpdateBackgroundColorIndex; + UpdateFontNameIndex; + UpdateFontSizeIndex; + UpdateFontStyleActions; +end; + + +initialization + {$I wtmain.lrs} + +end. +