diff --git a/demo/webwidget/nativedesign/frmmain.lfm b/demo/webwidget/nativedesign/frmmain.lfm index 7850e45..b0c1ea1 100644 --- a/demo/webwidget/nativedesign/frmmain.lfm +++ b/demo/webwidget/nativedesign/frmmain.lfm @@ -1,14 +1,13 @@ object MainForm: TMainForm - Left = 684 + Left = 508 Height = 541 - Top = 193 + Top = 119 Width = 698 Caption = 'IDE Design demo' ClientHeight = 541 ClientWidth = 698 OnCloseQuery = FormCloseQuery OnCreate = FormCreate - OnShow = FormShow LCLVersion = '2.1.0.0' object PBottom: TPanel Left = 0 @@ -21,15 +20,15 @@ object MainForm: TMainForm TabOrder = 0 object Project: TLabel Left = 25 - Height = 17 + Height = 16 Top = 15 - Width = 39 + Width = 42 Caption = 'Project' ParentColor = False end object FEProject: TFileNameEdit Left = 80 - Height = 29 + Height = 27 Top = 8 Width = 608 FileName = '/home/michael/P2JS/trunk/packages/webwidget/designdemo/designdemo.html' @@ -87,10 +86,23 @@ object MainForm: TMainForm TabOrder = 2 object TSBrowser: TTabSheet Caption = 'Design browser' + ClientHeight = 431 + ClientWidth = 688 + object BrowserWindow1: TBrowserWindow + Left = 0 + Height = 431 + Top = 0 + Width = 688 + Align = alClient + TabOrder = 0 + Chromium.OnBeforePopup = cwOnBeforePopup + OnBrowserCreated = BrowserWindow1BrowserCreated + OnBrowserClosed = BrowserWindow1BrowserClosed + end end object TSLog: TTabSheet Caption = 'Log' - ClientHeight = 430 + ClientHeight = 431 ClientWidth = 688 object MLog: TMemo Left = 0 @@ -112,1424 +124,110 @@ object MainForm: TMainForm object ILWidgets: TImageList Height = 32 Width = 32 - left = 384 - top = 16 + Left = 384 + Top = 16 Bitmap = { - 4C690B00000020000000200000004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 4700000000120000002D00000049000000490000002D000000124C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C704700000000210000007E0000 - 00CD000000FF000000FF000000FF000000FF000000FF000000FF000000CD0000 - 007D000000204C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047000000001400000090000000F9000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000F80000008E000000134C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C70470000000036000000E5000000FF000000FF000000FF0000 - 00F0000000A80000007C00000060000000600000007C000000A9000000F10000 - 00FF000000FF000000FF000000E4000000354C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C70470000000051000000F7000000FF000000FF000000DF0000005C0000 - 00064C7047004C7047004C7047004C7047004C7047004C704700000000060000 - 005D000000E0000000FF000000FF000000F6000000504C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 470000000036000000F7000000FF000000FF00000099000000074C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 4700000000080000009C000000FF000000FF000000F6000000354C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 0014000000E5000000FF000000FF000000794C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047000000007B000000FF000000FF000000E4000000134C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 0091000000FF000000FF0000009E4C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C70470000000099000000FF000000FF0000008E4C70 - 47004C7047004C7047004C7047004C7047004C7047004C704700000000210000 - 00F9000000FF000000DF000000074C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C70470000000008000000E1000000FF000000F80000 - 00204C7047004C7047004C7047004C7047004C7047004C7047000000007E0000 - 00FF000000FF0000005C4C7047004C7047004C7047004C7047004C7047000000 - 00190000000C4C7047004C7047004C7047004C7047004C7047000000001B0000 - 0025000000044C7047004C7047004C7047000000005F000000FF000000FF0000 - 007D4C7047004C7047004C7047004C7047004C7047004C704700000000CF0000 - 00FF000000F0000000064C7047004C7047000000002C000000B6000000F30000 - 00FF000000FF000000B54C7047004C70470000000035000000D1000000FF0000 - 00FF000000EC000000644C7047004C70470000000007000000F1000000FF0000 - 00CD4C7047004C7047004C7047004C7047004C70470000000012000000FE0000 - 00FF000000A84C7047004C7047000000002B000000F1000000FB0000009D0000 - 006B00000078000000674C7047000000001D000000EF000000F5000000720000 - 0060000000E4000000FF000000434C7047004C704700000000AA000000FF0000 - 00FE000000124C7047004C7047004C7047004C7047000000002F000000FF0000 - 00FF0000007A4C7047004C704700000000AC000000FF000000644C7047004C70 - 47004C7047004C7047004C70470000000084000000FF000000764C7047004C70 - 470000000045000000FF000000BC4C7047004C7047000000007D000000FF0000 - 00FF0000002E4C7047004C7047004C7047004C70470000000049000000FF0000 - 00FF000000614C7047004C704700000000E9000000FD0000000A4C7047000000 - 0083000000990000009900000018000000B2000000FF000000354C7047004C70 - 470000000005000000FC000000EB4C7047004C70470000000062000000FF0000 - 00FF000000484C7047004C7047004C7047004C70470000000048000000FF0000 - 00FF000000624C7047004C704700000000F0000000FD000000094C7047000000 - 00BD000000F2000000FF00000028000000B7000000FF000000334C7047004C70 - 470000000005000000FC000000EF4C7047004C70470000000063000000FF0000 - 00FF000000474C7047004C7047004C7047004C7047000000002E000000FF0000 - 00FF0000007B4C7047004C704700000000C0000000FF000000604C7047004C70 - 47000000009B000000FF0000002800000089000000FF000000744C7047004C70 - 470000000045000000FF000000BC4C7047004C7047000000007E000000FF0000 - 00FF0000002D4C7047004C7047004C7047004C70470000000012000000FE0000 - 00FF000000A94C7047004C70470000000044000000FC000000F9000000930000 - 0062000000C8000000FF000000280000001B000000F4000000F5000000730000 - 0060000000E4000000FE000000454C7047004C704700000000AB000000FF0000 - 00FE000000114C7047004C7047004C7047004C7047004C704700000000CD0000 - 00FF000000F3000000074C7047004C7047000000004A000000CF000000FF0000 - 00FF000000FF000000D60000001B4C70470000000043000000DC000000FF0000 - 00FF000000E4000000594C7047004C70470000000007000000F2000000FF0000 - 00CB4C7047004C7047004C7047004C7047004C7047004C7047000000007D0000 - 00FF000000FF0000005E4C7047004C7047004C7047004C7047000000000C0000 - 001D000000074C7047004C7047004C7047004C7047004C7047000000001F0000 - 0021000000014C7047004C7047004C70470000000060000000FF000000FF0000 - 007C4C7047004C7047004C7047004C7047004C7047004C704700000000200000 - 00F8000000FF000000E0000000084C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C70470000000009000000E2000000FF000000F80000 - 001F4C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 008E000000FF000000FF0000009F4C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047000000009B000000FF000000FF0000008C4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 0013000000E4000000FF000000FF0000007B4C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047000000007C000000FF000000FF000000E3000000124C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 470000000035000000F6000000FF000000FF0000009C000000084C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 4700000000090000009F000000FF000000FF000000F6000000344C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C70470000000050000000F6000000FF000000FF000000E10000005E0000 - 00074C7047004C7047004C7047004C7047004C7047004C704700000000070000 - 0060000000E2000000FF000000FF000000F6000000504C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C70470000000035000000E4000000FF000000FF000000FF0000 - 00F2000000A90000007D00000061000000610000007E000000AA000000F20000 - 00FF000000FF000000FF000000E3000000344C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C704700000000130000008E000000F8000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000F80000008D000000124C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C704700000000200000007D0000 - 00CD000000FF000000FF000000FF000000FF000000FF000000FE000000CC0000 - 007C0000001F4C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 4700000000120000002D00000049000000490000002C000000114C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047000000000C00000027000000280000000B4C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047000000000D0000005E0000 - 00AC000000CF000000BF000000A4000000A4000000C0000000CF000000AC0000 - 005C0000000D4C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C704700000000060000006E000000CF000000770000 - 00274C7047004C7047000000000A0000000C4C7047004C704700000000280000 - 0079000000CF0000006C000000054C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047000000001E000000C6000000780000000A000000240000 - 00110000004B000000290000002C0000003200000022000000520000000D0000 - 00270000000A0000007B000000C60000001D4C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C70470000000035000000CF000000360000001A0000001E0000002B0000 - 00134C7047004C7047004C7047004C7047004C7047004C704700000000100000 - 002F000000180000001C00000037000000CE000000344C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47000000001E000000CF0000001E000000010000001C0000001F4C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47000000001F000000214C7047000000001F000000CF0000001D4C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 0006000000C6000000364C704700000000724C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C704700000000720000000200000038000000C5000000054C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 006D0000007A0000001C000000224C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047000000001C0000001B0000007B0000006C4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047000000000D0000 - 00CF0000000A000000180000001D4C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047000000001F0000001E0000000B000000CF0000 - 000C4C7047004C7047004C7047004C7047004C7047004C7047000000005D0000 - 007800000028000000304C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047000000002900000025000000790000 - 005C4C7047004C7047004C7047004C7047004C7047004C704700000000AD0000 - 00270000000C0000000F4C7047004C7047004C7047000000004A000000A00000 - 00B000000072000000094C7047004C7047000000000700000074000000AD0000 - 009F000000494C7047004C7047004C70470000000014000000120000002A0000 - 00AA4C7047004C7047004C7047004C7047004C7047004C704700000000CF4C70 - 4700000000524C7047004C7047004C70470000000067000000F80000008B0000 - 0072000000DC000000B14C70470000000001000000BE000000DD000000750000 - 008E000000F9000000664C7047004C7047004C7047000000004A4C7047000000 - 00CF4C7047004C7047004C7047004C7047004C7047000000000E000000BD4C70 - 4700000000214C7047004C70470000000002000000EC000000724C7047004C70 - 470000000025000000AA0000001100000049000000FA000000214C7047004C70 - 470000000077000000EC000000024C7047004C704700000000294C7047000000 - 00C00000000C4C7047004C7047004C7047004C70470000000028000000A30000 - 000C000000334C7047004C70470000000020000000FF0000002B4C7047000000 - 002300000033000000330000000E0000007A000000D14C7047004C7047004C70 - 47000000002C000000FF0000001F4C7047004C7047000000002C000000090000 - 00A6000000254C7047004C7047004C7047004C70470000000026000000A50000 - 00090000002B4C7047004C70470000000020000000FF0000002C4C7047000000 - 008C000000CC000000FE0000004400000079000000D14C7047004C7047004C70 - 47000000002D000000FF0000001F4C7047004C704700000000320000000C0000 - 00A6000000254C7047004C7047004C7047004C7047000000000D000000BE4C70 - 4700000000294C7047004C70470000000002000000EC000000764C7047004C70 - 470000000021000000FF0000002200000049000000FA000000224C7047004C70 - 470000000078000000EA000000024C7047004C704700000000224C7047000000 - 00C10000000B4C7047004C7047004C7047004C7047004C704700000000CF4C70 - 47000000004A4C7047004C7047004C70470000000068000000FA0000008F0000 - 0072000000D8000000B24C70470000000001000000BF000000DE000000760000 - 0090000000FA000000654C7047004C7047004C704700000000524C7047000000 - 00CF4C7047004C7047004C7047004C7047004C7047004C704700000000AC0000 - 002800000012000000134C7047004C7047004C7047000000004B0000009F0000 - 00AE00000073000000074C7047004C7047000000000700000074000000AD0000 - 009E000000474C7047004C7047004C704700000000100000000C0000002C0000 - 00A84C7047004C7047004C7047004C7047004C7047004C7047000000005D0000 - 007800000025000000284C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C70470000000030000000270000007B0000 - 005A4C7047004C7047004C7047004C7047004C7047004C7047000000000D0000 - 00CF0000000A0000001E0000001F4C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047000000001E000000180000000B000000CF0000 - 000C4C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 006D0000007A0000001A0000001C4C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C704700000000220000001B0000007E0000006A4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 0006000000C50000003800000002000000714C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C704700000000724C70470000000038000000C4000000054C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47000000001D000000CE0000001E4C704700000000210000001F4C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 4700000000200000001C000000010000001F000000CE0000001C4C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C70470000000033000000CE000000370000001C00000018000000300000 - 00104C7047004C7047004C7047004C7047004C7047004C704700000000130000 - 002A0000001E0000001900000039000000CE000000334C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047000000001C000000C50000007C0000000B000000270000 - 000D0000005300000021000000330000002C000000290000004A000000110000 - 00240000000B0000007D000000C40000001C4C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C704700000000050000006B000000CF0000007A0000 - 002A4C7047004C7047000000000C000000094C7047004C7047000000002B0000 - 007A000000CF0000006A000000054C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047000000000C0000005B0000 - 00AB000000CF000000C1000000A4000000A5000000C1000000CF000000A90000 - 005B0000000C4C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047000000000B00000027000000260000000A4C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C704700000000070000008A000000E6000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000E600000089000000060000008A000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF00000088000000E6000000FF0000003A4C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47000000003B000000FF000000E5000000FF000000FF4C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C704700000000FF000000FF000000FF000000FF4C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C704700000000FF000000FF000000FF000000FF4C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C704700000000FF000000FF000000FF000000FF4C7047004C7047004C70 - 47004C7047000000004B000000E4000000E3000000494C7047004C7047004C70 - 47004C7047000000004B000000E4000000E3000000494C7047004C7047004C70 - 47004C7047000000004B000000E4000000E3000000494C7047004C7047004C70 - 47004C704700000000FF000000FF000000FF000000FF4C7047004C7047004C70 - 47004C704700000000E3000000FF000000FF000000E24C7047004C7047004C70 - 47004C704700000000E3000000FF000000FF000000E24C7047004C7047004C70 - 47004C704700000000E3000000FF000000FF000000E24C7047004C7047004C70 - 47004C704700000000FF000000FF000000FF000000FF4C7047004C7047004C70 - 47004C704700000000E3000000FF000000FF000000E24C7047004C7047004C70 - 47004C704700000000E3000000FF000000FF000000E24C7047004C7047004C70 - 47004C704700000000E3000000FF000000FF000000E24C7047004C7047004C70 - 47004C704700000000FF000000FF000000FF000000FF4C7047004C7047004C70 - 47004C70470000000049000000E3000000E2000000484C7047004C7047004C70 - 47004C70470000000049000000E3000000E2000000484C7047004C7047004C70 - 47004C70470000000049000000E3000000E2000000484C7047004C7047004C70 - 47004C704700000000FF000000FF000000FF000000FF4C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C704700000000FF000000FF000000FF000000FF4C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C704700000000FF000000FF000000FF000000FF4C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C704700000000FF000000FF000000E6000000FF0000003B4C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47000000003D000000FF000000E500000088000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000860000000600000089000000E5000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000E500000087000000064C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 0015000000AC000000F4000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000F4000000AC000000144C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00AC000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000AB4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00F4000000FF000000E2000000AA000000AA000000AA000000AA000000AA0000 - 00AA000000AA000000AA000000AA000000AA000000AA000000AA000000AA0000 - 00AA000000AA000000AA000000AA000000AA000000E2000000FF000000F34C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000A94C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C704700000000A9000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000A94C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C704700000000A9000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000A94C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C704700000000A9000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000A94C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C704700000000A9000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000A94C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 0006000000A3000000394C7047004C704700000000A9000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000A94C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C704700000000060000 - 00B1000000FF000000F1000000384C704700000000A9000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000A94C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000006000000AF0000 - 00FF000000FF000000E80000002A4C704700000000A9000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000A94C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C70470000000006000000AF000000FF0000 - 00FF000000E80000002A4C7047004C704700000000A9000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000A94C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C70470000000006000000AF000000FF000000FF0000 - 00E80000002A4C7047004C7047004C704700000000A9000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000A94C7047004C7047000000000E000000504C7047004C70 - 47004C7047004C70470000000006000000B1000000FF000000FF000000E50000 - 00274C7047004C7047004C7047004C704700000000A9000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000A94C7047000000000E000000C7000000FE000000694C70 - 47004C70470000000006000000B0000000FF000000FF000000E80000002A4C70 - 47004C7047004C7047004C7047004C704700000000A9000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000A94C70470000000050000000FD000000FF000000FD0000 - 006300000006000000B1000000FF000000FF000000E5000000264C7047004C70 - 47004C7047004C7047004C7047004C704700000000A9000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000A94C7047004C70470000000063000000FD000000FF0000 - 00FD000000CD000000FF000000FF000000E5000000264C7047004C7047004C70 - 47004C7047004C7047004C7047004C704700000000A9000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000A94C7047004C7047004C70470000000063000000FD0000 - 00FF000000FF000000FF000000E5000000264C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C704700000000A9000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000A94C7047004C7047004C7047004C704700000000630000 - 00FD000000FF000000E5000000264C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C704700000000A9000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000A94C7047004C7047004C7047004C7047004C7047000000 - 0062000000E60000002A4C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C704700000000A9000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000A94C7047004C7047004C7047004C7047004C7047004C70 - 47000000000C4C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C704700000000A9000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000A94C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C704700000000A9000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00F4000000FF000000E2000000AA000000AA000000AA000000AA000000AA0000 - 00AA000000AA000000AA000000AA000000AA000000AA000000AA000000AA0000 - 00AA000000AA000000AA000000AA000000AA000000E2000000FF000000F34C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00AB000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000AA4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 0014000000AB000000F3000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000F3000000AA000000144C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 4700000000120000002D000000490000004E0000003C000000144C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C704700000000210000007E0000 - 00CD000000FF000000FF000000FF000000FF000000FF000000FF000000CB0000 - 00760000001E4C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047000000001400000090000000F9000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000F90000008B0000000F4C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C70470000000036000000E5000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000E90000003D4C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C70470000000051000000F7000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000F90000005F4C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 470000000032000000F5000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FA000000514C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 0014000000E5000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FA000000524C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 0090000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FA000000524C7047004C7047000000000F0000006E4C70 - 47004C7047004C7047004C7047004C7047004C7047004C704700000000210000 - 00F9000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FA000000524C7047004C70470000000010000000C9000000FB0000 - 00254C7047004C7047004C7047004C7047004C7047004C7047000000007F0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FA000000514C7047004C70470000000010000000C9000000FF000000FF0000 - 00864C7047004C7047004C7047004C7047004C7047004C704700000000CE0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FA0000 - 00524C7047004C70470000000012000000CC000000FF000000FF000000FF0000 - 00DA4C7047004C7047004C7047004C7047004C70470000000012000000FE0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000ED000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FA000000524C70 - 47004C70470000000013000000CE000000FF000000FF000000FF000000FF0000 - 00FE000000144C7047004C7047004C7047004C7047000000002E000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000800000001C000000DB0000 - 00FF000000FF000000FF000000FF000000FF000000FA000000524C7047004C70 - 470000000014000000CF000000FF000000FF000000FF000000FF000000FF0000 - 00FF0000003B4C7047004C7047004C7047004C70470000000048000000FF0000 - 00FF000000FF000000FF000000FF000000A84C7047004C7047000000001C0000 - 00DB000000FF000000FF000000FF000000FA000000524C7047004C7047000000 - 0015000000D1000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF0000004C4C7047004C7047004C7047004C70470000000048000000FF0000 - 00FF000000FF000000FF000000FF000000FA000000514C7047004C7047000000 - 0018000000D6000000FF000000FA000000514C7047004C704700000000150000 - 00D2000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000474C7047004C7047004C7047004C7047000000002E000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FA000000514C7047004C70 - 470000000018000000D1000000514C7047004C70470000000016000000D20000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF0000002D4C7047004C7047004C7047004C70470000000012000000FE0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FA000000514C70 - 47004C704700000000044C7047004C70470000000018000000D5000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FE000000114C7047004C7047004C7047004C7047004C704700000000CD0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FC0000 - 00584C7047004C7047004C70470000000017000000D4000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00CB4C7047004C7047004C7047004C7047004C7047004C7047000000007E0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FC000000584C70470000000018000000D5000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 007C4C7047004C7047004C7047004C7047004C7047004C704700000000200000 - 00F8000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FA00000069000000DA000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000F80000 - 001F4C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 008E000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF0000008C4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 0013000000E4000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000E3000000124C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 470000000032000000F5000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000F7000000364C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C70470000000050000000F6000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000F6000000504C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C70470000000030000000E1000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000E5000000354C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C704700000000130000008E000000F8000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000F80000008D000000124C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C704700000000200000007D0000 - 00CD000000FF000000FF000000FF000000FF000000FF000000FE000000CC0000 - 007C0000001F4C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 4700000000120000002D00000049000000490000002C000000114C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047000000000D0000 - 007B000000A7000000AA000000AA000000AA000000AA000000AA000000AA0000 - 00AA000000AA000000AA000000AA000000AA000000AA000000AA000000AA0000 - 00AA000000AA000000AA000000AA000000AA000000AA000000A70000007A0000 - 000C4C7047004C7047004C7047004C7047004C70470000000004000000CA0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00C9000000044C7047004C7047004C7047004C7047000000003C000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF0000003A4C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C7047004C7047004C7047000000 - 00AA000000AA0000009C0000000E4C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000FF000000CC000000114C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000FF000000FF000000CC000000114C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C7047000000003B000000FF0000 - 00FF000000FF000000FF000000FF000000B7000000084C7047004C7047000000 - 0077000000FF000000FF000000FF000000FF000000CC000000114C7047004C70 - 470000000063000000FD000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000394C7047004C7047004C7047004C70470000000004000000C90000 - 00FF000000FF000000FF000000FF000000FF000000B3000000074C7047004C70 - 470000000077000000FF000000FF000000FF000000FF000000CC000000114C70 - 47004C70470000000066000000FE000000FF000000FF000000FF000000FF0000 - 00C8000000044C7047004C7047004C7047004C7047004C7047000000000C0000 - 0079000000A7000000AA000000AA000000AA000000AA0000005F4C7047004C70 - 47004C70470000000077000000FF000000FF000000FF000000FF000000CC0000 - 00114C7047004C70470000000060000000AA000000AA000000A7000000790000 - 000C4C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C70470000000077000000FF000000FF000000FF000000FF0000 - 00CC000000114C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C70470000000080000000FF000000FF000000FF0000 - 00F5000000394C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C70470000000080000000FF000000F50000 - 0043000000130000009C0000000E4C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047000000007B000000430000 - 0013000000D0000000FF000000BF4C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047000000000A0000 - 00D0000000FF000000FF000000AB4C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 0077000000FF000000B6000000074C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 470000000038000000054C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047000000000D0000 - 007A000000A7000000AA000000AA000000AA000000AA000000AA000000AA0000 - 00AA000000AA000000AA000000AA000000AA000000AA000000AA000000AA0000 - 00AA000000AA000000AA000000AA000000AA000000AA000000A70000007A0000 - 000C4C7047004C7047004C7047004C7047004C70470000000004000000CA0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00C9000000044C7047004C7047004C7047004C7047000000003D000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF0000003A4C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C7047004C7047004C7047000000 - 001600000046000000034C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C7047004C7047004C7047000000 - 00D8000000FF000000824C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C7047004C7047004C7047000000 - 00D7000000FF000000814C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C7047004C7047004C7047000000 - 001600000045000000034C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C704700000000174C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000063000000E20000 - 00144C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C7047004C704700000000194C70 - 47004C7047004C7047004C7047004C70470000000049000000FB000000FF0000 - 00B3000000014C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C7047000000004E000000F20000 - 003E4C7047004C7047004C7047000000002D000000F0000000FF000000FF0000 - 00FF000000744C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C70470000000025000000F0000000FF0000 - 00F40000003E4C7047000000001B000000E3000000FF000000FF000000FF0000 - 00FF000000FB0000003B4C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047000000000B000000D3000000FF000000FF0000 - 00FF000000F100000049000000D4000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000E1000000134C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C704700000000A1000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000B5000000014C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047000000000E000000550000005500000055000000550000 - 0055000000550000005500000055000000550000005500000055000000550000 - 0055000000550000005500000055000000124C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C7047000000003B000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000394C7047004C7047004C7047004C70470000000004000000C90000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00C7000000044C7047004C7047004C7047004C7047004C7047000000000C0000 - 0079000000A7000000AA000000AA000000AA000000AA000000AA000000AA0000 - 00AA000000AA000000AA000000AA000000AA000000AA000000AA000000AA0000 - 00AA000000AA000000AA000000AA000000AA000000AA000000A7000000780000 - 000C4C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 0015000000AC000000F4000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000F4000000AB000000144C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00AC000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000AA4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00F4000000FF000000E3000000AA000000AA000000AA000000AA000000AA0000 - 00AA000000AA000000AA000000AA000000AA000000AA000000AA000000AA0000 - 00AA000000AA000000AA000000AA000000AA000000E3000000FF000000F34C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000AA4C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C704700000000AA000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000AA4C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C704700000000AA000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000AA4C7047004C70470000000071000000AA000000AA0000 - 00AA000000AA000000AA000000AA000000AA000000AA000000AA000000AA0000 - 00AA000000AA000000714C7047004C704700000000AA000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000AA4C7047004C704700000000AB000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000AB4C7047004C704700000000AA000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000AA4C7047004C704700000000AB000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000AB4C7047004C704700000000AA000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000AA4C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C704700000000AA000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000AA4C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C704700000000AA000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000AA4C7047004C7047000000003800000055000000550000 - 00550000005500000055000000554C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C704700000000AA000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000AA4C7047004C704700000000AB000000FF000000FF0000 - 00FF000000FF000000FF000000FF4C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C704700000000AA000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000AA4C7047004C704700000000AB000000FF000000FF0000 - 00FF000000FF000000FF000000FF4C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C704700000000AA000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000AA4C7047004C7047000000003800000055000000550000 - 00550000005500000055000000554C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C704700000000AA000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000AA4C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047000000001C000000550000 - 005500000055000000550000005500000055000000C7000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000AA4C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000AA4C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF0000007F4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000AA4C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF0000007F4C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000AA4C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000FF000000FF000000FF000000FF0000007F4C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000AA4C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000FF000000FF000000FF0000007F4C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000AA4C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000FF000000FF0000007F4C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00F4000000FF000000E3000000AA000000AA000000AA000000AA000000AA0000 - 00AA000000AA000000AA000000AA000000AA000000AA000000C6000000FF0000 - 00FF000000FF000000804C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00AB000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000804C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 0014000000AB000000F3000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00804C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C70470000000015000000AC000000F4000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000F4000000AC00000014000000AC000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000AB000000F4000000FF000000E2000000AA0000 - 00AA000000AA000000AA000000AA000000AA000000AA000000AA000000AA0000 - 00AA000000AA000000AA000000AA000000AA000000AA000000C6000000FF0000 - 00FF000000C6000000AA000000AA000000AA000000AA000000AA000000AA0000 - 00AA000000E2000000FF000000F3000000FF000000FF000000A94C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C7047004C7047004C7047004C70 - 4700000000A9000000FF000000FF000000FF000000FF000000A94C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C7047004C7047004C7047004C70 - 4700000000A9000000FF000000FF000000FF000000FF000000A94C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C7047004C7047004C7047004C70 - 4700000000A9000000FF000000FF000000FF000000FF000000A94C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000550000000E00000055000000550000005500000055000000474C70 - 4700000000A9000000FF000000FF000000FF000000FF000000A94C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C70470000000077000000FF000000FF000000F1000000384C70 - 4700000000A9000000FF000000FF000000FF000000FF000000A94C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C70470000000077000000F1000000384C7047004C70 - 4700000000A9000000FF000000FF000000FF000000FF000000A94C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047000000001C4C7047004C7047004C70 - 4700000000A9000000FF000000FF000000FF000000FF000000A94C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C7047004C7047004C7047004C70 - 4700000000A9000000FF000000FF000000FF000000FF000000A94C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C7047004C7047004C7047004C70 - 4700000000A9000000FF000000FF000000FF000000FF000000A94C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C70470000000055000000FF0000 - 00FF000000554C7047004C7047004C7047004C7047004C7047004C7047004C70 - 4700000000A9000000FF000000FF000000F4000000FF000000E2000000AA0000 - 00AA000000AA000000AA000000AA000000AA000000AA000000AA000000AA0000 - 00AA000000AA000000AA000000AA000000AA000000AA000000C6000000FF0000 - 00FF000000C6000000AA000000AA000000AA000000AA000000AA000000AA0000 - 00AA000000E2000000FF000000F3000000AB000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000AA00000014000000AB000000F3000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000F3000000AA000000144C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000FF000000FF000000FF000000FF000000AB4C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 4700000000AB000000FF000000FF000000FF000000FF000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000FF000000FF000000FF000000FF000000AB4C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 4700000000AB000000FF000000FF000000FF000000FF000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000E3000000AA000000AA000000AA000000714C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 470000000071000000AA000000AA000000AA000000E3000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000AA4C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C704700000000AA000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000AA4C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C704700000000AA000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000AA4C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C704700000000AA000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00AB000000AB000000714C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C70470000000071000000AB000000AB4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C704700000000300000002F4C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047000000002F000000FD000000FD0000002F4C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047000000002F000000FD000000FD0000002E4C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047000000002F0000002F4C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00AB000000AB000000714C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C70470000000071000000AB000000AB4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000AA4C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C704700000000AA000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000AA4C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C704700000000AA000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000AA4C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C704700000000AA000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000E3000000AA000000AA000000AA000000714C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 470000000071000000AA000000AA000000AA000000E3000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000FF000000FF000000FF000000FF000000AB4C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 4700000000AB000000FF000000FF000000FF000000FF000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00FF000000FF000000FF000000FF000000FF000000FF000000AB4C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 4700000000AB000000FF000000FF000000FF000000FF000000FF000000FF4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047000000000A0000006C0000009F0000008D000000474C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C704700000000120000003E0000005500000055000000550000 - 001F0000000D000000D7000000FF000000FF000000FF000000FF000000804C70 - 470000000009000000350000004B0000004A000000154C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 470000000021000000AC000000FA000000FF000000FF000000FF000000FF0000 - 003400000068000000FF000000FF000000FF000000FF000000FF000000F90000 - 009D000000F6000000FF000000FF000000FF000000FC00000094000000064C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 0037000000EE000000FF000000FF000000FF000000FF000000FF000000FF0000 - 000F0000009C000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000AA4C70 - 47004C7047004C7047004C7047004C7047004C7047004C704700000000150000 - 00E6000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 0007000000A3000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 004D4C7047004C7047004C7047004C7047004C7047004C7047000000008D0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 001E00000089000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00B74C7047004C7047004C7047004C7047004C70470000000003000000ED0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00540000004B000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00F6000000054C7047004C7047004C7047004C7047000000002F000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00A200000007000000E8000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF0000002D4C7047004C7047004C7047004C7047000000004B000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00F80000001700000079000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000AD000000AD000000FF0000 - 00FF000000424C7047004C7047004C7047004C7047000000004B000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF0000009800000008000000DA000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000AD000000AD000000FF0000 - 00FF000000504C7047004C7047004C7047004C70470000000031000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FC0000004100000031000000F3000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000474C7047004C7047004C7047004C70470000000004000000EF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000E8000000270000003B000000E3000000FF000000FE0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF0000002E4C7047004C7047004C7047004C7047004C704700000000970000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000E70000004C0000000C0000006B000000FF0000 - 00B000000062000000CA000000FF000000FF000000FF000000FF000000FF0000 - 00FF0000000F4C7047004C7047004C7047004C7047004C704700000000300000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000EC000000F8000000DF0000 - 00094C7047000000000C000000DE000000FF000000FF000000FF000000FF0000 - 00EB4C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 00CC000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000794C70 - 47004C7047004C70470000000079000000FF000000FF000000FF000000FF0000 - 00B74C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 0076000000FF000000FF000000FF000000FF000000FF000000FF000000FF0000 - 00FF000000FF000000FF000000FF000000FF000000FF000000FF000000334C70 - 47004C7047004C7047000000002E000000FF000000FF000000FF000000FF0000 - 00754C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 0035000000FF000000FF000000FF000000FF000000FF000000C7000000550000 - 0055000000C7000000FF000000FF000000FF000000FF000000FC000000074C70 - 47004C7047004C70470000000014000000FF000000FF000000FF000000FE0000 - 00254C7047004C7047004C7047004C7047004C7047004C7047004C7047000000 - 0005000000F8000000FF000000FF000000FF000000FF000000AA4C7047004C70 - 4700000000AA000000FF000000FF000000FF000000FF000000E04C7047004C70 - 47004C7047004C70470000000008000000FF000000FF000000FF000000B14C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 4700000000DD000000FF000000FF000000FF000000FF000000AA4C7047004C70 - 4700000000AA000000FF000000FF000000FF000000FF000000CD4C7047004C70 - 47004C7047000000000700000086000000FF000000FF000000ED0000001F4C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 4700000000C1000000FF000000FF000000FF000000FF000000AA4C7047004C70 - 4700000000AA000000FF000000FF000000FF000000FF000000BF4C7047004C70 - 47004C70470000000055000000FF000000FE000000B7000000244C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 4700000000B3000000FF000000FF000000FF000000FF000000AA4C7047004C70 - 4700000000AA000000FF000000FF000000FF000000FF000000B14C7047004C70 - 47004C7047000000001C0000004B0000001E4C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 4700000000B0000000FF000000FF000000FF000000FF000000AA4C7047004C70 - 4700000000AA000000FF000000FF000000FF000000FF000000A74C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 4700000000AC000000FF000000FF000000FF000000FF000000AA4C7047004C70 - 4700000000AA000000FF000000FF000000FF000000FF000000A94C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C7047004C7047004C7047004C7047004C7047004C70 - 47004C7047004C7047004C704700 + 4C7A0B0000002000000020000000C50B00000000000078DAED5D699055C5150E + 080C030308837112C7199CC8BE86715844A84A0C1907480A49A8CAA2322E7183 + A43204D1C7366429A389A2565295582E643181594C2096F22711A91290004EC8 + A615E33683C4441390C588C6999C637D973AB67DEFEBBEB7EFBB03F4ABFAEABD + D77DBBBFBEDDA74F2FB7CFB9F3BE5EFBA1791E56A0CF10C278421DC0BF87A4CC + 791E610D612FA12B041CB79A30CC21EF50C2DD84E311BC2ADE22AC239426E49E + 427845C9FB1061236115A11EE0DF4D8437946BF7136A62725F4AF8AFC8EB45C2 + 65843E1169FA102E27BC24D2BD49981FE3BE25F7BD84228BF47D09F72B65A8B1 + 686F59E7B904EDB752698B528334F788340F3A90DF7B457EEB0CFAD871D1DE45 + 0EF8B92D5E16FD6258C4B56B44592F0BB9E623849290B87308C309BD94F04522 + DFD511FC6DA28FF511E1E3088F118E887C1E15F135847D22EE75C23522BE48F4 + CDBD113AB513D76C14E16391F61DC20384C5845B08D721FE5CC241C231C252E8 + 83FDC8E762914F33C23A75BA9A3E1345F95788F056845D1352EEEF207EB9089B + 8DB0DF8AB0D522FF099A7CEA44FC9522FC9F847709FDF0FFDB90694619E13748 + 5323D2F426FC8FF09A08BB4AE47F8986FF12117F95083F04FE62FCFF1DE130AE + 1B45D882DFD51AFE8322EC6A917FAD867F82885F29C29F4058BD08BB4FF0DF8E + DFCBF2D4BFEC5BE3F3C85F9308FF14EE85F5C20F508F4F097EEE7347217FDF10 + F2C779CD16F9B408F91B1C224BC1D87E44EA1EFACC117D33C05F991BF11713FE + AEE8DA2F2AFD2F68B3DD11FD5FCAE8159AF812F4B7A290F495D0A13D94F07A91 + EFAA08FE61D0915D1843FB3AD0BFC58476A17F2BF35CBF4E9475BD03FEFB447E + 77185C5F2AF4D7FBFA420CEE55229F0ED3392AF4F99B22EDFD366D813A5FAFCC + 3F2EB02CFB7CA50C3C865E11352643CEEB457BC79A7F29F5B05FE9778731D7E4 + BE7225B006E3CB61E5DA0EDBFB0E918775A25F98CEBFEF74B92641DF5C1DB1FE + 60BDB607325759E0F5D7B8309DEAE191920CF25838127380FE05E01B00FDD78A + B9C056C243C013086BC51A7580435E5ED37E0DF9DFCCF72CE2FAC9B508EA2287 + 6B97F03C302177056107E6FBCC753EF773C25CC268F4FBC9842AC202D4D1485C + BB1269CF4DA0FBDBB016FF28CA32366A0D4B9F33B18EE0797939612AE1E91863 + 5F05B8F9BB07F2AAB448FFDE3C4CFC6E33AD07B437D7DB14FC5F9AA0FD783DD6 + 93308DB0DD441EE8F3555E7FE19EAB1CC86F39E6E82C0F4B0CFA581BE4A72CAE + EC68DA82DBB13FF22E89B8F672C83AF7A3490EFBF068EC0BE4C2F61570DDC3E8 + 3FACDB062971BC06F9096113DAB55899772D437A9EF7D569F69478CC1EC3F3A4 + A8FD077C2F50C2AFC39CE6FBE0E6B5CE66C471FF789CF03CE126CC9578AD76AD + 5A7EC9A1E11EC86BDB601F4884F7C47EC65211361CF3BDC1987FBCADA4B91969 + 7ACA3610EBD9120D3FB7F9CF51F7D5CABC8BE75763F1FF631C0F0C445FD9A7E4 + 350E692A95309E97FF92CBAFE11F41F805AE19ABE11F87FF77609ED789B5714E + C33F5EC33F19F716C6CF7DEF7159574AFD2F57F6E9BAA0F783FAAF12F1DC87FE + A5D47F15BEB7858DD742FEE628E1D783E32EC8DFB3BCEF22E48FC7E217B88CD8 + 2BE76BBFA2E4B1204AFEC45ED328F49552256E2EFAD6AFB0CF5014D2FF1E54F7 + 57302E954006361AE81F96EF510EF5CF24E815D6C15F32D4BF152ED611C8A7CC + 44FF2AE30F8FF9E50EF8AB30FEF01AF146C3F1773BC64C96FD8624E32FBE39AF + 274DE763D8E3E1794B85E86F95966BC572F48D4AE4556E59F66AA49B8ABCCA20 + 4767E6592B8F419BF33EF974E4519D60EEB01D6BDAFE906196D1CFA14EAAD1A7 + 46637C1C8C396A7FAC959F4C2A43D84B5D0CD965B91CA3AC418A95BDF215B8F6 + C6A4F36FCD7AE7CBD8C76C831E7D0863C6368435E19A9202AC8782F61811EC8D + 7B7878787858E9519E3B7E8F70C0627F39290EE0B95D1F70776584DBC47D5F58 + C03A9F01CE13E72C3268F7F7D585E7FF40FC5C3CFBE950F7331CC5E7E3EF10F1 + ED29C47777FE3AE4D11E725E2169BC97FFEEC11FE8DF1905E49E29F4EF6D198E + 3FB7620CBC5D73CE314D30D777A3CE327A787878789C76EBC1B3F01CE2A8C3F1 + E628F21C6AC0DF9AE2B8D762C01FDC773B9EF1B940701EED88C5BCA8C9619B36 + 99CEF33CFFC9CD8FF9243F479E5E687E706F467A3EB33FAD50FCE0FEB548FF6A + F0AC246DFE28EEB4F9F371BBE0C73983F979DA3B58578C7429FFE0DE89F30637 + 28DC9BA2EEDB11FF7CD83F74E1FBEA90FB1E9156FF07A72CC35E536E57F2A794 + C198DBA5FC2B6530E276DDFF60FF71204CD60AA1FF6D9FAF9E64E35FD6F3AF96 + 14E79FCD86F6972D8AAD5D521C413D0CF56B1C0F0FA7F6279F255C9476DF32B4 + FFDF8D33881519DBFF1FC759DD4129D8FFDB806D67673AB2FF8F0BAE8B4596DC + 93614FEA42F7F359D44B2DDBFB1587DC0B2CEFFDEE34B85916D98EC5C2FEDF25 + 379FBFDD051BF6E111FC8DAEDB5B709F78E614C1FFB4E3FB1E82B3E2F29ABF19 + D8FFEBF06F4BEED290FBE9D4E96AC5FE5CC55A9C057DCE907BA8C65E5B62461E + FB7B898DCA79D4E7F2709FA5F862D0619E05BF2A4F65B03DD7C531F71F0DE4A4 + D6B2FE7565D8A7847DD890DBC4FEDFA40CBD94F2FCC590DBC4FE3F0CEC87E00B + 4A9AB3097FB6E8A3BB0DFD8FE42D83E57DDBDAFFE7EBEB37B02EB1E4B6B5FF77 + 8D38F6FFAE6063FFEF72FED18579D49484F6FF7191C4FE7F92F0DD13F79C454D + C239B0B7FFF7F6FF1E1E1E1EA7FABEDA00D8886E70B8F71F60036CE3C27CE7F5 + 22FCBE00672F77A9FEF9C07F5101CF7F5EA8E15F28E217A6D0B691F97B7ECF6F + C22FFA33FB241B9801BFEC477B4CE79D29F11B97C1807F4688AED8227DBFC1B7 + 45641942CE0A484C0FD1BFBB42AE7F44F1776052866B43F6739ED2E95F61E39C + 0B197F1629D79A94A15E197F722E6DA34DCA5080317BADC27F4CD7BE052AC331 + F8C22CB5D50F0ECAB05270FF01E5D95AE07AE827B88DCEBBA6508640261F73E1 + 3F396619A6B9F47DE0E1E151B0F5DF8AD374FD37D3AFFF4E8AF5073F67FC34E1 + 8C8CF89FC535DFCA88FF195CF3CD0CEB7F7656F59F87E3ECACF8B1E66A0F3B87 + E6829F7D6A8584D7E16C4BB056EBE19A1FE7ECD8BFF62C8DAFC1438A7E5BE692 + 1FFEF00E095BB659083F47F17310E01DF58C475C7EF8B9FA9392FF1BA8F3A8E7 + FE2F4B1F8209F87F9A609C7934908538FCB0FD58981043FCFE5BA2FD9F3460BB + FFE3123B63EEFFB8987FDE5208DF781E1E1E1EDDCCFEBFA51BD8FF9BD85F1D15 + E7E55CE9FE8E18F6FFCD0EDBB43986FD5FB7E1671FC831EABCC1217F1C9BC096 + 5385DFCBDF7BCF13B4EB8B02F187B6FF69C29F69FD5BF80A0F5B83EE2C00FF42 + 13BD90317F6386FC8D86F9A4C1DF68918F6BFE46CB7C5CF237C6D0D571E75F3B + 549BAD9863850BFBFFB509C6AAA4F6FF6BFD3AC6C3C3C3C323A3FD1E637F9029 + EFF7E45D233BF43724E71F3B4CFD11B9F2B764F3FC48FA63F2FCE9F0873CBBAC + 2DE4FD2BE783B5FE18D3AE7F94E1047716EDAFBE83CBCB7FB7E2CF5AFFB66438 + FE34A7E4EFCDFB83F3F0F0F0F088FB5E1E6BDFF92E9E177523FE8EB0E7C90679 + 34843CFFF7CF5FBB3F7F0BD0E090BF21C8D7EB98534A57B27FA88919714F848D + F5BB599441E19F90611D4CF4B2784AF5A94CF5AF1FFFBA0D7FD6F3AFD372FEEB + E1E1E17112CC13D8D7C912C27AF83AAD4DC9CFE82CE5195E25FC143C1376F68A + 3EC5ECF715EF009FC3CFD82D79CFC373F1B7351C1710AE8F78D7C0031ABFB9EC + B3F98726EFFBA5CF54C27F22C6A141F0ADE3DCFE0267110EE4C9A308EFB78BFB + ECE33311FC771AA4AFC0FB9AE3F26F09E13EC3C0C73DE3F390AB24FE907B87AC + A54CD2FF0C6DF06A8232E8FCAF9BDED35BF0799EB3E07B1808FE7F32013FE3C7 + EC13CDC2FFB8CAAF7B97DEC72DF8B93F7F0269E23C37AC0DB1BF3D689107B7FF + 48D80D77081FD026692784F4811F59DEC73FF85D06B0DB5D8CB04D78475B942F + 974111FB3971E4F975C8E58BACFB852DF10B9A6B5FCBA303F724E8573925AF9C + A9FE11699627E0AF56F2D2BDD3E1A63CFC351176DB1FB0A750FA4491E62CB5EA + A37C781EFEDE21BED69B75EB5981973479F555AED96C38FE3F1F837FAF9207EB + E85B95F7A7541AF26F8BC1BF35E43C48277C489E6F31FF792406FF668D3DCEDC + 38EFC252DE2B6ACABFC1E1BCB335067F935F1778D8E2FFBC21AD6A } end object ALWidgets: TActionList Images = ILWidgets - left = 344 - top = 16 + Left = 344 + Top = 16 object AGo: TAction Caption = 'AGo' ImageIndex = 0 @@ -1543,11 +241,4 @@ object MainForm: TMainForm OnExecute = AGoExternalExecute end end - object tmrShowChromium: TTimer - Enabled = False - Interval = 300 - OnTimer = tmrShowChromiumTimer - left = 84 - top = 116 - end end diff --git a/demo/webwidget/nativedesign/frmmain.pp b/demo/webwidget/nativedesign/frmmain.pp index 382d5f4..1a4e832 100644 --- a/demo/webwidget/nativedesign/frmmain.pp +++ b/demo/webwidget/nativedesign/frmmain.pp @@ -5,16 +5,14 @@ unit frmmain; interface uses - Classes, SysUtils, webideintf, Forms, Controls, Graphics, Dialogs, EditBtn, ExtCtrls, ComCtrls, StdCtrls, ActnList, - {$IFDEF LINUX} - WebBrowserCtrls, WebBrowserIntf, - {$ELSE} + Classes, SysUtils, webideintf, Forms, Controls, Graphics, Dialogs, EditBtn, + ExtCtrls, ComCtrls, StdCtrls, ActnList, GlobalCefApplication, + {$IFDEF DARWIN} uCEFLazarusCocoa, {$ENDIF} {$IFDEF WINDOWS} - Windows, Messages, uCEFChromium, uCEFWindowParent, uCEFChromiumWindow, uCEFTypes, uCEFInterfaces, uCEFWinControl, uCEFApplication, - {$ELSE} - {$ERROR Unsupported platform} + Windows, Messages, {$ENDIF} - {$ENDIF} fpJSON; + uCEFChromium, uCEFWindowParent, uCEFChromiumWindow, uCEFTypes, uCEFInterfaces, + uCEFWinControl, uCEFApplication, uCEFWorkScheduler, uCEFBrowserWindow, fpJSON, uCEFChromiumEvents; type @@ -24,6 +22,7 @@ type AGoExternal: TAction; AGo: TAction; ALWidgets: TActionList; + BrowserWindow1: TBrowserWindow; FEProject: TFileNameEdit; ILWidgets: TImageList; MLog: TMemo; @@ -31,7 +30,6 @@ type Project: TLabel; PBottom: TPanel; TBExternalGo: TToolButton; - tmrShowChromium: TTimer; TSInspector: TTabSheet; TSBrowser: TTabSheet; TSLog: TTabSheet; @@ -41,47 +39,8 @@ type procedure AGoExecute(Sender: TObject); procedure AGoExternalExecute(Sender: TObject); procedure AGoUpdate(Sender: TObject); - procedure DEProjectEditingDone(Sender: TObject); - procedure FormCloseQuery(Sender: TObject; var CanClose: boolean); - procedure FormCreate(Sender: TObject); - procedure FormShow(Sender: TObject); - procedure tmrShowChromiumTimer(Sender: TObject); - private - FClientID : Int64; // Just one for now - FDesignCaption : String; - FWebIDEIntf : TIDEServer; - FWidgetCount : Integer; - FWidgets : Array of String; - FURL : String; - FURLCount : Integer; - FCanClose : Boolean; - FAllowGo: Boolean; -{$IFDEF LINUX} - FWBDesign : TWebBrowser; - FWIDesign : TWebInspector; - FLastEmbeddedURI : String; - procedure wbDesignConsoleMessage(Sender: TObject; const Message, Source: string; Line: Integer); - procedure wbDesignError(Sender: TObject; const Uri: string; ErrorCode: LongWord; const ErrorMessage: string; var Handled: Boolean); - procedure wbDesignFavicon(Sender: TObject); - procedure wbDesignHitTest(Sender: TObject; X, Y: Integer; HitTest: TWebHitTest; const Link, Media: string); - procedure wbDesignLoadStatusChange(Sender: TObject); - procedure wbDesignLocationChange(Sender: TObject); - procedure wbDesignNavigate(Sender: TObject; const Uri: string; var aAction: TWebNavigateAction); - procedure wbDesignProgress(Sender: TObject; Progress: Integer); - procedure wbDesignRequest(Sender: TObject; var Uri: string); - procedure wbDesignScriptDialog(Sender: TObject; Dialog: TWebScriptDialog; const Message: string; var Input: string; var Accepted: Boolean; var Handled: Boolean); -{$ENDIF} -{$IFDEF WINDOWS} - FClosing : Boolean; - cwDesign : TChromiumWindow; - procedure WMMove(var aMessage : TWMMove); message WM_MOVE; - procedure WMMoving(var aMessage : TMessage); message WM_MOVING; - // You also have to handle these two messages to set GlobalCEFApp.OsmodalLoop - procedure WMEnterMenuLoop(var aMessage: TMessage); message WM_ENTERMENULOOP; - procedure WMExitMenuLoop(var aMessage: TMessage); message WM_EXITMENULOOP; - procedure cwBeforeClose(Sender: TObject); - procedure cwClose(Sender: TObject); - procedure cwAfterCreated(Sender: TObject); + procedure BrowserWindow1BrowserClosed(Sender: TObject); + procedure BrowserWindow1BrowserCreated(Sender: TObject); procedure cwOnBeforePopup(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; const targetUrl, targetFrameName: ustring; targetDisposition: TCefWindowOpenDisposition; @@ -91,6 +50,21 @@ type var extra_info: ICefDictionaryValue; var noJavascriptAccess: Boolean; var Result: Boolean); + procedure DEProjectEditingDone(Sender: TObject); + procedure FormCloseQuery(Sender: TObject; var CanClose: boolean); + procedure FormCreate(Sender: TObject); + private + FClientID : Int64; // Just one for now + FDesignCaption : String; + FWebIDEIntf : TIDEServer; + FWidgetCount : Integer; + FWidgets : Array of String; + FURL : String; + FURLCount : Integer; + FAllowGo: Boolean; +{$IFDEF WINDOWS} + procedure WMEnterMenuLoop(var aMessage: TMessage); message WM_ENTERMENULOOP; + procedure WMExitMenuLoop(var aMessage: TMessage); message WM_EXITMENULOOP; {$ENDIF} function GetProjectURL: String; procedure DoAddWidget(Sender: TObject); @@ -102,7 +76,6 @@ type procedure LogRequest; Procedure RegisterWidgets; Procedure RegisterWidget(aWidget: String; aImageIndex : Integer); - procedure SetUpEmbeddedBrowser; public Procedure Log(Msg : String); Procedure Log(Fmt : String; Args : Array of const); @@ -127,15 +100,9 @@ end; procedure TMainForm.FormCloseQuery(Sender: TObject; var CanClose: boolean); begin FWebIDEIntf.Active:=False; - CanClose:=FCanClose; -{$IFDEF WINDOWS} - if not(FClosing) then - begin - FClosing := True; - Visible := False; - cwDesign.CloseBrowser(True); - end; -{$ENDIF} + BrowserWindow1.CloseBrowser(True); + CanClose:=BrowserWindow1.IsClosed; + Visible := False; end; Function TMainForm.GetProjectURL : String; @@ -145,19 +112,13 @@ begin end; procedure TMainForm.AGoExecute(Sender: TObject); - Var URL : String; begin URL:=GetProjectURL; Log('Going to URL: %s',[URL]); -{$IFDEF LINUX} - FWBDesign.Location:=URL; -{$ENDIF} -{$IFDEF WINDOWS} - cwDesign.LoadURL(URL); -{$ENDIF} + BrowserWindow1.LoadURL(URL); end; procedure TMainForm.AGoExternalExecute(Sender: TObject); @@ -175,20 +136,23 @@ begin (Sender as Taction).Enabled:=FAllowGo; end; +procedure TMainForm.BrowserWindow1BrowserClosed(Sender: TObject); +begin + Close; +end; + +procedure TMainForm.BrowserWindow1BrowserCreated(Sender: TObject); +begin + // Now the browser is fully initialized we can load the initial web page. + FAllowGo:=True; +end; + procedure TMainForm.FormCreate(Sender: TObject); - - - begin FAllowGo:=False; FDesignCaption:=Caption; -{$IFDEF Linux} - MimeTypes.LoadFromFile('/etc/mime.types'); -{$ENDIF} -{$IFDEF WINDOWS} - MimeTypes.LoadFromFile(ExtractFilePath(Paramstr(0))+'mime.types'); -{$ENDIF} - FEProject.FileName:=ExtractFilePath(Paramstr(0))+'designdemo'+PathDelim+'designdemo.html'; + MimeTypes.LoadKnownTypes; + FEProject.FileName:=ExtractFilePath(ExtractFilePath(Paramstr(0)))+'designdemo'+PathDelim+'designdemo.html'; FWebIDEIntf:=TIDEServer.Create(Self); FWebIDEIntf.ProjectDir:=ExtractFilePath(FEProject.FileName); FWebIDEIntf.OnClientAdded:=@DoClientCame; @@ -196,65 +160,11 @@ begin FWebIDEIntf.OnRequest:=@DoLogRequest; FWebIDEIntf.OnAction:=@DoAction; FWebIDEIntf.Active:=True; - RegisterWidgets; - SetUpEmbeddedBrowser; -end; - -procedure TMainForm.FormShow(Sender: TObject); -begin -{$IFDEF WINDOWS} - with cwDesign do - begin - ChromiumBrowser.OnBeforePopup := @cwOnBeforePopup; - if not CreateBrowser then - tmrShowChromium.Enabled := True; - end; -{$ENDIF} -end; - -procedure TMainForm.tmrShowChromiumTimer(Sender: TObject); -begin - tmrShowChromium.Enabled := False; -{$IFDEF WINDOWS} - With cwDesign do - if not (CreateBrowser or Initialized) then - tmrShowChromium.Enabled := True; -{$ENDIF} -end; - -{$IFDEF WINDOWS} -procedure TMainForm.SetUpEmbeddedBrowser; - -begin - FCanClose:=False; - cwDesign:=TChromiumWindow.Create(Self); - With cwDesign do - begin - Parent:=TSBrowser; - Align:=alClient; - OnClose:=@cwClose; - OnBeforeClose:=@cwBeforeClose; - OnAfterCreated:=@cwAfterCreated; - end; TSInspector.TabVisible:=False; + RegisterWidgets; end; -procedure TMainForm.WMMove(var aMessage : TWMMove); - -begin - inherited; - if (cwDesign <> nil) then - cwDesign.NotifyMoveOrResizeStarted; -end; - -procedure TMainForm.WMMoving(var aMessage : TMessage); - -begin - inherited; - if (cwDesign <> nil) then - cwDesign.NotifyMoveOrResizeStarted; -end; - +{$IFDEF WINDOWS} procedure TMainForm.WMEnterMenuLoop(var aMessage: TMessage); begin @@ -270,23 +180,7 @@ begin if (aMessage.wParam = 0) and (GlobalCEFApp <> nil) then GlobalCEFApp.OsmodalLoop := False; end; - -procedure TMainForm.cwBeforeClose(Sender: TObject); -begin - FCanClose := True; - PostMessage(Handle, WM_CLOSE, 0, 0); -end; - - -procedure TMainForm.cwClose(Sender: TObject); -begin - // DestroyChildWindow will destroy the child window created by CEF at the top of the Z order. - if not(cwDesign.DestroyChildWindow) then - begin - FCanClose := True; - Close; - end; -end; +{$ENDIF} procedure TMainForm.cwOnBeforePopup(Sender: TObject; const browser: ICefBrowser; const frame: ICefFrame; const targetUrl, @@ -302,112 +196,6 @@ begin Result := (targetDisposition in [WOD_NEW_FOREGROUND_TAB, WOD_NEW_BACKGROUND_TAB, WOD_NEW_POPUP, WOD_NEW_WINDOW]); end; -procedure TMainForm.cwAfterCreated(Sender: TObject); -begin - // Now the browser is fully initialized we can load the initial web page. - FAllowGo:=True; -end; - -{$ENDIF} - -{$IFDEF LINUX} -procedure TMainForm.SetUpEmbeddedBrowser; - -begin - FAllowGo:=True; - FCanClose:=True; - FWBDesign:=TWebBrowser.Create(Self); - With FWBDesign do - begin - Parent:=TSBrowser; - Align:=alClient; - DesignMode := False; - SourceView := False; - ZoomContent := False; - ZoomFactor := 1; - { lots of logging } - OnConsoleMessage:=@wbDesignConsoleMessage; - OnScriptDialog:=@wbDesignScriptDialog; - OnError:=@wbDesignError; - OnFavicon:=@wbDesignFavicon; - OnHitTest:=@wbDesignHitTest; - OnLoadStatusChange:=@wbDesignLoadStatusChange; - OnLocationChange:=@wbDesignLocationChange; - OnNavigate:=@wbDesignNavigate; - OnProgress:=@wbDesignProgress; - OnRequest:=@wbDesignRequest; - end; - FWIDesign:=TWebInspector.Create(Self); - With FWIDesign do - begin - Parent:=TSInspector; - Align:=alClient; - Active:=True; - WebBrowser:=FWBDesign; - end; - TSInspector.TabVisible:=true; - PCDesigner.ActivePage:=TSBrowser; -end; - -procedure TMainForm.wbDesignConsoleMessage(Sender: TObject; const Message, Source: string; Line: Integer); -begin - Log('Console message: %s (%s: %d)',[Message,Source,Line]); -end; - - -procedure TMainForm.wbDesignError(Sender: TObject; const Uri: string; ErrorCode: LongWord; const ErrorMessage: string; - var Handled: Boolean); -begin - Log('Error: %s, code: %d, Message: %s',[URI,ErrorCode,ErrorMessage]); - Handled:=True; -end; - -procedure TMainForm.wbDesignFavicon(Sender: TObject); -begin - Log('Favicon available/missed'); -end; - -procedure TMainForm.wbDesignHitTest(Sender: TObject; X, Y: Integer; HitTest: TWebHitTest; const Link, Media: string); -begin -// Log('Hit test (%d,%d) link: %s, media: %s',[x,y,link,media]); -end; - -procedure TMainForm.wbDesignLoadStatusChange(Sender: TObject); -begin - Log('Load status change'); -end; - -procedure TMainForm.wbDesignLocationChange(Sender: TObject); -begin - Log('Location change'); -end; - -procedure TMainForm.wbDesignNavigate(Sender: TObject; const Uri: string; var aAction: TWebNavigateAction); -begin - Log('Navigation: %s',[URI]); - aAction:=naAllow; -end; - -procedure TMainForm.wbDesignProgress(Sender: TObject; Progress: Integer); -begin - Log('Progress: %d',[Progress]) -end; - -procedure TMainForm.wbDesignRequest(Sender: TObject; var Uri: string); -begin - if Uri<>FLastEmbeddedURI then - Log('Embedded browser doing request : %s',[URI]); - FLastEmbeddedURI:=URI; -end; - -procedure TMainForm.wbDesignScriptDialog(Sender: TObject; Dialog: TWebScriptDialog; const Message: string; var Input: string; - var Accepted: Boolean; var Handled: Boolean); -begin - Log('Script dialog Message: %s; Input : %s',[message,Input]); - Accepted:=true; - Handled:=true; -end; -{$ENDIF} procedure TMainForm.DoAction(Sender: TObject; aExchange: TIDEExchange); @@ -537,7 +325,7 @@ begin B.Height:=32; B.Action:=A; inc(FWidgetCount); -// TBWidgets.AddControl;; +// TBWidgets.AddControl; end; @@ -552,5 +340,25 @@ begin end; +initialization + {$IFDEF DARWIN} + AddCrDelegate; + {$ENDIF} + if GlobalCEFApp = nil then begin + CreateGlobalCEFApp; + if not GlobalCEFApp.StartMainProcess then begin + DestroyGlobalCEFApp; + DestroyGlobalCEFWorkScheduler; + halt(0); // exit the subprocess + end; + end; + +finalization + (* Destroy from this unit, which is used after "Interfaces". So this happens before the Application object is destroyed *) + if GlobalCEFWorkScheduler <> nil then + GlobalCEFWorkScheduler.StopScheduler; + DestroyGlobalCEFApp; + DestroyGlobalCEFWorkScheduler; + end. diff --git a/demo/webwidget/nativedesign/globalcefapplication.pas b/demo/webwidget/nativedesign/globalcefapplication.pas new file mode 100644 index 0000000..170bfb1 --- /dev/null +++ b/demo/webwidget/nativedesign/globalcefapplication.pas @@ -0,0 +1,118 @@ +// ************************************************************************ +// ***************************** CEF4Delphi ******************************* +// ************************************************************************ +// +// CEF4Delphi is based on DCEF3 which uses CEF to embed a chromium-based +// browser in Delphi applications. +// +// The original license of DCEF3 still applies to CEF4Delphi. +// +// For more information about CEF4Delphi visit : +// https://www.briskbard.com/index.php?lang=en&pageid=cef +// +// Copyright © 2021 Salvador Diaz Fau. All rights reserved. +// +// ************************************************************************ +// ************ vvvv Original license and comments below vvvv ************* +// ************************************************************************ +(* + * Delphi Chromium Embedded 3 + * + * Usage allowed under the restrictions of the Lesser GNU General Public License + * or alternatively the restrictions of the Mozilla Public License 1.1 + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for + * the specific language governing rights and limitations under the License. + * + * Unit owner : Henri Gourvest + * Web site : http://www.progdigy.com + * Repository : http://code.google.com/p/delphichromiumembedded/ + * Group : http://groups.google.com/group/delphichromiumembedded + * + * Embarcadero Technologies, Inc is not permitted to use or redistribute + * this source code without explicit permission. + * + *) + +unit GlobalCefApplication; + +{$mode ObjFPC}{$H+} + +{$DEFINE USE_MULTI_THREAD_LOOP} // Only Windows/Linux +{.$DEFINE USE_APP_HELPER} // Optional on Windows/Linux + +{$IFDEF DARWIN} + {$UNDEF USE_MULTI_THREAD_LOOP} // Will fail on Mac + {$DEFINE USE_APP_HELPER} // Required on Mac +{$ENDIF} + +interface + +uses + uCEFApplication, uCEFWorkScheduler, FileUtil; + +procedure CreateGlobalCEFApp; + +implementation + +procedure GlobalCEFApp_OnScheduleMessagePumpWork(const aDelayMS : int64); +begin + if (GlobalCEFWorkScheduler <> nil) then GlobalCEFWorkScheduler.ScheduleMessagePumpWork(aDelayMS); +end; + +procedure CreateGlobalCEFApp; +begin + if GlobalCEFApp <> nil then + exit; + + {$IFnDEF USE_MULTI_THREAD_LOOP} + // TCEFWorkScheduler will call cef_do_message_loop_work when + // it's told in the GlobalCEFApp.OnScheduleMessagePumpWork event. + // GlobalCEFWorkScheduler needs to be created before the + // GlobalCEFApp.StartMainProcess call. + GlobalCEFWorkScheduler := TCEFWorkScheduler.Create(nil); + {$ENDIF} + + GlobalCEFApp := TCefApplication.Create; +// GlobalCEFApp.CheckCEFFiles := False; + {$IFnDEF DARWIN} + GlobalCEFApp.FrameworkDirPath := 'B:\laz_other\CEF4Delphi\LIB_CEF_BIN\'; + {$ENDIF} + + {$IFDEF USE_MULTI_THREAD_LOOP} + // On Windows/Linux CEF can use threads for the message-loop + GlobalCEFApp.MultiThreadedMessageLoop := True; + {$ELSE} + // use External Pump for message-loop + GlobalCEFApp.ExternalMessagePump := True; + GlobalCEFApp.MultiThreadedMessageLoop := False; + GlobalCEFApp.OnScheduleMessagePumpWork := @GlobalCEFApp_OnScheduleMessagePumpWork; + {$ENDIF} + + {$IFnDEF DARWIN} + {$IFDEF USE_APP_HELPER} + (* Use AppHelper as subprocess, instead of the main exe *) + GlobalCEFApp.BrowserSubprocessPath := 'AppHelper' + GetExeExt; + {$ENDIF} + {$ENDIF} + + {$IFDEF DARWIN} + (* Enable the below to prevent being asked for permission to access "Chromium Safe Storage" + If set to true, Cookies will not be encrypted. + *) + GlobalCEFApp.UseMockKeyChain := True; + {$ENDIF} + {$IFDEF LINUX} + // This is a workaround for the 'GPU is not usable error' issue : + // https://bitbucket.org/chromiumembedded/cef/issues/2964/gpu-is-not-usable-error-during-cef + GlobalCEFApp.DisableZygote := True; // this property adds the "--no-zygote" command line switch + {$ENDIF} + { + GlobalCEFApp.LogFile := 'cef.log'; + GlobalCEFApp.LogSeverity := LOGSEVERITY_VERBOSE; + } +end; + +end. + diff --git a/demo/webwidget/nativedesign/initsubprocess.pas b/demo/webwidget/nativedesign/initsubprocess.pas new file mode 100644 index 0000000..0c12060 --- /dev/null +++ b/demo/webwidget/nativedesign/initsubprocess.pas @@ -0,0 +1,64 @@ +// ************************************************************************ +// ***************************** CEF4Delphi ******************************* +// ************************************************************************ +// +// CEF4Delphi is based on DCEF3 which uses CEF to embed a chromium-based +// browser in Delphi applications. +// +// The original license of DCEF3 still applies to CEF4Delphi. +// +// For more information about CEF4Delphi visit : +// https://www.briskbard.com/index.php?lang=en&pageid=cef +// +// Copyright © 2021 Salvador Diaz Fau. All rights reserved. +// +// ************************************************************************ +// ************ vvvv Original license and comments below vvvv ************* +// ************************************************************************ +(* + * Delphi Chromium Embedded 3 + * + * Usage allowed under the restrictions of the Lesser GNU General Public License + * or alternatively the restrictions of the Mozilla Public License 1.1 + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for + * the specific language governing rights and limitations under the License. + * + * Unit owner : Henri Gourvest + * Web site : http://www.progdigy.com + * Repository : http://code.google.com/p/delphichromiumembedded/ + * Group : http://groups.google.com/group/delphichromiumembedded + * + * Embarcadero Technologies, Inc is not permitted to use or redistribute + * this source code without explicit permission. + * + *) + +unit InitSubProcess; + +{$mode ObjFPC}{$H+} +{ $I cef.inc} + +interface + +uses + GlobalCefApplication, uCEFApplication, uCEFWorkScheduler; + +implementation + +initialization + CreateGlobalCEFApp; + GlobalCEFApp.FrameworkDirPath:='/opt/CEF/current/dist'; + GlobalCEFApp.ResourcesDirPath:='/opt/CEF/current/dist'; + GlobalCEFApp.LocalesDirPath:='/opt/CEF/current/dist/locales'; + if not GlobalCEFApp.StartMainProcess then begin + if GlobalCEFWorkScheduler <> nil then + GlobalCEFWorkScheduler.StopScheduler; + DestroyGlobalCEFApp; + DestroyGlobalCEFWorkScheduler; + halt(0); // exit the subprocess + end; + +end. + diff --git a/demo/webwidget/nativedesign/nativedesigner.lpi b/demo/webwidget/nativedesign/nativedesigner.lpi index 215dd70..6961f5d 100644 --- a/demo/webwidget/nativedesign/nativedesigner.lpi +++ b/demo/webwidget/nativedesign/nativedesigner.lpi @@ -27,18 +27,17 @@ - - - + + + + + - - - - - + + - + @@ -56,7 +55,20 @@ + + + + + + + + + + + + + @@ -68,24 +80,28 @@ - - - - - + + + - - + + - - + + - - + + - + + + + + + + diff --git a/demo/webwidget/nativedesign/nativedesigner.lpr b/demo/webwidget/nativedesign/nativedesigner.lpr index ee50568..59c956e 100644 --- a/demo/webwidget/nativedesign/nativedesigner.lpr +++ b/demo/webwidget/nativedesign/nativedesigner.lpr @@ -6,6 +6,9 @@ uses {$IFDEF UNIX} cthreads, {$ENDIF} + {$IFDEF LINUX} + InitSubProcess, // On Linux this unit must be used *before* the "interfaces" unit. + {$ENDIF} Interfaces, // this includes the LCL widgetset Forms, frmmain, webideintf { you can add units after this }; @@ -14,7 +17,7 @@ uses begin RequireDerivedFormResource:=True; - Application.Scaled:=True; + Application.Scaled := True; Application.Initialize; Application.CreateForm(TMainForm, MainForm); Application.Run; diff --git a/demo/webwidget/nativedesign/nativedesigner.res b/demo/webwidget/nativedesign/nativedesigner.res index 0ce2e2b..bcdc066 100644 Binary files a/demo/webwidget/nativedesign/nativedesigner.res and b/demo/webwidget/nativedesign/nativedesigner.res differ