commit 918912ee10b7e0041840867e6d4dfc89189a0eb3 Author: jdg Date: Wed Sep 1 19:41:31 2021 +0200 first commit (2012-02-01) diff --git a/bin/gestionServicios.exe b/bin/gestionServicios.exe new file mode 100644 index 0000000..bfb0d38 Binary files /dev/null and b/bin/gestionServicios.exe differ diff --git a/bin/gestionServicios.tds b/bin/gestionServicios.tds new file mode 100644 index 0000000..2f900f0 Binary files /dev/null and b/bin/gestionServicios.tds differ diff --git a/bin/gestorServicios.s3db b/bin/gestorServicios.s3db new file mode 100644 index 0000000..e68bdd0 Binary files /dev/null and b/bin/gestorServicios.s3db differ diff --git a/bin/sqlite3.dll b/bin/sqlite3.dll new file mode 100644 index 0000000..bc3675d Binary files /dev/null and b/bin/sqlite3.dll differ diff --git a/gestionServicios.bpr b/gestionServicios.bpr new file mode 100644 index 0000000..d80bea6 --- /dev/null +++ b/gestionServicios.bpr @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +[Version Info] +IncludeVerInfo=0 +AutoIncBuild=0 +MajorVer=1 +MinorVer=0 +Release=0 +Build=0 +Debug=0 +PreRelease=0 +Special=0 +Private=0 +DLL=0 +Locale=1034 +CodePage=1252 + +[Version Info Keys] +CompanyName= +FileDescription= +FileVersion=1.0.0.0 +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion=1.0.0.0 +Comments= + +[Excluded Packages] +c:\archivos de programa\borland\cbuilder6\Bin\dclqrt60.bpl=QuickReport Components +c:\archivos de programa\borland\cbuilder6\Bin\dcltqr60.bpl=TeeChart for QuickReport Components + +[HistoryLists\hlIncludePath] +Count=6 +Item0=C:\Archivos de programa\Borland\Quickrep5;C:\programacion\VCLs\zeos_mySQL\src\component;src;..\HAguila;$(BCB)\include;$(BCB)\include\vcl;C:\programacion\VCLs\zeos_mySQL\src\core;C:\programacion\VCLs\zeos_mySQL\src\dbc;C:\programacion\VCLs\zeos_mySQL\src\parsesql;C:\programacion\VCLs\zeos_mySQL\src\plain +Item1=C:\programacion\VCLs\zeos_mySQL\src\component;src;..\HAguila;$(BCB)\include;$(BCB)\include\vcl;C:\programacion\VCLs\zeos_mySQL\src\core;C:\programacion\VCLs\zeos_mySQL\src\dbc;C:\programacion\VCLs\zeos_mySQL\src\parsesql;C:\programacion\VCLs\zeos_mySQL\src\plain +Item2=C:\programacion\VCLs\zeos_mySQL\src\component;src;..\HAguila;$(BCB)\include;$(BCB)\include\vcl;C:\programacion\VCLs\zeos_mySQL\src\core +Item3=C:\programacion\VCLs\zeos_mySQL\src\component;src;..\HAguila;$(BCB)\include;$(BCB)\include\vcl +Item4=src;..\HAguila;..\gestionServicios\src;$(BCB)\include;$(BCB)\include\vcl +Item5=..\HAguila;..\gestionServicios\src;$(BCB)\include;$(BCB)\include\vcl + +[HistoryLists\hlLibraryPath] +Count=4 +Item0=C:\Archivos de programa\Borland\Quickrep5;C:\programacion\VCLs\zeos_mySQL\src\component;src;..\HAguila;$(BCB)\Projects\Lib;C:\programacion\VCLs\lib;$(BCB)\lib\obj;$(BCB)\lib +Item1=C:\programacion\VCLs\zeos_mySQL\src\component;src;..\HAguila;$(BCB)\Projects\Lib;C:\programacion\VCLs\lib;$(BCB)\lib\obj;$(BCB)\lib +Item2=src;..\HAguila;..\gestionServicios\src;$(BCB)\Projects\Lib;C:\programacion\VCLs\lib;$(BCB)\lib\obj;$(BCB)\lib +Item3=..\HAguila;..\gestionServicios\src;$(BCB)\Projects\Lib;C:\programacion\VCLs\lib;$(BCB)\lib\obj;$(BCB)\lib + +[HistoryLists\hlDebugSourcePath] +Count=1 +Item0=$(BCB)\source\vcl + +[HistoryLists\hlConditionals] +Count=1 +Item0=_DEBUG + +[HistoryLists\hlIntOutputDir] +Count=1 +Item0=C:\Documents and Settings\Administrador\Mis documentos\CBuilder\Ventas\gestionServicios\obj + +[HistoryLists\hlFinalOutputDir] +Count=2 +Item0=C:\Documents and Settings\Administrador\Mis documentos\CBuilder\Ventas\gestionServicios\bin\ +Item1=C:\Documents and Settings\Administrador\Mis documentos\CBuilder\Ventas\gestionServicios\bin + +[HistoryLists\hIBPIOutputDir] +Count=1 +Item0=C:\Documents and Settings\Administrador\Mis documentos\CBuilder\Ventas\gestionServicios\obj + +[Debugging] +DebugSourceDirs=$(BCB)\source\vcl + +[Parameters] +RunParams= +Launcher= +UseLauncher=0 +DebugCWD= +HostApplication= +RemoteHost= +RemotePath= +RemoteLauncher= +RemoteCWD= +RemoteDebug=0 + +[Compiler] +ShowInfoMsgs=0 +LinkDebugVcl=0 +LinkCGLIB=0 + +[CORBA] +AddServerUnit=1 +AddClientUnit=1 +PrecompiledHeaders=1 + +[Language] +ActiveLang= +ProjectLang= +RootDir= + + \ No newline at end of file diff --git a/gestionServicios.cpp b/gestionServicios.cpp new file mode 100644 index 0000000..368b37e --- /dev/null +++ b/gestionServicios.cpp @@ -0,0 +1,51 @@ +//--------------------------------------------------------------------------- + +#include +#include "tsplash.h" +#pragma hdrstop +//--------------------------------------------------------------------------- +USEFORM("src\clientes.cpp", gestionClientes); +USEFORM("src\tsplash.cpp", Splash); +USEFORM("src\agentes.cpp", gestionAgentes); +USEFORM("src\imprimirClientes.cpp", imprimirCarteraClientes); +USEFORM("src\cuentaPolizas.cpp", gestionCuentaPolizas); +USEFORM("src\imprimirCuentaPolizas.cpp", imprCuentaPolizas); +USEFORM("src\imprimirFichaCliente.cpp", imprFichaCliente); +USEFORM("src\login_dlg.cpp", login); +//--------------------------------------------------------------------------- +WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) +{ +try {//outer finally + try + { + Application->Initialize(); + Splash = new TSplash(NULL); + Splash->Show(); + Splash->Repaint(); + + Application->CreateForm(__classid(TgestionClientes), &gestionClientes); + Application->Run(); + } + catch (Exception &exception) + { + Application->ShowException(&exception); + } + catch (...) + { + try + { + throw Exception(""); + } + catch (Exception &exception) + { + Application->ShowException(&exception); + } + } +} +__finally{ + if(Splash) + delete Splash; +} + return 0; +} +//--------------------------------------------------------------------------- diff --git a/gestionServicios.res b/gestionServicios.res new file mode 100644 index 0000000..d6607a0 Binary files /dev/null and b/gestionServicios.res differ diff --git a/gestionServicios.~bpr b/gestionServicios.~bpr new file mode 100644 index 0000000..d80bea6 --- /dev/null +++ b/gestionServicios.~bpr @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +[Version Info] +IncludeVerInfo=0 +AutoIncBuild=0 +MajorVer=1 +MinorVer=0 +Release=0 +Build=0 +Debug=0 +PreRelease=0 +Special=0 +Private=0 +DLL=0 +Locale=1034 +CodePage=1252 + +[Version Info Keys] +CompanyName= +FileDescription= +FileVersion=1.0.0.0 +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion=1.0.0.0 +Comments= + +[Excluded Packages] +c:\archivos de programa\borland\cbuilder6\Bin\dclqrt60.bpl=QuickReport Components +c:\archivos de programa\borland\cbuilder6\Bin\dcltqr60.bpl=TeeChart for QuickReport Components + +[HistoryLists\hlIncludePath] +Count=6 +Item0=C:\Archivos de programa\Borland\Quickrep5;C:\programacion\VCLs\zeos_mySQL\src\component;src;..\HAguila;$(BCB)\include;$(BCB)\include\vcl;C:\programacion\VCLs\zeos_mySQL\src\core;C:\programacion\VCLs\zeos_mySQL\src\dbc;C:\programacion\VCLs\zeos_mySQL\src\parsesql;C:\programacion\VCLs\zeos_mySQL\src\plain +Item1=C:\programacion\VCLs\zeos_mySQL\src\component;src;..\HAguila;$(BCB)\include;$(BCB)\include\vcl;C:\programacion\VCLs\zeos_mySQL\src\core;C:\programacion\VCLs\zeos_mySQL\src\dbc;C:\programacion\VCLs\zeos_mySQL\src\parsesql;C:\programacion\VCLs\zeos_mySQL\src\plain +Item2=C:\programacion\VCLs\zeos_mySQL\src\component;src;..\HAguila;$(BCB)\include;$(BCB)\include\vcl;C:\programacion\VCLs\zeos_mySQL\src\core +Item3=C:\programacion\VCLs\zeos_mySQL\src\component;src;..\HAguila;$(BCB)\include;$(BCB)\include\vcl +Item4=src;..\HAguila;..\gestionServicios\src;$(BCB)\include;$(BCB)\include\vcl +Item5=..\HAguila;..\gestionServicios\src;$(BCB)\include;$(BCB)\include\vcl + +[HistoryLists\hlLibraryPath] +Count=4 +Item0=C:\Archivos de programa\Borland\Quickrep5;C:\programacion\VCLs\zeos_mySQL\src\component;src;..\HAguila;$(BCB)\Projects\Lib;C:\programacion\VCLs\lib;$(BCB)\lib\obj;$(BCB)\lib +Item1=C:\programacion\VCLs\zeos_mySQL\src\component;src;..\HAguila;$(BCB)\Projects\Lib;C:\programacion\VCLs\lib;$(BCB)\lib\obj;$(BCB)\lib +Item2=src;..\HAguila;..\gestionServicios\src;$(BCB)\Projects\Lib;C:\programacion\VCLs\lib;$(BCB)\lib\obj;$(BCB)\lib +Item3=..\HAguila;..\gestionServicios\src;$(BCB)\Projects\Lib;C:\programacion\VCLs\lib;$(BCB)\lib\obj;$(BCB)\lib + +[HistoryLists\hlDebugSourcePath] +Count=1 +Item0=$(BCB)\source\vcl + +[HistoryLists\hlConditionals] +Count=1 +Item0=_DEBUG + +[HistoryLists\hlIntOutputDir] +Count=1 +Item0=C:\Documents and Settings\Administrador\Mis documentos\CBuilder\Ventas\gestionServicios\obj + +[HistoryLists\hlFinalOutputDir] +Count=2 +Item0=C:\Documents and Settings\Administrador\Mis documentos\CBuilder\Ventas\gestionServicios\bin\ +Item1=C:\Documents and Settings\Administrador\Mis documentos\CBuilder\Ventas\gestionServicios\bin + +[HistoryLists\hIBPIOutputDir] +Count=1 +Item0=C:\Documents and Settings\Administrador\Mis documentos\CBuilder\Ventas\gestionServicios\obj + +[Debugging] +DebugSourceDirs=$(BCB)\source\vcl + +[Parameters] +RunParams= +Launcher= +UseLauncher=0 +DebugCWD= +HostApplication= +RemoteHost= +RemotePath= +RemoteLauncher= +RemoteCWD= +RemoteDebug=0 + +[Compiler] +ShowInfoMsgs=0 +LinkDebugVcl=0 +LinkCGLIB=0 + +[CORBA] +AddServerUnit=1 +AddClientUnit=1 +PrecompiledHeaders=1 + +[Language] +ActiveLang= +ProjectLang= +RootDir= + + \ No newline at end of file diff --git a/gestionServicios.~cpp b/gestionServicios.~cpp new file mode 100644 index 0000000..02c8816 --- /dev/null +++ b/gestionServicios.~cpp @@ -0,0 +1,52 @@ +//--------------------------------------------------------------------------- + +#include +#include "tsplash.h" +#pragma hdrstop +//--------------------------------------------------------------------------- +USEFORM("src\clientes.cpp", gestionClientes); +USEFORM("src\tsplash.cpp", Splash); +USEFORM("src\agentes.cpp", gestionAgentes); +USEFORM("src\imprimirClientes.cpp", imprimirCarteraClientes); +USEFORM("src\cuentaPolizas.cpp", gestionCuentaPolizas); +USEFORM("src\imprimirCuentaPolizas.cpp", imprCuentaPolizas); +USEFORM("src\imprimirFichaCliente.cpp", imprFichaCliente); +USEFORM("src\login_dlg.cpp", login); +//--------------------------------------------------------------------------- +WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) +{ +try {//outer finally + try + { + Application->Initialize(); + Splash = new TSplash(NULL); + Splash->Show(); + Splash->Repaint(); + + Application->CreateForm(__classid(TgestionClientes), &gestionClientes); + Application->CreateForm(__classid(Tlogin), &login); + Application->Run(); + } + catch (Exception &exception) + { + Application->ShowException(&exception); + } + catch (...) + { + try + { + throw Exception(""); + } + catch (Exception &exception) + { + Application->ShowException(&exception); + } + } +} +__finally{ + if(Splash) + delete Splash; +} + return 0; +} +//--------------------------------------------------------------------------- diff --git a/gestorServicios.s3db b/gestorServicios.s3db new file mode 100644 index 0000000..0997dd3 Binary files /dev/null and b/gestorServicios.s3db differ diff --git a/leeme.txt b/leeme.txt new file mode 100644 index 0000000..b0e8094 --- /dev/null +++ b/leeme.txt @@ -0,0 +1,11 @@ +2011-12-29 JDsoft Actualización para añadir control de polizas externas + +CREATE TABLE [serviciosExternos] ( +[id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, +[cliente] INTEGER NULL, +[tipoServicio] INTEGER NULL, +[nPoliza] vARCHAR(15) NULL, +[fechaEfecto] DATE NULL, +[fechaVencimiento] dATE NULL, +[primaNeta] NUMERIC DEFAULT '0' NULL +) \ No newline at end of file diff --git a/obj/agentes.obj b/obj/agentes.obj new file mode 100644 index 0000000..afddca2 Binary files /dev/null and b/obj/agentes.obj differ diff --git a/obj/clientes.obj b/obj/clientes.obj new file mode 100644 index 0000000..dbb2851 Binary files /dev/null and b/obj/clientes.obj differ diff --git a/obj/cuentaPolizas.obj b/obj/cuentaPolizas.obj new file mode 100644 index 0000000..719aec5 Binary files /dev/null and b/obj/cuentaPolizas.obj differ diff --git a/obj/gestionServicios.obj b/obj/gestionServicios.obj new file mode 100644 index 0000000..a218d8a Binary files /dev/null and b/obj/gestionServicios.obj differ diff --git a/obj/imprimirClientes.obj b/obj/imprimirClientes.obj new file mode 100644 index 0000000..6a3af4f Binary files /dev/null and b/obj/imprimirClientes.obj differ diff --git a/obj/imprimirCuentaPolizas.obj b/obj/imprimirCuentaPolizas.obj new file mode 100644 index 0000000..3b2834c Binary files /dev/null and b/obj/imprimirCuentaPolizas.obj differ diff --git a/obj/imprimirFichaCliente.obj b/obj/imprimirFichaCliente.obj new file mode 100644 index 0000000..9353687 Binary files /dev/null and b/obj/imprimirFichaCliente.obj differ diff --git a/obj/login_dlg.obj b/obj/login_dlg.obj new file mode 100644 index 0000000..6406266 Binary files /dev/null and b/obj/login_dlg.obj differ diff --git a/obj/tsplash.obj b/obj/tsplash.obj new file mode 100644 index 0000000..bb4c6ed Binary files /dev/null and b/obj/tsplash.obj differ diff --git a/sqlite3.dll b/sqlite3.dll new file mode 100644 index 0000000..bc3675d Binary files /dev/null and b/sqlite3.dll differ diff --git a/src/agentes.cpp b/src/agentes.cpp new file mode 100644 index 0000000..a2b14e9 --- /dev/null +++ b/src/agentes.cpp @@ -0,0 +1,19 @@ +//--------------------------------------------------------------------------- + +#include +#pragma hdrstop + +#include "agentes.h" +//--------------------------------------------------------------------------- +#pragma package(smart_init) +#pragma link "ZAbstractDataset" +#pragma link "ZAbstractRODataset" +#pragma link "ZDataset" +#pragma resource "*.dfm" +TgestionAgentes *gestionAgentes; +//--------------------------------------------------------------------------- +__fastcall TgestionAgentes::TgestionAgentes(TComponent* Owner) + : TForm(Owner) +{ +} +//--------------------------------------------------------------------------- diff --git a/src/agentes.dfm b/src/agentes.dfm new file mode 100644 index 0000000..399c3b2 --- /dev/null +++ b/src/agentes.dfm @@ -0,0 +1,38 @@ +object gestionAgentes: TgestionAgentes + Left = 511 + Top = 161 + Width = 400 + Height = 450 + Caption = 'Gesti'#243'n de Agentes' + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + PixelsPerInch = 96 + TextHeight = 13 + object DBGrid2: TDBGrid + Left = 0 + Top = 0 + Width = 392 + Height = 420 + Align = alClient + TabOrder = 0 + TitleFont.Charset = DEFAULT_CHARSET + TitleFont.Color = clWindowText + TitleFont.Height = -11 + TitleFont.Name = 'MS Sans Serif' + TitleFont.Style = [] + Columns = < + item + Expanded = False + FieldName = 'nombre' + Title.Caption = 'Nombre del Agente' + Width = 352 + Visible = True + end> + end +end diff --git a/src/agentes.h b/src/agentes.h new file mode 100644 index 0000000..ca050f1 --- /dev/null +++ b/src/agentes.h @@ -0,0 +1,28 @@ +//--------------------------------------------------------------------------- + +#ifndef agentesH +#define agentesH +//--------------------------------------------------------------------------- +#include +#include +#include +#include +#include "ZAbstractDataset.hpp" +#include "ZAbstractRODataset.hpp" +#include "ZDataset.hpp" +#include +#include +#include +//--------------------------------------------------------------------------- +class TgestionAgentes : public TForm +{ +__published: // IDE-managed Components + TDBGrid *DBGrid2; +private: // User declarations +public: // User declarations + __fastcall TgestionAgentes(TComponent* Owner); +}; +//--------------------------------------------------------------------------- +extern PACKAGE TgestionAgentes *gestionAgentes; +//--------------------------------------------------------------------------- +#endif diff --git a/src/agentes.~cpp b/src/agentes.~cpp new file mode 100644 index 0000000..a2b14e9 --- /dev/null +++ b/src/agentes.~cpp @@ -0,0 +1,19 @@ +//--------------------------------------------------------------------------- + +#include +#pragma hdrstop + +#include "agentes.h" +//--------------------------------------------------------------------------- +#pragma package(smart_init) +#pragma link "ZAbstractDataset" +#pragma link "ZAbstractRODataset" +#pragma link "ZDataset" +#pragma resource "*.dfm" +TgestionAgentes *gestionAgentes; +//--------------------------------------------------------------------------- +__fastcall TgestionAgentes::TgestionAgentes(TComponent* Owner) + : TForm(Owner) +{ +} +//--------------------------------------------------------------------------- diff --git a/src/agentes.~dfm b/src/agentes.~dfm new file mode 100644 index 0000000..e339990 --- /dev/null +++ b/src/agentes.~dfm @@ -0,0 +1,44 @@ +object gestionAgentes: TgestionAgentes + Left = 511 + Top = 161 + Width = 400 + Height = 450 + Caption = 'Gesti'#243'n de Agentes' + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + PixelsPerInch = 96 + TextHeight = 13 + object DBGrid2: TDBGrid + Left = 0 + Top = 0 + Width = 392 + Height = 420 + Align = alClient + TabOrder = 0 + TitleFont.Charset = DEFAULT_CHARSET + TitleFont.Color = clWindowText + TitleFont.Height = -11 + TitleFont.Name = 'MS Sans Serif' + TitleFont.Style = [] + Columns = < + item + Expanded = False + FieldName = 'id' + ReadOnly = True + Visible = True + end + item + Expanded = False + FieldName = 'nombre' + Title.Caption = 'Nombre del Agente' + Width = 295 + Visible = True + end> + end +end diff --git a/src/agentes.~h b/src/agentes.~h new file mode 100644 index 0000000..ca050f1 --- /dev/null +++ b/src/agentes.~h @@ -0,0 +1,28 @@ +//--------------------------------------------------------------------------- + +#ifndef agentesH +#define agentesH +//--------------------------------------------------------------------------- +#include +#include +#include +#include +#include "ZAbstractDataset.hpp" +#include "ZAbstractRODataset.hpp" +#include "ZDataset.hpp" +#include +#include +#include +//--------------------------------------------------------------------------- +class TgestionAgentes : public TForm +{ +__published: // IDE-managed Components + TDBGrid *DBGrid2; +private: // User declarations +public: // User declarations + __fastcall TgestionAgentes(TComponent* Owner); +}; +//--------------------------------------------------------------------------- +extern PACKAGE TgestionAgentes *gestionAgentes; +//--------------------------------------------------------------------------- +#endif diff --git a/src/clientes.cpp b/src/clientes.cpp new file mode 100644 index 0000000..9f49d0e --- /dev/null +++ b/src/clientes.cpp @@ -0,0 +1,600 @@ +//--------------------------------------------------------------------------- + +#include +#include +#include "tsplash.h" +#pragma hdrstop + +#include "clientes.h" +#include "agentes.h" +#include "imprimirClientes.h" +#include "cuentaPolizas.h" +#include "imprimirFichaCliente.h" +#include "login_dlg.h" +//--------------------------------------------------------------------------- +#pragma package(smart_init) +#pragma link "ZAbstractDataset" +#pragma link "ZAbstractRODataset" +#pragma link "ZConnection" +#pragma link "ZDataset" +#pragma link "ZSqlUpdate" +#pragma resource "*.dfm" +TgestionClientes *gestionClientes; +//--------------------------------------------------------------------------- +__fastcall TgestionClientes::TgestionClientes(TComponent* Owner) + : TForm(Owner) +{ + gettingAutoIncrement = false; + + #define IDM_ABOUTBOX 1 + HMENU pSysMenu = GetSystemMenu(this->Handle, FALSE); + if (pSysMenu != NULL) + { + AppendMenu(pSysMenu, MF_SEPARATOR,0,0); + AppendMenu(pSysMenu, MF_STRING, IDM_ABOUTBOX, "Acerca de..."); + } + WindowProc=MyWndProc; + + + // Cargamos el listado de agentes disponibles + TZQuery *zquery; + zquery = new TZQuery(this); + zquery->Connection = ZConnection1; + zquery->SQL->Clear(); + zquery->SQL->Add("SELECT id,nombre FROM agentes ORDER BY nombre"); + zquery->Active=zquery->Connection->Connected; + + srch_agentes->Items->Clear(); + srch_agentes->Items->AddObject("",(TObject *)(-1) ); + srch_agentes->Items->AddObject("-[ Sin Agente Asignado ]-",(TObject *)(0) ); + while(!zquery->Eof) + { + srch_agentes->Items->AddObject(zquery->FieldByName("nombre")->AsString,(TObject *)(zquery->FieldByName("id")->AsInteger)); + zquery->Next(); + } + + + // Orden del listado + dsListado_sort = "c.id"; + + + zuClientes->ModifySQL->Clear(); + zuClientes->ModifySQL->Add("UPDATE clientes SET agente=:agente, nombre=:nombre, dni=:dni, calle=:calle, poblacion=:poblacion, provincia=:provincia, cp=:cp, telefono=:telefono, movil=:movil, fax=:fax, correo=:correo, cobroCalle=:cobroCalle, estado=:estado, gradoFidelidad=:gradoFidelidad, pCargo=:pCargo, fechaNacimiento=:fechaNacimiento, fechaCarnet=:fechaCarnet, fecha=:fecha, hora=:hora, notas=:notas WHERE id=:OLD_id"); + zuClientes->DeleteSQL->Clear(); + zuClientes->DeleteSQL->Add("DELETE FROM clientes WHERE id=:OLD_id"); + zuClientes->InsertSQL->Clear(); + zuClientes->InsertSQL->Add("INSERT INTO clientes (agente, nombre, dni, calle, poblacion, provincia, cp, telefono, movil, fax, correo, cobroCalle, estado, gradoFidelidad, pCargo, fechaNacimiento, fechaCarnet, fecha, hora, notas) VALUES (:agente, :nombre, :dni, :calle, :poblacion, :provincia, :cp, :telefono, :movil, :fax, :correo, :cobroCalle, :estado, :gradoFidelidad, :pCargo, :fechaNacimiento, :fechaCarnet, :fecha, :hora, :notas)"); + + zuServicios->ModifySQL->Clear(); + zuServicios->ModifySQL->Add("UPDATE servicios SET tipoServicio=:tipoServicio, nPoliza=:nPoliza, fechaEfecto=:fechaEfecto, fechaVencimiento=:fechaVencimiento, primaNeta=:primaNeta WHERE id=:OLD_id"); + zuServicios->DeleteSQL->Clear(); + zuServicios->DeleteSQL->Add("DELETE FROM servicios WHERE id=:OLD_id"); + zuServicios->InsertSQL->Clear(); + zuServicios->InsertSQL->Add("INSERT INTO servicios (cliente, tipoServicio, nPoliza, fechaEfecto, fechaVencimiento, primaNeta) VALUES (:cliente, :tipoServicio, :nPoliza, :fechaEfecto, :fechaVencimiento, :primaNeta)"); + + + zuServiciosExternos->ModifySQL->Clear(); + zuServiciosExternos->ModifySQL->Add("UPDATE serviciosExternos SET tipoServicio=:tipoServicio, nPoliza=:nPoliza, fechaEfecto=:fechaEfecto, fechaVencimiento=:fechaVencimiento, primaNeta=:primaNeta WHERE id=:OLD_id"); + zuServiciosExternos->DeleteSQL->Clear(); + zuServiciosExternos->DeleteSQL->Add("DELETE FROM serviciosExternos WHERE id=:OLD_id"); + zuServiciosExternos->InsertSQL->Clear(); + zuServiciosExternos->InsertSQL->Add("INSERT INTO serviciosExternos (cliente, tipoServicio, nPoliza, fechaEfecto, fechaVencimiento, primaNeta) VALUES (:cliente, :tipoServicio, :nPoliza, :fechaEfecto, :fechaVencimiento, :primaNeta)"); + + + PageControl1->ActivePage = TabSheet1; + PageControl2->ActivePage = TabSheet3; + + zqClientes->Active = zqClientes->Connection->Connected; + zqServicios->Active = zqServicios->Connection->Connected; + zqServiciosExternos->Active = zqServicios->Connection->Connected; + zqTipoServicios->Active = zqTipoServicios->Connection->Connected; + zqFamiliares->Active = zqFamiliares->Connection->Connected; + zqAgentes->Active = zqAgentes->Connection->Connected; + +} +//--------------------------------------------------------------------------- +void __fastcall TgestionClientes::MyWndProc(Messages::TMessage &Message) +{ + HMENU hMenu; + hMenu = GetSystemMenu (this->Handle, FALSE); + if (Message.Msg == WM_SYSCOMMAND) + { + switch(Message.WParamLo) + { + case IDM_ABOUTBOX: + if ( Splash==NULL ) Splash = new TSplash(NULL); + Splash->pressKeyToClose = true; + Splash->Show(); + Splash->Repaint(); + break; + default: + WndProc(Message); + } +} + +else + WndProc(Message); +} +//--------------------------------------------------------------------------- +void __fastcall TgestionClientes::FormShow(TObject *Sender) +{ + if(Splash){ + delete Splash; + Splash = NULL; + + Tlogin *login; + login = new Tlogin(this); + + do { + login->ShowModal(); + if ( login->ModalResult!=mrOk ) { + Close(); + break; + } + if ( login->auth ) break; + + MessageDlg("Error iniciando sesión.\nEl usuario/contraseña no es correcto.",mtError, TMsgDlgButtons() << mbOK, 0); + login->pass->Text = ""; + } while(1); + } +} +//--------------------------------------------------------------------------- +void __fastcall TgestionClientes::DBGrid1DblClick(TObject *Sender) +{ + PageControl1->ActivePage = TabSheet2; +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::DBGrid1TitleClick(TColumn *Column) +{ + if ( dsListado_sort.Pos(Column->FieldName)==1 && dsListado_sort.Pos(" ASC")==0 ) + dsListado_sort = Column->FieldName + " ASC"; + else + dsListado_sort = Column->FieldName + " DESC"; + + dsListado_Indice = Column->Index; + + doFilterClick(NULL); +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::doFilterClick(TObject *Sender) +{ + AnsiString where,orderBy,query, leftJOIN; + + where = ""; + leftJOIN = ""; + if ( !srch_vFilter->Text.IsEmpty() ) + switch( srch_kFilter->ItemIndex ) { + case 0: + if ( where.IsEmpty() ) where = " WHERE "; else where+=" AND "; + where+=" c.id='"+srch_vFilter->Text+"'"; + break; + case 1: + if ( where.IsEmpty() ) where = " WHERE "; else where+=" AND "; + where+=" c.nombre LIKE '%"+srch_vFilter->Text+"%'"; + break; + case 2: + if ( where.IsEmpty() ) where = " WHERE "; else where+=" AND "; + where+=" (c.telefono LIKE '%"+srch_vFilter->Text+"%'"; + where+=" OR c.movil LIKE '%"+srch_vFilter->Text+"%'"; + where+=" OR c.fax LIKE '%"+srch_vFilter->Text+"%')"; + break; + case 3: + if ( where.IsEmpty() ) where = " WHERE "; else where+=" AND "; + where+=" c.calle LIKE '%"+srch_vFilter->Text+"%'"; + break; + case 4: + if ( where.IsEmpty() ) where = " WHERE "; else where+=" AND "; + where+=" c.poblacion LIKE '%"+srch_vFilter->Text+"%'"; + break; + case 5: + if ( where.IsEmpty() ) where = " WHERE "; else where+=" AND "; + where+=" c.provincia LIKE '%"+srch_vFilter->Text+"%'"; + break; + case 6: + if ( where.IsEmpty() ) where = " WHERE "; else where+=" AND "; + where+=" c.cp LIKE '%"+srch_vFilter->Text+"%'"; + break; + case 7: + if ( where.IsEmpty() ) where = " WHERE "; else where+=" AND "; + where+=" c.dni LIKE '%"+srch_vFilter->Text+"%'"; + break; + case 8: + System::TDateTime fecha; + if ( TryStrToDate(srch_vFilter->Text, fecha) ) { + DateSeparator = '-'; + ShortDateFormat = "yyyy-mm-dd"; + + if ( where.IsEmpty() ) where = " WHERE "; else where+=" AND "; + where+=" p.fechaVencimiento<='"+DateToStr(fecha)+"'"; + leftJOIN = " LEFT JOIN serviciosExternos p ON (p.cliente=c.id) "; + + DateSeparator = '/'; + ShortDateFormat = "dd/mm/yyyy"; + } + break; + + } + + int agente; + if ( srch_agentes->ItemIndex>0 ) { + agente = (int)srch_agentes->Items->Objects[srch_agentes->ItemIndex]; + if ( agente>=0 ) { + if ( where.IsEmpty() ) where = " WHERE "; else where+=" AND "; + where+=" a.id="+AnsiString(agente); + } + } + + + orderBy = " ORDER BY "; + if ( dsListado_sort.Pos("agenteNombre")>0 ) orderBy += "a.nombre"; else orderBy += "c."+dsListado_sort; + + + query = "SELECT c.id, c.agente, a.nombre agenteNombre, c.nombre, c.dni, c.calle, c.poblacion, c.provincia, c.cp, c.telefono, c.movil, c.fax, c.correo, c.cobroCalle, c.estado, c.gradoFidelidad, c.pCargo, c.fechaNacimiento,c.fechaCarnet,c.fecha, c.hora, c.notas"; + query+= " FROM clientes c LEFT JOIN agentes a ON (a.id=c.agente)"; + query+= leftJOIN; + query+= where; + query+= orderBy; + + + // Volver a filtrar el listado... + zqClientes->SQL->Clear(); + zqClientes->SQL->Add(query); + zqClientes->Active = zqClientes->Connection->Connected; + +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::DBGrid1DrawColumnCell(TObject *Sender, + const TRect &Rect, int DataCol, TColumn *Column, + TGridDrawState State) +{ +//- --------------------------------------------------------- + if ( !State.Contains(gdSelected) ) + { + Graphics::TBitmap *Bmp; + TDBGrid *dbG; + dbG = (TDBGrid *)Sender; + + // Determina la columna clicada... + if ( Column->Index == dsListado_Indice ) + { + Bmp = new Graphics::TBitmap(); + Bmp->TransparentColor = clWhite; + Bmp->Transparent = true; + Bmp->TransparentMode = tmAuto; + + try { + // Determina la imagen mostrada de acuerdo con el orden de los registros + if ( dsListado_sort.Pos(Column->FieldName) == 1 && dsListado_sort.Pos(" ASC")== 0 ) + gridIcons->GetBitmap(0, Bmp); // Set abajo + else + gridIcons->GetBitmap(1, Bmp); // Set arriba + + dbG->Canvas->Draw( Rect.right - Bmp->Width,2, Bmp); + } __finally { + delete Bmp; // Liberamos la variable Bmp de la memoria + } + } + dbG->DefaultDrawColumnCell(Rect,DataCol,Column,State); + } + //- --------------------------------------------------------- +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::zqClientesBeforePost(TDataSet *DataSet) +{ + // Comprobar que no exista el DNI introducido + AnsiString dni; + dni = zqClientes->FieldByName("dni")->AsString; + + + if ( DataSet->State == dsInsert && !dni.IsEmpty() ) { + TZQuery *q; + q = new TZQuery(this); + q->SQL->Clear(); + q->SQL->Add( AnsiString("select id FROM clientes WHERE dni='")+dni+AnsiString("'") ); + q->Connection = ZConnection1; + q->Active = true; + + if ( q->RecordCount>0 ) { + int res; + res = MessageDlg("El dni introducido ya existe, ficha " + IntToStr(q->FieldByName("id")->AsInteger) + ". ¿Duplicar ficha?", mtInformation, mbYesNoCancel, 0); + switch( res ) { + case mrCancel: + Abort(); + return; + break; + case mrNo: + zqClientes->CancelUpdates(); + zqClientes->Locate("id",q->FieldByName("id")->AsInteger, TLocateOptions() ); + return; + break; + default: + break; + } + } + } + + // Guardamos el contenido de los combos + zqClientes->FieldByName("fechaNacimiento")->AsDateTime = DateTimePicker1->DateTime; + zqClientes->FieldByName("fechaCarnet")->AsDateTime = DateTimePicker2->DateTime; + switch( dbEstadoCivil->ItemIndex ) { + case 0: zqClientes->FieldByName("estado")->AsString = "S"; break; + case 1: zqClientes->FieldByName("estado")->AsString = "C"; break; + case 2: zqClientes->FieldByName("estado")->AsString = "D"; break; + case 3: zqClientes->FieldByName("estado")->AsString = "V"; break; + } + zqClientes->FieldByName("gradoFidelidad")->AsInteger = cbGradoFidelidad->ItemIndex; + zqClientes->FieldByName("pCargo")->AsString = (dbPCargo->Checked?"Y":"N"); +} +//--------------------------------------------------------------------------- + + +void __fastcall TgestionClientes::DateTimePicker1CloseUp(TObject *Sender) +{ + lbEdad->Caption = AnsiString( YearsBetween(TDateTime::CurrentDate(), DateTimePicker1->DateTime) ) + " Años"; + + if ( dbUpdating ) return; + if (zqClientes->State != dsEdit || zqClientes->State != dsInsert ) zqClientes->Edit(); +} +//--------------------------------------------------------------------------- + + +void __fastcall TgestionClientes::zqClientesAfterScroll(TDataSet *DataSet) +{ + dbUpdating = true; + + // Guardamos el contenido de los combos + DateTimePicker1->DateTime = zqClientes->FieldByName("fechaNacimiento")->AsDateTime; + DateTimePicker2->DateTime = zqClientes->FieldByName("fechaCarnet")->AsDateTime; + if ( zqClientes->FieldByName("estado")->AsString=="S" ) dbEstadoCivil->ItemIndex = 0; else + if ( zqClientes->FieldByName("estado")->AsString=="C" ) dbEstadoCivil->ItemIndex = 1; else + if ( zqClientes->FieldByName("estado")->AsString=="D" ) dbEstadoCivil->ItemIndex = 2; else + if ( zqClientes->FieldByName("estado")->AsString=="V" ) dbEstadoCivil->ItemIndex = 3; + + if ( zqClientes->FieldByName("gradoFidelidad")->AsInteger == 0 ) cbGradoFidelidad->ItemIndex = 0; + else if ( zqClientes->FieldByName("gradoFidelidad")->AsInteger == 1 ) cbGradoFidelidad->ItemIndex = 1; + else if ( zqClientes->FieldByName("gradoFidelidad")->AsInteger == 2 ) cbGradoFidelidad->ItemIndex = 2; + else cbGradoFidelidad->ItemIndex = 2; + + dbPCargo->Checked = (zqClientes->FieldByName("pCargo")->AsString=="Y"); + + lbEdad->Caption = AnsiString( YearsBetween(TDateTime::CurrentDate(), DateTimePicker1->DateTime) ) + " Años"; + + dbUpdating = false; +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::dbEstadoCivilChange(TObject *Sender) +{ + if ( dbUpdating ) return; + if (zqClientes->State != dsEdit || zqClientes->State != dsInsert ) zqClientes->Edit(); +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::dbPCargoClick(TObject *Sender) +{ + if ( dbUpdating ) return; + if (zqClientes->State != dsEdit || zqClientes->State != dsInsert ) zqClientes->Edit(); +} +//--------------------------------------------------------------------------- + + +void __fastcall TgestionClientes::Salir1Click(TObject *Sender) +{ + Close(); +} +//--------------------------------------------------------------------------- + + +void __fastcall TgestionClientes::GestindeAgentes1Click(TObject *Sender) +{ + TgestionAgentes *f; + f = new TgestionAgentes(this); + f->DBGrid2->DataSource = dsAgentes; + f->ShowModal(); + delete f; +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::zqFamiliaresNewRecord(TDataSet *DataSet) +{ + zqFamiliares->FieldByName("cliente")->AsInteger = zqClientes->FieldByName("id")->AsInteger; + zqFamiliares->FieldByName("sexo")->AsString = "H"; + zqFamiliares->FieldByName("estado")->AsString = "C"; + zqFamiliares->FieldByName("relacion")->AsString = "C"; +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::zqFamiliaresBeforePost(TDataSet *DataSet) +{ + // Convertir los desplegables + zqFamiliares->FieldByName("sexo")->AsString = (zqFamiliares->FieldByName("sexo")->AsString=="Hombre"?"H":"M"); + if ( zqFamiliares->FieldByName("estado")->AsString=="Soltero" ) zqFamiliares->FieldByName("estado")->AsString = "S"; else + if ( zqFamiliares->FieldByName("estado")->AsString=="Casado" ) zqFamiliares->FieldByName("estado")->AsString = "C"; else + if ( zqFamiliares->FieldByName("estado")->AsString=="Divorciado" ) zqFamiliares->FieldByName("estado")->AsString = "D"; else + if ( zqFamiliares->FieldByName("estado")->AsString=="Viudo" ) zqFamiliares->FieldByName("estado")->AsString = "V"; + + if ( zqFamiliares->FieldByName("relacion")->AsString == "Padre/Madre" ) zqFamiliares->FieldByName("relacion")->AsString = "P"; else + if ( zqFamiliares->FieldByName("relacion")->AsString == "Marido/Mujer" ) zqFamiliares->FieldByName("relacion")->AsString = "C"; else + if ( zqFamiliares->FieldByName("relacion")->AsString == "Hermano/a" ) zqFamiliares->FieldByName("relacion")->AsString = "H"; else + if ( zqFamiliares->FieldByName("relacion")->AsString == "Hijo/a" ) zqFamiliares->FieldByName("relacion")->AsString = "N"; else + if ( zqFamiliares->FieldByName("relacion")->AsString == "otros" ) zqFamiliares->FieldByName("relacion")->AsString = "o"; + +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::zqFamiliaresestadoGetText(TField *Sender, + AnsiString &Text, bool DisplayText) +{ + if ( Sender->AsString == "S" ) Text = "Soltero"; else + if ( Sender->AsString == "C" ) Text = "Casado"; else + if ( Sender->AsString == "D" ) Text = "Divorciado"; else + if ( Sender->AsString == "V" ) Text = "Viudo"; +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::zqFamiliaresrelacionGetText( + TField *Sender, AnsiString &Text, bool DisplayText) +{ + if ( Sender->AsString == "P" ) Text = "Padre/Madre"; else + if ( Sender->AsString == "C" ) Text = "Marido/Mujer"; else + if ( Sender->AsString == "H" ) Text = "Hermano/a"; else + if ( Sender->AsString == "N" ) Text = "Hijo/a"; else + if ( Sender->AsString == "o" ) Text = "otros"; +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::zqFamiliaressexoGetText(TField *Sender, + AnsiString &Text, bool DisplayText) +{ + if ( Sender->AsString == "H" ) Text = "Hombre"; else + if ( Sender->AsString == "M" ) Text = "Mujer"; +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::zqServiciosNewRecord(TDataSet *DataSet) +{ + zqServicios->FieldByName("cliente")->AsInteger = zqClientes->FieldByName("id")->AsInteger; + zqServicios->FieldByName("primaNeta")->AsCurrency = 0; +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::TiposdeServicio1Click(TObject *Sender) +{ + TgestionAgentes *f; + f = new TgestionAgentes(this); + f->Caption = "Tipos de Servicios"; + f->DBGrid2->Columns->Items[0]->Title->Caption = "Nombre del Servicio Contratado"; + f->DBGrid2->DataSource = dsTipoServicios; + f->ShowModal(); + delete f; +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::ImprimirListado1Click(TObject *Sender) +{ + TimprimirCarteraClientes *i; + i = new TimprimirCarteraClientes(this); + i->QuickRep1->DataSet = zqClientes; + i->QuickRep1->Preview(); + delete i; +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::ImprimirFicha1Click(TObject *Sender) +{ + TimprFichaCliente *i; + i = new TimprFichaCliente(this); + + i->rID->Caption = zqClientes->FieldByName("id")->AsString; + i->rNombre->Caption = zqClientes->FieldByName("nombre")->AsString; + i->rDNI->Caption = zqClientes->FieldByName("dni")->AsString; + i->rFechaNacimiento->Caption = zqClientes->FieldByName("fechaNacimiento")->AsString; + i->rEstadoCivil->Caption = zqClientes->FieldByName("estado")->AsString; + i->rPCargo->Caption = zqClientes->FieldByName("pCargo")->AsString=="Y"?"SI":"NO"; + i->rCalle->Caption = zqClientes->FieldByName("calle")->AsString; + i->rPoblacion->Caption = zqClientes->FieldByName("poblacion")->AsString; + i->rProvincia->Caption = zqClientes->FieldByName("provincia")->AsString; + i->rCP->Caption = zqClientes->FieldByName("cp")->AsString; + i->rDirCobro->Caption = zqClientes->FieldByName("cobroCalle")->AsString; + i->rTelefono->Caption = zqClientes->FieldByName("telefono")->AsString; + i->rMovil->Caption = zqClientes->FieldByName("movil")->AsString; + i->rFax->Caption = zqClientes->FieldByName("fax")->AsString; + i->rEMail->Caption = zqClientes->FieldByName("correo")->AsString; + i->rAgente->Caption = DBLookupComboBox1->Text; + i->rGradoFidelidad->Caption = zqClientes->FieldByName("gradoFidelidad")->AsString; + i->rNotas->Lines->Text = zqClientes->FieldByName("notas")->AsString; + + i->QuickRep1->DataSet = zqFamiliares; + i->QuickRep1->Preview(); + delete i; +} +//--------------------------------------------------------------------------- + + +void __fastcall TgestionClientes::CuentaPolizas1Click(TObject *Sender) +{ + TgestionCuentaPolizas *f; + f = new TgestionCuentaPolizas(this); + f->ShowModal(); + delete f; +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::dsClientesStateChange(TObject *Sender) +{ + if ( dsClientes->State==dsInsert ) { + PageControl2->ActivePage = TabSheet5; + } + + TabSheet3->Enabled = (dsClientes->State!=dsInsert); + TabSheet6->Enabled = (dsClientes->State!=dsInsert); + TabSheet4->Enabled = (dsClientes->State!=dsInsert); +} +//--------------------------------------------------------------------------- + + + +void __fastcall TgestionClientes::zqClientesAfterPost(TDataSet *DataSet) +{ + if ( gettingAutoIncrement ) return; + // Read auto-increment + if ( zqClientes->FieldByName("id")->AsInteger==0 ) { + gettingAutoIncrement = true; + + zqClientes->Edit(); + + TZQuery *q; + q = new TZQuery(this); + q->SQL->Clear(); + q->SQL->Add("select last_insert_rowid() id"); + q->Connection = ZConnection1; + q->Active = true; + + zqClientes->FieldByName("id")->AsInteger = q->FieldByName("id")->AsInteger; + delete q; + + zqClientes->Post(); + gettingAutoIncrement = false; + } + +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::cbGradoFidelidadChange(TObject *Sender) +{ + if ( dbUpdating ) return; + if (zqClientes->State != dsEdit || zqClientes->State != dsInsert ) zqClientes->Edit(); +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::FormClose(TObject *Sender, + TCloseAction &Action) +{ + if( zqClientes->State == dsEdit || zqClientes->State == dsInsert ) zqClientes->Post(); + if( zqServicios->State == dsEdit || zqServicios->State == dsInsert ) zqServicios->Post(); + if( zqFamiliares->State == dsEdit || zqFamiliares->State == dsInsert ) zqFamiliares->Post(); + if( zqAgentes->State == dsEdit || zqAgentes->State == dsInsert ) zqAgentes->Post(); +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::zqServiciosExternosNewRecord( + TDataSet *DataSet) +{ + zqServiciosExternos->FieldByName("cliente")->AsInteger = zqClientes->FieldByName("id")->AsInteger; + zqServiciosExternos->FieldByName("primaNeta")->AsCurrency = 0; +} +//--------------------------------------------------------------------------- + + + +void __fastcall TgestionClientes::PageControl2Changing(TObject *Sender, + bool &AllowChange) +{ + AllowChange = ( dsClientes->State!=dsInsert ); +} +//--------------------------------------------------------------------------- + diff --git a/src/clientes.ddp b/src/clientes.ddp new file mode 100644 index 0000000..cdc0ee8 Binary files /dev/null and b/src/clientes.ddp differ diff --git a/src/clientes.dfm b/src/clientes.dfm new file mode 100644 index 0000000..bf3169d --- /dev/null +++ b/src/clientes.dfm @@ -0,0 +1,1665 @@ +object gestionClientes: TgestionClientes + Left = 252 + Top = 149 + Width = 800 + Height = 600 + Caption = 'Cartera de Clientes | v.20120204' + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Tahoma' + Font.Style = [] + Menu = MainMenu1 + OldCreateOrder = False + Position = poScreenCenter + Scaled = False + OnClose = FormClose + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 16 + object PageControl1: TPageControl + Left = 0 + Top = 0 + Width = 792 + Height = 550 + ActivePage = TabSheet2 + Align = alClient + Images = ImageList1 + TabIndex = 1 + TabOrder = 0 + object TabSheet1: TTabSheet + Caption = 'Listado' + object Panel1: TPanel + Left = 0 + Top = 0 + Width = 784 + Height = 41 + Align = alTop + BevelOuter = bvNone + TabOrder = 0 + object Label1: TLabel + Left = 8 + Top = 16 + Width = 80 + Height = 16 + Caption = 'Filtrar listado:' + end + object srch_kFilter: TComboBox + Left = 104 + Top = 8 + Width = 177 + Height = 24 + ItemHeight = 16 + TabOrder = 0 + Items.Strings = ( + 'ID' + 'Nombre' + 'Telefono' + 'Calle' + 'Poblaci'#243'n' + 'Provincia' + 'CP' + 'DNI' + 'Polizas Externas cumplidas a') + end + object srch_vFilter: TEdit + Left = 288 + Top = 8 + Width = 153 + Height = 24 + TabOrder = 1 + end + object BitBtn1: TBitBtn + Left = 656 + Top = 8 + Width = 107 + Height = 24 + Caption = '&Filtrar' + Default = True + TabOrder = 2 + OnClick = doFilterClick + Glyph.Data = { + 42020000424D4202000000000000420000002800000010000000100000000100 + 10000300000000020000120B0000120B00000000000000000000007C0000E003 + 00001F000000FF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7F + FF7FFF7FFF7FFF7FFF7FFF7FFF7FBB6FF14A2722E415C4150722D14ABB6FFF7F + FF7FFF7FFF7FFF7FFF7FFF7F565B261A682A304F53575357104B4726E619365B + FF7FFF7FFF7FFF7FFF7F765F2416ED42745B304BEC3EEC3E304B545BCC3EC415 + 365BFF7FFF7FFF7FBB7386220E43745BEC3AEB3ACB3ACB36CB36CB3A545BCD3E + E619BB6FFF7FFF7F524FA932755BEC3EEC3A0E43BA6B314FCA36CB36CB3A745B + 6826F14AFF7FFF7FC82E524F514F0C3B0F43DD7BFF7FFF7F304BCB36CB3A304B + 104F2722FF7FFF7FA52674572E3F2E43DD77FF7FDD77FF7FFF7F314BCB3AED3E + 5357E415FF7FFF7FC62A745B2E430C3B755BBA6BEC3A965FFF7FFF7F314FED3E + 54570416FF7FFF7F09375253524F0D3B0C370C370C370C37965FFF7FDC73314F + 314F6722FF7FFF7F7357EB3A755B2D3F0D3B0C3B0C370C370C3B965F0D3F755B + A92E114BFF7FFF7FDC7309332F4B755B2D3F2D3B0D3B0D3B0D3B0D3F755B0E47 + 8622BB73FF7FFF7FFF7FB767072F2F4B755B524F2E432E43524F755B0F47851E + 765FFF7FFF7FFF7FFF7FFF7FB76709370B3B5253745774575253CA36C62A965F + FF7FFF7FFF7FFF7FFF7FFF7FFF7FDC7393572A3BE72EE72E09377257DB73FF7F + FF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7F + FF7FFF7FFF7F} + end + object srch_agentes: TComboBox + Left = 448 + Top = 8 + Width = 201 + Height = 24 + ItemHeight = 16 + TabOrder = 3 + end + end + object DBGrid1: TDBGrid + Left = 0 + Top = 41 + Width = 784 + Height = 478 + Align = alClient + DataSource = dsClientes + Options = [dgTitles, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit] + TabOrder = 1 + TitleFont.Charset = DEFAULT_CHARSET + TitleFont.Color = clWindowText + TitleFont.Height = -13 + TitleFont.Name = 'Tahoma' + TitleFont.Style = [] + OnDrawColumnCell = DBGrid1DrawColumnCell + OnDblClick = DBGrid1DblClick + OnTitleClick = DBGrid1TitleClick + Columns = < + item + Expanded = False + FieldName = 'id' + Title.Caption = 'ID' + Width = 47 + Visible = True + end + item + Expanded = False + FieldName = 'nombre' + Title.Caption = 'Nombre del Cliente' + Width = 336 + Visible = True + end + item + Expanded = False + FieldName = 'movil' + Title.Caption = 'Movil' + Visible = True + end + item + Expanded = False + FieldName = 'telefono' + Title.Caption = 'Tel'#233'fono' + Visible = True + end + item + Expanded = False + FieldName = 'agenteNombre' + Title.Caption = 'Agente Asignado' + Width = 150 + Visible = True + end> + end + end + object TabSheet2: TTabSheet + Caption = 'Ficha Cliente' + ImageIndex = 1 + object Label2: TLabel + Left = 8 + Top = 40 + Width = 50 + Height = 16 + Caption = 'Nombre:' + end + object Label4: TLabel + Left = 672 + Top = 32 + Width = 17 + Height = 16 + Caption = 'ID:' + end + object DBText1: TDBText + Left = 696 + Top = 32 + Width = 57 + Height = 17 + Alignment = taRightJustify + DataField = 'id' + DataSource = dsClientes + end + object Label5: TLabel + Left = 432 + Top = 40 + Width = 25 + Height = 16 + Caption = 'DNI:' + end + object Label6: TLabel + Left = 8 + Top = 104 + Width = 33 + Height = 16 + Caption = 'Calle:' + end + object Label7: TLabel + Left = 8 + Top = 136 + Width = 59 + Height = 16 + Caption = 'Poblaci'#243'n:' + end + object Label8: TLabel + Left = 256 + Top = 136 + Width = 56 + Height = 16 + Caption = 'Provincia:' + end + object Label9: TLabel + Left = 496 + Top = 136 + Width = 20 + Height = 16 + Caption = 'CP:' + end + object Label10: TLabel + Left = 8 + Top = 176 + Width = 111 + Height = 16 + Caption = 'Direcci'#243'n de cobro:' + end + object Label11: TLabel + Left = 8 + Top = 208 + Width = 55 + Height = 16 + Caption = 'Tel'#233'fono:' + end + object Label12: TLabel + Left = 216 + Top = 208 + Width = 34 + Height = 16 + Caption = 'Movil:' + end + object Label13: TLabel + Left = 408 + Top = 208 + Width = 25 + Height = 16 + Caption = 'Fax:' + end + object Label14: TLabel + Left = 8 + Top = 240 + Width = 35 + Height = 16 + Caption = 'eMail:' + end + object Label15: TLabel + Left = 8 + Top = 72 + Width = 106 + Height = 16 + Caption = 'Fecha Nacimiento:' + end + object Label16: TLabel + Left = 232 + Top = 72 + Width = 33 + Height = 16 + Caption = 'Edad:' + end + object lbEdad: TLabel + Left = 280 + Top = 72 + Width = 46 + Height = 16 + Caption = '99 A'#241'os' + end + object Label18: TLabel + Left = 368 + Top = 72 + Width = 70 + Height = 16 + Caption = 'Estado Civil:' + end + object Label17: TLabel + Left = 576 + Top = 72 + Width = 81 + Height = 16 + Caption = 'Fecha Carnet:' + end + object DBEdit1: TDBEdit + Left = 80 + Top = 32 + Width = 329 + Height = 24 + DataField = 'nombre' + DataSource = dsClientes + TabOrder = 0 + end + object PageControl2: TPageControl + Left = 0 + Top = 280 + Width = 784 + Height = 239 + ActivePage = TabSheet5 + Align = alBottom + Images = ImageList1 + TabIndex = 3 + TabOrder = 1 + OnChanging = PageControl2Changing + object TabSheet3: TTabSheet + Caption = 'Servicios con la compa'#241'ia' + ImageIndex = 2 + object Panel2: TPanel + Left = 0 + Top = 167 + Width = 776 + Height = 41 + Align = alBottom + TabOrder = 0 + end + object DBGrid3: TDBGrid + Left = 0 + Top = 0 + Width = 776 + Height = 167 + Align = alClient + DataSource = dsServicios + TabOrder = 1 + TitleFont.Charset = DEFAULT_CHARSET + TitleFont.Color = clWindowText + TitleFont.Height = -13 + TitleFont.Name = 'Tahoma' + TitleFont.Style = [] + Columns = < + item + Expanded = False + FieldName = 'nombreServicio' + Title.Caption = 'Tipo de Servicio' + Width = 276 + Visible = True + end + item + Expanded = False + FieldName = 'nPoliza' + Title.Caption = 'N'#250'm. Poliza' + Width = 159 + Visible = True + end + item + Expanded = False + FieldName = 'fechaEfecto' + Title.Caption = 'Fecha Efecto' + Width = 100 + Visible = True + end + item + Expanded = False + FieldName = 'fechaVencimiento' + Title.Caption = 'Vencimiento' + Width = 100 + Visible = True + end + item + Expanded = False + FieldName = 'primaNeta' + Title.Caption = 'Prima Neta' + Width = 97 + Visible = True + end> + end + end + object TabSheet6: TTabSheet + Caption = 'Otras polizas' + ImageIndex = 1 + object DBGrid4: TDBGrid + Left = 0 + Top = 0 + Width = 776 + Height = 208 + Align = alClient + DataSource = dsServiciosExternos + TabOrder = 0 + TitleFont.Charset = DEFAULT_CHARSET + TitleFont.Color = clWindowText + TitleFont.Height = -13 + TitleFont.Name = 'Tahoma' + TitleFont.Style = [] + Columns = < + item + Expanded = False + FieldName = 'nombreServicio' + Title.Caption = 'Tipo de Servicio' + Width = 276 + Visible = True + end + item + Expanded = False + FieldName = 'nPoliza' + Title.Caption = 'N'#250'm. Poliza' + Width = 159 + Visible = True + end + item + Expanded = False + FieldName = 'fechaEfecto' + Title.Caption = 'Fecha Efecto' + Width = 100 + Visible = True + end + item + Expanded = False + FieldName = 'fechaVencimiento' + Title.Caption = 'Vencimiento' + Width = 100 + Visible = True + end + item + Expanded = False + FieldName = 'primaNeta' + Title.Caption = 'Prima Neta' + Width = 97 + Visible = True + end> + end + end + object TabSheet4: TTabSheet + Caption = 'Miembros de la Familia' + ImageIndex = 3 + object DBGrid2: TDBGrid + Left = 0 + Top = 0 + Width = 776 + Height = 208 + Align = alClient + DataSource = dsFamiliares + TabOrder = 0 + TitleFont.Charset = DEFAULT_CHARSET + TitleFont.Color = clWindowText + TitleFont.Height = -13 + TitleFont.Name = 'Tahoma' + TitleFont.Style = [] + Columns = < + item + Expanded = False + FieldName = 'fechaNacimiento' + Title.Caption = 'F.Nacimiento' + Width = 108 + Visible = True + end + item + Expanded = False + FieldName = 'nombre' + Title.Caption = 'Nombre del miembro familiar' + Width = 296 + Visible = True + end + item + Expanded = False + FieldName = 'dni' + Title.Caption = 'DNI' + Width = 92 + Visible = True + end + item + Expanded = False + FieldName = 'sexo' + PickList.Strings = ( + 'Hombre' + 'Mujer') + Title.Caption = 'Sexo' + Width = 61 + Visible = True + end + item + Expanded = False + FieldName = 'estado' + PickList.Strings = ( + 'Soltero' + 'Casado' + 'Divorciado' + 'Viudo') + Title.Caption = 'Estado Civil' + Width = 70 + Visible = True + end + item + Expanded = False + FieldName = 'relacion' + PickList.Strings = ( + 'Padre/Madre' + 'Marido/Mujer' + 'Hermano/a' + 'Hijo/a' + 'otros') + Title.Caption = 'Relaci'#243'n' + Width = 109 + Visible = True + end> + end + end + object TabSheet5: TTabSheet + Caption = 'Observaciones del clietne' + ImageIndex = 4 + object DBMemo1: TDBMemo + Left = 0 + Top = 0 + Width = 776 + Height = 208 + Align = alClient + DataField = 'notas' + DataSource = dsClientes + TabOrder = 0 + end + end + end + object DBNavigator1: TDBNavigator + Left = 616 + Top = 0 + Width = 140 + Height = 25 + DataSource = dsClientes + VisibleButtons = [nbFirst, nbPrior, nbNext, nbLast, nbInsert, nbDelete, nbPost] + Flat = True + TabOrder = 2 + end + object DBEdit2: TDBEdit + Left = 464 + Top = 32 + Width = 105 + Height = 24 + DataField = 'dni' + DataSource = dsClientes + TabOrder = 3 + end + object DBEdit3: TDBEdit + Left = 80 + Top = 96 + Width = 489 + Height = 24 + DataField = 'calle' + DataSource = dsClientes + TabOrder = 4 + end + object DBEdit4: TDBEdit + Left = 80 + Top = 128 + Width = 161 + Height = 24 + DataField = 'poblacion' + DataSource = dsClientes + TabOrder = 5 + end + object DBEdit5: TDBEdit + Left = 320 + Top = 128 + Width = 161 + Height = 24 + DataField = 'provincia' + DataSource = dsClientes + TabOrder = 6 + end + object DBEdit6: TDBEdit + Left = 520 + Top = 128 + Width = 49 + Height = 24 + DataField = 'cp' + DataSource = dsClientes + TabOrder = 7 + end + object DBEdit7: TDBEdit + Left = 128 + Top = 168 + Width = 441 + Height = 24 + DataField = 'cobroCalle' + DataSource = dsClientes + TabOrder = 8 + end + object DBEdit8: TDBEdit + Left = 72 + Top = 200 + Width = 129 + Height = 24 + DataField = 'telefono' + DataSource = dsClientes + TabOrder = 9 + end + object DBEdit9: TDBEdit + Left = 256 + Top = 200 + Width = 132 + Height = 24 + DataField = 'movil' + DataSource = dsClientes + TabOrder = 10 + end + object DBEdit10: TDBEdit + Left = 440 + Top = 200 + Width = 129 + Height = 24 + DataField = 'fax' + DataSource = dsClientes + TabOrder = 11 + end + object DBEdit11: TDBEdit + Left = 72 + Top = 232 + Width = 497 + Height = 24 + DataField = 'correo' + DataSource = dsClientes + TabOrder = 12 + end + object DateTimePicker1: TDateTimePicker + Left = 120 + Top = 64 + Width = 105 + Height = 24 + CalAlignment = dtaLeft + Date = 40258.6537088657 + Time = 40258.6537088657 + DateFormat = dfShort + DateMode = dmComboBox + Kind = dtkDate + ParseInput = False + TabOrder = 13 + OnCloseUp = DateTimePicker1CloseUp + OnChange = DateTimePicker1CloseUp + end + object dbEstadoCivil: TComboBox + Left = 448 + Top = 64 + Width = 121 + Height = 24 + ItemHeight = 16 + ItemIndex = 0 + TabOrder = 14 + Text = 'Soltero' + OnChange = dbEstadoCivilChange + Items.Strings = ( + 'Soltero' + 'Casado' + 'Divociado' + 'Viudo') + end + object GroupBox1: TGroupBox + Left = 576 + Top = 120 + Width = 193 + Height = 137 + Caption = 'Datos Internos' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Tahoma' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 15 + object Label3: TLabel + Left = 4 + Top = 89 + Width = 101 + Height = 16 + Caption = 'Agente Asignado:' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Tahoma' + Font.Style = [] + ParentFont = False + end + object Label19: TLabel + Left = 8 + Top = 24 + Width = 112 + Height = 16 + Caption = 'Grado de Fidelidad:' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Tahoma' + Font.Style = [] + ParentFont = False + end + object DBLookupComboBox1: TDBLookupComboBox + Left = 4 + Top = 105 + Width = 181 + Height = 24 + DataField = 'agente' + DataSource = dsClientes + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Tahoma' + Font.Style = [] + KeyField = 'id' + ListField = 'nombre' + ListSource = dsAgentes + ParentFont = False + TabOrder = 0 + end + object cbGradoFidelidad: TComboBox + Left = 8 + Top = 48 + Width = 177 + Height = 24 + ItemHeight = 16 + ItemIndex = 1 + TabOrder = 1 + Text = 'Media' + OnChange = cbGradoFidelidadChange + Items.Strings = ( + 'Alta' + 'Media' + 'Baja') + end + end + object dbPCargo: TCheckBox + Left = 576 + Top = 40 + Width = 73 + Height = 17 + Caption = 'P/cargo' + TabOrder = 16 + OnClick = dbPCargoClick + end + object DateTimePicker2: TDateTimePicker + Left = 664 + Top = 64 + Width = 105 + Height = 24 + CalAlignment = dtaLeft + Date = 40258.6537088657 + Time = 40258.6537088657 + DateFormat = dfShort + DateMode = dmComboBox + Kind = dtkDate + ParseInput = False + TabOrder = 17 + OnCloseUp = DateTimePicker1CloseUp + OnChange = DateTimePicker1CloseUp + end + end + end + object ZConnection1: TZConnection + Protocol = 'sqlite-3' + Database = 'gestorServicios.s3db' + Connected = True + Left = 240 + Top = 440 + end + object zqClientes: TZQuery + Connection = ZConnection1 + AfterScroll = zqClientesAfterScroll + UpdateObject = zuClientes + BeforePost = zqClientesBeforePost + AfterPost = zqClientesAfterPost + SQL.Strings = ( + + 'SELECT c.id, c.agente, a.nombre agenteNombre, c.nombre, c.dn' + + 'i, c.calle, c.poblacion, c.provincia, c.cp, c.telefono, c.movil,' + + ' c.fax, c.correo, c.cobroCalle, c.estado, c.gradoFidelidad, c.pC' + + 'argo, c.fechaNacimiento, c.fechaCarnet,' + ' c.fecha, c.hora, c.notas' + 'FROM clientes c LEFT JOIN agentes a ON (a.id=c.agente)') + Params = <> + Left = 272 + Top = 440 + object zqClientesid: TIntegerField + AutoGenerateValue = arAutoInc + FieldName = 'id' + end + object zqClientesagente: TIntegerField + FieldName = 'agente' + end + object zqClientesagenteNombre: TStringField + FieldName = 'agenteNombre' + Size = 45 + end + object zqClientesnombre: TStringField + FieldName = 'nombre' + Size = 45 + end + object zqClientesdni: TStringField + FieldName = 'dni' + Size = 9 + end + object zqClientescalle: TStringField + FieldName = 'calle' + Size = 45 + end + object zqClientespoblacion: TStringField + FieldName = 'poblacion' + Size = 30 + end + object zqClientesprovincia: TStringField + FieldName = 'provincia' + Size = 25 + end + object zqClientescp: TStringField + FieldName = 'cp' + Size = 5 + end + object zqClientestelefono: TStringField + FieldName = 'telefono' + Size = 15 + end + object zqClientesmovil: TStringField + FieldName = 'movil' + Size = 15 + end + object zqClientesfax: TStringField + FieldName = 'fax' + Size = 15 + end + object zqClientescorreo: TStringField + FieldName = 'correo' + Size = 90 + end + object zqClientescobroCalle: TStringField + FieldName = 'cobroCalle' + Size = 45 + end + object zqClientesestado: TStringField + FieldName = 'estado' + Size = 1 + end + object zqClientesgradoFidelidad: TIntegerField + FieldName = 'gradoFidelidad' + end + object zqClientespCargo: TStringField + FieldName = 'pCargo' + Size = 45 + end + object zqClientesfechaNacimiento: TDateField + FieldName = 'fechaNacimiento' + end + object zqClientesfechaCarnet: TDateField + FieldName = 'fechaCarnet' + end + object zqClientesfecha: TDateField + FieldName = 'fecha' + end + object zqClienteshora: TTimeField + FieldName = 'hora' + end + object zqClientesnotas: TMemoField + FieldName = 'notas' + BlobType = ftMemo + end + end + object zuClientes: TZUpdateSQL + UseSequenceFieldForRefreshSQL = False + Left = 304 + Top = 440 + end + object dsClientes: TDataSource + DataSet = zqClientes + OnStateChange = dsClientesStateChange + Left = 272 + Top = 408 + end + object gridIcons: TImageList + Masked = False + Left = 272 + Top = 472 + Bitmap = { + 494C010102000400040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 + 0000000000003600000028000000400000001000000001002000000000000010 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000808080008080800080808000808080008080800080808000808080000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000808080000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000FFFFFF00C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000808080000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000FFFFFF00C0C0C0008080800000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000FFFFFF00C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000808080000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000FFFFFF00C0C0C000C0C0C000C0C0C00080808000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000FFFFFF00C0C0C000C0C0C000C0C0C00080808000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000FFFFFF00C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000808080000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000FFFFFF00C0C0C0008080800000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000FFFFFF00C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000808080000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000808080000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00808080000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000424D3E000000000000003E000000 + 2800000040000000100000000100010000000000800000000000000000000000 + 000000000000000000000000FFFFFF00FFFFFFFF00000000FFFFFFFF00000000 + FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000F01FFEFF00000000 + F01FFC7F00000000F01FF83F00000000F83FF01F00000000FC7FF01F00000000 + FEFFF01F00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000 + FFFFFFFF00000000FFFFFFFF0000000000000000000000000000000000000000 + 000000000000} + end + object MainMenu1: TMainMenu + Left = 272 + Top = 344 + object menu_Clientes1: TMenuItem + Caption = 'Clientes' + object ImprimirFicha1: TMenuItem + Caption = 'Imprimir Ficha' + OnClick = ImprimirFicha1Click + end + object ImprimirListado1: TMenuItem + Caption = 'Imprimir Listado' + OnClick = ImprimirListado1Click + end + object N1: TMenuItem + Caption = '-' + end + object TiposdeServicio1: TMenuItem + Caption = 'Tipos de Servicio' + OnClick = TiposdeServicio1Click + end + end + object menu_Agentes1: TMenuItem + Caption = 'Agentes' + object GestindeAgentes1: TMenuItem + Caption = 'Gesti'#243'n de Agentes' + OnClick = GestindeAgentes1Click + end + object CuentaPolizas1: TMenuItem + Caption = 'Cuenta Polizas' + OnClick = CuentaPolizas1Click + end + end + object Salir1: TMenuItem + Caption = 'Salir' + OnClick = Salir1Click + end + end + object zqFamiliares: TZQuery + Connection = ZConnection1 + BeforePost = zqFamiliaresBeforePost + OnNewRecord = zqFamiliaresNewRecord + SQL.Strings = ( + + 'SELECT id,cliente,nombre,dni,sexo,estado, relacion, fechaNacimie' + + 'nto' + 'FROM familiares') + Params = <> + MasterFields = 'id' + MasterSource = dsClientes + LinkedFields = 'cliente' + Left = 368 + Top = 440 + object zqFamiliaresid: TIntegerField + AutoGenerateValue = arAutoInc + FieldName = 'id' + end + object zqFamiliarescliente: TIntegerField + FieldName = 'cliente' + end + object zqFamiliaresnombre: TStringField + FieldName = 'nombre' + Size = 45 + end + object zqFamiliaresdni: TStringField + FieldName = 'dni' + Size = 9 + end + object zqFamiliaressexo: TStringField + FieldName = 'sexo' + OnGetText = zqFamiliaressexoGetText + Size = 1 + end + object zqFamiliaresestado: TStringField + FieldName = 'estado' + OnGetText = zqFamiliaresestadoGetText + Size = 1 + end + object zqFamiliaresrelacion: TStringField + FieldName = 'relacion' + OnGetText = zqFamiliaresrelacionGetText + Size = 1 + end + object zqFamiliaresfechaNacimiento: TDateField + FieldName = 'fechaNacimiento' + end + end + object dsFamiliares: TDataSource + DataSet = zqFamiliares + Left = 368 + Top = 408 + end + object zqServicios: TZQuery + Connection = ZConnection1 + UpdateObject = zuServicios + OnNewRecord = zqServiciosNewRecord + SQL.Strings = ( + + 'SELECT id,cliente,tipoServicio,nPoliza,fechaEfecto,fechaVencimie' + + 'nto,primaNeta' + 'FROM servicios') + Params = <> + MasterFields = 'id' + MasterSource = dsClientes + LinkedFields = 'cliente' + Left = 128 + Top = 440 + object zqServiciosid: TIntegerField + AutoGenerateValue = arAutoInc + FieldName = 'id' + end + object zqServicioscliente: TIntegerField + FieldName = 'cliente' + end + object zqServiciostipoServicio: TIntegerField + FieldName = 'tipoServicio' + end + object zqServiciosnPoliza: TStringField + FieldName = 'nPoliza' + Size = 15 + end + object zqServiciosfechaEfecto: TDateField + FieldName = 'fechaEfecto' + end + object zqServiciosfechaVencimiento: TDateField + FieldName = 'fechaVencimiento' + end + object zqServiciosprimaNeta: TFloatField + FieldName = 'primaNeta' + end + object zqServiciosnombreServicio: TStringField + FieldKind = fkLookup + FieldName = 'nombreServicio' + LookupDataSet = zqTipoServicios + LookupKeyFields = 'id' + LookupResultField = 'nombre' + KeyFields = 'tipoServicio' + Lookup = True + end + end + object dsServicios: TDataSource + DataSet = zqServicios + Left = 128 + Top = 408 + end + object zqTipoServicios: TZQuery + Connection = ZConnection1 + SQL.Strings = ( + 'SELECT id,nombre' + 'FROM tipoServicios ORDER BY nombre') + Params = <> + Left = 96 + Top = 440 + object zqTipoServiciosid: TIntegerField + AutoGenerateValue = arAutoInc + FieldName = 'id' + end + object zqTipoServiciosnombre: TStringField + FieldName = 'nombre' + Size = 25 + end + end + object zuServicios: TZUpdateSQL + UseSequenceFieldForRefreshSQL = False + Left = 160 + Top = 440 + end + object dsAgentes: TDataSource + DataSet = zqAgentes + Left = 424 + Top = 408 + end + object dsTipoServicios: TDataSource + DataSet = zqTipoServicios + Left = 96 + Top = 408 + end + object zqAgentes: TZQuery + Connection = ZConnection1 + SQL.Strings = ( + 'SELECT id,nombre FROM agentes ORDER BY nombre') + Params = <> + Left = 424 + Top = 440 + end + object ImageList1: TImageList + Left = 272 + Top = 512 + Bitmap = { + 494C010105000900040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 + 0000000000003600000028000000400000003000000001002000000000000030 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000F6EFE900C1976E00E3D0BE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000D8BDA300D4B69900BB8C5F00E0CAB500000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000C2976F00F5EEE700D5B89D00BA8B5D00DCC4 + AD00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000FAF7F300D1B1 + 9300B9885A00B8875800B8875800D5B89D000000000000000000F8F3EF00D5B8 + 9D00C49C7500F5EEE70000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000CEAC8B00DAC1 + A900FEFEFD00000000000000000000000000FEEEE200FDE3D000FEF2E9000000 + 0000DFC9B400C2987000FCFBF900000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000FCF9F700B9885A00FEFE + FD00FEF2E900FEECDF00FDEBDC00FDE9D900FDE7D600FDE6D300FDE4D000FCE4 + D10000000000C8A27D00EFE4DA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000F7F1EB00C0956C000000 + 0000FEF0E500FEEEE200FEEDE000FEEBDD00FDE9DA00FDE8D700FDE6D400FDE4 + D10000000000CDAA8900EADCCE00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000F7F1EB00C0956C000000 + 0000FEF1E800FEF0E600FEEFE300FEEDE000FEECDD00FDEADB00FDE8D700FDE6 + D50000000000CDAA8900EADCCE00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000FCF9F700B9885A00FEFE + FD00FEF6F000FEF2E900FEF1E600FEEFE400FEEEE100FEECDE00FDEADB00FDEA + DC0000000000C7A07B00F0E6DC00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000CEAC8B00DAC1 + A900FDFCFB000000000000000000000000000000000000000000000000000000 + 0000DFC9B400C2987000FDFCFB00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000FAF7F300D1B1 + 9300BA8A5C00B8875800B8875800B8875800B8875800B8875800B8875800B887 + 5800CBA78500F5EEE70000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000E2C0AA00CC8D6600C071 + 4000BC6B3600BC6B3600BC6B3600BC6A3600BC6A3600BB6A3500BB6A3500BB69 + 3500BD6E3B00CA8B6300E3C2AE000000000000000000E2C0AA00CC8D6600C071 + 4000BC6B3600BC6B3600BC6B3600BC6A3600BC6A3600BB6A3500BB6A3500BB69 + 3500BD6E3B00CA8B6300E3C2AE00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000ACC3DC00C08A7500CB70 + 3400D27E4100D37E4100D17C4100CD7A3F00B45F3F00B1B9C900C4DDF300FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000C57C4D00F8F2EB00F7EC + DF00F6EBDE00F6EADE00F6EADC00F6EADC00FAF3EB00FAF3EB00FAF2EA00FCF7 + F300FCF8F400FEFEFD00C37A4D000000000000000000C57C4D00F8F2EB00F7EC + DF00F6EBDE00F6EADE00F6EADC00F6EADC00FAF3EB00FAF3EB00FAF2EA00FCF7 + F300FCF8F400FEFEFD00C37A4D00000000000000000000000000000000000000 + 00000000000000000000B1947600865E3400825A3100A4825F00000000000000 + 000000000000000000000000000000000000529CE2007185AC00C87E5900FFBA + 6600FFB76100FFB05E00FFB25D00FFB45C00DE88570087737E004C9BE600FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000C2774000F5EBDF00FDBF + 6800FCBD6700FBBE6500FCBE6400FCBE6400FCBD6200FBBD6300FBBC6100FCBE + 6000FCBC6200FDFBF800BC6B37000000000000000000C2774000F5EBDF00FDBF + 6800FCBD6700FBBE6500FCBE6400FCBE6400FCBD6200FBBD6300FBBC6100FCBE + 6000FCBC6200FDFBF800BC6B370000000000A37642009E703D00986B38009365 + 33008D602E00875A2900825424009368390090653600724516006D401100693C + 0D0065380A00613406005E3103005B2E01003685D30093ACCC00E7AF7300FFB8 + 5F00FEB05F00FEA75B00FDA05500FF974D00FD934D00B39FA2004E96DE00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000C37C4200F7EDE300FDC2 + 6E00FFD8A000FFD79E00FFD69B00FFD79800FFD69600FFD69500FFD59400FFD4 + 9300FBBE6500FBF7F400BD6C37000000000000000000C37C4200F7EDE300FDC2 + 6E00184257002B6187004C89BC00709FB300E3C99A00FFD69500FFD59400FFD4 + 9300FBBE6500FBF7F400BD6C370000000000AB7E4A00B38B5D00B38B5D00B38B + 5D00B38B5D00B38B5D00B38B5D007D512100794C1D00B38B5D00B38B5D00B38B + 5D00B38B5D00B38B5D00B38B5D00683C0E00DDC3B500B7755C00FDD7B200FFD6 + 8400FFCA6500FFC05E00FFB45600FFA75700FFC59200D67D5B00B7907F00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000C6804600F7F0E600F8B4 + 5500F7B45600F7B55400F8B45300F8B25300F7B35200F7B35200F7B25100F7B2 + 4F00F7B24F00FCF9F500C1743C000000000000000000C6804600F7F0E600F8B4 + 55002E66820094C7F90091C9F9004185C9002668A600D2A86500F7B25100F7B2 + 4F00F7B24F00FCF9F500C1743C0000000000B0834F009E703D00986B38009365 + 33008D602E00875A290082542400AB907400AA8F7300724516006D401100693C + 0D0065380A00613406005E3103006C3F1200FFFFFF00DDB29B00CF7A5A00FFE8 + C000ADAA8600A79E7D00A0927500F7CA9C00E4947500C8836500FBF7F500FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000C7844800F8F1E800FEE5 + D500FDE5D300FDE5D300FCE5D300FCE5D300FCE4D100FCE2CE00FCE2CC00FBE0 + C900FBE1C800FDFAF700C37A41000000000000000000C7844800F8F1E800FEE5 + D5004389AA00E0F2FF00549AD8001A7ABE004998C500488CC200DAD2CD00FBE0 + C900FBE1C800FDFAF700C37A410000000000B6885400A5774300F9F9F900F9F9 + F900F9F9F900F8F8F800F1F1F100E3E3E300F3F3F300F8F8F800F9F9F900F8F8 + F800E9E9E900F8F8F8006235070070441600FFFFFF00FFFFFF00CB9E8700707C + 960073ADE70081B1E3007DB2E7006C98C40074552C005CA4640059A8680059A7 + 670056A3640054935600BFB2BA00C4DDF30000000000C7864B00F8F2EB00FEE7 + D600FDE7D600FDE7D600FDE7D600FDE6D500FDE5D300FCE4D100FCE2CD00FBE1 + CB00FBE1C900FBF7F200C78045000000000000000000C7864B00F8F2EB00FEE7 + D600A6B6BF007AB6D50090B7D10055C9E4005BDFF50078D0ED00519BD900E1D6 + CD00FBE1C900FBF7F200C780450000000000BA8D5800AB7D4900F9F9F900F1F1 + F100EDEDED00E7E7E700D3D3D300A5A5A500D7D7D700F4F4F400EEEEEE00EAEA + EA00DCDCDC00F8F8F80066390B0074481A00FFFFFF00FFFFFF00BBB7BA0073A4 + D600ACD1F200AED7FD00B0D4F50092C0E7005483890079CF940077CE8E0076CE + 8F0076CE91006BB474005A8F5A004C9BE60000000000C8884D00F9F3EC00FEE8 + D600FEE8D700FDE7D600FDE7D600FDE7D500FDE5D300FBE4D000FBE3CC00FADF + C700FADFC600FAF2EA00C88448000000000000000000C8884D00F9F3EC00FEE8 + D600FEE8D700B3C6CC0076B9D600C2F6FD0063DFF7005DE2F80079D3F0004998 + DA00E2D5C800FAF2EA00C884480000000000BE915C00B1834E00F9F9F900CCCC + CC00C9C9C900C5C5C500D3D3D300A6A6A600D8D8D800F4F4F400CACACA00C6C6 + C600BABABA00F8F8F8006B3E10007A4D1E00FFFFFF00FFFFFF006B8EB700A7BF + DB0096C5F100A1D0FB0096C6F300B6CFE400417AA70078CE8F0075CD890070CB + 83006ACB7B006AC97900609661004E96DE0000000000C88C4F00F9F4ED00FEE8 + D800FEE8D800FEE8D700FEE7D600FDE5D300FCE4D100FBE1CC00FAE0C700F9DD + C300F8DCC200FAF4ED00C8864B000000000000000000C88C4F00F9F4ED00FEE8 + D800FEE8D800FEE8D700B0C6CC0077CBE700C7F7FD005EDCF5005AE1F7007BD4 + F1004B99DB00D2DFE900C8864B0000000000C2956000B7895300FAFAFA00F1F1 + F100EDEDED00E9E9E900D4D4D400A6A6A600D8D8D800F5F5F500EFEFEF00EBEB + EB00DCDCDC00F8F8F800714415007F532300FFFFFF00FFFFFF00617EA9005069 + 9A006380AE007CA6D6005573A500435D9200446798007CD09F0077CE970071CD + 8E0072CD88009DD8AB006DB0700088A78B0000000000C88C5000F9F4EF00FEE7 + D700FDE7D600FDE7D500FDE6D400FCE6D200FBE1CC00FADFC700F8DCC200F6DA + BD00F6D8BB00FAF4EF00C8874C000000000000000000C88C5000F9F4EF00FEE7 + D700FDE7D600FDE7D500FDE6D400BDD6D50079D3EE00C7F7FD005FDCF5005BE2 + F7007AD6F20051A1E000AF88640000000000C6986200BC8E5800FAFAFA00CCCC + CC00CACACA00C5C5C500D4D4D400A7A7A700D8D8D800F5F5F500CBCBCB00C7C7 + C700BBBBBB00F8F8F800774A1A0084582800FFFFFF00FFFFFF00C5CCD5004562 + 9600415B9000415B9000415B9000415B90006F8F9E00849993007D948900758C + 7F00A4D5B10082BF850077AE7B00F6FAF70000000000C88D5100F9F4F000FCE6 + D300FCE6D400FDE7D300FCE4D100FBE3CD00FAE0C800F8DCC200F5D6BB00F3D4 + B500F1D2B300F8F4F000C6864C000000000000000000C88D5100F9F4F000FCE6 + D300FCE6D400FDE7D300FCE4D100FBE3CD00BED4D0007DD4EE00C4F6FD006CDD + F6006DCAED0063A3D7006599C800E5EFF700C6996300C1935C00FAFAFA00F2F2 + F200EFEFEF00EAEAEA00D5D5D500B5B5B500DFDFDF00F5F5F500F1F1F100ECEC + EC00DEDEDE00F9F9F9007D5020008A5E2D00FFFFFF00FFFFFF00FFFFFF00ACB7 + C5004C6A9B00415D920046629800577987006E7A940073ADE70081B1E3007DB2 + E7006C98C40068916A00F6F9F600FFFFFF0000000000C88D5100F9F5F100FCE3 + CF00FBE4D000FCE4CF00FCE3CD00FAE1CA00F9DDC400F6D9BC00F4E9DF00F7F2 + EC00FBF7F300F5EFE900C38048000000000000000000C88D5100F9F5F100FCE3 + CF00FBE4D000FCE4CF00FCE3CD00FAE1CA00F9DDC400AFCDC90081D5EE00B2E3 + F9008BC0E700AED3F600C4E0FC006BA2D400C6996300C5976000FAFAFA00CDCD + CD00CACACA00C6C6C600F2F2F200DDD8D200EBE5DF00FCFCFC00CCCCCC00C9C9 + C900BDBDBD00F9F9F9008457260091633300FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00BBB7BA0073A4D600ACD1F200AED7FD00B0D4 + F50092C0E7007D92AA00FFFFFF00FFFFFF0000000000C88D5200F9F5F100FCE3 + CD00FBE3CE00FBE3CD00FBE2CB00F9E0C800F8DCC200F5D6BA00FDFBF800FCE6 + CD00FAE5C900E2B68400D5A884000000000000000000C88D5200F9F5F100FCE3 + CD00FBE3CE00FBE3CD00FBE2CB00F9E0C800F8DCC200F5D6BA00AFE3F10077BE + E700B4D2F000E5F3FF00ACD2EF005996CC00C6996300C89A6300FAFAFA00FAFA + FA00FAFAFA00F8F8F800D9C6B100B98F5F00B48B5C00D7C4AF00F9F9F900F9F9 + F900F9F9F900F9F9F9008B5D2C0097693800FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF007AA0C500B8D0E70096C5F100A1D0FB0096C6 + F300B6CFE4004B93C700FFFFFF00FFFFFF0000000000CA925A00FAF6F200FAE0 + C700FBE1C900FBE2C900FBE0C800F9DFC500F8DBC100F4D6B800FFFBF800F6D8 + B400E1B07D00DC966900FDFBFA000000000000000000CA925A00FAF6F200FAE0 + C700FBE1C900FBE2C900FBE0C800F9DFC500F8DBC100F4D6B800FFFBF800B6CB + C20058A5D80085B1DB00469DD000B1D8EE00F4EBE000C99B6400D3AE8200D0AC + 8000CEA97D00CBA67B00C6A07400F2EAE100F1E9E000BB956A00B8946A00B490 + 6600AF8B6200AB875E0092643200EBE2D700FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF0079A3C70034AEE50065B8E6008DC8F6003BAD + E6001DA7E500319ED700FFFFFF00FFFFFF0000000000D2A27400F8F3ED00F8F4 + EE00F8F4ED00F8F3ED00F8F3ED00F8F3ED00F8F2EC00F7F2EC00F2E6D700E2B2 + 7D00DC986B00FDFBFA00000000000000000000000000D2A27400F8F3ED00F8F4 + EE00F8F4ED00F8F3ED00F8F3ED00F8F3ED00F8F2EC00F7F2EC00F2E6D700E2B2 + 7D00DC986B00FDFBFA00000000000000000000000000F4EBE000F4EBE000F4EB + E000F4EAE000F3EADF00F2E9DE000000000000000000F0E7DC00EFE6DB00EEE5 + DA00EDE4D900ECE2D800EAE1D70000000000FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00C3CFD90023A4DF0019A6E50019A6E50019A6 + E50019A6E50083ABC500FFFFFF00FFFFFF0000000000E8CEB900D7AA7C00CC94 + 5B00CA905500CA905500CA905500CA915500CB905500C98F5500CF9D6900DDB1 + 9000FDFBFA0000000000000000000000000000000000E8CEB900D7AA7C00CC94 + 5B00CA905500CA905500CA905500CA915500CB905500C98F5500CF9D6900DDB1 + 9000FDFBFA000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A8BECD00319DD5001BA5E40024A1 + DF0077A6C400FAFAFB00FFFFFF00FFFFFF00424D3E000000000000003E000000 + 2800000040000000300000000100010000000000800100000000000000000000 + 000000000000000000000000FFFFFF0000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000FFFF000000000000FFFF000000000000 + FFFF000000000000F8FF000000000000FC3F000000000000FE0F000000000000 + C0C3000000000000C71100000000000080090000000000009009000000000000 + 90090000000000008009000000000000C7F1000000000000C003000000000000 + FFFF000000000000FFFF00000000000080018001FFFF800080018001FC3F0000 + 8001800100000000800180010000000080018001000000008001800100000000 + 8001800100000000800180010000000080018001000000008001800100000000 + 8001800000000000800180000000000080018000000000008001800000000000 + 800380038181000080078007FFFF000000000000000000000000000000000000 + 000000000000} + end + object dsServiciosExternos: TDataSource + DataSet = zqServiciosExternos + Left = 512 + Top = 408 + end + object zqServiciosExternos: TZQuery + Connection = ZConnection1 + UpdateObject = zuServiciosExternos + OnNewRecord = zqServiciosExternosNewRecord + SQL.Strings = ( + + 'SELECT id,cliente,tipoServicio,nPoliza,fechaEfecto,fechaVencimie' + + 'nto,primaNeta' + 'FROM serviciosExternos') + Params = <> + MasterFields = 'id' + MasterSource = dsClientes + LinkedFields = 'cliente' + Left = 512 + Top = 440 + object IntegerField1: TIntegerField + AutoGenerateValue = arAutoInc + FieldName = 'id' + end + object IntegerField2: TIntegerField + FieldName = 'cliente' + end + object IntegerField3: TIntegerField + FieldName = 'tipoServicio' + end + object StringField1: TStringField + FieldName = 'nPoliza' + Size = 15 + end + object DateField1: TDateField + FieldName = 'fechaEfecto' + end + object DateField2: TDateField + FieldName = 'fechaVencimiento' + end + object FloatField1: TFloatField + FieldName = 'primaNeta' + end + object StringField2: TStringField + FieldKind = fkLookup + FieldName = 'nombreServicio' + LookupDataSet = zqTipoServicios + LookupKeyFields = 'id' + LookupResultField = 'nombre' + KeyFields = 'tipoServicio' + Lookup = True + end + end + object zuServiciosExternos: TZUpdateSQL + UseSequenceFieldForRefreshSQL = False + Left = 544 + Top = 440 + end +end diff --git a/src/clientes.h b/src/clientes.h new file mode 100644 index 0000000..cbdfaa5 --- /dev/null +++ b/src/clientes.h @@ -0,0 +1,211 @@ +//--------------------------------------------------------------------------- + +#ifndef clientesH +#define clientesH +//--------------------------------------------------------------------------- +#include +#include +#include +#include +#include "ZAbstractDataset.hpp" +#include "ZAbstractRODataset.hpp" +#include "ZConnection.hpp" +#include "ZDataset.hpp" +#include "ZSqlUpdate.hpp" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +//--------------------------------------------------------------------------- +class TgestionClientes : public TForm +{ +__published: // IDE-managed Components + TPageControl *PageControl1; + TTabSheet *TabSheet1; + TTabSheet *TabSheet2; + TPanel *Panel1; + TDBGrid *DBGrid1; + TZConnection *ZConnection1; + TZQuery *zqClientes; + TZUpdateSQL *zuClientes; + TDataSource *dsClientes; + TLabel *Label1; + TComboBox *srch_kFilter; + TEdit *srch_vFilter; + TBitBtn *BitBtn1; + TComboBox *srch_agentes; + TImageList *gridIcons; + TLabel *Label2; + TDBEdit *DBEdit1; + TPageControl *PageControl2; + TTabSheet *TabSheet3; + TTabSheet *TabSheet4; + TTabSheet *TabSheet5; + TDBMemo *DBMemo1; + TDBGrid *DBGrid2; + TPanel *Panel2; + TDBGrid *DBGrid3; + TDBNavigator *DBNavigator1; + TLabel *Label4; + TDBText *DBText1; + TLabel *Label5; + TDBEdit *DBEdit2; + TLabel *Label6; + TDBEdit *DBEdit3; + TLabel *Label7; + TDBEdit *DBEdit4; + TLabel *Label8; + TDBEdit *DBEdit5; + TLabel *Label9; + TDBEdit *DBEdit6; + TLabel *Label10; + TDBEdit *DBEdit7; + TLabel *Label11; + TDBEdit *DBEdit8; + TLabel *Label12; + TDBEdit *DBEdit9; + TLabel *Label13; + TDBEdit *DBEdit10; + TLabel *Label14; + TDBEdit *DBEdit11; + TLabel *Label15; + TLabel *Label16; + TLabel *lbEdad; + TDateTimePicker *DateTimePicker1; + TLabel *Label18; + TComboBox *dbEstadoCivil; + TGroupBox *GroupBox1; + TLabel *Label3; + TLabel *Label19; + TCheckBox *dbPCargo; + TIntegerField *zqClientesid; + TIntegerField *zqClientesagente; + TStringField *zqClientesagenteNombre; + TStringField *zqClientesnombre; + TStringField *zqClientesdni; + TStringField *zqClientescalle; + TStringField *zqClientespoblacion; + TStringField *zqClientesprovincia; + TStringField *zqClientescp; + TStringField *zqClientestelefono; + TStringField *zqClientesmovil; + TStringField *zqClientesfax; + TStringField *zqClientescorreo; + TStringField *zqClientescobroCalle; + TStringField *zqClientesestado; + TIntegerField *zqClientesgradoFidelidad; + TStringField *zqClientespCargo; + TDateField *zqClientesfechaNacimiento; + TDateField *zqClientesfecha; + TTimeField *zqClienteshora; + TMemoField *zqClientesnotas; + TMainMenu *MainMenu1; + TMenuItem *menu_Clientes1; + TMenuItem *menu_Agentes1; + TMenuItem *ImprimirFicha1; + TMenuItem *ImprimirListado1; + TMenuItem *GestindeAgentes1; + TMenuItem *CuentaPolizas1; + TMenuItem *Salir1; + TZQuery *zqFamiliares; + TDataSource *dsFamiliares; + TIntegerField *zqFamiliaresid; + TIntegerField *zqFamiliarescliente; + TStringField *zqFamiliaresnombre; + TStringField *zqFamiliaresdni; + TStringField *zqFamiliaressexo; + TStringField *zqFamiliaresestado; + TStringField *zqFamiliaresrelacion; + TDateField *zqFamiliaresfechaNacimiento; + TZQuery *zqServicios; + TDataSource *dsServicios; + TIntegerField *zqServiciosid; + TIntegerField *zqServicioscliente; + TIntegerField *zqServiciostipoServicio; + TStringField *zqServiciosnPoliza; + TDateField *zqServiciosfechaEfecto; + TDateField *zqServiciosfechaVencimiento; + TFloatField *zqServiciosprimaNeta; + TZQuery *zqTipoServicios; + TIntegerField *zqTipoServiciosid; + TStringField *zqTipoServiciosnombre; + TStringField *zqServiciosnombreServicio; + TZUpdateSQL *zuServicios; + TDataSource *dsAgentes; + TMenuItem *TiposdeServicio1; + TMenuItem *N1; + TDataSource *dsTipoServicios; + TDBLookupComboBox *DBLookupComboBox1; + TZQuery *zqAgentes; + TImageList *ImageList1; + TComboBox *cbGradoFidelidad; + TTabSheet *TabSheet6; + TDBGrid *DBGrid4; + TDataSource *dsServiciosExternos; + TZQuery *zqServiciosExternos; + TIntegerField *IntegerField1; + TIntegerField *IntegerField2; + TIntegerField *IntegerField3; + TStringField *StringField1; + TDateField *DateField1; + TDateField *DateField2; + TFloatField *FloatField1; + TStringField *StringField2; + TZUpdateSQL *zuServiciosExternos; + TLabel *Label17; + TDateTimePicker *DateTimePicker2; + TDateField *zqClientesfechaCarnet; + void __fastcall FormShow(TObject *Sender); + void __fastcall DBGrid1DblClick(TObject *Sender); + void __fastcall DBGrid1TitleClick(TColumn *Column); + void __fastcall doFilterClick(TObject *Sender); + void __fastcall DBGrid1DrawColumnCell(TObject *Sender, + const TRect &Rect, int DataCol, TColumn *Column, + TGridDrawState State); + void __fastcall zqClientesBeforePost(TDataSet *DataSet); + void __fastcall DateTimePicker1CloseUp(TObject *Sender); + void __fastcall zqClientesAfterScroll(TDataSet *DataSet); + void __fastcall dbEstadoCivilChange(TObject *Sender); + void __fastcall dbPCargoClick(TObject *Sender); + void __fastcall Salir1Click(TObject *Sender); + void __fastcall GestindeAgentes1Click(TObject *Sender); + void __fastcall zqFamiliaresNewRecord(TDataSet *DataSet); + void __fastcall zqFamiliaresBeforePost(TDataSet *DataSet); + void __fastcall zqFamiliaresestadoGetText(TField *Sender, + AnsiString &Text, bool DisplayText); + void __fastcall zqFamiliaresrelacionGetText(TField *Sender, + AnsiString &Text, bool DisplayText); + void __fastcall zqFamiliaressexoGetText(TField *Sender, + AnsiString &Text, bool DisplayText); + void __fastcall zqServiciosNewRecord(TDataSet *DataSet); + void __fastcall TiposdeServicio1Click(TObject *Sender); + void __fastcall ImprimirListado1Click(TObject *Sender); + void __fastcall ImprimirFicha1Click(TObject *Sender); + void __fastcall CuentaPolizas1Click(TObject *Sender); + void __fastcall dsClientesStateChange(TObject *Sender); + void __fastcall zqClientesAfterPost(TDataSet *DataSet); + void __fastcall cbGradoFidelidadChange(TObject *Sender); + void __fastcall FormClose(TObject *Sender, TCloseAction &Action); + void __fastcall zqServiciosExternosNewRecord(TDataSet *DataSet); + void __fastcall PageControl2Changing(TObject *Sender, + bool &AllowChange); +private: // User declarations + void __fastcall MyWndProc(Messages::TMessage &Message); + AnsiString dsListado_sort; + int dsListado_Indice; + bool dbUpdating, gettingAutoIncrement; + +public: // User declarations + __fastcall TgestionClientes(TComponent* Owner); + +}; +//--------------------------------------------------------------------------- +extern PACKAGE TgestionClientes *gestionClientes; +//--------------------------------------------------------------------------- +#endif diff --git a/src/clientes.~cpp b/src/clientes.~cpp new file mode 100644 index 0000000..9f49d0e --- /dev/null +++ b/src/clientes.~cpp @@ -0,0 +1,600 @@ +//--------------------------------------------------------------------------- + +#include +#include +#include "tsplash.h" +#pragma hdrstop + +#include "clientes.h" +#include "agentes.h" +#include "imprimirClientes.h" +#include "cuentaPolizas.h" +#include "imprimirFichaCliente.h" +#include "login_dlg.h" +//--------------------------------------------------------------------------- +#pragma package(smart_init) +#pragma link "ZAbstractDataset" +#pragma link "ZAbstractRODataset" +#pragma link "ZConnection" +#pragma link "ZDataset" +#pragma link "ZSqlUpdate" +#pragma resource "*.dfm" +TgestionClientes *gestionClientes; +//--------------------------------------------------------------------------- +__fastcall TgestionClientes::TgestionClientes(TComponent* Owner) + : TForm(Owner) +{ + gettingAutoIncrement = false; + + #define IDM_ABOUTBOX 1 + HMENU pSysMenu = GetSystemMenu(this->Handle, FALSE); + if (pSysMenu != NULL) + { + AppendMenu(pSysMenu, MF_SEPARATOR,0,0); + AppendMenu(pSysMenu, MF_STRING, IDM_ABOUTBOX, "Acerca de..."); + } + WindowProc=MyWndProc; + + + // Cargamos el listado de agentes disponibles + TZQuery *zquery; + zquery = new TZQuery(this); + zquery->Connection = ZConnection1; + zquery->SQL->Clear(); + zquery->SQL->Add("SELECT id,nombre FROM agentes ORDER BY nombre"); + zquery->Active=zquery->Connection->Connected; + + srch_agentes->Items->Clear(); + srch_agentes->Items->AddObject("",(TObject *)(-1) ); + srch_agentes->Items->AddObject("-[ Sin Agente Asignado ]-",(TObject *)(0) ); + while(!zquery->Eof) + { + srch_agentes->Items->AddObject(zquery->FieldByName("nombre")->AsString,(TObject *)(zquery->FieldByName("id")->AsInteger)); + zquery->Next(); + } + + + // Orden del listado + dsListado_sort = "c.id"; + + + zuClientes->ModifySQL->Clear(); + zuClientes->ModifySQL->Add("UPDATE clientes SET agente=:agente, nombre=:nombre, dni=:dni, calle=:calle, poblacion=:poblacion, provincia=:provincia, cp=:cp, telefono=:telefono, movil=:movil, fax=:fax, correo=:correo, cobroCalle=:cobroCalle, estado=:estado, gradoFidelidad=:gradoFidelidad, pCargo=:pCargo, fechaNacimiento=:fechaNacimiento, fechaCarnet=:fechaCarnet, fecha=:fecha, hora=:hora, notas=:notas WHERE id=:OLD_id"); + zuClientes->DeleteSQL->Clear(); + zuClientes->DeleteSQL->Add("DELETE FROM clientes WHERE id=:OLD_id"); + zuClientes->InsertSQL->Clear(); + zuClientes->InsertSQL->Add("INSERT INTO clientes (agente, nombre, dni, calle, poblacion, provincia, cp, telefono, movil, fax, correo, cobroCalle, estado, gradoFidelidad, pCargo, fechaNacimiento, fechaCarnet, fecha, hora, notas) VALUES (:agente, :nombre, :dni, :calle, :poblacion, :provincia, :cp, :telefono, :movil, :fax, :correo, :cobroCalle, :estado, :gradoFidelidad, :pCargo, :fechaNacimiento, :fechaCarnet, :fecha, :hora, :notas)"); + + zuServicios->ModifySQL->Clear(); + zuServicios->ModifySQL->Add("UPDATE servicios SET tipoServicio=:tipoServicio, nPoliza=:nPoliza, fechaEfecto=:fechaEfecto, fechaVencimiento=:fechaVencimiento, primaNeta=:primaNeta WHERE id=:OLD_id"); + zuServicios->DeleteSQL->Clear(); + zuServicios->DeleteSQL->Add("DELETE FROM servicios WHERE id=:OLD_id"); + zuServicios->InsertSQL->Clear(); + zuServicios->InsertSQL->Add("INSERT INTO servicios (cliente, tipoServicio, nPoliza, fechaEfecto, fechaVencimiento, primaNeta) VALUES (:cliente, :tipoServicio, :nPoliza, :fechaEfecto, :fechaVencimiento, :primaNeta)"); + + + zuServiciosExternos->ModifySQL->Clear(); + zuServiciosExternos->ModifySQL->Add("UPDATE serviciosExternos SET tipoServicio=:tipoServicio, nPoliza=:nPoliza, fechaEfecto=:fechaEfecto, fechaVencimiento=:fechaVencimiento, primaNeta=:primaNeta WHERE id=:OLD_id"); + zuServiciosExternos->DeleteSQL->Clear(); + zuServiciosExternos->DeleteSQL->Add("DELETE FROM serviciosExternos WHERE id=:OLD_id"); + zuServiciosExternos->InsertSQL->Clear(); + zuServiciosExternos->InsertSQL->Add("INSERT INTO serviciosExternos (cliente, tipoServicio, nPoliza, fechaEfecto, fechaVencimiento, primaNeta) VALUES (:cliente, :tipoServicio, :nPoliza, :fechaEfecto, :fechaVencimiento, :primaNeta)"); + + + PageControl1->ActivePage = TabSheet1; + PageControl2->ActivePage = TabSheet3; + + zqClientes->Active = zqClientes->Connection->Connected; + zqServicios->Active = zqServicios->Connection->Connected; + zqServiciosExternos->Active = zqServicios->Connection->Connected; + zqTipoServicios->Active = zqTipoServicios->Connection->Connected; + zqFamiliares->Active = zqFamiliares->Connection->Connected; + zqAgentes->Active = zqAgentes->Connection->Connected; + +} +//--------------------------------------------------------------------------- +void __fastcall TgestionClientes::MyWndProc(Messages::TMessage &Message) +{ + HMENU hMenu; + hMenu = GetSystemMenu (this->Handle, FALSE); + if (Message.Msg == WM_SYSCOMMAND) + { + switch(Message.WParamLo) + { + case IDM_ABOUTBOX: + if ( Splash==NULL ) Splash = new TSplash(NULL); + Splash->pressKeyToClose = true; + Splash->Show(); + Splash->Repaint(); + break; + default: + WndProc(Message); + } +} + +else + WndProc(Message); +} +//--------------------------------------------------------------------------- +void __fastcall TgestionClientes::FormShow(TObject *Sender) +{ + if(Splash){ + delete Splash; + Splash = NULL; + + Tlogin *login; + login = new Tlogin(this); + + do { + login->ShowModal(); + if ( login->ModalResult!=mrOk ) { + Close(); + break; + } + if ( login->auth ) break; + + MessageDlg("Error iniciando sesión.\nEl usuario/contraseña no es correcto.",mtError, TMsgDlgButtons() << mbOK, 0); + login->pass->Text = ""; + } while(1); + } +} +//--------------------------------------------------------------------------- +void __fastcall TgestionClientes::DBGrid1DblClick(TObject *Sender) +{ + PageControl1->ActivePage = TabSheet2; +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::DBGrid1TitleClick(TColumn *Column) +{ + if ( dsListado_sort.Pos(Column->FieldName)==1 && dsListado_sort.Pos(" ASC")==0 ) + dsListado_sort = Column->FieldName + " ASC"; + else + dsListado_sort = Column->FieldName + " DESC"; + + dsListado_Indice = Column->Index; + + doFilterClick(NULL); +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::doFilterClick(TObject *Sender) +{ + AnsiString where,orderBy,query, leftJOIN; + + where = ""; + leftJOIN = ""; + if ( !srch_vFilter->Text.IsEmpty() ) + switch( srch_kFilter->ItemIndex ) { + case 0: + if ( where.IsEmpty() ) where = " WHERE "; else where+=" AND "; + where+=" c.id='"+srch_vFilter->Text+"'"; + break; + case 1: + if ( where.IsEmpty() ) where = " WHERE "; else where+=" AND "; + where+=" c.nombre LIKE '%"+srch_vFilter->Text+"%'"; + break; + case 2: + if ( where.IsEmpty() ) where = " WHERE "; else where+=" AND "; + where+=" (c.telefono LIKE '%"+srch_vFilter->Text+"%'"; + where+=" OR c.movil LIKE '%"+srch_vFilter->Text+"%'"; + where+=" OR c.fax LIKE '%"+srch_vFilter->Text+"%')"; + break; + case 3: + if ( where.IsEmpty() ) where = " WHERE "; else where+=" AND "; + where+=" c.calle LIKE '%"+srch_vFilter->Text+"%'"; + break; + case 4: + if ( where.IsEmpty() ) where = " WHERE "; else where+=" AND "; + where+=" c.poblacion LIKE '%"+srch_vFilter->Text+"%'"; + break; + case 5: + if ( where.IsEmpty() ) where = " WHERE "; else where+=" AND "; + where+=" c.provincia LIKE '%"+srch_vFilter->Text+"%'"; + break; + case 6: + if ( where.IsEmpty() ) where = " WHERE "; else where+=" AND "; + where+=" c.cp LIKE '%"+srch_vFilter->Text+"%'"; + break; + case 7: + if ( where.IsEmpty() ) where = " WHERE "; else where+=" AND "; + where+=" c.dni LIKE '%"+srch_vFilter->Text+"%'"; + break; + case 8: + System::TDateTime fecha; + if ( TryStrToDate(srch_vFilter->Text, fecha) ) { + DateSeparator = '-'; + ShortDateFormat = "yyyy-mm-dd"; + + if ( where.IsEmpty() ) where = " WHERE "; else where+=" AND "; + where+=" p.fechaVencimiento<='"+DateToStr(fecha)+"'"; + leftJOIN = " LEFT JOIN serviciosExternos p ON (p.cliente=c.id) "; + + DateSeparator = '/'; + ShortDateFormat = "dd/mm/yyyy"; + } + break; + + } + + int agente; + if ( srch_agentes->ItemIndex>0 ) { + agente = (int)srch_agentes->Items->Objects[srch_agentes->ItemIndex]; + if ( agente>=0 ) { + if ( where.IsEmpty() ) where = " WHERE "; else where+=" AND "; + where+=" a.id="+AnsiString(agente); + } + } + + + orderBy = " ORDER BY "; + if ( dsListado_sort.Pos("agenteNombre")>0 ) orderBy += "a.nombre"; else orderBy += "c."+dsListado_sort; + + + query = "SELECT c.id, c.agente, a.nombre agenteNombre, c.nombre, c.dni, c.calle, c.poblacion, c.provincia, c.cp, c.telefono, c.movil, c.fax, c.correo, c.cobroCalle, c.estado, c.gradoFidelidad, c.pCargo, c.fechaNacimiento,c.fechaCarnet,c.fecha, c.hora, c.notas"; + query+= " FROM clientes c LEFT JOIN agentes a ON (a.id=c.agente)"; + query+= leftJOIN; + query+= where; + query+= orderBy; + + + // Volver a filtrar el listado... + zqClientes->SQL->Clear(); + zqClientes->SQL->Add(query); + zqClientes->Active = zqClientes->Connection->Connected; + +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::DBGrid1DrawColumnCell(TObject *Sender, + const TRect &Rect, int DataCol, TColumn *Column, + TGridDrawState State) +{ +//- --------------------------------------------------------- + if ( !State.Contains(gdSelected) ) + { + Graphics::TBitmap *Bmp; + TDBGrid *dbG; + dbG = (TDBGrid *)Sender; + + // Determina la columna clicada... + if ( Column->Index == dsListado_Indice ) + { + Bmp = new Graphics::TBitmap(); + Bmp->TransparentColor = clWhite; + Bmp->Transparent = true; + Bmp->TransparentMode = tmAuto; + + try { + // Determina la imagen mostrada de acuerdo con el orden de los registros + if ( dsListado_sort.Pos(Column->FieldName) == 1 && dsListado_sort.Pos(" ASC")== 0 ) + gridIcons->GetBitmap(0, Bmp); // Set abajo + else + gridIcons->GetBitmap(1, Bmp); // Set arriba + + dbG->Canvas->Draw( Rect.right - Bmp->Width,2, Bmp); + } __finally { + delete Bmp; // Liberamos la variable Bmp de la memoria + } + } + dbG->DefaultDrawColumnCell(Rect,DataCol,Column,State); + } + //- --------------------------------------------------------- +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::zqClientesBeforePost(TDataSet *DataSet) +{ + // Comprobar que no exista el DNI introducido + AnsiString dni; + dni = zqClientes->FieldByName("dni")->AsString; + + + if ( DataSet->State == dsInsert && !dni.IsEmpty() ) { + TZQuery *q; + q = new TZQuery(this); + q->SQL->Clear(); + q->SQL->Add( AnsiString("select id FROM clientes WHERE dni='")+dni+AnsiString("'") ); + q->Connection = ZConnection1; + q->Active = true; + + if ( q->RecordCount>0 ) { + int res; + res = MessageDlg("El dni introducido ya existe, ficha " + IntToStr(q->FieldByName("id")->AsInteger) + ". ¿Duplicar ficha?", mtInformation, mbYesNoCancel, 0); + switch( res ) { + case mrCancel: + Abort(); + return; + break; + case mrNo: + zqClientes->CancelUpdates(); + zqClientes->Locate("id",q->FieldByName("id")->AsInteger, TLocateOptions() ); + return; + break; + default: + break; + } + } + } + + // Guardamos el contenido de los combos + zqClientes->FieldByName("fechaNacimiento")->AsDateTime = DateTimePicker1->DateTime; + zqClientes->FieldByName("fechaCarnet")->AsDateTime = DateTimePicker2->DateTime; + switch( dbEstadoCivil->ItemIndex ) { + case 0: zqClientes->FieldByName("estado")->AsString = "S"; break; + case 1: zqClientes->FieldByName("estado")->AsString = "C"; break; + case 2: zqClientes->FieldByName("estado")->AsString = "D"; break; + case 3: zqClientes->FieldByName("estado")->AsString = "V"; break; + } + zqClientes->FieldByName("gradoFidelidad")->AsInteger = cbGradoFidelidad->ItemIndex; + zqClientes->FieldByName("pCargo")->AsString = (dbPCargo->Checked?"Y":"N"); +} +//--------------------------------------------------------------------------- + + +void __fastcall TgestionClientes::DateTimePicker1CloseUp(TObject *Sender) +{ + lbEdad->Caption = AnsiString( YearsBetween(TDateTime::CurrentDate(), DateTimePicker1->DateTime) ) + " Años"; + + if ( dbUpdating ) return; + if (zqClientes->State != dsEdit || zqClientes->State != dsInsert ) zqClientes->Edit(); +} +//--------------------------------------------------------------------------- + + +void __fastcall TgestionClientes::zqClientesAfterScroll(TDataSet *DataSet) +{ + dbUpdating = true; + + // Guardamos el contenido de los combos + DateTimePicker1->DateTime = zqClientes->FieldByName("fechaNacimiento")->AsDateTime; + DateTimePicker2->DateTime = zqClientes->FieldByName("fechaCarnet")->AsDateTime; + if ( zqClientes->FieldByName("estado")->AsString=="S" ) dbEstadoCivil->ItemIndex = 0; else + if ( zqClientes->FieldByName("estado")->AsString=="C" ) dbEstadoCivil->ItemIndex = 1; else + if ( zqClientes->FieldByName("estado")->AsString=="D" ) dbEstadoCivil->ItemIndex = 2; else + if ( zqClientes->FieldByName("estado")->AsString=="V" ) dbEstadoCivil->ItemIndex = 3; + + if ( zqClientes->FieldByName("gradoFidelidad")->AsInteger == 0 ) cbGradoFidelidad->ItemIndex = 0; + else if ( zqClientes->FieldByName("gradoFidelidad")->AsInteger == 1 ) cbGradoFidelidad->ItemIndex = 1; + else if ( zqClientes->FieldByName("gradoFidelidad")->AsInteger == 2 ) cbGradoFidelidad->ItemIndex = 2; + else cbGradoFidelidad->ItemIndex = 2; + + dbPCargo->Checked = (zqClientes->FieldByName("pCargo")->AsString=="Y"); + + lbEdad->Caption = AnsiString( YearsBetween(TDateTime::CurrentDate(), DateTimePicker1->DateTime) ) + " Años"; + + dbUpdating = false; +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::dbEstadoCivilChange(TObject *Sender) +{ + if ( dbUpdating ) return; + if (zqClientes->State != dsEdit || zqClientes->State != dsInsert ) zqClientes->Edit(); +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::dbPCargoClick(TObject *Sender) +{ + if ( dbUpdating ) return; + if (zqClientes->State != dsEdit || zqClientes->State != dsInsert ) zqClientes->Edit(); +} +//--------------------------------------------------------------------------- + + +void __fastcall TgestionClientes::Salir1Click(TObject *Sender) +{ + Close(); +} +//--------------------------------------------------------------------------- + + +void __fastcall TgestionClientes::GestindeAgentes1Click(TObject *Sender) +{ + TgestionAgentes *f; + f = new TgestionAgentes(this); + f->DBGrid2->DataSource = dsAgentes; + f->ShowModal(); + delete f; +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::zqFamiliaresNewRecord(TDataSet *DataSet) +{ + zqFamiliares->FieldByName("cliente")->AsInteger = zqClientes->FieldByName("id")->AsInteger; + zqFamiliares->FieldByName("sexo")->AsString = "H"; + zqFamiliares->FieldByName("estado")->AsString = "C"; + zqFamiliares->FieldByName("relacion")->AsString = "C"; +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::zqFamiliaresBeforePost(TDataSet *DataSet) +{ + // Convertir los desplegables + zqFamiliares->FieldByName("sexo")->AsString = (zqFamiliares->FieldByName("sexo")->AsString=="Hombre"?"H":"M"); + if ( zqFamiliares->FieldByName("estado")->AsString=="Soltero" ) zqFamiliares->FieldByName("estado")->AsString = "S"; else + if ( zqFamiliares->FieldByName("estado")->AsString=="Casado" ) zqFamiliares->FieldByName("estado")->AsString = "C"; else + if ( zqFamiliares->FieldByName("estado")->AsString=="Divorciado" ) zqFamiliares->FieldByName("estado")->AsString = "D"; else + if ( zqFamiliares->FieldByName("estado")->AsString=="Viudo" ) zqFamiliares->FieldByName("estado")->AsString = "V"; + + if ( zqFamiliares->FieldByName("relacion")->AsString == "Padre/Madre" ) zqFamiliares->FieldByName("relacion")->AsString = "P"; else + if ( zqFamiliares->FieldByName("relacion")->AsString == "Marido/Mujer" ) zqFamiliares->FieldByName("relacion")->AsString = "C"; else + if ( zqFamiliares->FieldByName("relacion")->AsString == "Hermano/a" ) zqFamiliares->FieldByName("relacion")->AsString = "H"; else + if ( zqFamiliares->FieldByName("relacion")->AsString == "Hijo/a" ) zqFamiliares->FieldByName("relacion")->AsString = "N"; else + if ( zqFamiliares->FieldByName("relacion")->AsString == "otros" ) zqFamiliares->FieldByName("relacion")->AsString = "o"; + +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::zqFamiliaresestadoGetText(TField *Sender, + AnsiString &Text, bool DisplayText) +{ + if ( Sender->AsString == "S" ) Text = "Soltero"; else + if ( Sender->AsString == "C" ) Text = "Casado"; else + if ( Sender->AsString == "D" ) Text = "Divorciado"; else + if ( Sender->AsString == "V" ) Text = "Viudo"; +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::zqFamiliaresrelacionGetText( + TField *Sender, AnsiString &Text, bool DisplayText) +{ + if ( Sender->AsString == "P" ) Text = "Padre/Madre"; else + if ( Sender->AsString == "C" ) Text = "Marido/Mujer"; else + if ( Sender->AsString == "H" ) Text = "Hermano/a"; else + if ( Sender->AsString == "N" ) Text = "Hijo/a"; else + if ( Sender->AsString == "o" ) Text = "otros"; +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::zqFamiliaressexoGetText(TField *Sender, + AnsiString &Text, bool DisplayText) +{ + if ( Sender->AsString == "H" ) Text = "Hombre"; else + if ( Sender->AsString == "M" ) Text = "Mujer"; +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::zqServiciosNewRecord(TDataSet *DataSet) +{ + zqServicios->FieldByName("cliente")->AsInteger = zqClientes->FieldByName("id")->AsInteger; + zqServicios->FieldByName("primaNeta")->AsCurrency = 0; +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::TiposdeServicio1Click(TObject *Sender) +{ + TgestionAgentes *f; + f = new TgestionAgentes(this); + f->Caption = "Tipos de Servicios"; + f->DBGrid2->Columns->Items[0]->Title->Caption = "Nombre del Servicio Contratado"; + f->DBGrid2->DataSource = dsTipoServicios; + f->ShowModal(); + delete f; +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::ImprimirListado1Click(TObject *Sender) +{ + TimprimirCarteraClientes *i; + i = new TimprimirCarteraClientes(this); + i->QuickRep1->DataSet = zqClientes; + i->QuickRep1->Preview(); + delete i; +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::ImprimirFicha1Click(TObject *Sender) +{ + TimprFichaCliente *i; + i = new TimprFichaCliente(this); + + i->rID->Caption = zqClientes->FieldByName("id")->AsString; + i->rNombre->Caption = zqClientes->FieldByName("nombre")->AsString; + i->rDNI->Caption = zqClientes->FieldByName("dni")->AsString; + i->rFechaNacimiento->Caption = zqClientes->FieldByName("fechaNacimiento")->AsString; + i->rEstadoCivil->Caption = zqClientes->FieldByName("estado")->AsString; + i->rPCargo->Caption = zqClientes->FieldByName("pCargo")->AsString=="Y"?"SI":"NO"; + i->rCalle->Caption = zqClientes->FieldByName("calle")->AsString; + i->rPoblacion->Caption = zqClientes->FieldByName("poblacion")->AsString; + i->rProvincia->Caption = zqClientes->FieldByName("provincia")->AsString; + i->rCP->Caption = zqClientes->FieldByName("cp")->AsString; + i->rDirCobro->Caption = zqClientes->FieldByName("cobroCalle")->AsString; + i->rTelefono->Caption = zqClientes->FieldByName("telefono")->AsString; + i->rMovil->Caption = zqClientes->FieldByName("movil")->AsString; + i->rFax->Caption = zqClientes->FieldByName("fax")->AsString; + i->rEMail->Caption = zqClientes->FieldByName("correo")->AsString; + i->rAgente->Caption = DBLookupComboBox1->Text; + i->rGradoFidelidad->Caption = zqClientes->FieldByName("gradoFidelidad")->AsString; + i->rNotas->Lines->Text = zqClientes->FieldByName("notas")->AsString; + + i->QuickRep1->DataSet = zqFamiliares; + i->QuickRep1->Preview(); + delete i; +} +//--------------------------------------------------------------------------- + + +void __fastcall TgestionClientes::CuentaPolizas1Click(TObject *Sender) +{ + TgestionCuentaPolizas *f; + f = new TgestionCuentaPolizas(this); + f->ShowModal(); + delete f; +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::dsClientesStateChange(TObject *Sender) +{ + if ( dsClientes->State==dsInsert ) { + PageControl2->ActivePage = TabSheet5; + } + + TabSheet3->Enabled = (dsClientes->State!=dsInsert); + TabSheet6->Enabled = (dsClientes->State!=dsInsert); + TabSheet4->Enabled = (dsClientes->State!=dsInsert); +} +//--------------------------------------------------------------------------- + + + +void __fastcall TgestionClientes::zqClientesAfterPost(TDataSet *DataSet) +{ + if ( gettingAutoIncrement ) return; + // Read auto-increment + if ( zqClientes->FieldByName("id")->AsInteger==0 ) { + gettingAutoIncrement = true; + + zqClientes->Edit(); + + TZQuery *q; + q = new TZQuery(this); + q->SQL->Clear(); + q->SQL->Add("select last_insert_rowid() id"); + q->Connection = ZConnection1; + q->Active = true; + + zqClientes->FieldByName("id")->AsInteger = q->FieldByName("id")->AsInteger; + delete q; + + zqClientes->Post(); + gettingAutoIncrement = false; + } + +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::cbGradoFidelidadChange(TObject *Sender) +{ + if ( dbUpdating ) return; + if (zqClientes->State != dsEdit || zqClientes->State != dsInsert ) zqClientes->Edit(); +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::FormClose(TObject *Sender, + TCloseAction &Action) +{ + if( zqClientes->State == dsEdit || zqClientes->State == dsInsert ) zqClientes->Post(); + if( zqServicios->State == dsEdit || zqServicios->State == dsInsert ) zqServicios->Post(); + if( zqFamiliares->State == dsEdit || zqFamiliares->State == dsInsert ) zqFamiliares->Post(); + if( zqAgentes->State == dsEdit || zqAgentes->State == dsInsert ) zqAgentes->Post(); +} +//--------------------------------------------------------------------------- + +void __fastcall TgestionClientes::zqServiciosExternosNewRecord( + TDataSet *DataSet) +{ + zqServiciosExternos->FieldByName("cliente")->AsInteger = zqClientes->FieldByName("id")->AsInteger; + zqServiciosExternos->FieldByName("primaNeta")->AsCurrency = 0; +} +//--------------------------------------------------------------------------- + + + +void __fastcall TgestionClientes::PageControl2Changing(TObject *Sender, + bool &AllowChange) +{ + AllowChange = ( dsClientes->State!=dsInsert ); +} +//--------------------------------------------------------------------------- + diff --git a/src/clientes.~ddp b/src/clientes.~ddp new file mode 100644 index 0000000..cdc0ee8 Binary files /dev/null and b/src/clientes.~ddp differ diff --git a/src/clientes.~dfm b/src/clientes.~dfm new file mode 100644 index 0000000..beb2856 --- /dev/null +++ b/src/clientes.~dfm @@ -0,0 +1,1665 @@ +object gestionClientes: TgestionClientes + Left = 449 + Top = 222 + Width = 800 + Height = 600 + Caption = 'Cartera de Clientes | v.20120204' + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Tahoma' + Font.Style = [] + Menu = MainMenu1 + OldCreateOrder = False + Position = poScreenCenter + Scaled = False + OnClose = FormClose + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 16 + object PageControl1: TPageControl + Left = 0 + Top = 0 + Width = 792 + Height = 550 + ActivePage = TabSheet2 + Align = alClient + Images = ImageList1 + TabIndex = 1 + TabOrder = 0 + object TabSheet1: TTabSheet + Caption = 'Listado' + object Panel1: TPanel + Left = 0 + Top = 0 + Width = 784 + Height = 41 + Align = alTop + BevelOuter = bvNone + TabOrder = 0 + object Label1: TLabel + Left = 8 + Top = 16 + Width = 80 + Height = 16 + Caption = 'Filtrar listado:' + end + object srch_kFilter: TComboBox + Left = 104 + Top = 8 + Width = 177 + Height = 24 + ItemHeight = 16 + TabOrder = 0 + Items.Strings = ( + 'ID' + 'Nombre' + 'Telefono' + 'Calle' + 'Poblaci'#243'n' + 'Provincia' + 'CP' + 'DNI' + 'Polizas Externas cumplidas a') + end + object srch_vFilter: TEdit + Left = 288 + Top = 8 + Width = 153 + Height = 24 + TabOrder = 1 + end + object BitBtn1: TBitBtn + Left = 656 + Top = 8 + Width = 107 + Height = 24 + Caption = '&Filtrar' + Default = True + TabOrder = 2 + OnClick = doFilterClick + Glyph.Data = { + 42020000424D4202000000000000420000002800000010000000100000000100 + 10000300000000020000120B0000120B00000000000000000000007C0000E003 + 00001F000000FF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7F + FF7FFF7FFF7FFF7FFF7FFF7FFF7FBB6FF14A2722E415C4150722D14ABB6FFF7F + FF7FFF7FFF7FFF7FFF7FFF7F565B261A682A304F53575357104B4726E619365B + FF7FFF7FFF7FFF7FFF7F765F2416ED42745B304BEC3EEC3E304B545BCC3EC415 + 365BFF7FFF7FFF7FBB7386220E43745BEC3AEB3ACB3ACB36CB36CB3A545BCD3E + E619BB6FFF7FFF7F524FA932755BEC3EEC3A0E43BA6B314FCA36CB36CB3A745B + 6826F14AFF7FFF7FC82E524F514F0C3B0F43DD7BFF7FFF7F304BCB36CB3A304B + 104F2722FF7FFF7FA52674572E3F2E43DD77FF7FDD77FF7FFF7F314BCB3AED3E + 5357E415FF7FFF7FC62A745B2E430C3B755BBA6BEC3A965FFF7FFF7F314FED3E + 54570416FF7FFF7F09375253524F0D3B0C370C370C370C37965FFF7FDC73314F + 314F6722FF7FFF7F7357EB3A755B2D3F0D3B0C3B0C370C370C3B965F0D3F755B + A92E114BFF7FFF7FDC7309332F4B755B2D3F2D3B0D3B0D3B0D3B0D3F755B0E47 + 8622BB73FF7FFF7FFF7FB767072F2F4B755B524F2E432E43524F755B0F47851E + 765FFF7FFF7FFF7FFF7FFF7FB76709370B3B5253745774575253CA36C62A965F + FF7FFF7FFF7FFF7FFF7FFF7FFF7FDC7393572A3BE72EE72E09377257DB73FF7F + FF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7F + FF7FFF7FFF7F} + end + object srch_agentes: TComboBox + Left = 448 + Top = 8 + Width = 201 + Height = 24 + ItemHeight = 16 + TabOrder = 3 + end + end + object DBGrid1: TDBGrid + Left = 0 + Top = 41 + Width = 784 + Height = 478 + Align = alClient + DataSource = dsClientes + Options = [dgTitles, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit] + TabOrder = 1 + TitleFont.Charset = DEFAULT_CHARSET + TitleFont.Color = clWindowText + TitleFont.Height = -13 + TitleFont.Name = 'Tahoma' + TitleFont.Style = [] + OnDrawColumnCell = DBGrid1DrawColumnCell + OnDblClick = DBGrid1DblClick + OnTitleClick = DBGrid1TitleClick + Columns = < + item + Expanded = False + FieldName = 'id' + Title.Caption = 'ID' + Width = 47 + Visible = True + end + item + Expanded = False + FieldName = 'nombre' + Title.Caption = 'Nombre del Cliente' + Width = 336 + Visible = True + end + item + Expanded = False + FieldName = 'movil' + Title.Caption = 'Movil' + Visible = True + end + item + Expanded = False + FieldName = 'telefono' + Title.Caption = 'Tel'#233'fono' + Visible = True + end + item + Expanded = False + FieldName = 'agenteNombre' + Title.Caption = 'Agente Asignado' + Width = 150 + Visible = True + end> + end + end + object TabSheet2: TTabSheet + Caption = 'Ficha Cliente' + ImageIndex = 1 + object Label2: TLabel + Left = 8 + Top = 40 + Width = 50 + Height = 16 + Caption = 'Nombre:' + end + object Label4: TLabel + Left = 672 + Top = 32 + Width = 17 + Height = 16 + Caption = 'ID:' + end + object DBText1: TDBText + Left = 696 + Top = 32 + Width = 57 + Height = 17 + Alignment = taRightJustify + DataField = 'id' + DataSource = dsClientes + end + object Label5: TLabel + Left = 432 + Top = 40 + Width = 25 + Height = 16 + Caption = 'DNI:' + end + object Label6: TLabel + Left = 8 + Top = 104 + Width = 33 + Height = 16 + Caption = 'Calle:' + end + object Label7: TLabel + Left = 8 + Top = 136 + Width = 59 + Height = 16 + Caption = 'Poblaci'#243'n:' + end + object Label8: TLabel + Left = 256 + Top = 136 + Width = 56 + Height = 16 + Caption = 'Provincia:' + end + object Label9: TLabel + Left = 496 + Top = 136 + Width = 20 + Height = 16 + Caption = 'CP:' + end + object Label10: TLabel + Left = 8 + Top = 176 + Width = 111 + Height = 16 + Caption = 'Direcci'#243'n de cobro:' + end + object Label11: TLabel + Left = 8 + Top = 208 + Width = 55 + Height = 16 + Caption = 'Tel'#233'fono:' + end + object Label12: TLabel + Left = 216 + Top = 208 + Width = 34 + Height = 16 + Caption = 'Movil:' + end + object Label13: TLabel + Left = 408 + Top = 208 + Width = 25 + Height = 16 + Caption = 'Fax:' + end + object Label14: TLabel + Left = 8 + Top = 240 + Width = 35 + Height = 16 + Caption = 'eMail:' + end + object Label15: TLabel + Left = 8 + Top = 72 + Width = 106 + Height = 16 + Caption = 'Fecha Nacimiento:' + end + object Label16: TLabel + Left = 232 + Top = 72 + Width = 33 + Height = 16 + Caption = 'Edad:' + end + object lbEdad: TLabel + Left = 280 + Top = 72 + Width = 46 + Height = 16 + Caption = '99 A'#241'os' + end + object Label18: TLabel + Left = 368 + Top = 72 + Width = 70 + Height = 16 + Caption = 'Estado Civil:' + end + object Label17: TLabel + Left = 576 + Top = 72 + Width = 81 + Height = 16 + Caption = 'Fecha Carnet:' + end + object DBEdit1: TDBEdit + Left = 80 + Top = 32 + Width = 329 + Height = 24 + DataField = 'nombre' + DataSource = dsClientes + TabOrder = 0 + end + object PageControl2: TPageControl + Left = 0 + Top = 280 + Width = 784 + Height = 239 + ActivePage = TabSheet5 + Align = alBottom + Images = ImageList1 + TabIndex = 3 + TabOrder = 1 + OnChanging = PageControl2Changing + object TabSheet3: TTabSheet + Caption = 'Servicios con la compa'#241'ia' + ImageIndex = 2 + object Panel2: TPanel + Left = 0 + Top = 167 + Width = 776 + Height = 41 + Align = alBottom + TabOrder = 0 + end + object DBGrid3: TDBGrid + Left = 0 + Top = 0 + Width = 776 + Height = 167 + Align = alClient + DataSource = dsServicios + TabOrder = 1 + TitleFont.Charset = DEFAULT_CHARSET + TitleFont.Color = clWindowText + TitleFont.Height = -13 + TitleFont.Name = 'Tahoma' + TitleFont.Style = [] + Columns = < + item + Expanded = False + FieldName = 'nombreServicio' + Title.Caption = 'Tipo de Servicio' + Width = 276 + Visible = True + end + item + Expanded = False + FieldName = 'nPoliza' + Title.Caption = 'N'#250'm. Poliza' + Width = 159 + Visible = True + end + item + Expanded = False + FieldName = 'fechaEfecto' + Title.Caption = 'Fecha Efecto' + Width = 100 + Visible = True + end + item + Expanded = False + FieldName = 'fechaVencimiento' + Title.Caption = 'Vencimiento' + Width = 100 + Visible = True + end + item + Expanded = False + FieldName = 'primaNeta' + Title.Caption = 'Prima Neta' + Width = 97 + Visible = True + end> + end + end + object TabSheet6: TTabSheet + Caption = 'Otras polizas' + ImageIndex = 1 + object DBGrid4: TDBGrid + Left = 0 + Top = 0 + Width = 776 + Height = 208 + Align = alClient + DataSource = dsServiciosExternos + TabOrder = 0 + TitleFont.Charset = DEFAULT_CHARSET + TitleFont.Color = clWindowText + TitleFont.Height = -13 + TitleFont.Name = 'Tahoma' + TitleFont.Style = [] + Columns = < + item + Expanded = False + FieldName = 'nombreServicio' + Title.Caption = 'Tipo de Servicio' + Width = 276 + Visible = True + end + item + Expanded = False + FieldName = 'nPoliza' + Title.Caption = 'N'#250'm. Poliza' + Width = 159 + Visible = True + end + item + Expanded = False + FieldName = 'fechaEfecto' + Title.Caption = 'Fecha Efecto' + Width = 100 + Visible = True + end + item + Expanded = False + FieldName = 'fechaVencimiento' + Title.Caption = 'Vencimiento' + Width = 100 + Visible = True + end + item + Expanded = False + FieldName = 'primaNeta' + Title.Caption = 'Prima Neta' + Width = 97 + Visible = True + end> + end + end + object TabSheet4: TTabSheet + Caption = 'Miembros de la Familia' + ImageIndex = 3 + object DBGrid2: TDBGrid + Left = 0 + Top = 0 + Width = 776 + Height = 208 + Align = alClient + DataSource = dsFamiliares + TabOrder = 0 + TitleFont.Charset = DEFAULT_CHARSET + TitleFont.Color = clWindowText + TitleFont.Height = -13 + TitleFont.Name = 'Tahoma' + TitleFont.Style = [] + Columns = < + item + Expanded = False + FieldName = 'fechaNacimiento' + Title.Caption = 'F.Nacimiento' + Width = 108 + Visible = True + end + item + Expanded = False + FieldName = 'nombre' + Title.Caption = 'Nombre del miembro familiar' + Width = 296 + Visible = True + end + item + Expanded = False + FieldName = 'dni' + Title.Caption = 'DNI' + Width = 92 + Visible = True + end + item + Expanded = False + FieldName = 'sexo' + PickList.Strings = ( + 'Hombre' + 'Mujer') + Title.Caption = 'Sexo' + Width = 61 + Visible = True + end + item + Expanded = False + FieldName = 'estado' + PickList.Strings = ( + 'Soltero' + 'Casado' + 'Divorciado' + 'Viudo') + Title.Caption = 'Estado Civil' + Width = 70 + Visible = True + end + item + Expanded = False + FieldName = 'relacion' + PickList.Strings = ( + 'Padre/Madre' + 'Marido/Mujer' + 'Hermano/a' + 'Hijo/a' + 'otros') + Title.Caption = 'Relaci'#243'n' + Width = 109 + Visible = True + end> + end + end + object TabSheet5: TTabSheet + Caption = 'Observaciones del clietne' + ImageIndex = 4 + object DBMemo1: TDBMemo + Left = 0 + Top = 0 + Width = 776 + Height = 208 + Align = alClient + DataField = 'notas' + DataSource = dsClientes + TabOrder = 0 + end + end + end + object DBNavigator1: TDBNavigator + Left = 616 + Top = 0 + Width = 140 + Height = 25 + DataSource = dsClientes + VisibleButtons = [nbFirst, nbPrior, nbNext, nbLast, nbInsert, nbDelete, nbPost] + Flat = True + TabOrder = 2 + end + object DBEdit2: TDBEdit + Left = 464 + Top = 32 + Width = 105 + Height = 24 + DataField = 'dni' + DataSource = dsClientes + TabOrder = 3 + end + object DBEdit3: TDBEdit + Left = 80 + Top = 96 + Width = 489 + Height = 24 + DataField = 'calle' + DataSource = dsClientes + TabOrder = 4 + end + object DBEdit4: TDBEdit + Left = 80 + Top = 128 + Width = 161 + Height = 24 + DataField = 'poblacion' + DataSource = dsClientes + TabOrder = 5 + end + object DBEdit5: TDBEdit + Left = 320 + Top = 128 + Width = 161 + Height = 24 + DataField = 'provincia' + DataSource = dsClientes + TabOrder = 6 + end + object DBEdit6: TDBEdit + Left = 520 + Top = 128 + Width = 49 + Height = 24 + DataField = 'cp' + DataSource = dsClientes + TabOrder = 7 + end + object DBEdit7: TDBEdit + Left = 128 + Top = 168 + Width = 441 + Height = 24 + DataField = 'cobroCalle' + DataSource = dsClientes + TabOrder = 8 + end + object DBEdit8: TDBEdit + Left = 72 + Top = 200 + Width = 129 + Height = 24 + DataField = 'telefono' + DataSource = dsClientes + TabOrder = 9 + end + object DBEdit9: TDBEdit + Left = 256 + Top = 200 + Width = 132 + Height = 24 + DataField = 'movil' + DataSource = dsClientes + TabOrder = 10 + end + object DBEdit10: TDBEdit + Left = 440 + Top = 200 + Width = 129 + Height = 24 + DataField = 'fax' + DataSource = dsClientes + TabOrder = 11 + end + object DBEdit11: TDBEdit + Left = 72 + Top = 232 + Width = 497 + Height = 24 + DataField = 'correo' + DataSource = dsClientes + TabOrder = 12 + end + object DateTimePicker1: TDateTimePicker + Left = 120 + Top = 64 + Width = 105 + Height = 24 + CalAlignment = dtaLeft + Date = 40258.6537088657 + Time = 40258.6537088657 + DateFormat = dfShort + DateMode = dmComboBox + Kind = dtkDate + ParseInput = False + TabOrder = 13 + OnCloseUp = DateTimePicker1CloseUp + OnChange = DateTimePicker1CloseUp + end + object dbEstadoCivil: TComboBox + Left = 448 + Top = 64 + Width = 121 + Height = 24 + ItemHeight = 16 + ItemIndex = 0 + TabOrder = 14 + Text = 'Soltero' + OnChange = dbEstadoCivilChange + Items.Strings = ( + 'Soltero' + 'Casado' + 'Divociado' + 'Viudo') + end + object GroupBox1: TGroupBox + Left = 576 + Top = 120 + Width = 193 + Height = 137 + Caption = 'Datos Internos' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Tahoma' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 15 + object Label3: TLabel + Left = 4 + Top = 89 + Width = 101 + Height = 16 + Caption = 'Agente Asignado:' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Tahoma' + Font.Style = [] + ParentFont = False + end + object Label19: TLabel + Left = 8 + Top = 24 + Width = 112 + Height = 16 + Caption = 'Grado de Fidelidad:' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Tahoma' + Font.Style = [] + ParentFont = False + end + object DBLookupComboBox1: TDBLookupComboBox + Left = 4 + Top = 105 + Width = 181 + Height = 24 + DataField = 'agente' + DataSource = dsClientes + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Tahoma' + Font.Style = [] + KeyField = 'id' + ListField = 'nombre' + ListSource = dsAgentes + ParentFont = False + TabOrder = 0 + end + object cbGradoFidelidad: TComboBox + Left = 8 + Top = 48 + Width = 177 + Height = 24 + ItemHeight = 16 + ItemIndex = 1 + TabOrder = 1 + Text = 'Media' + OnChange = cbGradoFidelidadChange + Items.Strings = ( + 'Alta' + 'Media' + 'Baja') + end + end + object dbPCargo: TCheckBox + Left = 576 + Top = 40 + Width = 73 + Height = 17 + Caption = 'P/cargo' + TabOrder = 16 + OnClick = dbPCargoClick + end + object DateTimePicker2: TDateTimePicker + Left = 664 + Top = 64 + Width = 105 + Height = 24 + CalAlignment = dtaLeft + Date = 40258.6537088657 + Time = 40258.6537088657 + DateFormat = dfShort + DateMode = dmComboBox + Kind = dtkDate + ParseInput = False + TabOrder = 17 + OnCloseUp = DateTimePicker1CloseUp + OnChange = DateTimePicker1CloseUp + end + end + end + object ZConnection1: TZConnection + Protocol = 'sqlite-3' + Database = 'gestorServicios.s3db' + Connected = True + Left = 240 + Top = 440 + end + object zqClientes: TZQuery + Connection = ZConnection1 + AfterScroll = zqClientesAfterScroll + UpdateObject = zuClientes + BeforePost = zqClientesBeforePost + AfterPost = zqClientesAfterPost + SQL.Strings = ( + + 'SELECT c.id, c.agente, a.nombre agenteNombre, c.nombre, c.dn' + + 'i, c.calle, c.poblacion, c.provincia, c.cp, c.telefono, c.movil,' + + ' c.fax, c.correo, c.cobroCalle, c.estado, c.gradoFidelidad, c.pC' + + 'argo, c.fechaNacimiento, c.fechaCarnet,' + ' c.fecha, c.hora, c.notas' + 'FROM clientes c LEFT JOIN agentes a ON (a.id=c.agente)') + Params = <> + Left = 272 + Top = 440 + object zqClientesid: TIntegerField + AutoGenerateValue = arAutoInc + FieldName = 'id' + end + object zqClientesagente: TIntegerField + FieldName = 'agente' + end + object zqClientesagenteNombre: TStringField + FieldName = 'agenteNombre' + Size = 45 + end + object zqClientesnombre: TStringField + FieldName = 'nombre' + Size = 45 + end + object zqClientesdni: TStringField + FieldName = 'dni' + Size = 9 + end + object zqClientescalle: TStringField + FieldName = 'calle' + Size = 45 + end + object zqClientespoblacion: TStringField + FieldName = 'poblacion' + Size = 30 + end + object zqClientesprovincia: TStringField + FieldName = 'provincia' + Size = 25 + end + object zqClientescp: TStringField + FieldName = 'cp' + Size = 5 + end + object zqClientestelefono: TStringField + FieldName = 'telefono' + Size = 15 + end + object zqClientesmovil: TStringField + FieldName = 'movil' + Size = 15 + end + object zqClientesfax: TStringField + FieldName = 'fax' + Size = 15 + end + object zqClientescorreo: TStringField + FieldName = 'correo' + Size = 90 + end + object zqClientescobroCalle: TStringField + FieldName = 'cobroCalle' + Size = 45 + end + object zqClientesestado: TStringField + FieldName = 'estado' + Size = 1 + end + object zqClientesgradoFidelidad: TIntegerField + FieldName = 'gradoFidelidad' + end + object zqClientespCargo: TStringField + FieldName = 'pCargo' + Size = 45 + end + object zqClientesfechaNacimiento: TDateField + FieldName = 'fechaNacimiento' + end + object zqClientesfechaCarnet: TDateField + FieldName = 'fechaCarnet' + end + object zqClientesfecha: TDateField + FieldName = 'fecha' + end + object zqClienteshora: TTimeField + FieldName = 'hora' + end + object zqClientesnotas: TMemoField + FieldName = 'notas' + BlobType = ftMemo + end + end + object zuClientes: TZUpdateSQL + UseSequenceFieldForRefreshSQL = False + Left = 304 + Top = 440 + end + object dsClientes: TDataSource + DataSet = zqClientes + OnStateChange = dsClientesStateChange + Left = 272 + Top = 408 + end + object gridIcons: TImageList + Masked = False + Left = 272 + Top = 472 + Bitmap = { + 494C010102000400040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 + 0000000000003600000028000000400000001000000001002000000000000010 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000808080008080800080808000808080008080800080808000808080000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000808080000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000FFFFFF00C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000808080000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000FFFFFF00C0C0C0008080800000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000FFFFFF00C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000808080000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000FFFFFF00C0C0C000C0C0C000C0C0C00080808000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000FFFFFF00C0C0C000C0C0C000C0C0C00080808000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000FFFFFF00C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000808080000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000FFFFFF00C0C0C0008080800000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000FFFFFF00C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000808080000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000808080000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00808080000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000424D3E000000000000003E000000 + 2800000040000000100000000100010000000000800000000000000000000000 + 000000000000000000000000FFFFFF00FFFFFFFF00000000FFFFFFFF00000000 + FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000F01FFEFF00000000 + F01FFC7F00000000F01FF83F00000000F83FF01F00000000FC7FF01F00000000 + FEFFF01F00000000FFFFFFFF00000000FFFFFFFF00000000FFFFFFFF00000000 + FFFFFFFF00000000FFFFFFFF0000000000000000000000000000000000000000 + 000000000000} + end + object MainMenu1: TMainMenu + Left = 272 + Top = 344 + object menu_Clientes1: TMenuItem + Caption = 'Clientes' + object ImprimirFicha1: TMenuItem + Caption = 'Imprimir Ficha' + OnClick = ImprimirFicha1Click + end + object ImprimirListado1: TMenuItem + Caption = 'Imprimir Listado' + OnClick = ImprimirListado1Click + end + object N1: TMenuItem + Caption = '-' + end + object TiposdeServicio1: TMenuItem + Caption = 'Tipos de Servicio' + OnClick = TiposdeServicio1Click + end + end + object menu_Agentes1: TMenuItem + Caption = 'Agentes' + object GestindeAgentes1: TMenuItem + Caption = 'Gesti'#243'n de Agentes' + OnClick = GestindeAgentes1Click + end + object CuentaPolizas1: TMenuItem + Caption = 'Cuenta Polizas' + OnClick = CuentaPolizas1Click + end + end + object Salir1: TMenuItem + Caption = 'Salir' + OnClick = Salir1Click + end + end + object zqFamiliares: TZQuery + Connection = ZConnection1 + BeforePost = zqFamiliaresBeforePost + OnNewRecord = zqFamiliaresNewRecord + SQL.Strings = ( + + 'SELECT id,cliente,nombre,dni,sexo,estado, relacion, fechaNacimie' + + 'nto' + 'FROM familiares') + Params = <> + MasterFields = 'id' + MasterSource = dsClientes + LinkedFields = 'cliente' + Left = 368 + Top = 440 + object zqFamiliaresid: TIntegerField + AutoGenerateValue = arAutoInc + FieldName = 'id' + end + object zqFamiliarescliente: TIntegerField + FieldName = 'cliente' + end + object zqFamiliaresnombre: TStringField + FieldName = 'nombre' + Size = 45 + end + object zqFamiliaresdni: TStringField + FieldName = 'dni' + Size = 9 + end + object zqFamiliaressexo: TStringField + FieldName = 'sexo' + OnGetText = zqFamiliaressexoGetText + Size = 1 + end + object zqFamiliaresestado: TStringField + FieldName = 'estado' + OnGetText = zqFamiliaresestadoGetText + Size = 1 + end + object zqFamiliaresrelacion: TStringField + FieldName = 'relacion' + OnGetText = zqFamiliaresrelacionGetText + Size = 1 + end + object zqFamiliaresfechaNacimiento: TDateField + FieldName = 'fechaNacimiento' + end + end + object dsFamiliares: TDataSource + DataSet = zqFamiliares + Left = 368 + Top = 408 + end + object zqServicios: TZQuery + Connection = ZConnection1 + UpdateObject = zuServicios + OnNewRecord = zqServiciosNewRecord + SQL.Strings = ( + + 'SELECT id,cliente,tipoServicio,nPoliza,fechaEfecto,fechaVencimie' + + 'nto,primaNeta' + 'FROM servicios') + Params = <> + MasterFields = 'id' + MasterSource = dsClientes + LinkedFields = 'cliente' + Left = 128 + Top = 440 + object zqServiciosid: TIntegerField + AutoGenerateValue = arAutoInc + FieldName = 'id' + end + object zqServicioscliente: TIntegerField + FieldName = 'cliente' + end + object zqServiciostipoServicio: TIntegerField + FieldName = 'tipoServicio' + end + object zqServiciosnPoliza: TStringField + FieldName = 'nPoliza' + Size = 15 + end + object zqServiciosfechaEfecto: TDateField + FieldName = 'fechaEfecto' + end + object zqServiciosfechaVencimiento: TDateField + FieldName = 'fechaVencimiento' + end + object zqServiciosprimaNeta: TFloatField + FieldName = 'primaNeta' + end + object zqServiciosnombreServicio: TStringField + FieldKind = fkLookup + FieldName = 'nombreServicio' + LookupDataSet = zqTipoServicios + LookupKeyFields = 'id' + LookupResultField = 'nombre' + KeyFields = 'tipoServicio' + Lookup = True + end + end + object dsServicios: TDataSource + DataSet = zqServicios + Left = 128 + Top = 408 + end + object zqTipoServicios: TZQuery + Connection = ZConnection1 + SQL.Strings = ( + 'SELECT id,nombre' + 'FROM tipoServicios ORDER BY nombre') + Params = <> + Left = 96 + Top = 440 + object zqTipoServiciosid: TIntegerField + AutoGenerateValue = arAutoInc + FieldName = 'id' + end + object zqTipoServiciosnombre: TStringField + FieldName = 'nombre' + Size = 25 + end + end + object zuServicios: TZUpdateSQL + UseSequenceFieldForRefreshSQL = False + Left = 160 + Top = 440 + end + object dsAgentes: TDataSource + DataSet = zqAgentes + Left = 424 + Top = 408 + end + object dsTipoServicios: TDataSource + DataSet = zqTipoServicios + Left = 96 + Top = 408 + end + object zqAgentes: TZQuery + Connection = ZConnection1 + SQL.Strings = ( + 'SELECT id,nombre FROM agentes ORDER BY nombre') + Params = <> + Left = 424 + Top = 440 + end + object ImageList1: TImageList + Left = 272 + Top = 512 + Bitmap = { + 494C010105000900040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 + 0000000000003600000028000000400000003000000001002000000000000030 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000F6EFE900C1976E00E3D0BE000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000D8BDA300D4B69900BB8C5F00E0CAB500000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000C2976F00F5EEE700D5B89D00BA8B5D00DCC4 + AD00000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000FAF7F300D1B1 + 9300B9885A00B8875800B8875800D5B89D000000000000000000F8F3EF00D5B8 + 9D00C49C7500F5EEE70000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000CEAC8B00DAC1 + A900FEFEFD00000000000000000000000000FEEEE200FDE3D000FEF2E9000000 + 0000DFC9B400C2987000FCFBF900000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000FCF9F700B9885A00FEFE + FD00FEF2E900FEECDF00FDEBDC00FDE9D900FDE7D600FDE6D300FDE4D000FCE4 + D10000000000C8A27D00EFE4DA00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000F7F1EB00C0956C000000 + 0000FEF0E500FEEEE200FEEDE000FEEBDD00FDE9DA00FDE8D700FDE6D400FDE4 + D10000000000CDAA8900EADCCE00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000F7F1EB00C0956C000000 + 0000FEF1E800FEF0E600FEEFE300FEEDE000FEECDD00FDEADB00FDE8D700FDE6 + D50000000000CDAA8900EADCCE00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000FCF9F700B9885A00FEFE + FD00FEF6F000FEF2E900FEF1E600FEEFE400FEEEE100FEECDE00FDEADB00FDEA + DC0000000000C7A07B00F0E6DC00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000CEAC8B00DAC1 + A900FDFCFB000000000000000000000000000000000000000000000000000000 + 0000DFC9B400C2987000FDFCFB00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000FAF7F300D1B1 + 9300BA8A5C00B8875800B8875800B8875800B8875800B8875800B8875800B887 + 5800CBA78500F5EEE70000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000E2C0AA00CC8D6600C071 + 4000BC6B3600BC6B3600BC6B3600BC6A3600BC6A3600BB6A3500BB6A3500BB69 + 3500BD6E3B00CA8B6300E3C2AE000000000000000000E2C0AA00CC8D6600C071 + 4000BC6B3600BC6B3600BC6B3600BC6A3600BC6A3600BB6A3500BB6A3500BB69 + 3500BD6E3B00CA8B6300E3C2AE00000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000ACC3DC00C08A7500CB70 + 3400D27E4100D37E4100D17C4100CD7A3F00B45F3F00B1B9C900C4DDF300FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000C57C4D00F8F2EB00F7EC + DF00F6EBDE00F6EADE00F6EADC00F6EADC00FAF3EB00FAF3EB00FAF2EA00FCF7 + F300FCF8F400FEFEFD00C37A4D000000000000000000C57C4D00F8F2EB00F7EC + DF00F6EBDE00F6EADE00F6EADC00F6EADC00FAF3EB00FAF3EB00FAF2EA00FCF7 + F300FCF8F400FEFEFD00C37A4D00000000000000000000000000000000000000 + 00000000000000000000B1947600865E3400825A3100A4825F00000000000000 + 000000000000000000000000000000000000529CE2007185AC00C87E5900FFBA + 6600FFB76100FFB05E00FFB25D00FFB45C00DE88570087737E004C9BE600FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000C2774000F5EBDF00FDBF + 6800FCBD6700FBBE6500FCBE6400FCBE6400FCBD6200FBBD6300FBBC6100FCBE + 6000FCBC6200FDFBF800BC6B37000000000000000000C2774000F5EBDF00FDBF + 6800FCBD6700FBBE6500FCBE6400FCBE6400FCBD6200FBBD6300FBBC6100FCBE + 6000FCBC6200FDFBF800BC6B370000000000A37642009E703D00986B38009365 + 33008D602E00875A2900825424009368390090653600724516006D401100693C + 0D0065380A00613406005E3103005B2E01003685D30093ACCC00E7AF7300FFB8 + 5F00FEB05F00FEA75B00FDA05500FF974D00FD934D00B39FA2004E96DE00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000C37C4200F7EDE300FDC2 + 6E00FFD8A000FFD79E00FFD69B00FFD79800FFD69600FFD69500FFD59400FFD4 + 9300FBBE6500FBF7F400BD6C37000000000000000000C37C4200F7EDE300FDC2 + 6E00184257002B6187004C89BC00709FB300E3C99A00FFD69500FFD59400FFD4 + 9300FBBE6500FBF7F400BD6C370000000000AB7E4A00B38B5D00B38B5D00B38B + 5D00B38B5D00B38B5D00B38B5D007D512100794C1D00B38B5D00B38B5D00B38B + 5D00B38B5D00B38B5D00B38B5D00683C0E00DDC3B500B7755C00FDD7B200FFD6 + 8400FFCA6500FFC05E00FFB45600FFA75700FFC59200D67D5B00B7907F00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000C6804600F7F0E600F8B4 + 5500F7B45600F7B55400F8B45300F8B25300F7B35200F7B35200F7B25100F7B2 + 4F00F7B24F00FCF9F500C1743C000000000000000000C6804600F7F0E600F8B4 + 55002E66820094C7F90091C9F9004185C9002668A600D2A86500F7B25100F7B2 + 4F00F7B24F00FCF9F500C1743C0000000000B0834F009E703D00986B38009365 + 33008D602E00875A290082542400AB907400AA8F7300724516006D401100693C + 0D0065380A00613406005E3103006C3F1200FFFFFF00DDB29B00CF7A5A00FFE8 + C000ADAA8600A79E7D00A0927500F7CA9C00E4947500C8836500FBF7F500FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000C7844800F8F1E800FEE5 + D500FDE5D300FDE5D300FCE5D300FCE5D300FCE4D100FCE2CE00FCE2CC00FBE0 + C900FBE1C800FDFAF700C37A41000000000000000000C7844800F8F1E800FEE5 + D5004389AA00E0F2FF00549AD8001A7ABE004998C500488CC200DAD2CD00FBE0 + C900FBE1C800FDFAF700C37A410000000000B6885400A5774300F9F9F900F9F9 + F900F9F9F900F8F8F800F1F1F100E3E3E300F3F3F300F8F8F800F9F9F900F8F8 + F800E9E9E900F8F8F8006235070070441600FFFFFF00FFFFFF00CB9E8700707C + 960073ADE70081B1E3007DB2E7006C98C40074552C005CA4640059A8680059A7 + 670056A3640054935600BFB2BA00C4DDF30000000000C7864B00F8F2EB00FEE7 + D600FDE7D600FDE7D600FDE7D600FDE6D500FDE5D300FCE4D100FCE2CD00FBE1 + CB00FBE1C900FBF7F200C78045000000000000000000C7864B00F8F2EB00FEE7 + D600A6B6BF007AB6D50090B7D10055C9E4005BDFF50078D0ED00519BD900E1D6 + CD00FBE1C900FBF7F200C780450000000000BA8D5800AB7D4900F9F9F900F1F1 + F100EDEDED00E7E7E700D3D3D300A5A5A500D7D7D700F4F4F400EEEEEE00EAEA + EA00DCDCDC00F8F8F80066390B0074481A00FFFFFF00FFFFFF00BBB7BA0073A4 + D600ACD1F200AED7FD00B0D4F50092C0E7005483890079CF940077CE8E0076CE + 8F0076CE91006BB474005A8F5A004C9BE60000000000C8884D00F9F3EC00FEE8 + D600FEE8D700FDE7D600FDE7D600FDE7D500FDE5D300FBE4D000FBE3CC00FADF + C700FADFC600FAF2EA00C88448000000000000000000C8884D00F9F3EC00FEE8 + D600FEE8D700B3C6CC0076B9D600C2F6FD0063DFF7005DE2F80079D3F0004998 + DA00E2D5C800FAF2EA00C884480000000000BE915C00B1834E00F9F9F900CCCC + CC00C9C9C900C5C5C500D3D3D300A6A6A600D8D8D800F4F4F400CACACA00C6C6 + C600BABABA00F8F8F8006B3E10007A4D1E00FFFFFF00FFFFFF006B8EB700A7BF + DB0096C5F100A1D0FB0096C6F300B6CFE400417AA70078CE8F0075CD890070CB + 83006ACB7B006AC97900609661004E96DE0000000000C88C4F00F9F4ED00FEE8 + D800FEE8D800FEE8D700FEE7D600FDE5D300FCE4D100FBE1CC00FAE0C700F9DD + C300F8DCC200FAF4ED00C8864B000000000000000000C88C4F00F9F4ED00FEE8 + D800FEE8D800FEE8D700B0C6CC0077CBE700C7F7FD005EDCF5005AE1F7007BD4 + F1004B99DB00D2DFE900C8864B0000000000C2956000B7895300FAFAFA00F1F1 + F100EDEDED00E9E9E900D4D4D400A6A6A600D8D8D800F5F5F500EFEFEF00EBEB + EB00DCDCDC00F8F8F800714415007F532300FFFFFF00FFFFFF00617EA9005069 + 9A006380AE007CA6D6005573A500435D9200446798007CD09F0077CE970071CD + 8E0072CD88009DD8AB006DB0700088A78B0000000000C88C5000F9F4EF00FEE7 + D700FDE7D600FDE7D500FDE6D400FCE6D200FBE1CC00FADFC700F8DCC200F6DA + BD00F6D8BB00FAF4EF00C8874C000000000000000000C88C5000F9F4EF00FEE7 + D700FDE7D600FDE7D500FDE6D400BDD6D50079D3EE00C7F7FD005FDCF5005BE2 + F7007AD6F20051A1E000AF88640000000000C6986200BC8E5800FAFAFA00CCCC + CC00CACACA00C5C5C500D4D4D400A7A7A700D8D8D800F5F5F500CBCBCB00C7C7 + C700BBBBBB00F8F8F800774A1A0084582800FFFFFF00FFFFFF00C5CCD5004562 + 9600415B9000415B9000415B9000415B90006F8F9E00849993007D948900758C + 7F00A4D5B10082BF850077AE7B00F6FAF70000000000C88D5100F9F4F000FCE6 + D300FCE6D400FDE7D300FCE4D100FBE3CD00FAE0C800F8DCC200F5D6BB00F3D4 + B500F1D2B300F8F4F000C6864C000000000000000000C88D5100F9F4F000FCE6 + D300FCE6D400FDE7D300FCE4D100FBE3CD00BED4D0007DD4EE00C4F6FD006CDD + F6006DCAED0063A3D7006599C800E5EFF700C6996300C1935C00FAFAFA00F2F2 + F200EFEFEF00EAEAEA00D5D5D500B5B5B500DFDFDF00F5F5F500F1F1F100ECEC + EC00DEDEDE00F9F9F9007D5020008A5E2D00FFFFFF00FFFFFF00FFFFFF00ACB7 + C5004C6A9B00415D920046629800577987006E7A940073ADE70081B1E3007DB2 + E7006C98C40068916A00F6F9F600FFFFFF0000000000C88D5100F9F5F100FCE3 + CF00FBE4D000FCE4CF00FCE3CD00FAE1CA00F9DDC400F6D9BC00F4E9DF00F7F2 + EC00FBF7F300F5EFE900C38048000000000000000000C88D5100F9F5F100FCE3 + CF00FBE4D000FCE4CF00FCE3CD00FAE1CA00F9DDC400AFCDC90081D5EE00B2E3 + F9008BC0E700AED3F600C4E0FC006BA2D400C6996300C5976000FAFAFA00CDCD + CD00CACACA00C6C6C600F2F2F200DDD8D200EBE5DF00FCFCFC00CCCCCC00C9C9 + C900BDBDBD00F9F9F9008457260091633300FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00BBB7BA0073A4D600ACD1F200AED7FD00B0D4 + F50092C0E7007D92AA00FFFFFF00FFFFFF0000000000C88D5200F9F5F100FCE3 + CD00FBE3CE00FBE3CD00FBE2CB00F9E0C800F8DCC200F5D6BA00FDFBF800FCE6 + CD00FAE5C900E2B68400D5A884000000000000000000C88D5200F9F5F100FCE3 + CD00FBE3CE00FBE3CD00FBE2CB00F9E0C800F8DCC200F5D6BA00AFE3F10077BE + E700B4D2F000E5F3FF00ACD2EF005996CC00C6996300C89A6300FAFAFA00FAFA + FA00FAFAFA00F8F8F800D9C6B100B98F5F00B48B5C00D7C4AF00F9F9F900F9F9 + F900F9F9F900F9F9F9008B5D2C0097693800FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF007AA0C500B8D0E70096C5F100A1D0FB0096C6 + F300B6CFE4004B93C700FFFFFF00FFFFFF0000000000CA925A00FAF6F200FAE0 + C700FBE1C900FBE2C900FBE0C800F9DFC500F8DBC100F4D6B800FFFBF800F6D8 + B400E1B07D00DC966900FDFBFA000000000000000000CA925A00FAF6F200FAE0 + C700FBE1C900FBE2C900FBE0C800F9DFC500F8DBC100F4D6B800FFFBF800B6CB + C20058A5D80085B1DB00469DD000B1D8EE00F4EBE000C99B6400D3AE8200D0AC + 8000CEA97D00CBA67B00C6A07400F2EAE100F1E9E000BB956A00B8946A00B490 + 6600AF8B6200AB875E0092643200EBE2D700FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF0079A3C70034AEE50065B8E6008DC8F6003BAD + E6001DA7E500319ED700FFFFFF00FFFFFF0000000000D2A27400F8F3ED00F8F4 + EE00F8F4ED00F8F3ED00F8F3ED00F8F3ED00F8F2EC00F7F2EC00F2E6D700E2B2 + 7D00DC986B00FDFBFA00000000000000000000000000D2A27400F8F3ED00F8F4 + EE00F8F4ED00F8F3ED00F8F3ED00F8F3ED00F8F2EC00F7F2EC00F2E6D700E2B2 + 7D00DC986B00FDFBFA00000000000000000000000000F4EBE000F4EBE000F4EB + E000F4EAE000F3EADF00F2E9DE000000000000000000F0E7DC00EFE6DB00EEE5 + DA00EDE4D900ECE2D800EAE1D70000000000FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00C3CFD90023A4DF0019A6E50019A6E50019A6 + E50019A6E50083ABC500FFFFFF00FFFFFF0000000000E8CEB900D7AA7C00CC94 + 5B00CA905500CA905500CA905500CA915500CB905500C98F5500CF9D6900DDB1 + 9000FDFBFA0000000000000000000000000000000000E8CEB900D7AA7C00CC94 + 5B00CA905500CA905500CA905500CA915500CB905500C98F5500CF9D6900DDB1 + 9000FDFBFA000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A8BECD00319DD5001BA5E40024A1 + DF0077A6C400FAFAFB00FFFFFF00FFFFFF00424D3E000000000000003E000000 + 2800000040000000300000000100010000000000800100000000000000000000 + 000000000000000000000000FFFFFF0000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000FFFF000000000000FFFF000000000000 + FFFF000000000000F8FF000000000000FC3F000000000000FE0F000000000000 + C0C3000000000000C71100000000000080090000000000009009000000000000 + 90090000000000008009000000000000C7F1000000000000C003000000000000 + FFFF000000000000FFFF00000000000080018001FFFF800080018001FC3F0000 + 8001800100000000800180010000000080018001000000008001800100000000 + 8001800100000000800180010000000080018001000000008001800100000000 + 8001800000000000800180000000000080018000000000008001800000000000 + 800380038181000080078007FFFF000000000000000000000000000000000000 + 000000000000} + end + object dsServiciosExternos: TDataSource + DataSet = zqServiciosExternos + Left = 512 + Top = 408 + end + object zqServiciosExternos: TZQuery + Connection = ZConnection1 + UpdateObject = zuServiciosExternos + OnNewRecord = zqServiciosExternosNewRecord + SQL.Strings = ( + + 'SELECT id,cliente,tipoServicio,nPoliza,fechaEfecto,fechaVencimie' + + 'nto,primaNeta' + 'FROM serviciosExternos') + Params = <> + MasterFields = 'id' + MasterSource = dsClientes + LinkedFields = 'cliente' + Left = 512 + Top = 440 + object IntegerField1: TIntegerField + AutoGenerateValue = arAutoInc + FieldName = 'id' + end + object IntegerField2: TIntegerField + FieldName = 'cliente' + end + object IntegerField3: TIntegerField + FieldName = 'tipoServicio' + end + object StringField1: TStringField + FieldName = 'nPoliza' + Size = 15 + end + object DateField1: TDateField + FieldName = 'fechaEfecto' + end + object DateField2: TDateField + FieldName = 'fechaVencimiento' + end + object FloatField1: TFloatField + FieldName = 'primaNeta' + end + object StringField2: TStringField + FieldKind = fkLookup + FieldName = 'nombreServicio' + LookupDataSet = zqTipoServicios + LookupKeyFields = 'id' + LookupResultField = 'nombre' + KeyFields = 'tipoServicio' + Lookup = True + end + end + object zuServiciosExternos: TZUpdateSQL + UseSequenceFieldForRefreshSQL = False + Left = 544 + Top = 440 + end +end diff --git a/src/clientes.~h b/src/clientes.~h new file mode 100644 index 0000000..cbdfaa5 --- /dev/null +++ b/src/clientes.~h @@ -0,0 +1,211 @@ +//--------------------------------------------------------------------------- + +#ifndef clientesH +#define clientesH +//--------------------------------------------------------------------------- +#include +#include +#include +#include +#include "ZAbstractDataset.hpp" +#include "ZAbstractRODataset.hpp" +#include "ZConnection.hpp" +#include "ZDataset.hpp" +#include "ZSqlUpdate.hpp" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +//--------------------------------------------------------------------------- +class TgestionClientes : public TForm +{ +__published: // IDE-managed Components + TPageControl *PageControl1; + TTabSheet *TabSheet1; + TTabSheet *TabSheet2; + TPanel *Panel1; + TDBGrid *DBGrid1; + TZConnection *ZConnection1; + TZQuery *zqClientes; + TZUpdateSQL *zuClientes; + TDataSource *dsClientes; + TLabel *Label1; + TComboBox *srch_kFilter; + TEdit *srch_vFilter; + TBitBtn *BitBtn1; + TComboBox *srch_agentes; + TImageList *gridIcons; + TLabel *Label2; + TDBEdit *DBEdit1; + TPageControl *PageControl2; + TTabSheet *TabSheet3; + TTabSheet *TabSheet4; + TTabSheet *TabSheet5; + TDBMemo *DBMemo1; + TDBGrid *DBGrid2; + TPanel *Panel2; + TDBGrid *DBGrid3; + TDBNavigator *DBNavigator1; + TLabel *Label4; + TDBText *DBText1; + TLabel *Label5; + TDBEdit *DBEdit2; + TLabel *Label6; + TDBEdit *DBEdit3; + TLabel *Label7; + TDBEdit *DBEdit4; + TLabel *Label8; + TDBEdit *DBEdit5; + TLabel *Label9; + TDBEdit *DBEdit6; + TLabel *Label10; + TDBEdit *DBEdit7; + TLabel *Label11; + TDBEdit *DBEdit8; + TLabel *Label12; + TDBEdit *DBEdit9; + TLabel *Label13; + TDBEdit *DBEdit10; + TLabel *Label14; + TDBEdit *DBEdit11; + TLabel *Label15; + TLabel *Label16; + TLabel *lbEdad; + TDateTimePicker *DateTimePicker1; + TLabel *Label18; + TComboBox *dbEstadoCivil; + TGroupBox *GroupBox1; + TLabel *Label3; + TLabel *Label19; + TCheckBox *dbPCargo; + TIntegerField *zqClientesid; + TIntegerField *zqClientesagente; + TStringField *zqClientesagenteNombre; + TStringField *zqClientesnombre; + TStringField *zqClientesdni; + TStringField *zqClientescalle; + TStringField *zqClientespoblacion; + TStringField *zqClientesprovincia; + TStringField *zqClientescp; + TStringField *zqClientestelefono; + TStringField *zqClientesmovil; + TStringField *zqClientesfax; + TStringField *zqClientescorreo; + TStringField *zqClientescobroCalle; + TStringField *zqClientesestado; + TIntegerField *zqClientesgradoFidelidad; + TStringField *zqClientespCargo; + TDateField *zqClientesfechaNacimiento; + TDateField *zqClientesfecha; + TTimeField *zqClienteshora; + TMemoField *zqClientesnotas; + TMainMenu *MainMenu1; + TMenuItem *menu_Clientes1; + TMenuItem *menu_Agentes1; + TMenuItem *ImprimirFicha1; + TMenuItem *ImprimirListado1; + TMenuItem *GestindeAgentes1; + TMenuItem *CuentaPolizas1; + TMenuItem *Salir1; + TZQuery *zqFamiliares; + TDataSource *dsFamiliares; + TIntegerField *zqFamiliaresid; + TIntegerField *zqFamiliarescliente; + TStringField *zqFamiliaresnombre; + TStringField *zqFamiliaresdni; + TStringField *zqFamiliaressexo; + TStringField *zqFamiliaresestado; + TStringField *zqFamiliaresrelacion; + TDateField *zqFamiliaresfechaNacimiento; + TZQuery *zqServicios; + TDataSource *dsServicios; + TIntegerField *zqServiciosid; + TIntegerField *zqServicioscliente; + TIntegerField *zqServiciostipoServicio; + TStringField *zqServiciosnPoliza; + TDateField *zqServiciosfechaEfecto; + TDateField *zqServiciosfechaVencimiento; + TFloatField *zqServiciosprimaNeta; + TZQuery *zqTipoServicios; + TIntegerField *zqTipoServiciosid; + TStringField *zqTipoServiciosnombre; + TStringField *zqServiciosnombreServicio; + TZUpdateSQL *zuServicios; + TDataSource *dsAgentes; + TMenuItem *TiposdeServicio1; + TMenuItem *N1; + TDataSource *dsTipoServicios; + TDBLookupComboBox *DBLookupComboBox1; + TZQuery *zqAgentes; + TImageList *ImageList1; + TComboBox *cbGradoFidelidad; + TTabSheet *TabSheet6; + TDBGrid *DBGrid4; + TDataSource *dsServiciosExternos; + TZQuery *zqServiciosExternos; + TIntegerField *IntegerField1; + TIntegerField *IntegerField2; + TIntegerField *IntegerField3; + TStringField *StringField1; + TDateField *DateField1; + TDateField *DateField2; + TFloatField *FloatField1; + TStringField *StringField2; + TZUpdateSQL *zuServiciosExternos; + TLabel *Label17; + TDateTimePicker *DateTimePicker2; + TDateField *zqClientesfechaCarnet; + void __fastcall FormShow(TObject *Sender); + void __fastcall DBGrid1DblClick(TObject *Sender); + void __fastcall DBGrid1TitleClick(TColumn *Column); + void __fastcall doFilterClick(TObject *Sender); + void __fastcall DBGrid1DrawColumnCell(TObject *Sender, + const TRect &Rect, int DataCol, TColumn *Column, + TGridDrawState State); + void __fastcall zqClientesBeforePost(TDataSet *DataSet); + void __fastcall DateTimePicker1CloseUp(TObject *Sender); + void __fastcall zqClientesAfterScroll(TDataSet *DataSet); + void __fastcall dbEstadoCivilChange(TObject *Sender); + void __fastcall dbPCargoClick(TObject *Sender); + void __fastcall Salir1Click(TObject *Sender); + void __fastcall GestindeAgentes1Click(TObject *Sender); + void __fastcall zqFamiliaresNewRecord(TDataSet *DataSet); + void __fastcall zqFamiliaresBeforePost(TDataSet *DataSet); + void __fastcall zqFamiliaresestadoGetText(TField *Sender, + AnsiString &Text, bool DisplayText); + void __fastcall zqFamiliaresrelacionGetText(TField *Sender, + AnsiString &Text, bool DisplayText); + void __fastcall zqFamiliaressexoGetText(TField *Sender, + AnsiString &Text, bool DisplayText); + void __fastcall zqServiciosNewRecord(TDataSet *DataSet); + void __fastcall TiposdeServicio1Click(TObject *Sender); + void __fastcall ImprimirListado1Click(TObject *Sender); + void __fastcall ImprimirFicha1Click(TObject *Sender); + void __fastcall CuentaPolizas1Click(TObject *Sender); + void __fastcall dsClientesStateChange(TObject *Sender); + void __fastcall zqClientesAfterPost(TDataSet *DataSet); + void __fastcall cbGradoFidelidadChange(TObject *Sender); + void __fastcall FormClose(TObject *Sender, TCloseAction &Action); + void __fastcall zqServiciosExternosNewRecord(TDataSet *DataSet); + void __fastcall PageControl2Changing(TObject *Sender, + bool &AllowChange); +private: // User declarations + void __fastcall MyWndProc(Messages::TMessage &Message); + AnsiString dsListado_sort; + int dsListado_Indice; + bool dbUpdating, gettingAutoIncrement; + +public: // User declarations + __fastcall TgestionClientes(TComponent* Owner); + +}; +//--------------------------------------------------------------------------- +extern PACKAGE TgestionClientes *gestionClientes; +//--------------------------------------------------------------------------- +#endif diff --git a/src/cuentaPolizas.cpp b/src/cuentaPolizas.cpp new file mode 100644 index 0000000..0e56df0 --- /dev/null +++ b/src/cuentaPolizas.cpp @@ -0,0 +1,133 @@ +//--------------------------------------------------------------------------- + +#include +#pragma hdrstop + +#include "cuentaPolizas.h" +#include "clientes.h" +#include "imprimirCuentaPolizas.h" +//--------------------------------------------------------------------------- +#pragma package(smart_init) +#pragma link "ZAbstractDataset" +#pragma link "ZAbstractRODataset" +#pragma link "ZDataset" +#pragma resource "*.dfm" +TgestionCuentaPolizas *gestionCuentaPolizas; +//--------------------------------------------------------------------------- +__fastcall TgestionCuentaPolizas::TgestionCuentaPolizas(TComponent* Owner) + : TForm(Owner) +{ + // Cargamos el listado de agentes disponibles + TZQuery *zquery; + zquery = new TZQuery(this); + zquery->Connection = gestionClientes->ZConnection1; + zquery->SQL->Clear(); + zquery->SQL->Add("SELECT id,nombre FROM agentes ORDER BY nombre"); + zquery->Active=zquery->Connection->Connected; + + srch_agentes->Items->Clear(); + while(!zquery->Eof) + { + srch_agentes->Items->AddObject(zquery->FieldByName("nombre")->AsString,(TObject *)(zquery->FieldByName("id")->AsInteger)); + zquery->Next(); + } + srch_agentes->ItemIndex = 0; + + unsigned short yyyy,mm,dd; + TDateTime::CurrentDate().DecodeDate(&yyyy,&mm,&dd); + srch_mes->ItemIndex = mm-1; + UpDown1->Position = yyyy; + + execFilter(NULL); +} +//--------------------------------------------------------------------------- +void __fastcall TgestionCuentaPolizas::zqCuentaPolizasNewRecord( + TDataSet *DataSet) +{ + AnsiString fecha; + fecha = "1/"+AnsiString(srch_mes->ItemIndex+1)+"/"+AnsiString(UpDown1->Position); + zqCuentaPolizas->FieldByName("fecha")->AsDateTime = TDateTime::TDateTime(fecha); + + int agente; + agente = (int)srch_agentes->Items->Objects[srch_agentes->ItemIndex]; + zqCuentaPolizas->FieldByName("agente")->AsInteger = agente; + +} +//--------------------------------------------------------------------------- +void __fastcall TgestionCuentaPolizas::execFilter(TObject *Sender) +{ + int agente; + if ( srch_agentes->ItemIndex<0 ) return; + agente = (int)srch_agentes->Items->Objects[srch_agentes->ItemIndex]; + + AnsiString where,orderBy,query; + + AnsiString desde, hasta; + desde = Format("%.4d-%.2d-01", ARRAYOFCONST((UpDown1->Position,(srch_mes->ItemIndex+1))) ); + if ( srch_mes->ItemIndex==11 ) + hasta = Format("%.4d-01-01", ARRAYOFCONST((UpDown1->Position+1)) ); + else + hasta = Format("%.4d-%.2d-01", ARRAYOFCONST((UpDown1->Position,(srch_mes->ItemIndex+2))) ); + + + + where = " WHERE fecha>='"+desde+"' AND fecha<'"+hasta+"' AND agente="+agente; + orderBy = " ORDER BY fecha ASC"; + + query = "SELECT id,agente,fecha,nombre,numPoliza,primaNeta,comision,puntos"; + query+=" FROM cuentaPolizas"; + query+=where; + query+=orderBy; + + zqCuentaPolizas->SQL->Clear(); + zqCuentaPolizas->SQL->Add(query); + zqCuentaPolizas->Active = zqCuentaPolizas->Connection->Connected; + + Currency totalPrimaNeta, totalComision, totalPuntos; + totalPrimaNeta=0; totalComision=0; totalPuntos=0; + zqCuentaPolizas->First(); + while(!zqCuentaPolizas->Eof){ + totalPrimaNeta+=zqCuentaPolizas->FieldByName("primaNeta")->AsCurrency; + totalComision+=zqCuentaPolizas->FieldByName("comision")->AsCurrency; + totalPuntos+=zqCuentaPolizas->FieldByName("puntos")->AsCurrency; + zqCuentaPolizas->Next(); + } + + lbTotalPolizas->Caption = zqCuentaPolizas->RecordCount; + lbTotalPrimaNeta->Caption = AnsiString(totalPrimaNeta); + lbTotalComision->Caption = AnsiString(totalComision); + lbTotalPuntos->Caption = AnsiString(totalPuntos); + +} +//--------------------------------------------------------------------------- +void __fastcall TgestionCuentaPolizas::SpeedButton1Click(TObject *Sender) +{ + if ( srch_mes->ItemIndex==0 ) { + srch_mes->ItemIndex=11; + UpDown1->Position--; + } else + srch_mes->ItemIndex--; + execFilter(NULL); +} +//--------------------------------------------------------------------------- +void __fastcall TgestionCuentaPolizas::SpeedButton2Click(TObject *Sender) +{ + if ( srch_mes->ItemIndex==11 ) { + srch_mes->ItemIndex=0; + UpDown1->Position++; + } else + srch_mes->ItemIndex++; + execFilter(NULL); +} +//--------------------------------------------------------------------------- +void __fastcall TgestionCuentaPolizas::BitBtn2Click(TObject *Sender) +{ + TimprCuentaPolizas *i; + i = new TimprCuentaPolizas(this); + i->qrlbFecha->Caption = AnsiString(UpDown1->Position)+" - "+srch_mes->Items->Strings[srch_mes->ItemIndex]; + i->qrlbAgente->Caption = srch_agentes->Items->Strings[srch_agentes->ItemIndex]; + i->QuickRep1->DataSet = zqCuentaPolizas; + i->QuickRep1->Preview(); + delete i; +} +//--------------------------------------------------------------------------- diff --git a/src/cuentaPolizas.ddp b/src/cuentaPolizas.ddp new file mode 100644 index 0000000..cdc0ee8 Binary files /dev/null and b/src/cuentaPolizas.ddp differ diff --git a/src/cuentaPolizas.dfm b/src/cuentaPolizas.dfm new file mode 100644 index 0000000..fd40968 --- /dev/null +++ b/src/cuentaPolizas.dfm @@ -0,0 +1,362 @@ +object gestionCuentaPolizas: TgestionCuentaPolizas + Left = 118 + Top = 122 + Width = 800 + Height = 600 + Caption = 'Cuenta Polizas' + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Tahoma' + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + Scaled = False + PixelsPerInch = 96 + TextHeight = 16 + object Panel1: TPanel + Left = 0 + Top = 0 + Width = 792 + Height = 41 + Align = alTop + BevelOuter = bvNone + TabOrder = 0 + object SpeedButton1: TSpeedButton + Left = 568 + Top = 8 + Width = 23 + Height = 22 + Caption = '<' + OnClick = SpeedButton1Click + end + object SpeedButton2: TSpeedButton + Left = 592 + Top = 8 + Width = 23 + Height = 22 + Caption = '>' + OnClick = SpeedButton2Click + end + object BitBtn1: TBitBtn + Left = 456 + Top = 8 + Width = 107 + Height = 24 + Caption = '&Filtrar' + Default = True + TabOrder = 0 + OnClick = execFilter + Glyph.Data = { + 42020000424D4202000000000000420000002800000010000000100000000100 + 10000300000000020000120B0000120B00000000000000000000007C0000E003 + 00001F000000FF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7F + FF7FFF7FFF7FFF7FFF7FFF7FFF7FBB6FF14A2722E415C4150722D14ABB6FFF7F + FF7FFF7FFF7FFF7FFF7FFF7F565B261A682A304F53575357104B4726E619365B + FF7FFF7FFF7FFF7FFF7F765F2416ED42745B304BEC3EEC3E304B545BCC3EC415 + 365BFF7FFF7FFF7FBB7386220E43745BEC3AEB3ACB3ACB36CB36CB3A545BCD3E + E619BB6FFF7FFF7F524FA932755BEC3EEC3A0E43BA6B314FCA36CB36CB3A745B + 6826F14AFF7FFF7FC82E524F514F0C3B0F43DD7BFF7FFF7F304BCB36CB3A304B + 104F2722FF7FFF7FA52674572E3F2E43DD77FF7FDD77FF7FFF7F314BCB3AED3E + 5357E415FF7FFF7FC62A745B2E430C3B755BBA6BEC3A965FFF7FFF7F314FED3E + 54570416FF7FFF7F09375253524F0D3B0C370C370C370C37965FFF7FDC73314F + 314F6722FF7FFF7F7357EB3A755B2D3F0D3B0C3B0C370C370C3B965F0D3F755B + A92E114BFF7FFF7FDC7309332F4B755B2D3F2D3B0D3B0D3B0D3B0D3F755B0E47 + 8622BB73FF7FFF7FFF7FB767072F2F4B755B524F2E432E43524F755B0F47851E + 765FFF7FFF7FFF7FFF7FFF7FB76709370B3B5253745774575253CA36C62A965F + FF7FFF7FFF7FFF7FFF7FFF7FFF7FDC7393572A3BE72EE72E09377257DB73FF7F + FF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7F + FF7FFF7FFF7F} + end + object srch_agentes: TComboBox + Left = 232 + Top = 8 + Width = 217 + Height = 24 + ItemHeight = 16 + TabOrder = 1 + end + object srch_mes: TComboBox + Left = 8 + Top = 8 + Width = 145 + Height = 24 + ItemHeight = 16 + ItemIndex = 0 + TabOrder = 2 + Text = 'Enero' + Items.Strings = ( + 'Enero' + 'Febrero' + 'Marzo' + 'Abril' + 'Mayo' + 'Junio' + 'Julio' + 'Agosto' + 'Septiembre' + 'Octubre' + 'Noviembre' + 'Diciembre') + end + object srch_ano: TEdit + Left = 160 + Top = 8 + Width = 49 + Height = 24 + ReadOnly = True + TabOrder = 3 + Text = '2.010' + end + object UpDown1: TUpDown + Left = 209 + Top = 8 + Width = 15 + Height = 24 + Associate = srch_ano + Min = 1900 + Max = 2100 + Position = 2010 + TabOrder = 4 + Wrap = False + end + object BitBtn2: TBitBtn + Left = 656 + Top = 8 + Width = 107 + Height = 24 + Caption = '&Imprimir' + Default = True + TabOrder = 5 + OnClick = BitBtn2Click + Glyph.Data = { + 36030000424D3603000000000000360000002800000010000000100000000100 + 1800000000000003000000000000000000000000000000000000000000000000 + 0000000000000000007A7A7A696969000000696969A1A1A10000000000000000 + 000000000000000000000000000000000000001E1E1E8C8C8C8C8C8CB2B2B287 + 8787785757B59797A1A1A1A1A1A1A1A1A1000000000000000000000000000000 + 8C8C8C8C8C8CF0F0F0E7E7E7A9A9A99F9F9F3A34344B4B4B6E6E6EB7B7B7C2C2 + C2A1A1A1A1A1A10000000000008C8C8CFEFEFEF0F0F0E7E7E7DADADAA0A0A096 + 96968383836363635757576E6E6E969696B1B1B17575750000000000008C8C8C + F0F0F0DDDDDDA1A1A18181816E6E6E6C6C6C767676939393A9A9A99A9A9A6868 + 687575750000000000000000008C8C8C9696968C8C8CBCBCBCC4C4C4CBCBCB9D + 9D9D959595767676747474747474879D8E7575750000000000000000008C8C8C + D1D1D1CFCFCFC4C4C4CECECE9D9D9DA1A1A1A1A1A1CCCCCCC2C2C2B5B5B58E8E + 8E7575750000000000000000008C8C8CD0D0D0C4C4C4C7C7C79D9D9DDADADAEA + EAEADADADAA1A1A1A1A1A1A1A1A1B4B4B4757575000000000000000000CECECE + 9D9D9D9D9D9D9D9D9DBDBDBDD5D5D5E6E6E6EAEAEAE7E7E7E1E1E1DEDEDEA1A1 + A1B1B1B1000000000000000000000000000000D3D3D3D1936DB0B0B0B0B0B0B0 + B0B0B0B0B0B0B0B0C1C1C1A3A3A39C9C9C000000000000000000000000000000 + 0000009F8181D1936DFFCA98FFDAB6FFE0C2F2D9C1D1936D8787870000000000 + 00000000000000000000000000000000000000D1936DFFD5AFFFD5AFFFD5AFFF + D5AFFFD5AFD1936D000000000000000000000000000000000000000000000000 + 000000D1936DFFE1C5FFE1C5FFE1C5FFE1C5FFE1C5D1936D0000000000000000 + 00000000000000000000000000000000814B4BD1936DFFEEDDFFEEDDFFEEDDFF + EEDDFFEEDDD1936D000000000000000000000000000000000000000000000000 + D1936DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1936D0000000000000000000000 + 00000000000000000000000000814B4BD1936DD1936DD1936DD1936DD1936DD1 + 936DA98181000000000000000000000000000000000000000000} + end + end + object DBGrid1: TDBGrid + Left = 0 + Top = 41 + Width = 792 + Height = 463 + Align = alClient + DataSource = dsCuentaPolizas + TabOrder = 1 + TitleFont.Charset = DEFAULT_CHARSET + TitleFont.Color = clWindowText + TitleFont.Height = -13 + TitleFont.Name = 'Tahoma' + TitleFont.Style = [] + Columns = < + item + Expanded = False + FieldName = 'fecha' + Title.Caption = 'Fecha' + Width = 89 + Visible = True + end + item + Expanded = False + FieldName = 'nombre' + Title.Caption = 'Nombre' + Width = 261 + Visible = True + end + item + Expanded = False + FieldName = 'numPoliza' + Title.Caption = 'Num. Poliza' + Width = 129 + Visible = True + end + item + Expanded = False + FieldName = 'primaNeta' + Title.Caption = 'Prima Neta' + Width = 90 + Visible = True + end + item + Expanded = False + FieldName = 'comision' + Title.Caption = 'Comision' + Width = 90 + Visible = True + end + item + Expanded = False + FieldName = 'puntos' + Title.Caption = 'Puntos' + Width = 90 + Visible = True + end> + end + object Panel2: TPanel + Left = 0 + Top = 504 + Width = 792 + Height = 66 + Align = alBottom + BevelOuter = bvNone + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Tahoma' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + object Label1: TLabel + Left = 376 + Top = 8 + Width = 80 + Height = 16 + Caption = 'Total Polizas' + end + object Label2: TLabel + Left = 504 + Top = 8 + Width = 79 + Height = 16 + Caption = 'T. Pima Neta' + end + object Label3: TLabel + Left = 592 + Top = 8 + Width = 71 + Height = 16 + Caption = 'T. Comisi'#243'n' + end + object Label4: TLabel + Left = 688 + Top = 8 + Width = 60 + Height = 16 + Caption = 'T. Puntos' + end + object lbTotalPolizas: TLabel + Left = 376 + Top = 32 + Width = 87 + Height = 16 + Alignment = taRightJustify + Caption = 'lbTotalPolizas' + Font.Charset = DEFAULT_CHARSET + Font.Color = clRed + Font.Height = -13 + Font.Name = 'Tahoma' + Font.Style = [fsBold] + ParentFont = False + end + object lbTotalPrimaNeta: TLabel + Left = 504 + Top = 32 + Width = 87 + Height = 16 + Alignment = taRightJustify + Caption = 'lbTotalPolizas' + Font.Charset = DEFAULT_CHARSET + Font.Color = clRed + Font.Height = -13 + Font.Name = 'Tahoma' + Font.Style = [fsBold] + ParentFont = False + end + object lbTotalComision: TLabel + Left = 584 + Top = 32 + Width = 87 + Height = 16 + Alignment = taRightJustify + Caption = 'lbTotalPolizas' + Font.Charset = DEFAULT_CHARSET + Font.Color = clRed + Font.Height = -13 + Font.Name = 'Tahoma' + Font.Style = [fsBold] + ParentFont = False + end + object lbTotalPuntos: TLabel + Left = 672 + Top = 32 + Width = 87 + Height = 16 + Alignment = taRightJustify + Caption = 'lbTotalPolizas' + Font.Charset = DEFAULT_CHARSET + Font.Color = clRed + Font.Height = -13 + Font.Name = 'Tahoma' + Font.Style = [fsBold] + ParentFont = False + end + end + object zqCuentaPolizas: TZQuery + Connection = gestionClientes.ZConnection1 + OnNewRecord = zqCuentaPolizasNewRecord + SQL.Strings = ( + + 'SELECT id,agente,fecha,nombre,numPoliza,primaNeta,comision,punto' + + 's' + ' FROM cuentaPolizas') + Params = <> + Left = 216 + Top = 448 + object zqCuentaPolizasid: TIntegerField + AutoGenerateValue = arAutoInc + FieldName = 'id' + end + object zqCuentaPolizasagente: TIntegerField + FieldName = 'agente' + end + object zqCuentaPolizasfecha: TDateField + FieldName = 'fecha' + end + object zqCuentaPolizasnombre: TStringField + FieldName = 'nombre' + Size = 45 + end + object zqCuentaPolizasnumPoliza: TStringField + FieldName = 'numPoliza' + Size = 45 + end + object zqCuentaPolizasprimaNeta: TFloatField + FieldName = 'primaNeta' + end + object zqCuentaPolizascomision: TFloatField + FieldName = 'comision' + end + object zqCuentaPolizaspuntos: TFloatField + FieldName = 'puntos' + end + end + object dsCuentaPolizas: TDataSource + DataSet = zqCuentaPolizas + Left = 216 + Top = 416 + end +end diff --git a/src/cuentaPolizas.h b/src/cuentaPolizas.h new file mode 100644 index 0000000..430559a --- /dev/null +++ b/src/cuentaPolizas.h @@ -0,0 +1,64 @@ +//--------------------------------------------------------------------------- + +#ifndef cuentaPolizasH +#define cuentaPolizasH +//--------------------------------------------------------------------------- +#include +#include +#include +#include +#include "ZAbstractDataset.hpp" +#include "ZAbstractRODataset.hpp" +#include "ZDataset.hpp" +#include +#include +#include +#include +#include +#include +//--------------------------------------------------------------------------- +class TgestionCuentaPolizas : public TForm +{ +__published: // IDE-managed Components + TPanel *Panel1; + TBitBtn *BitBtn1; + TComboBox *srch_agentes; + TDBGrid *DBGrid1; + TComboBox *srch_mes; + TEdit *srch_ano; + TUpDown *UpDown1; + TZQuery *zqCuentaPolizas; + TPanel *Panel2; + TDataSource *dsCuentaPolizas; + TIntegerField *zqCuentaPolizasid; + TIntegerField *zqCuentaPolizasagente; + TDateField *zqCuentaPolizasfecha; + TStringField *zqCuentaPolizasnombre; + TStringField *zqCuentaPolizasnumPoliza; + TFloatField *zqCuentaPolizasprimaNeta; + TFloatField *zqCuentaPolizascomision; + TFloatField *zqCuentaPolizaspuntos; + TSpeedButton *SpeedButton1; + TSpeedButton *SpeedButton2; + TBitBtn *BitBtn2; + TLabel *Label1; + TLabel *Label2; + TLabel *Label3; + TLabel *Label4; + TLabel *lbTotalPolizas; + TLabel *lbTotalPrimaNeta; + TLabel *lbTotalComision; + TLabel *lbTotalPuntos; + void __fastcall zqCuentaPolizasNewRecord(TDataSet *DataSet); + void __fastcall execFilter(TObject *Sender); + void __fastcall SpeedButton1Click(TObject *Sender); + void __fastcall SpeedButton2Click(TObject *Sender); + void __fastcall BitBtn2Click(TObject *Sender); +private: // User declarations +public: // User declarations + __fastcall TgestionCuentaPolizas(TComponent* Owner); +}; +//--------------------------------------------------------------------------- +extern PACKAGE TgestionCuentaPolizas *gestionCuentaPolizas; +//--------------------------------------------------------------------------- +#endif diff --git a/src/cuentaPolizas.~cpp b/src/cuentaPolizas.~cpp new file mode 100644 index 0000000..756f550 --- /dev/null +++ b/src/cuentaPolizas.~cpp @@ -0,0 +1,132 @@ +//--------------------------------------------------------------------------- + +#include +#pragma hdrstop + +#include "cuentaPolizas.h" +#include "clientes.h" +#include "imprimirCuentaPolizas.h" +//--------------------------------------------------------------------------- +#pragma package(smart_init) +#pragma link "ZAbstractDataset" +#pragma link "ZAbstractRODataset" +#pragma link "ZDataset" +#pragma resource "*.dfm" +TgestionCuentaPolizas *gestionCuentaPolizas; +//--------------------------------------------------------------------------- +__fastcall TgestionCuentaPolizas::TgestionCuentaPolizas(TComponent* Owner) + : TForm(Owner) +{ + // Cargamos el listado de agentes disponibles + TZQuery *zquery; + zquery = new TZQuery(this); + zquery->Connection = gestionClientes->ZConnection1; + zquery->SQL->Clear(); + zquery->SQL->Add("SELECT id,nombre FROM agentes ORDER BY nombre"); + zquery->Active=zquery->Connection->Connected; + + srch_agentes->Items->Clear(); + while(!zquery->Eof) + { + srch_agentes->Items->AddObject(zquery->FieldByName("nombre")->AsString,(TObject *)(zquery->FieldByName("id")->AsInteger)); + zquery->Next(); + } + srch_agentes->ItemIndex = 0; + + unsigned short yyyy,mm,dd; + TDateTime::CurrentDate().DecodeDate(&yyyy,&mm,&dd); + srch_mes->ItemIndex = mm-1; + UpDown1->Position = yyyy; + + execFilter(NULL); +} +//--------------------------------------------------------------------------- +void __fastcall TgestionCuentaPolizas::zqCuentaPolizasNewRecord( + TDataSet *DataSet) +{ + AnsiString fecha; + fecha = "1/"+AnsiString(srch_mes->ItemIndex+1)+"/"+AnsiString(UpDown1->Position); + zqCuentaPolizas->FieldByName("fecha")->AsDateTime = TDateTime::TDateTime(fecha); + + int agente; + agente = (int)srch_agentes->Items->Objects[srch_agentes->ItemIndex]; + zqCuentaPolizas->FieldByName("agente")->AsInteger = agente; + +} +//--------------------------------------------------------------------------- +void __fastcall TgestionCuentaPolizas::execFilter(TObject *Sender) +{ + int agente; + agente = (int)srch_agentes->Items->Objects[srch_agentes->ItemIndex]; + + AnsiString where,orderBy,query; + + AnsiString desde, hasta; + desde = Format("%.4d-%.2d-01", ARRAYOFCONST((UpDown1->Position,(srch_mes->ItemIndex+1))) ); + if ( srch_mes->ItemIndex==11 ) + hasta = Format("%.4d-01-01", ARRAYOFCONST((UpDown1->Position+1)) ); + else + hasta = Format("%.4d-%.2d-01", ARRAYOFCONST((UpDown1->Position,(srch_mes->ItemIndex+2))) ); + + + + where = " WHERE fecha>='"+desde+"' AND fecha<'"+hasta+"' AND agente="+agente; + orderBy = " ORDER BY fecha ASC"; + + query = "SELECT id,agente,fecha,nombre,numPoliza,primaNeta,comision,puntos"; + query+=" FROM cuentaPolizas"; + query+=where; + query+=orderBy; + + zqCuentaPolizas->SQL->Clear(); + zqCuentaPolizas->SQL->Add(query); + zqCuentaPolizas->Active = zqCuentaPolizas->Connection->Connected; + + Currency totalPrimaNeta, totalComision, totalPuntos; + totalPrimaNeta=0; totalComision=0; totalPuntos=0; + zqCuentaPolizas->First(); + while(!zqCuentaPolizas->Eof){ + totalPrimaNeta+=zqCuentaPolizas->FieldByName("primaNeta")->AsCurrency; + totalComision+=zqCuentaPolizas->FieldByName("comision")->AsCurrency; + totalPuntos+=zqCuentaPolizas->FieldByName("puntos")->AsCurrency; + zqCuentaPolizas->Next(); + } + + lbTotalPolizas->Caption = zqCuentaPolizas->RecordCount; + lbTotalPrimaNeta->Caption = AnsiString(totalPrimaNeta); + lbTotalComision->Caption = AnsiString(totalComision); + lbTotalPuntos->Caption = AnsiString(totalPuntos); + +} +//--------------------------------------------------------------------------- +void __fastcall TgestionCuentaPolizas::SpeedButton1Click(TObject *Sender) +{ + if ( srch_mes->ItemIndex==0 ) { + srch_mes->ItemIndex=11; + UpDown1->Position--; + } else + srch_mes->ItemIndex--; + execFilter(NULL); +} +//--------------------------------------------------------------------------- +void __fastcall TgestionCuentaPolizas::SpeedButton2Click(TObject *Sender) +{ + if ( srch_mes->ItemIndex==11 ) { + srch_mes->ItemIndex=0; + UpDown1->Position++; + } else + srch_mes->ItemIndex++; + execFilter(NULL); +} +//--------------------------------------------------------------------------- +void __fastcall TgestionCuentaPolizas::BitBtn2Click(TObject *Sender) +{ + TimprCuentaPolizas *i; + i = new TimprCuentaPolizas(this); + i->qrlbFecha->Caption = AnsiString(UpDown1->Position)+" - "+srch_mes->Items->Strings[srch_mes->ItemIndex]; + i->qrlbAgente->Caption = srch_agentes->Items->Strings[srch_agentes->ItemIndex]; + i->QuickRep1->DataSet = zqCuentaPolizas; + i->QuickRep1->Preview(); + delete i; +} +//--------------------------------------------------------------------------- diff --git a/src/cuentaPolizas.~ddp b/src/cuentaPolizas.~ddp new file mode 100644 index 0000000..cdc0ee8 Binary files /dev/null and b/src/cuentaPolizas.~ddp differ diff --git a/src/cuentaPolizas.~dfm b/src/cuentaPolizas.~dfm new file mode 100644 index 0000000..fd40968 --- /dev/null +++ b/src/cuentaPolizas.~dfm @@ -0,0 +1,362 @@ +object gestionCuentaPolizas: TgestionCuentaPolizas + Left = 118 + Top = 122 + Width = 800 + Height = 600 + Caption = 'Cuenta Polizas' + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Tahoma' + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + Scaled = False + PixelsPerInch = 96 + TextHeight = 16 + object Panel1: TPanel + Left = 0 + Top = 0 + Width = 792 + Height = 41 + Align = alTop + BevelOuter = bvNone + TabOrder = 0 + object SpeedButton1: TSpeedButton + Left = 568 + Top = 8 + Width = 23 + Height = 22 + Caption = '<' + OnClick = SpeedButton1Click + end + object SpeedButton2: TSpeedButton + Left = 592 + Top = 8 + Width = 23 + Height = 22 + Caption = '>' + OnClick = SpeedButton2Click + end + object BitBtn1: TBitBtn + Left = 456 + Top = 8 + Width = 107 + Height = 24 + Caption = '&Filtrar' + Default = True + TabOrder = 0 + OnClick = execFilter + Glyph.Data = { + 42020000424D4202000000000000420000002800000010000000100000000100 + 10000300000000020000120B0000120B00000000000000000000007C0000E003 + 00001F000000FF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7F + FF7FFF7FFF7FFF7FFF7FFF7FFF7FBB6FF14A2722E415C4150722D14ABB6FFF7F + FF7FFF7FFF7FFF7FFF7FFF7F565B261A682A304F53575357104B4726E619365B + FF7FFF7FFF7FFF7FFF7F765F2416ED42745B304BEC3EEC3E304B545BCC3EC415 + 365BFF7FFF7FFF7FBB7386220E43745BEC3AEB3ACB3ACB36CB36CB3A545BCD3E + E619BB6FFF7FFF7F524FA932755BEC3EEC3A0E43BA6B314FCA36CB36CB3A745B + 6826F14AFF7FFF7FC82E524F514F0C3B0F43DD7BFF7FFF7F304BCB36CB3A304B + 104F2722FF7FFF7FA52674572E3F2E43DD77FF7FDD77FF7FFF7F314BCB3AED3E + 5357E415FF7FFF7FC62A745B2E430C3B755BBA6BEC3A965FFF7FFF7F314FED3E + 54570416FF7FFF7F09375253524F0D3B0C370C370C370C37965FFF7FDC73314F + 314F6722FF7FFF7F7357EB3A755B2D3F0D3B0C3B0C370C370C3B965F0D3F755B + A92E114BFF7FFF7FDC7309332F4B755B2D3F2D3B0D3B0D3B0D3B0D3F755B0E47 + 8622BB73FF7FFF7FFF7FB767072F2F4B755B524F2E432E43524F755B0F47851E + 765FFF7FFF7FFF7FFF7FFF7FB76709370B3B5253745774575253CA36C62A965F + FF7FFF7FFF7FFF7FFF7FFF7FFF7FDC7393572A3BE72EE72E09377257DB73FF7F + FF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7FFF7F + FF7FFF7FFF7F} + end + object srch_agentes: TComboBox + Left = 232 + Top = 8 + Width = 217 + Height = 24 + ItemHeight = 16 + TabOrder = 1 + end + object srch_mes: TComboBox + Left = 8 + Top = 8 + Width = 145 + Height = 24 + ItemHeight = 16 + ItemIndex = 0 + TabOrder = 2 + Text = 'Enero' + Items.Strings = ( + 'Enero' + 'Febrero' + 'Marzo' + 'Abril' + 'Mayo' + 'Junio' + 'Julio' + 'Agosto' + 'Septiembre' + 'Octubre' + 'Noviembre' + 'Diciembre') + end + object srch_ano: TEdit + Left = 160 + Top = 8 + Width = 49 + Height = 24 + ReadOnly = True + TabOrder = 3 + Text = '2.010' + end + object UpDown1: TUpDown + Left = 209 + Top = 8 + Width = 15 + Height = 24 + Associate = srch_ano + Min = 1900 + Max = 2100 + Position = 2010 + TabOrder = 4 + Wrap = False + end + object BitBtn2: TBitBtn + Left = 656 + Top = 8 + Width = 107 + Height = 24 + Caption = '&Imprimir' + Default = True + TabOrder = 5 + OnClick = BitBtn2Click + Glyph.Data = { + 36030000424D3603000000000000360000002800000010000000100000000100 + 1800000000000003000000000000000000000000000000000000000000000000 + 0000000000000000007A7A7A696969000000696969A1A1A10000000000000000 + 000000000000000000000000000000000000001E1E1E8C8C8C8C8C8CB2B2B287 + 8787785757B59797A1A1A1A1A1A1A1A1A1000000000000000000000000000000 + 8C8C8C8C8C8CF0F0F0E7E7E7A9A9A99F9F9F3A34344B4B4B6E6E6EB7B7B7C2C2 + C2A1A1A1A1A1A10000000000008C8C8CFEFEFEF0F0F0E7E7E7DADADAA0A0A096 + 96968383836363635757576E6E6E969696B1B1B17575750000000000008C8C8C + F0F0F0DDDDDDA1A1A18181816E6E6E6C6C6C767676939393A9A9A99A9A9A6868 + 687575750000000000000000008C8C8C9696968C8C8CBCBCBCC4C4C4CBCBCB9D + 9D9D959595767676747474747474879D8E7575750000000000000000008C8C8C + D1D1D1CFCFCFC4C4C4CECECE9D9D9DA1A1A1A1A1A1CCCCCCC2C2C2B5B5B58E8E + 8E7575750000000000000000008C8C8CD0D0D0C4C4C4C7C7C79D9D9DDADADAEA + EAEADADADAA1A1A1A1A1A1A1A1A1B4B4B4757575000000000000000000CECECE + 9D9D9D9D9D9D9D9D9DBDBDBDD5D5D5E6E6E6EAEAEAE7E7E7E1E1E1DEDEDEA1A1 + A1B1B1B1000000000000000000000000000000D3D3D3D1936DB0B0B0B0B0B0B0 + B0B0B0B0B0B0B0B0C1C1C1A3A3A39C9C9C000000000000000000000000000000 + 0000009F8181D1936DFFCA98FFDAB6FFE0C2F2D9C1D1936D8787870000000000 + 00000000000000000000000000000000000000D1936DFFD5AFFFD5AFFFD5AFFF + D5AFFFD5AFD1936D000000000000000000000000000000000000000000000000 + 000000D1936DFFE1C5FFE1C5FFE1C5FFE1C5FFE1C5D1936D0000000000000000 + 00000000000000000000000000000000814B4BD1936DFFEEDDFFEEDDFFEEDDFF + EEDDFFEEDDD1936D000000000000000000000000000000000000000000000000 + D1936DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD1936D0000000000000000000000 + 00000000000000000000000000814B4BD1936DD1936DD1936DD1936DD1936DD1 + 936DA98181000000000000000000000000000000000000000000} + end + end + object DBGrid1: TDBGrid + Left = 0 + Top = 41 + Width = 792 + Height = 463 + Align = alClient + DataSource = dsCuentaPolizas + TabOrder = 1 + TitleFont.Charset = DEFAULT_CHARSET + TitleFont.Color = clWindowText + TitleFont.Height = -13 + TitleFont.Name = 'Tahoma' + TitleFont.Style = [] + Columns = < + item + Expanded = False + FieldName = 'fecha' + Title.Caption = 'Fecha' + Width = 89 + Visible = True + end + item + Expanded = False + FieldName = 'nombre' + Title.Caption = 'Nombre' + Width = 261 + Visible = True + end + item + Expanded = False + FieldName = 'numPoliza' + Title.Caption = 'Num. Poliza' + Width = 129 + Visible = True + end + item + Expanded = False + FieldName = 'primaNeta' + Title.Caption = 'Prima Neta' + Width = 90 + Visible = True + end + item + Expanded = False + FieldName = 'comision' + Title.Caption = 'Comision' + Width = 90 + Visible = True + end + item + Expanded = False + FieldName = 'puntos' + Title.Caption = 'Puntos' + Width = 90 + Visible = True + end> + end + object Panel2: TPanel + Left = 0 + Top = 504 + Width = 792 + Height = 66 + Align = alBottom + BevelOuter = bvNone + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Tahoma' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + object Label1: TLabel + Left = 376 + Top = 8 + Width = 80 + Height = 16 + Caption = 'Total Polizas' + end + object Label2: TLabel + Left = 504 + Top = 8 + Width = 79 + Height = 16 + Caption = 'T. Pima Neta' + end + object Label3: TLabel + Left = 592 + Top = 8 + Width = 71 + Height = 16 + Caption = 'T. Comisi'#243'n' + end + object Label4: TLabel + Left = 688 + Top = 8 + Width = 60 + Height = 16 + Caption = 'T. Puntos' + end + object lbTotalPolizas: TLabel + Left = 376 + Top = 32 + Width = 87 + Height = 16 + Alignment = taRightJustify + Caption = 'lbTotalPolizas' + Font.Charset = DEFAULT_CHARSET + Font.Color = clRed + Font.Height = -13 + Font.Name = 'Tahoma' + Font.Style = [fsBold] + ParentFont = False + end + object lbTotalPrimaNeta: TLabel + Left = 504 + Top = 32 + Width = 87 + Height = 16 + Alignment = taRightJustify + Caption = 'lbTotalPolizas' + Font.Charset = DEFAULT_CHARSET + Font.Color = clRed + Font.Height = -13 + Font.Name = 'Tahoma' + Font.Style = [fsBold] + ParentFont = False + end + object lbTotalComision: TLabel + Left = 584 + Top = 32 + Width = 87 + Height = 16 + Alignment = taRightJustify + Caption = 'lbTotalPolizas' + Font.Charset = DEFAULT_CHARSET + Font.Color = clRed + Font.Height = -13 + Font.Name = 'Tahoma' + Font.Style = [fsBold] + ParentFont = False + end + object lbTotalPuntos: TLabel + Left = 672 + Top = 32 + Width = 87 + Height = 16 + Alignment = taRightJustify + Caption = 'lbTotalPolizas' + Font.Charset = DEFAULT_CHARSET + Font.Color = clRed + Font.Height = -13 + Font.Name = 'Tahoma' + Font.Style = [fsBold] + ParentFont = False + end + end + object zqCuentaPolizas: TZQuery + Connection = gestionClientes.ZConnection1 + OnNewRecord = zqCuentaPolizasNewRecord + SQL.Strings = ( + + 'SELECT id,agente,fecha,nombre,numPoliza,primaNeta,comision,punto' + + 's' + ' FROM cuentaPolizas') + Params = <> + Left = 216 + Top = 448 + object zqCuentaPolizasid: TIntegerField + AutoGenerateValue = arAutoInc + FieldName = 'id' + end + object zqCuentaPolizasagente: TIntegerField + FieldName = 'agente' + end + object zqCuentaPolizasfecha: TDateField + FieldName = 'fecha' + end + object zqCuentaPolizasnombre: TStringField + FieldName = 'nombre' + Size = 45 + end + object zqCuentaPolizasnumPoliza: TStringField + FieldName = 'numPoliza' + Size = 45 + end + object zqCuentaPolizasprimaNeta: TFloatField + FieldName = 'primaNeta' + end + object zqCuentaPolizascomision: TFloatField + FieldName = 'comision' + end + object zqCuentaPolizaspuntos: TFloatField + FieldName = 'puntos' + end + end + object dsCuentaPolizas: TDataSource + DataSet = zqCuentaPolizas + Left = 216 + Top = 416 + end +end diff --git a/src/cuentaPolizas.~h b/src/cuentaPolizas.~h new file mode 100644 index 0000000..430559a --- /dev/null +++ b/src/cuentaPolizas.~h @@ -0,0 +1,64 @@ +//--------------------------------------------------------------------------- + +#ifndef cuentaPolizasH +#define cuentaPolizasH +//--------------------------------------------------------------------------- +#include +#include +#include +#include +#include "ZAbstractDataset.hpp" +#include "ZAbstractRODataset.hpp" +#include "ZDataset.hpp" +#include +#include +#include +#include +#include +#include +//--------------------------------------------------------------------------- +class TgestionCuentaPolizas : public TForm +{ +__published: // IDE-managed Components + TPanel *Panel1; + TBitBtn *BitBtn1; + TComboBox *srch_agentes; + TDBGrid *DBGrid1; + TComboBox *srch_mes; + TEdit *srch_ano; + TUpDown *UpDown1; + TZQuery *zqCuentaPolizas; + TPanel *Panel2; + TDataSource *dsCuentaPolizas; + TIntegerField *zqCuentaPolizasid; + TIntegerField *zqCuentaPolizasagente; + TDateField *zqCuentaPolizasfecha; + TStringField *zqCuentaPolizasnombre; + TStringField *zqCuentaPolizasnumPoliza; + TFloatField *zqCuentaPolizasprimaNeta; + TFloatField *zqCuentaPolizascomision; + TFloatField *zqCuentaPolizaspuntos; + TSpeedButton *SpeedButton1; + TSpeedButton *SpeedButton2; + TBitBtn *BitBtn2; + TLabel *Label1; + TLabel *Label2; + TLabel *Label3; + TLabel *Label4; + TLabel *lbTotalPolizas; + TLabel *lbTotalPrimaNeta; + TLabel *lbTotalComision; + TLabel *lbTotalPuntos; + void __fastcall zqCuentaPolizasNewRecord(TDataSet *DataSet); + void __fastcall execFilter(TObject *Sender); + void __fastcall SpeedButton1Click(TObject *Sender); + void __fastcall SpeedButton2Click(TObject *Sender); + void __fastcall BitBtn2Click(TObject *Sender); +private: // User declarations +public: // User declarations + __fastcall TgestionCuentaPolizas(TComponent* Owner); +}; +//--------------------------------------------------------------------------- +extern PACKAGE TgestionCuentaPolizas *gestionCuentaPolizas; +//--------------------------------------------------------------------------- +#endif diff --git a/src/imprimirClientes.cpp b/src/imprimirClientes.cpp new file mode 100644 index 0000000..b2b807e --- /dev/null +++ b/src/imprimirClientes.cpp @@ -0,0 +1,17 @@ +//--------------------------------------------------------------------------- + +#include +#pragma hdrstop + +#include "imprimirClientes.h" +//--------------------------------------------------------------------------- +#pragma package(smart_init) +#pragma link "qrpctrls" +#pragma resource "*.dfm" +TimprimirCarteraClientes *imprimirCarteraClientes; +//--------------------------------------------------------------------------- +__fastcall TimprimirCarteraClientes::TimprimirCarteraClientes(TComponent* Owner) + : TForm(Owner) +{ +} +//--------------------------------------------------------------------------- diff --git a/src/imprimirClientes.dfm b/src/imprimirClientes.dfm new file mode 100644 index 0000000..77bd1eb --- /dev/null +++ b/src/imprimirClientes.dfm @@ -0,0 +1,477 @@ +object imprimirCarteraClientes: TimprimirCarteraClientes + Left = 509 + Top = 348 + Width = 837 + Height = 476 + Caption = 'Imprimir :: Cartera de Clientes' + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + OldCreateOrder = False + Scaled = False + PixelsPerInch = 96 + TextHeight = 13 + object QuickRep1: TQuickRep + Left = 0 + Top = 0 + Width = 794 + Height = 1123 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [] + Functions.Strings = ( + 'PAGENUMBER' + 'COLUMNNUMBER' + 'REPORTTITLE') + Functions.DATA = ( + '0' + '0' + #39#39) + Options = [FirstPageHeader, LastPageFooter] + Page.Columns = 1 + Page.Orientation = poPortrait + Page.PaperSize = Default + Page.Values = ( + 100 + 2970 + 100 + 2100 + 100 + 100 + 0) + PrinterSettings.Copies = 1 + PrinterSettings.OutputBin = Auto + PrinterSettings.Duplex = False + PrinterSettings.FirstPage = 0 + PrinterSettings.LastPage = 0 + PrinterSettings.UseStandardprinter = False + PrinterSettings.UseCustomBinCode = False + PrinterSettings.CustomBinCode = 0 + PrinterSettings.ExtendedDuplex = 0 + PrinterSettings.UseCustomPaperCode = False + PrinterSettings.CustomPaperCode = 0 + PrinterSettings.PrintMetaFile = False + PrinterSettings.PrintQuality = 0 + PrinterSettings.Collate = 0 + PrinterSettings.ColorOption = 0 + PrintIfEmpty = True + SnapToGrid = True + Units = MM + Zoom = 100 + PrevFormStyle = fsNormal + PreviewInitialState = wsNormal + PrevInitialZoom = qrZoomToFit + PreviewDefaultSaveType = stQRP + object QRPBand1: TQRPBand + Left = 38 + Top = 38 + Width = 718 + Height = 40 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + AlignToBottom = False + Color = clWhite + TransparentBand = False + ForceNewColumn = False + ForceNewPage = False + Size.Values = ( + 105.833333333333 + 1899.70833333333) + PreCaluculateBandHeight = False + KeepOnOnePage = False + BandType = rbTitle + AlwaysUseSpace = False + NotOnFirstPage = False + NotOnLastPage = False + object QRLabel1: TQRLabel + Left = 264 + Top = 8 + Width = 178 + Height = 23 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 60.8541666666667 + 698.5 + 21.1666666666667 + 470.958333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Cartera de Clientes' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 14 + end + end + object QRPBand2: TQRPBand + Left = 38 + Top = 118 + Width = 718 + Height = 40 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + AlignToBottom = False + Color = clWhite + TransparentBand = False + ForceNewColumn = False + ForceNewPage = False + Size.Values = ( + 105.833333333333 + 1899.70833333333) + PreCaluculateBandHeight = False + KeepOnOnePage = False + BandType = rbDetail + AlwaysUseSpace = False + NotOnFirstPage = False + NotOnLastPage = False + object QRExpr1: TQRExpr + Left = 35 + Top = 0 + Width = 11 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 92.6041666666667 + 0 + 29.1041666666667) + Alignment = taRightJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'id' + ExportAs = exptText + FontSize = 10 + end + object QRExpr2: TQRExpr + Left = 56 + Top = 0 + Width = 44 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 148.166666666667 + 0 + 116.416666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'nombre' + ExportAs = exptText + FontSize = 10 + end + object QRExpr3: TQRExpr + Left = 600 + Top = 0 + Width = 103 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1587.5 + 0 + 272.520833333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'telefono+'#39', '#39'+movil' + ExportAs = exptText + FontSize = 10 + end + object QRExpr4: TQRExpr + Left = 512 + Top = 0 + Width = 18 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1354.66666666667 + 0 + 47.625) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'dni' + ExportAs = exptText + FontSize = 10 + end + object QRExpr5: TQRExpr + Left = 56 + Top = 16 + Width = 273 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 148.166666666667 + 42.3333333333333 + 722.3125) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Font.Charset = DEFAULT_CHARSET + Font.Color = clGray + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [] + Color = clWhite + ParentFont = False + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'calle+'#39', '#39'+poblacion+'#39', CP: '#39'+cp+'#39' ('#39'+provincia+'#39')'#39 + ExportAs = exptText + FontSize = 10 + end + end + object QRPBand3: TQRPBand + Left = 38 + Top = 158 + Width = 718 + Height = 40 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + AlignToBottom = False + Color = clWhite + TransparentBand = False + ForceNewColumn = False + ForceNewPage = False + Size.Values = ( + 105.8 + 1899.70833333333) + PreCaluculateBandHeight = False + KeepOnOnePage = False + BandType = rbPageFooter + AlwaysUseSpace = False + NotOnFirstPage = False + NotOnLastPage = False + end + object QRPBand4: TQRPBand + Left = 38 + Top = 78 + Width = 718 + Height = 40 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = True + Frame.DrawLeft = False + Frame.DrawRight = False + AlignToBottom = False + Color = clWhite + TransparentBand = False + ForceNewColumn = False + ForceNewPage = False + Size.Values = ( + 105.833333333333 + 1899.70833333333) + PreCaluculateBandHeight = False + KeepOnOnePage = False + BandType = rbColumnHeader + AlwaysUseSpace = False + NotOnFirstPage = False + NotOnLastPage = False + object QRLabel2: TQRLabel + Left = 16 + Top = 16 + Width = 14 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 42.3333333333333 + 37.0416666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'ID' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel3: TQRLabel + Left = 56 + Top = 16 + Width = 124 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 148.166666666667 + 42.3333333333333 + 328.083333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Nombre del Cliente' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel4: TQRLabel + Left = 600 + Top = 16 + Width = 63 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1587.5 + 42.3333333333333 + 166.6875) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Tel'#233'fonos' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel5: TQRLabel + Left = 512 + Top = 16 + Width = 35 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1354.66666666667 + 42.3333333333333 + 92.6041666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'D.N.I.' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + end + end +end diff --git a/src/imprimirClientes.h b/src/imprimirClientes.h new file mode 100644 index 0000000..22eea42 --- /dev/null +++ b/src/imprimirClientes.h @@ -0,0 +1,40 @@ +//--------------------------------------------------------------------------- + +#ifndef imprimirClientesH +#define imprimirClientesH +//--------------------------------------------------------------------------- +#include +#include +#include +#include +#include "qrpctrls.hpp" +#include +#include +#include +//--------------------------------------------------------------------------- +class TimprimirCarteraClientes : public TForm +{ +__published: // IDE-managed Components + TQuickRep *QuickRep1; + TQRPBand *QRPBand1; + TQRPBand *QRPBand2; + TQRPBand *QRPBand3; + TQRLabel *QRLabel1; + TQRPBand *QRPBand4; + TQRLabel *QRLabel2; + TQRLabel *QRLabel3; + TQRLabel *QRLabel4; + TQRExpr *QRExpr1; + TQRExpr *QRExpr2; + TQRExpr *QRExpr3; + TQRLabel *QRLabel5; + TQRExpr *QRExpr4; + TQRExpr *QRExpr5; +private: // User declarations +public: // User declarations + __fastcall TimprimirCarteraClientes(TComponent* Owner); +}; +//--------------------------------------------------------------------------- +extern PACKAGE TimprimirCarteraClientes *imprimirCarteraClientes; +//--------------------------------------------------------------------------- +#endif diff --git a/src/imprimirClientes.~cpp b/src/imprimirClientes.~cpp new file mode 100644 index 0000000..b2b807e --- /dev/null +++ b/src/imprimirClientes.~cpp @@ -0,0 +1,17 @@ +//--------------------------------------------------------------------------- + +#include +#pragma hdrstop + +#include "imprimirClientes.h" +//--------------------------------------------------------------------------- +#pragma package(smart_init) +#pragma link "qrpctrls" +#pragma resource "*.dfm" +TimprimirCarteraClientes *imprimirCarteraClientes; +//--------------------------------------------------------------------------- +__fastcall TimprimirCarteraClientes::TimprimirCarteraClientes(TComponent* Owner) + : TForm(Owner) +{ +} +//--------------------------------------------------------------------------- diff --git a/src/imprimirClientes.~dfm b/src/imprimirClientes.~dfm new file mode 100644 index 0000000..9522616 --- /dev/null +++ b/src/imprimirClientes.~dfm @@ -0,0 +1,477 @@ +object imprimirCarteraClientes: TimprimirCarteraClientes + Left = 232 + Top = 319 + Width = 837 + Height = 476 + Caption = 'Imprimir :: Cartera de Clientes' + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + OldCreateOrder = False + Scaled = False + PixelsPerInch = 96 + TextHeight = 13 + object QuickRep1: TQuickRep + Left = 0 + Top = 0 + Width = 794 + Height = 1123 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [] + Functions.Strings = ( + 'PAGENUMBER' + 'COLUMNNUMBER' + 'REPORTTITLE') + Functions.DATA = ( + '0' + '0' + #39#39) + Options = [FirstPageHeader, LastPageFooter] + Page.Columns = 1 + Page.Orientation = poPortrait + Page.PaperSize = Default + Page.Values = ( + 100 + 2970 + 100 + 2100 + 100 + 100 + 0) + PrinterSettings.Copies = 1 + PrinterSettings.OutputBin = Auto + PrinterSettings.Duplex = False + PrinterSettings.FirstPage = 0 + PrinterSettings.LastPage = 0 + PrinterSettings.UseStandardprinter = False + PrinterSettings.UseCustomBinCode = False + PrinterSettings.CustomBinCode = 0 + PrinterSettings.ExtendedDuplex = 0 + PrinterSettings.UseCustomPaperCode = False + PrinterSettings.CustomPaperCode = 0 + PrinterSettings.PrintMetaFile = False + PrinterSettings.PrintQuality = 0 + PrinterSettings.Collate = 0 + PrinterSettings.ColorOption = 0 + PrintIfEmpty = True + SnapToGrid = True + Units = MM + Zoom = 100 + PrevFormStyle = fsNormal + PreviewInitialState = wsNormal + PrevInitialZoom = qrZoomToFit + PreviewDefaultSaveType = stQRP + object QRPBand1: TQRPBand + Left = 38 + Top = 38 + Width = 718 + Height = 40 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + AlignToBottom = False + Color = clWhite + TransparentBand = False + ForceNewColumn = False + ForceNewPage = False + Size.Values = ( + 105.833333333333 + 1899.70833333333) + PreCaluculateBandHeight = False + KeepOnOnePage = False + BandType = rbTitle + AlwaysUseSpace = False + NotOnFirstPage = False + NotOnLastPage = False + object QRLabel1: TQRLabel + Left = 264 + Top = 8 + Width = 178 + Height = 23 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 60.8541666666667 + 698.5 + 21.1666666666667 + 470.958333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Cartera de Clientes' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 14 + end + end + object QRPBand2: TQRPBand + Left = 38 + Top = 118 + Width = 718 + Height = 40 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + AlignToBottom = False + Color = clWhite + TransparentBand = False + ForceNewColumn = False + ForceNewPage = False + Size.Values = ( + 105.833333333333 + 1899.70833333333) + PreCaluculateBandHeight = False + KeepOnOnePage = False + BandType = rbDetail + AlwaysUseSpace = False + NotOnFirstPage = False + NotOnLastPage = False + object QRExpr1: TQRExpr + Left = 35 + Top = 0 + Width = 11 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 92.6041666666667 + 0 + 29.1041666666667) + Alignment = taRightJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'id' + ExportAs = exptText + FontSize = 10 + end + object QRExpr2: TQRExpr + Left = 56 + Top = 0 + Width = 44 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 148.166666666667 + 0 + 116.416666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'nombre' + ExportAs = exptText + FontSize = 10 + end + object QRExpr3: TQRExpr + Left = 600 + Top = 0 + Width = 103 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1587.5 + 0 + 272.520833333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'telefono+'#39', '#39'+movil' + ExportAs = exptText + FontSize = 10 + end + object QRExpr4: TQRExpr + Left = 512 + Top = 0 + Width = 18 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1354.66666666667 + 0 + 47.625) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'dni' + ExportAs = exptText + FontSize = 10 + end + object QRExpr5: TQRExpr + Left = 56 + Top = 16 + Width = 273 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 148.166666666667 + 42.3333333333333 + 722.3125) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Font.Charset = DEFAULT_CHARSET + Font.Color = clGray + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [] + Color = clWhite + ParentFont = False + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'calle+'#39', '#39'+poblacion+'#39', CP: '#39'+cp+'#39' ('#39'+provincia+'#39')'#39 + ExportAs = exptText + FontSize = 10 + end + end + object QRPBand3: TQRPBand + Left = 38 + Top = 158 + Width = 718 + Height = 40 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + AlignToBottom = False + Color = clWhite + TransparentBand = False + ForceNewColumn = False + ForceNewPage = False + Size.Values = ( + 105.8 + 1899.70833333333) + PreCaluculateBandHeight = False + KeepOnOnePage = False + BandType = rbPageFooter + AlwaysUseSpace = False + NotOnFirstPage = False + NotOnLastPage = False + end + object QRPBand4: TQRPBand + Left = 38 + Top = 78 + Width = 718 + Height = 40 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = True + Frame.DrawLeft = False + Frame.DrawRight = False + AlignToBottom = False + Color = clWhite + TransparentBand = False + ForceNewColumn = False + ForceNewPage = False + Size.Values = ( + 105.833333333333 + 1899.70833333333) + PreCaluculateBandHeight = False + KeepOnOnePage = False + BandType = rbColumnHeader + AlwaysUseSpace = False + NotOnFirstPage = False + NotOnLastPage = False + object QRLabel2: TQRLabel + Left = 16 + Top = 16 + Width = 14 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 42.3333333333333 + 37.0416666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'ID' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel3: TQRLabel + Left = 56 + Top = 16 + Width = 124 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 148.166666666667 + 42.3333333333333 + 328.083333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Nombre del Cliente' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel4: TQRLabel + Left = 600 + Top = 16 + Width = 63 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1587.5 + 42.3333333333333 + 166.6875) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Tel'#233'fonos' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel5: TQRLabel + Left = 512 + Top = 16 + Width = 35 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1354.66666666667 + 42.3333333333333 + 92.6041666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'D.N.I.' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + end + end +end diff --git a/src/imprimirClientes.~h b/src/imprimirClientes.~h new file mode 100644 index 0000000..22eea42 --- /dev/null +++ b/src/imprimirClientes.~h @@ -0,0 +1,40 @@ +//--------------------------------------------------------------------------- + +#ifndef imprimirClientesH +#define imprimirClientesH +//--------------------------------------------------------------------------- +#include +#include +#include +#include +#include "qrpctrls.hpp" +#include +#include +#include +//--------------------------------------------------------------------------- +class TimprimirCarteraClientes : public TForm +{ +__published: // IDE-managed Components + TQuickRep *QuickRep1; + TQRPBand *QRPBand1; + TQRPBand *QRPBand2; + TQRPBand *QRPBand3; + TQRLabel *QRLabel1; + TQRPBand *QRPBand4; + TQRLabel *QRLabel2; + TQRLabel *QRLabel3; + TQRLabel *QRLabel4; + TQRExpr *QRExpr1; + TQRExpr *QRExpr2; + TQRExpr *QRExpr3; + TQRLabel *QRLabel5; + TQRExpr *QRExpr4; + TQRExpr *QRExpr5; +private: // User declarations +public: // User declarations + __fastcall TimprimirCarteraClientes(TComponent* Owner); +}; +//--------------------------------------------------------------------------- +extern PACKAGE TimprimirCarteraClientes *imprimirCarteraClientes; +//--------------------------------------------------------------------------- +#endif diff --git a/src/imprimirCuentaPolizas.cpp b/src/imprimirCuentaPolizas.cpp new file mode 100644 index 0000000..9515229 --- /dev/null +++ b/src/imprimirCuentaPolizas.cpp @@ -0,0 +1,17 @@ +//--------------------------------------------------------------------------- + +#include +#pragma hdrstop + +#include "imprimirCuentaPolizas.h" +//--------------------------------------------------------------------------- +#pragma package(smart_init) +#pragma link "qrpctrls" +#pragma resource "*.dfm" +TimprCuentaPolizas *imprCuentaPolizas; +//--------------------------------------------------------------------------- +__fastcall TimprCuentaPolizas::TimprCuentaPolizas(TComponent* Owner) + : TForm(Owner) +{ +} +//--------------------------------------------------------------------------- diff --git a/src/imprimirCuentaPolizas.dfm b/src/imprimirCuentaPolizas.dfm new file mode 100644 index 0000000..2f4ddbf --- /dev/null +++ b/src/imprimirCuentaPolizas.dfm @@ -0,0 +1,786 @@ +object imprCuentaPolizas: TimprCuentaPolizas + Left = 119 + Top = 136 + Width = 947 + Height = 567 + Caption = 'Imprimir :: Cuenta Polizas' + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + OldCreateOrder = False + Scaled = False + PixelsPerInch = 96 + TextHeight = 13 + object QuickRep1: TQuickRep + Left = 32 + Top = 23 + Width = 794 + Height = 1123 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [] + Functions.Strings = ( + 'PAGENUMBER' + 'COLUMNNUMBER' + 'REPORTTITLE') + Functions.DATA = ( + '0' + '0' + #39#39) + Options = [FirstPageHeader, LastPageFooter] + Page.Columns = 1 + Page.Orientation = poPortrait + Page.PaperSize = Default + Page.Values = ( + 100 + 2970 + 100 + 2100 + 100 + 100 + 0) + PrinterSettings.Copies = 1 + PrinterSettings.OutputBin = Auto + PrinterSettings.Duplex = False + PrinterSettings.FirstPage = 0 + PrinterSettings.LastPage = 0 + PrinterSettings.UseStandardprinter = False + PrinterSettings.UseCustomBinCode = False + PrinterSettings.CustomBinCode = 0 + PrinterSettings.ExtendedDuplex = 0 + PrinterSettings.UseCustomPaperCode = False + PrinterSettings.CustomPaperCode = 0 + PrinterSettings.PrintMetaFile = False + PrinterSettings.PrintQuality = 0 + PrinterSettings.Collate = 0 + PrinterSettings.ColorOption = 0 + PrintIfEmpty = True + SnapToGrid = True + Units = MM + Zoom = 100 + PrevFormStyle = fsNormal + PreviewInitialState = wsNormal + PrevInitialZoom = qrZoomToFit + PreviewDefaultSaveType = stQRP + object QRPBand1: TQRPBand + Left = 38 + Top = 38 + Width = 718 + Height = 123 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + AlignToBottom = False + Color = clWhite + TransparentBand = False + ForceNewColumn = False + ForceNewPage = False + Size.Values = ( + 325.4375 + 1899.70833333333) + PreCaluculateBandHeight = False + KeepOnOnePage = False + BandType = rbTitle + AlwaysUseSpace = False + NotOnFirstPage = False + NotOnLastPage = False + object QRLabel1: TQRLabel + Left = 304 + Top = 8 + Width = 139 + Height = 23 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 60.8541666666667 + 804.333333333333 + 21.1666666666667 + 367.770833333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Cuenta Polizas' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 14 + end + object QRLabel6: TQRLabel + Left = 16 + Top = 48 + Width = 44 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 127 + 116.416666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Fecha:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel7: TQRLabel + Left = 16 + Top = 80 + Width = 50 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 211.666666666667 + 132.291666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Agente:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object qrlbFecha: TQRLabel + Left = 80 + Top = 48 + Width = 58 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 211.666666666667 + 127 + 153.458333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'qrlbFecha' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object qrlbAgente: TQRLabel + Left = 80 + Top = 80 + Width = 58 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 211.666666666667 + 211.666666666667 + 153.458333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'qrlbFecha' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + end + object QRPBand2: TQRPBand + Left = 38 + Top = 201 + Width = 718 + Height = 24 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + AlignToBottom = False + Color = clWhite + TransparentBand = False + ForceNewColumn = False + ForceNewPage = False + Size.Values = ( + 63.5 + 1899.70833333333) + PreCaluculateBandHeight = False + KeepOnOnePage = False + BandType = rbDetail + AlwaysUseSpace = False + NotOnFirstPage = False + NotOnLastPage = False + object QRExpr1: TQRExpr + Left = 22 + Top = 0 + Width = 32 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 58.2083333333333 + 0 + 84.6666666666667) + Alignment = taRightJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'fecha' + ExportAs = exptText + FontSize = 10 + end + object QRExpr2: TQRExpr + Left = 64 + Top = 0 + Width = 44 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 169.333333333333 + 0 + 116.416666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'nombre' + ExportAs = exptText + FontSize = 10 + end + object QRExpr3: TQRExpr + Left = 672 + Top = 0 + Width = 40 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1778 + 0 + 105.833333333333) + Alignment = taRightJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'puntos' + ExportAs = exptText + FontSize = 10 + end + object QRExpr4: TQRExpr + Left = 592 + Top = 0 + Width = 53 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1566.33333333333 + 0 + 140.229166666667) + Alignment = taRightJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'comision' + ExportAs = exptText + FontSize = 10 + end + object QRExpr5: TQRExpr + Left = 336 + Top = 0 + Width = 62 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 889 + 0 + 164.041666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'numPoliza' + ExportAs = exptText + FontSize = 10 + end + object QRExpr9: TQRExpr + Left = 506 + Top = 0 + Width = 60 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1338.79166666667 + 0 + 158.75) + Alignment = taRightJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'primaNeta' + ExportAs = exptText + FontSize = 10 + end + end + object QRPBand3: TQRPBand + Left = 38 + Top = 225 + Width = 718 + Height = 40 + Frame.Color = clBlack + Frame.DrawTop = True + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + AlignToBottom = False + Color = clWhite + TransparentBand = False + ForceNewColumn = False + ForceNewPage = False + Size.Values = ( + 105.833333333333 + 1899.70833333333) + PreCaluculateBandHeight = False + KeepOnOnePage = False + BandType = rbPageFooter + AlwaysUseSpace = False + NotOnFirstPage = False + NotOnLastPage = False + object QRExpr6: TQRExpr + Left = 634 + Top = 8 + Width = 77 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1677.45833333333 + 21.1666666666667 + 203.729166666667) + Alignment = taRightJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'SUM(puntos)' + ExportAs = exptText + FontSize = 10 + end + object QRExpr7: TQRExpr + Left = 554 + Top = 8 + Width = 90 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1465.79166666667 + 21.1666666666667 + 238.125) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'SUM(comision)' + ExportAs = exptText + FontSize = 10 + end + object QRExpr8: TQRExpr + Left = 336 + Top = 8 + Width = 45 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 889 + 21.1666666666667 + 119.0625) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'COUNT' + ExportAs = exptText + FontSize = 10 + end + object QRExpr10: TQRExpr + Left = 474 + Top = 8 + Width = 97 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1254.125 + 21.1666666666667 + 256.645833333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'SUM(primaNeta)' + ExportAs = exptText + FontSize = 10 + end + end + object QRPBand4: TQRPBand + Left = 38 + Top = 161 + Width = 718 + Height = 40 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = True + Frame.DrawLeft = False + Frame.DrawRight = False + AlignToBottom = False + Color = clWhite + TransparentBand = False + ForceNewColumn = False + ForceNewPage = False + Size.Values = ( + 105.833333333333 + 1899.70833333333) + PreCaluculateBandHeight = False + KeepOnOnePage = False + BandType = rbColumnHeader + AlwaysUseSpace = False + NotOnFirstPage = False + NotOnLastPage = False + object QRLabel2: TQRLabel + Left = 16 + Top = 16 + Width = 40 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 42.3333333333333 + 105.833333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Fecha' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel3: TQRLabel + Left = 64 + Top = 16 + Width = 124 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 169.333333333333 + 42.3333333333333 + 328.083333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Nombre del Cliente' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel4: TQRLabel + Left = 656 + Top = 16 + Width = 44 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1735.66666666667 + 42.3333333333333 + 116.416666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Puntos' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel5: TQRLabel + Left = 576 + Top = 16 + Width = 60 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1524 + 42.3333333333333 + 158.75) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Comisi'#243'n' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel8: TQRLabel + Left = 336 + Top = 16 + Width = 78 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 889 + 42.3333333333333 + 206.375) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'N'#250'm. Poliza' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel9: TQRLabel + Left = 488 + Top = 16 + Width = 72 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1291.16666666667 + 42.3333333333333 + 190.5) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Prima Neta' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + end + end +end diff --git a/src/imprimirCuentaPolizas.h b/src/imprimirCuentaPolizas.h new file mode 100644 index 0000000..5c934ba --- /dev/null +++ b/src/imprimirCuentaPolizas.h @@ -0,0 +1,51 @@ +//--------------------------------------------------------------------------- + +#ifndef imprimirCuentaPolizasH +#define imprimirCuentaPolizasH +//--------------------------------------------------------------------------- +#include +#include +#include +#include +#include "qrpctrls.hpp" +#include +#include +#include +//--------------------------------------------------------------------------- +class TimprCuentaPolizas : public TForm +{ +__published: // IDE-managed Components + TQuickRep *QuickRep1; + TQRPBand *QRPBand1; + TQRLabel *QRLabel1; + TQRPBand *QRPBand2; + TQRExpr *QRExpr1; + TQRExpr *QRExpr2; + TQRExpr *QRExpr3; + TQRExpr *QRExpr4; + TQRPBand *QRPBand3; + TQRPBand *QRPBand4; + TQRLabel *QRLabel2; + TQRLabel *QRLabel3; + TQRLabel *QRLabel4; + TQRLabel *QRLabel5; + TQRLabel *QRLabel6; + TQRLabel *QRLabel7; + TQRLabel *QRLabel8; + TQRExpr *QRExpr5; + TQRExpr *QRExpr6; + TQRExpr *QRExpr7; + TQRExpr *QRExpr8; + TQRLabel *qrlbFecha; + TQRLabel *qrlbAgente; + TQRLabel *QRLabel9; + TQRExpr *QRExpr9; + TQRExpr *QRExpr10; +private: // User declarations +public: // User declarations + __fastcall TimprCuentaPolizas(TComponent* Owner); +}; +//--------------------------------------------------------------------------- +extern PACKAGE TimprCuentaPolizas *imprCuentaPolizas; +//--------------------------------------------------------------------------- +#endif diff --git a/src/imprimirCuentaPolizas.~cpp b/src/imprimirCuentaPolizas.~cpp new file mode 100644 index 0000000..9515229 --- /dev/null +++ b/src/imprimirCuentaPolizas.~cpp @@ -0,0 +1,17 @@ +//--------------------------------------------------------------------------- + +#include +#pragma hdrstop + +#include "imprimirCuentaPolizas.h" +//--------------------------------------------------------------------------- +#pragma package(smart_init) +#pragma link "qrpctrls" +#pragma resource "*.dfm" +TimprCuentaPolizas *imprCuentaPolizas; +//--------------------------------------------------------------------------- +__fastcall TimprCuentaPolizas::TimprCuentaPolizas(TComponent* Owner) + : TForm(Owner) +{ +} +//--------------------------------------------------------------------------- diff --git a/src/imprimirCuentaPolizas.~dfm b/src/imprimirCuentaPolizas.~dfm new file mode 100644 index 0000000..1c6b09b --- /dev/null +++ b/src/imprimirCuentaPolizas.~dfm @@ -0,0 +1,700 @@ +object imprCuentaPolizas: TimprCuentaPolizas + Left = 2 + Top = 110 + Width = 947 + Height = 567 + Caption = 'Imprimir :: Cuenta Polizas' + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + OldCreateOrder = False + Scaled = False + PixelsPerInch = 96 + TextHeight = 13 + object QuickRep1: TQuickRep + Left = 32 + Top = 23 + Width = 794 + Height = 1123 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [] + Functions.Strings = ( + 'PAGENUMBER' + 'COLUMNNUMBER' + 'REPORTTITLE') + Functions.DATA = ( + '0' + '0' + #39#39) + Options = [FirstPageHeader, LastPageFooter] + Page.Columns = 1 + Page.Orientation = poPortrait + Page.PaperSize = Default + Page.Values = ( + 100 + 2970 + 100 + 2100 + 100 + 100 + 0) + PrinterSettings.Copies = 1 + PrinterSettings.OutputBin = Auto + PrinterSettings.Duplex = False + PrinterSettings.FirstPage = 0 + PrinterSettings.LastPage = 0 + PrinterSettings.UseStandardprinter = False + PrinterSettings.UseCustomBinCode = False + PrinterSettings.CustomBinCode = 0 + PrinterSettings.ExtendedDuplex = 0 + PrinterSettings.UseCustomPaperCode = False + PrinterSettings.CustomPaperCode = 0 + PrinterSettings.PrintMetaFile = False + PrinterSettings.PrintQuality = 0 + PrinterSettings.Collate = 0 + PrinterSettings.ColorOption = 0 + PrintIfEmpty = True + SnapToGrid = True + Units = MM + Zoom = 100 + PrevFormStyle = fsNormal + PreviewInitialState = wsNormal + PrevInitialZoom = qrZoomToFit + PreviewDefaultSaveType = stQRP + object QRPBand1: TQRPBand + Left = 38 + Top = 38 + Width = 718 + Height = 123 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + AlignToBottom = False + Color = clWhite + TransparentBand = False + ForceNewColumn = False + ForceNewPage = False + Size.Values = ( + 325.4375 + 1899.70833333333) + PreCaluculateBandHeight = False + KeepOnOnePage = False + BandType = rbTitle + AlwaysUseSpace = False + NotOnFirstPage = False + NotOnLastPage = False + object QRLabel1: TQRLabel + Left = 304 + Top = 8 + Width = 139 + Height = 23 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 60.8541666666667 + 804.333333333333 + 21.1666666666667 + 367.770833333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Cuenta Polizas' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 14 + end + object QRLabel6: TQRLabel + Left = 16 + Top = 48 + Width = 44 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 127 + 116.416666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Fecha:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel7: TQRLabel + Left = 16 + Top = 80 + Width = 50 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 211.666666666667 + 132.291666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Agente:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object qrlbFecha: TQRLabel + Left = 80 + Top = 48 + Width = 58 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 211.666666666667 + 127 + 153.458333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'qrlbFecha' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object qrlbAgente: TQRLabel + Left = 80 + Top = 80 + Width = 58 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 211.666666666667 + 211.666666666667 + 153.458333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'qrlbFecha' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + end + object QRPBand2: TQRPBand + Left = 38 + Top = 201 + Width = 718 + Height = 24 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + AlignToBottom = False + Color = clWhite + TransparentBand = False + ForceNewColumn = False + ForceNewPage = False + Size.Values = ( + 63.5 + 1899.70833333333) + PreCaluculateBandHeight = False + KeepOnOnePage = False + BandType = rbDetail + AlwaysUseSpace = False + NotOnFirstPage = False + NotOnLastPage = False + object QRExpr1: TQRExpr + Left = 22 + Top = 0 + Width = 32 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 58.2083333333333 + 0 + 84.6666666666667) + Alignment = taRightJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'fecha' + ExportAs = exptText + FontSize = 10 + end + object QRExpr2: TQRExpr + Left = 64 + Top = 0 + Width = 44 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 169.333333333333 + 0 + 116.416666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'nombre' + ExportAs = exptText + FontSize = 10 + end + object QRExpr3: TQRExpr + Left = 672 + Top = 0 + Width = 40 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1778 + 0 + 105.833333333333) + Alignment = taRightJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'puntos' + ExportAs = exptText + FontSize = 10 + end + object QRExpr4: TQRExpr + Left = 592 + Top = 0 + Width = 53 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1566.33333333333 + 0 + 140.229166666667) + Alignment = taRightJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'comision' + ExportAs = exptText + FontSize = 10 + end + object QRExpr5: TQRExpr + Left = 416 + Top = 0 + Width = 62 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1100.66666666667 + 0 + 164.041666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'numPoliza' + ExportAs = exptText + FontSize = 10 + end + end + object QRPBand3: TQRPBand + Left = 38 + Top = 225 + Width = 718 + Height = 40 + Frame.Color = clBlack + Frame.DrawTop = True + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + AlignToBottom = False + Color = clWhite + TransparentBand = False + ForceNewColumn = False + ForceNewPage = False + Size.Values = ( + 105.833333333333 + 1899.70833333333) + PreCaluculateBandHeight = False + KeepOnOnePage = False + BandType = rbPageFooter + AlwaysUseSpace = False + NotOnFirstPage = False + NotOnLastPage = False + object QRExpr6: TQRExpr + Left = 634 + Top = 8 + Width = 77 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1677.45833333333 + 21.1666666666667 + 203.729166666667) + Alignment = taRightJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'SUM(puntos)' + ExportAs = exptText + FontSize = 10 + end + object QRExpr7: TQRExpr + Left = 554 + Top = 8 + Width = 90 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1465.79166666667 + 21.1666666666667 + 238.125) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'SUM(comision)' + ExportAs = exptText + FontSize = 10 + end + object QRExpr8: TQRExpr + Left = 416 + Top = 8 + Width = 45 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1100.66666666667 + 21.1666666666667 + 119.0625) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'COUNT' + ExportAs = exptText + FontSize = 10 + end + end + object QRPBand4: TQRPBand + Left = 38 + Top = 161 + Width = 718 + Height = 40 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = True + Frame.DrawLeft = False + Frame.DrawRight = False + AlignToBottom = False + Color = clWhite + TransparentBand = False + ForceNewColumn = False + ForceNewPage = False + Size.Values = ( + 105.833333333333 + 1899.70833333333) + PreCaluculateBandHeight = False + KeepOnOnePage = False + BandType = rbColumnHeader + AlwaysUseSpace = False + NotOnFirstPage = False + NotOnLastPage = False + object QRLabel2: TQRLabel + Left = 16 + Top = 16 + Width = 40 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 42.3333333333333 + 105.833333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Fecha' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel3: TQRLabel + Left = 64 + Top = 16 + Width = 124 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 169.333333333333 + 42.3333333333333 + 328.083333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Nombre del Cliente' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel4: TQRLabel + Left = 656 + Top = 16 + Width = 44 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1735.66666666667 + 42.3333333333333 + 116.416666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Puntos' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel5: TQRLabel + Left = 576 + Top = 16 + Width = 60 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1524 + 42.3333333333333 + 158.75) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Comisi'#243'n' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel8: TQRLabel + Left = 416 + Top = 16 + Width = 78 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1100.66666666667 + 42.3333333333333 + 206.375) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'N'#250'm. Poliza' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + end + end +end diff --git a/src/imprimirCuentaPolizas.~h b/src/imprimirCuentaPolizas.~h new file mode 100644 index 0000000..ac9da0c --- /dev/null +++ b/src/imprimirCuentaPolizas.~h @@ -0,0 +1,48 @@ +//--------------------------------------------------------------------------- + +#ifndef imprimirCuentaPolizasH +#define imprimirCuentaPolizasH +//--------------------------------------------------------------------------- +#include +#include +#include +#include +#include "qrpctrls.hpp" +#include +#include +#include +//--------------------------------------------------------------------------- +class TimprCuentaPolizas : public TForm +{ +__published: // IDE-managed Components + TQuickRep *QuickRep1; + TQRPBand *QRPBand1; + TQRLabel *QRLabel1; + TQRPBand *QRPBand2; + TQRExpr *QRExpr1; + TQRExpr *QRExpr2; + TQRExpr *QRExpr3; + TQRExpr *QRExpr4; + TQRPBand *QRPBand3; + TQRPBand *QRPBand4; + TQRLabel *QRLabel2; + TQRLabel *QRLabel3; + TQRLabel *QRLabel4; + TQRLabel *QRLabel5; + TQRLabel *QRLabel6; + TQRLabel *QRLabel7; + TQRLabel *QRLabel8; + TQRExpr *QRExpr5; + TQRExpr *QRExpr6; + TQRExpr *QRExpr7; + TQRExpr *QRExpr8; + TQRLabel *qrlbFecha; + TQRLabel *qrlbAgente; +private: // User declarations +public: // User declarations + __fastcall TimprCuentaPolizas(TComponent* Owner); +}; +//--------------------------------------------------------------------------- +extern PACKAGE TimprCuentaPolizas *imprCuentaPolizas; +//--------------------------------------------------------------------------- +#endif diff --git a/src/imprimirFichaCliente.cpp b/src/imprimirFichaCliente.cpp new file mode 100644 index 0000000..c53c3e2 --- /dev/null +++ b/src/imprimirFichaCliente.cpp @@ -0,0 +1,43 @@ +//--------------------------------------------------------------------------- + +#include +#pragma hdrstop + +#include "imprimirFichaCliente.h" +//--------------------------------------------------------------------------- +#pragma package(smart_init) +#pragma link "qrpctrls" +#pragma resource "*.dfm" +TimprFichaCliente *imprFichaCliente; +//--------------------------------------------------------------------------- +__fastcall TimprFichaCliente::TimprFichaCliente(TComponent* Owner) + : TForm(Owner) +{ +} +//--------------------------------------------------------------------------- +void __fastcall TimprFichaCliente::QRExpr6Print(TObject *sender, + AnsiString &Value) +{ + if ( Value == "P" ) Value = "Padre/Madre"; else + if ( Value == "C" ) Value = "Marido/Mujer"; else + if ( Value == "H" ) Value = "Hermano/a"; else + if ( Value == "N" ) Value = "Hijo/a"; else + if ( Value == "o" ) Value = "otros"; +} +//--------------------------------------------------------------------------- +void __fastcall TimprFichaCliente::QRExpr5Print(TObject *sender, + AnsiString &Value) +{ + if ( Value == "S" ) Value = "Soltero"; else + if ( Value == "C" ) Value = "Casado"; else + if ( Value == "D" ) Value = "Divorciado"; else + if ( Value == "V" ) Value = "Viudo"; +} +//--------------------------------------------------------------------------- +void __fastcall TimprFichaCliente::QRExpr4Print(TObject *sender, + AnsiString &Value) +{ + if ( Value == "H" ) Value = "Hombre"; else + if ( Value == "M" ) Value = "Mujer"; +} +//--------------------------------------------------------------------------- diff --git a/src/imprimirFichaCliente.ddp b/src/imprimirFichaCliente.ddp new file mode 100644 index 0000000..cdc0ee8 Binary files /dev/null and b/src/imprimirFichaCliente.ddp differ diff --git a/src/imprimirFichaCliente.dfm b/src/imprimirFichaCliente.dfm new file mode 100644 index 0000000..2a220a2 --- /dev/null +++ b/src/imprimirFichaCliente.dfm @@ -0,0 +1,1653 @@ +object imprFichaCliente: TimprFichaCliente + Left = 234 + Top = 0 + Width = 899 + Height = 740 + VertScrollBar.Position = 249 + Caption = 'Imprimir :: Ficha de Cliente' + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + OldCreateOrder = False + Scaled = False + PixelsPerInch = 96 + TextHeight = 13 + object QuickRep1: TQuickRep + Left = 32 + Top = -233 + Width = 794 + Height = 1123 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [] + Functions.Strings = ( + 'PAGENUMBER' + 'COLUMNNUMBER' + 'REPORTTITLE' + 'QRLOOPBAND1' + 'QRSTRINGSBAND1') + Functions.DATA = ( + '0' + '0' + #39#39 + '0' + #39#39) + Options = [FirstPageHeader, LastPageFooter] + Page.Columns = 1 + Page.Orientation = poPortrait + Page.PaperSize = Default + Page.Values = ( + 100 + 2970 + 100 + 2100 + 100 + 100 + 0) + PrinterSettings.Copies = 1 + PrinterSettings.OutputBin = Auto + PrinterSettings.Duplex = False + PrinterSettings.FirstPage = 0 + PrinterSettings.LastPage = 0 + PrinterSettings.UseStandardprinter = False + PrinterSettings.UseCustomBinCode = False + PrinterSettings.CustomBinCode = 0 + PrinterSettings.ExtendedDuplex = 0 + PrinterSettings.UseCustomPaperCode = False + PrinterSettings.CustomPaperCode = 0 + PrinterSettings.PrintMetaFile = False + PrinterSettings.PrintQuality = 0 + PrinterSettings.Collate = 0 + PrinterSettings.ColorOption = 0 + PrintIfEmpty = True + SnapToGrid = True + Units = MM + Zoom = 100 + PrevFormStyle = fsNormal + PreviewInitialState = wsNormal + PrevInitialZoom = qrZoomToFit + PreviewDefaultSaveType = stQRP + object QRPBand1: TQRPBand + Left = 38 + Top = 38 + Width = 718 + Height = 443 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = True + Frame.DrawLeft = False + Frame.DrawRight = False + AlignToBottom = False + Color = clWhite + TransparentBand = False + ForceNewColumn = False + ForceNewPage = False + Size.Values = ( + 1172.10416666667 + 1899.70833333333) + PreCaluculateBandHeight = False + KeepOnOnePage = False + BandType = rbTitle + AlwaysUseSpace = False + NotOnFirstPage = False + NotOnLastPage = False + object QRShape1: TQRShape + Left = 0 + Top = 48 + Width = 718 + Height = 281 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 743.479166666667 + 0 + 127 + 1899.70833333333) + Shape = qrsRoundRect + RoundFactor = 0.0399999991059303 + VertAdjust = 0 + end + object QRLabel1: TQRLabel + Left = 280 + Top = 8 + Width = 149 + Height = 23 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 60.8541666666667 + 740.833333333333 + 21.1666666666667 + 394.229166666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Ficha de Cliente' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 14 + end + object QRLabel2: TQRLabel + Left = 16 + Top = 72 + Width = 55 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 190.5 + 145.520833333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Nombre:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rNombre: TQRLabel + Left = 88 + Top = 72 + Width = 50 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 232.833333333333 + 190.5 + 132.291666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rNombre' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel4: TQRLabel + Left = 624 + Top = 40 + Width = 18 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1651 + 105.833333333333 + 47.625) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'ID:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rID: TQRLabel + Left = 656 + Top = 40 + Width = 17 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1735.66666666667 + 105.833333333333 + 44.9791666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rID' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel6: TQRLabel + Left = 488 + Top = 72 + Width = 27 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1291.16666666667 + 190.5 + 71.4375) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'DNI:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rDNI: TQRLabel + Left = 528 + Top = 72 + Width = 26 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1397 + 190.5 + 68.7916666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rDNI' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel8: TQRLabel + Left = 16 + Top = 104 + Width = 89 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 275.166666666667 + 235.479166666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'F.Nacimiento:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rFechaNacimiento: TQRLabel + Left = 120 + Top = 104 + Width = 106 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 317.5 + 275.166666666667 + 280.458333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rFechaNacimiento' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel10: TQRLabel + Left = 488 + Top = 104 + Width = 79 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1291.16666666667 + 275.166666666667 + 209.020833333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Estado Civil:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rEstadoCivil: TQRLabel + Left = 584 + Top = 104 + Width = 69 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1545.16666666667 + 275.166666666667 + 182.5625) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rEstadoCivil' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel12: TQRLabel + Left = 584 + Top = 136 + Width = 56 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1545.16666666667 + 359.833333333333 + 148.166666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'P/Cargo:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rPCargo: TQRLabel + Left = 648 + Top = 136 + Width = 48 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1714.5 + 359.833333333333 + 127) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rPCargo' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel14: TQRLabel + Left = 16 + Top = 160 + Width = 38 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 423.333333333333 + 100.541666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Calle:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rCalle: TQRLabel + Left = 88 + Top = 160 + Width = 34 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 232.833333333333 + 423.333333333333 + 89.9583333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rCalle' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel16: TQRLabel + Left = 16 + Top = 192 + Width = 69 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 508 + 182.5625) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Poblaci'#243'n:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rPoblacion: TQRLabel + Left = 88 + Top = 192 + Width = 62 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 232.833333333333 + 508 + 164.041666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rPoblacion' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel18: TQRLabel + Left = 304 + Top = 192 + Width = 65 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 804.333333333333 + 508 + 171.979166666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Provincia:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rProvincia: TQRLabel + Left = 376 + Top = 192 + Width = 57 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 994.833333333333 + 508 + 150.8125) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rProvincia' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel20: TQRLabel + Left = 528 + Top = 192 + Width = 23 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1397 + 508 + 60.8541666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'CP:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rCP: TQRLabel + Left = 568 + Top = 192 + Width = 23 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1502.83333333333 + 508 + 60.8541666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rCP' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel22: TQRLabel + Left = 16 + Top = 232 + Width = 125 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 613.833333333333 + 330.729166666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Direcci'#243'n de cobro:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rDirCobro: TQRLabel + Left = 152 + Top = 232 + Width = 55 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 402.166666666667 + 613.833333333333 + 145.520833333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rDirCobro' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel24: TQRLabel + Left = 16 + Top = 264 + Width = 61 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 698.5 + 161.395833333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Tel'#233'fono:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rTelefono: TQRLabel + Left = 88 + Top = 264 + Width = 53 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 232.833333333333 + 698.5 + 140.229166666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rTelefono' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel26: TQRLabel + Left = 224 + Top = 264 + Width = 39 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 592.666666666667 + 698.5 + 103.1875) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Movil:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rMovil: TQRLabel + Left = 272 + Top = 264 + Width = 34 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 719.666666666667 + 698.5 + 89.9583333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rMovil' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel28: TQRLabel + Left = 416 + Top = 264 + Width = 29 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1100.66666666667 + 698.5 + 76.7291666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Fax:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rFax: TQRLabel + Left = 464 + Top = 264 + Width = 27 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1227.66666666667 + 698.5 + 71.4375) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rFax' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel30: TQRLabel + Left = 16 + Top = 296 + Width = 40 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 783.166666666667 + 105.833333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'eMail:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rEMail: TQRLabel + Left = 88 + Top = 296 + Width = 38 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 232.833333333333 + 783.166666666667 + 100.541666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rEMail' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRShape2: TQRShape + Left = 0 + Top = 337 + Width = 718 + Height = 47 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 124.354166666667 + 0 + 891.645833333333 + 1899.70833333333) + Shape = qrsRoundRect + RoundFactor = 0.0399999991059303 + VertAdjust = 0 + end + object rAgente: TQRLabel + Left = 136 + Top = 352 + Width = 46 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 359.833333333333 + 931.333333333333 + 121.708333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rAgente' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel33: TQRLabel + Left = 16 + Top = 352 + Width = 113 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 931.333333333333 + 298.979166666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Agente Asignado:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel34: TQRLabel + Left = 536 + Top = 352 + Width = 79 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1418.16666666667 + 931.333333333333 + 209.020833333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'G.Fidelidad:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rGradoFidelidad: TQRLabel + Left = 616 + Top = 352 + Width = 92 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1629.83333333333 + 931.333333333333 + 243.416666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rGradoFidelidad' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel36: TQRLabel + Left = 16 + Top = 392 + Width = 79 + Height = 20 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 52.9166666666667 + 42.3333333333333 + 1037.16666666667 + 209.020833333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Familiares' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 12 + end + object QRLabel37: TQRLabel + Left = 16 + Top = 416 + Width = 85 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 1100.66666666667 + 224.895833333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'F.Nacimiento' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clGray + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel38: TQRLabel + Left = 112 + Top = 416 + Width = 189 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 296.333333333333 + 1100.66666666667 + 500.0625) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Nombre del miembro familiar' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clGray + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel39: TQRLabel + Left = 376 + Top = 416 + Width = 23 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 994.833333333333 + 1100.66666666667 + 60.8541666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'DNI' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clGray + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel40: TQRLabel + Left = 472 + Top = 416 + Width = 34 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1248.83333333333 + 1100.66666666667 + 89.9583333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Sexo' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clGray + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel41: TQRLabel + Left = 528 + Top = 416 + Width = 75 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1397 + 1100.66666666667 + 198.4375) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Estado Civil' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clGray + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel42: TQRLabel + Left = 624 + Top = 416 + Width = 57 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1651 + 1100.66666666667 + 150.8125) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Relaci'#243'n' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clGray + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + end + object QRBand1: TQRBand + Left = 38 + Top = 481 + Width = 718 + Height = 32 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + AlignToBottom = False + Color = clWhite + TransparentBand = False + ForceNewColumn = False + ForceNewPage = False + Size.Values = ( + 84.6666666666667 + 1899.70833333333) + PreCaluculateBandHeight = False + KeepOnOnePage = False + BandType = rbDetail + object QRExpr1: TQRExpr + Left = 16 + Top = 8 + Width = 97 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 21.1666666666667 + 256.645833333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'fechaNacimiento' + ExportAs = exptText + FontSize = 10 + end + object QRExpr2: TQRExpr + Left = 112 + Top = 8 + Width = 44 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 296.333333333333 + 21.1666666666667 + 116.416666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'nombre' + ExportAs = exptText + FontSize = 10 + end + object QRExpr3: TQRExpr + Left = 376 + Top = 8 + Width = 18 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 994.833333333333 + 21.1666666666667 + 47.625) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'dni' + ExportAs = exptText + FontSize = 10 + end + object QRExpr4: TQRExpr + Left = 472 + Top = 8 + Width = 29 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1248.83333333333 + 21.1666666666667 + 76.7291666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + OnPrint = QRExpr4Print + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'sexo' + ExportAs = exptText + FontSize = 10 + end + object QRExpr5: TQRExpr + Left = 528 + Top = 8 + Width = 40 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1397 + 21.1666666666667 + 105.833333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + OnPrint = QRExpr5Print + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'estado' + ExportAs = exptText + FontSize = 10 + end + object QRExpr6: TQRExpr + Left = 624 + Top = 8 + Width = 46 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1651 + 21.1666666666667 + 121.708333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + OnPrint = QRExpr6Print + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'relacion' + ExportAs = exptText + FontSize = 10 + end + end + object QRBand2: TQRBand + Left = 38 + Top = 513 + Width = 718 + Height = 368 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + AlignToBottom = True + Color = clWhite + TransparentBand = False + ForceNewColumn = False + ForceNewPage = False + Size.Values = ( + 973.666666666667 + 1899.70833333333) + PreCaluculateBandHeight = False + KeepOnOnePage = False + BandType = rbSummary + object QRLabel3: TQRLabel + Left = 16 + Top = 8 + Width = 40 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 21.1666666666667 + 105.833333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Notas:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rNotas: TQRPMemo + Left = 16 + Top = 32 + Width = 689 + Height = 329 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 870.479166666667 + 42.3333333333333 + 84.6666666666667 + 1822.97916666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = False + AutoStretch = False + Color = clWhite + Transparent = False + WordWrap = True + FixBottomPosition = False + StretchHeightWithBand = False + FontSize = 10 + end + end + end +end diff --git a/src/imprimirFichaCliente.h b/src/imprimirFichaCliente.h new file mode 100644 index 0000000..6383e2f --- /dev/null +++ b/src/imprimirFichaCliente.h @@ -0,0 +1,84 @@ +//--------------------------------------------------------------------------- + +#ifndef imprimirFichaClienteH +#define imprimirFichaClienteH +//--------------------------------------------------------------------------- +#include +#include +#include +#include +#include +#include +#include "qrpctrls.hpp" +#include +//--------------------------------------------------------------------------- +class TimprFichaCliente : public TForm +{ +__published: // IDE-managed Components + TQuickRep *QuickRep1; + TQRPBand *QRPBand1; + TQRLabel *QRLabel1; + TQRLabel *QRLabel2; + TQRLabel *rNombre; + TQRLabel *QRLabel4; + TQRLabel *rID; + TQRLabel *QRLabel6; + TQRLabel *rDNI; + TQRLabel *QRLabel8; + TQRLabel *rFechaNacimiento; + TQRLabel *QRLabel10; + TQRLabel *rEstadoCivil; + TQRLabel *QRLabel12; + TQRLabel *rPCargo; + TQRLabel *QRLabel14; + TQRLabel *rCalle; + TQRLabel *QRLabel16; + TQRLabel *rPoblacion; + TQRLabel *QRLabel18; + TQRLabel *rProvincia; + TQRLabel *QRLabel20; + TQRLabel *rCP; + TQRLabel *QRLabel22; + TQRLabel *rDirCobro; + TQRLabel *QRLabel24; + TQRLabel *rTelefono; + TQRLabel *QRLabel26; + TQRLabel *rMovil; + TQRLabel *QRLabel28; + TQRLabel *rFax; + TQRLabel *QRLabel30; + TQRLabel *rEMail; + TQRShape *QRShape1; + TQRShape *QRShape2; + TQRLabel *rAgente; + TQRLabel *QRLabel33; + TQRLabel *QRLabel34; + TQRLabel *rGradoFidelidad; + TQRLabel *QRLabel36; + TQRBand *QRBand1; + TQRLabel *QRLabel37; + TQRLabel *QRLabel38; + TQRLabel *QRLabel39; + TQRLabel *QRLabel40; + TQRLabel *QRLabel41; + TQRLabel *QRLabel42; + TQRExpr *QRExpr1; + TQRExpr *QRExpr2; + TQRExpr *QRExpr3; + TQRExpr *QRExpr4; + TQRExpr *QRExpr5; + TQRExpr *QRExpr6; + TQRBand *QRBand2; + TQRLabel *QRLabel3; + TQRPMemo *rNotas; + void __fastcall QRExpr6Print(TObject *sender, AnsiString &Value); + void __fastcall QRExpr5Print(TObject *sender, AnsiString &Value); + void __fastcall QRExpr4Print(TObject *sender, AnsiString &Value); +private: // User declarations +public: // User declarations + __fastcall TimprFichaCliente(TComponent* Owner); +}; +//--------------------------------------------------------------------------- +extern PACKAGE TimprFichaCliente *imprFichaCliente; +//--------------------------------------------------------------------------- +#endif diff --git a/src/imprimirFichaCliente.~cpp b/src/imprimirFichaCliente.~cpp new file mode 100644 index 0000000..c53c3e2 --- /dev/null +++ b/src/imprimirFichaCliente.~cpp @@ -0,0 +1,43 @@ +//--------------------------------------------------------------------------- + +#include +#pragma hdrstop + +#include "imprimirFichaCliente.h" +//--------------------------------------------------------------------------- +#pragma package(smart_init) +#pragma link "qrpctrls" +#pragma resource "*.dfm" +TimprFichaCliente *imprFichaCliente; +//--------------------------------------------------------------------------- +__fastcall TimprFichaCliente::TimprFichaCliente(TComponent* Owner) + : TForm(Owner) +{ +} +//--------------------------------------------------------------------------- +void __fastcall TimprFichaCliente::QRExpr6Print(TObject *sender, + AnsiString &Value) +{ + if ( Value == "P" ) Value = "Padre/Madre"; else + if ( Value == "C" ) Value = "Marido/Mujer"; else + if ( Value == "H" ) Value = "Hermano/a"; else + if ( Value == "N" ) Value = "Hijo/a"; else + if ( Value == "o" ) Value = "otros"; +} +//--------------------------------------------------------------------------- +void __fastcall TimprFichaCliente::QRExpr5Print(TObject *sender, + AnsiString &Value) +{ + if ( Value == "S" ) Value = "Soltero"; else + if ( Value == "C" ) Value = "Casado"; else + if ( Value == "D" ) Value = "Divorciado"; else + if ( Value == "V" ) Value = "Viudo"; +} +//--------------------------------------------------------------------------- +void __fastcall TimprFichaCliente::QRExpr4Print(TObject *sender, + AnsiString &Value) +{ + if ( Value == "H" ) Value = "Hombre"; else + if ( Value == "M" ) Value = "Mujer"; +} +//--------------------------------------------------------------------------- diff --git a/src/imprimirFichaCliente.~ddp b/src/imprimirFichaCliente.~ddp new file mode 100644 index 0000000..cdc0ee8 Binary files /dev/null and b/src/imprimirFichaCliente.~ddp differ diff --git a/src/imprimirFichaCliente.~dfm b/src/imprimirFichaCliente.~dfm new file mode 100644 index 0000000..d9240ac --- /dev/null +++ b/src/imprimirFichaCliente.~dfm @@ -0,0 +1,1653 @@ +object imprFichaCliente: TimprFichaCliente + Left = 240 + Top = 109 + Width = 899 + Height = 912 + VertScrollBar.Position = 249 + Caption = 'Imprimir :: Ficha de Cliente' + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + OldCreateOrder = False + Scaled = False + PixelsPerInch = 96 + TextHeight = 13 + object QuickRep1: TQuickRep + Left = 32 + Top = -233 + Width = 794 + Height = 1123 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [] + Functions.Strings = ( + 'PAGENUMBER' + 'COLUMNNUMBER' + 'REPORTTITLE' + 'QRLOOPBAND1' + 'QRSTRINGSBAND1') + Functions.DATA = ( + '0' + '0' + #39#39 + '0' + #39#39) + Options = [FirstPageHeader, LastPageFooter] + Page.Columns = 1 + Page.Orientation = poPortrait + Page.PaperSize = Default + Page.Values = ( + 100 + 2970 + 100 + 2100 + 100 + 100 + 0) + PrinterSettings.Copies = 1 + PrinterSettings.OutputBin = Auto + PrinterSettings.Duplex = False + PrinterSettings.FirstPage = 0 + PrinterSettings.LastPage = 0 + PrinterSettings.UseStandardprinter = False + PrinterSettings.UseCustomBinCode = False + PrinterSettings.CustomBinCode = 0 + PrinterSettings.ExtendedDuplex = 0 + PrinterSettings.UseCustomPaperCode = False + PrinterSettings.CustomPaperCode = 0 + PrinterSettings.PrintMetaFile = False + PrinterSettings.PrintQuality = 0 + PrinterSettings.Collate = 0 + PrinterSettings.ColorOption = 0 + PrintIfEmpty = True + SnapToGrid = True + Units = MM + Zoom = 100 + PrevFormStyle = fsNormal + PreviewInitialState = wsNormal + PrevInitialZoom = qrZoomToFit + PreviewDefaultSaveType = stQRP + object QRPBand1: TQRPBand + Left = 38 + Top = 38 + Width = 718 + Height = 443 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = True + Frame.DrawLeft = False + Frame.DrawRight = False + AlignToBottom = False + Color = clWhite + TransparentBand = False + ForceNewColumn = False + ForceNewPage = False + Size.Values = ( + 1172.10416666667 + 1899.70833333333) + PreCaluculateBandHeight = False + KeepOnOnePage = False + BandType = rbTitle + AlwaysUseSpace = False + NotOnFirstPage = False + NotOnLastPage = False + object QRShape1: TQRShape + Left = 0 + Top = 48 + Width = 718 + Height = 281 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 743.479166666667 + 0 + 127 + 1899.70833333333) + Shape = qrsRoundRect + RoundFactor = 0.0399999991059303 + VertAdjust = 0 + end + object QRLabel1: TQRLabel + Left = 280 + Top = 8 + Width = 149 + Height = 23 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 60.8541666666667 + 740.833333333333 + 21.1666666666667 + 394.229166666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Ficha de Cliente' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -19 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 14 + end + object QRLabel2: TQRLabel + Left = 16 + Top = 72 + Width = 55 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 190.5 + 145.520833333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Nombre:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rNombre: TQRLabel + Left = 88 + Top = 72 + Width = 50 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 232.833333333333 + 190.5 + 132.291666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rNombre' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel4: TQRLabel + Left = 624 + Top = 40 + Width = 18 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1651 + 105.833333333333 + 47.625) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'ID:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rID: TQRLabel + Left = 656 + Top = 40 + Width = 17 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1735.66666666667 + 105.833333333333 + 44.9791666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rID' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel6: TQRLabel + Left = 488 + Top = 72 + Width = 27 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1291.16666666667 + 190.5 + 71.4375) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'DNI:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rDNI: TQRLabel + Left = 528 + Top = 72 + Width = 26 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1397 + 190.5 + 68.7916666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rDNI' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel8: TQRLabel + Left = 16 + Top = 104 + Width = 89 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 275.166666666667 + 235.479166666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'F.Nacimiento:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rFechaNacimiento: TQRLabel + Left = 120 + Top = 104 + Width = 106 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 317.5 + 275.166666666667 + 280.458333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rFechaNacimiento' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel10: TQRLabel + Left = 488 + Top = 104 + Width = 79 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1291.16666666667 + 275.166666666667 + 209.020833333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Estado Civil:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rEstadoCivil: TQRLabel + Left = 584 + Top = 104 + Width = 69 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1545.16666666667 + 275.166666666667 + 182.5625) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rEstadoCivil' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel12: TQRLabel + Left = 584 + Top = 136 + Width = 56 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1545.16666666667 + 359.833333333333 + 148.166666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'P/Cargo:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rPCargo: TQRLabel + Left = 648 + Top = 136 + Width = 48 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1714.5 + 359.833333333333 + 127) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rPCargo' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel14: TQRLabel + Left = 16 + Top = 160 + Width = 38 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 423.333333333333 + 100.541666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Calle:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rCalle: TQRLabel + Left = 88 + Top = 160 + Width = 34 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 232.833333333333 + 423.333333333333 + 89.9583333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rCalle' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel16: TQRLabel + Left = 16 + Top = 192 + Width = 69 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 508 + 182.5625) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Poblaci'#243'n:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rPoblacion: TQRLabel + Left = 88 + Top = 192 + Width = 62 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 232.833333333333 + 508 + 164.041666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rPoblacion' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel18: TQRLabel + Left = 304 + Top = 192 + Width = 65 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 804.333333333333 + 508 + 171.979166666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Provincia:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rProvincia: TQRLabel + Left = 376 + Top = 192 + Width = 57 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 994.833333333333 + 508 + 150.8125) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rProvincia' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel20: TQRLabel + Left = 528 + Top = 192 + Width = 23 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1397 + 508 + 60.8541666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'CP:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rCP: TQRLabel + Left = 568 + Top = 192 + Width = 23 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1502.83333333333 + 508 + 60.8541666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rCP' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel22: TQRLabel + Left = 16 + Top = 232 + Width = 125 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 613.833333333333 + 330.729166666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Direcci'#243'n de cobro:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rDirCobro: TQRLabel + Left = 152 + Top = 232 + Width = 55 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 402.166666666667 + 613.833333333333 + 145.520833333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rDirCobro' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel24: TQRLabel + Left = 16 + Top = 264 + Width = 61 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 698.5 + 161.395833333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Tel'#233'fono:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rTelefono: TQRLabel + Left = 88 + Top = 264 + Width = 53 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 232.833333333333 + 698.5 + 140.229166666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rTelefono' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel26: TQRLabel + Left = 224 + Top = 264 + Width = 39 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 592.666666666667 + 698.5 + 103.1875) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Movil:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rMovil: TQRLabel + Left = 272 + Top = 264 + Width = 34 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 719.666666666667 + 698.5 + 89.9583333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rMovil' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel28: TQRLabel + Left = 416 + Top = 264 + Width = 29 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1100.66666666667 + 698.5 + 76.7291666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Fax:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rFax: TQRLabel + Left = 464 + Top = 264 + Width = 27 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1227.66666666667 + 698.5 + 71.4375) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rFax' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel30: TQRLabel + Left = 16 + Top = 296 + Width = 40 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 783.166666666667 + 105.833333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'eMail:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rEMail: TQRLabel + Left = 88 + Top = 296 + Width = 38 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 232.833333333333 + 783.166666666667 + 100.541666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rEMail' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRShape2: TQRShape + Left = 0 + Top = 337 + Width = 718 + Height = 47 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 124.354166666667 + 0 + 891.645833333333 + 1899.70833333333) + Shape = qrsRoundRect + RoundFactor = 0.0399999991059303 + VertAdjust = 0 + end + object rAgente: TQRLabel + Left = 136 + Top = 352 + Width = 46 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 359.833333333333 + 931.333333333333 + 121.708333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rAgente' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel33: TQRLabel + Left = 16 + Top = 352 + Width = 113 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 931.333333333333 + 298.979166666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Agente Asignado:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel34: TQRLabel + Left = 536 + Top = 352 + Width = 79 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1418.16666666667 + 931.333333333333 + 209.020833333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'G.Fidelidad:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rGradoFidelidad: TQRLabel + Left = 616 + Top = 352 + Width = 92 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1629.83333333333 + 931.333333333333 + 243.416666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'rGradoFidelidad' + Color = clWhite + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel36: TQRLabel + Left = 16 + Top = 392 + Width = 79 + Height = 20 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 52.9166666666667 + 42.3333333333333 + 1037.16666666667 + 209.020833333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Familiares' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -16 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 12 + end + object QRLabel37: TQRLabel + Left = 16 + Top = 416 + Width = 85 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 1100.66666666667 + 224.895833333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'F.Nacimiento' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clGray + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel38: TQRLabel + Left = 112 + Top = 416 + Width = 189 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 296.333333333333 + 1100.66666666667 + 500.0625) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Nombre del miembro familiar' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clGray + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel39: TQRLabel + Left = 376 + Top = 416 + Width = 23 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 994.833333333333 + 1100.66666666667 + 60.8541666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'DNI' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clGray + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel40: TQRLabel + Left = 472 + Top = 416 + Width = 34 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1248.83333333333 + 1100.66666666667 + 89.9583333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Sexo' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clGray + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel41: TQRLabel + Left = 528 + Top = 416 + Width = 75 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1397 + 1100.66666666667 + 198.4375) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Estado Civil' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clGray + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object QRLabel42: TQRLabel + Left = 624 + Top = 416 + Width = 57 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1651 + 1100.66666666667 + 150.8125) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Relaci'#243'n' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clGray + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + end + object QRBand1: TQRBand + Left = 38 + Top = 481 + Width = 718 + Height = 32 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + AlignToBottom = False + Color = clWhite + TransparentBand = False + ForceNewColumn = False + ForceNewPage = False + Size.Values = ( + 84.6666666666667 + 1899.70833333333) + PreCaluculateBandHeight = False + KeepOnOnePage = False + BandType = rbDetail + object QRExpr1: TQRExpr + Left = 16 + Top = 8 + Width = 97 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 21.1666666666667 + 256.645833333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'fechaNacimiento' + ExportAs = exptText + FontSize = 10 + end + object QRExpr2: TQRExpr + Left = 112 + Top = 8 + Width = 44 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 296.333333333333 + 21.1666666666667 + 116.416666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'nombre' + ExportAs = exptText + FontSize = 10 + end + object QRExpr3: TQRExpr + Left = 376 + Top = 8 + Width = 18 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 994.833333333333 + 21.1666666666667 + 47.625) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'dni' + ExportAs = exptText + FontSize = 10 + end + object QRExpr4: TQRExpr + Left = 472 + Top = 8 + Width = 29 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1248.83333333333 + 21.1666666666667 + 76.7291666666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + OnPrint = QRExpr4Print + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'sexo' + ExportAs = exptText + FontSize = 10 + end + object QRExpr5: TQRExpr + Left = 528 + Top = 8 + Width = 40 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1397 + 21.1666666666667 + 105.833333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + OnPrint = QRExpr5Print + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'estado' + ExportAs = exptText + FontSize = 10 + end + object QRExpr6: TQRExpr + Left = 624 + Top = 8 + Width = 46 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 1651 + 21.1666666666667 + 121.708333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Color = clWhite + OnPrint = QRExpr6Print + ResetAfterPrint = False + Transparent = False + WordWrap = True + Expression = 'relacion' + ExportAs = exptText + FontSize = 10 + end + end + object QRBand2: TQRBand + Left = 38 + Top = 513 + Width = 718 + Height = 368 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + AlignToBottom = True + Color = clWhite + TransparentBand = False + ForceNewColumn = False + ForceNewPage = False + Size.Values = ( + 973.666666666667 + 1899.70833333333) + PreCaluculateBandHeight = False + KeepOnOnePage = False + BandType = rbSummary + object QRLabel3: TQRLabel + Left = 16 + Top = 8 + Width = 40 + Height = 17 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 44.9791666666667 + 42.3333333333333 + 21.1666666666667 + 105.833333333333) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = True + AutoStretch = False + Caption = 'Notas:' + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Arial' + Font.Style = [fsBold] + ParentFont = False + Transparent = False + WordWrap = True + ExportAs = exptText + FontSize = 10 + end + object rNotas: TQRPMemo + Left = 16 + Top = 32 + Width = 689 + Height = 329 + Frame.Color = clBlack + Frame.DrawTop = False + Frame.DrawBottom = False + Frame.DrawLeft = False + Frame.DrawRight = False + Size.Values = ( + 870.479166666667 + 42.3333333333333 + 84.6666666666667 + 1822.97916666667) + Alignment = taLeftJustify + AlignToBand = False + AutoSize = False + AutoStretch = False + Color = clWhite + Transparent = False + WordWrap = True + FixBottomPosition = False + StretchHeightWithBand = False + FontSize = 10 + end + end + end +end diff --git a/src/imprimirFichaCliente.~h b/src/imprimirFichaCliente.~h new file mode 100644 index 0000000..6383e2f --- /dev/null +++ b/src/imprimirFichaCliente.~h @@ -0,0 +1,84 @@ +//--------------------------------------------------------------------------- + +#ifndef imprimirFichaClienteH +#define imprimirFichaClienteH +//--------------------------------------------------------------------------- +#include +#include +#include +#include +#include +#include +#include "qrpctrls.hpp" +#include +//--------------------------------------------------------------------------- +class TimprFichaCliente : public TForm +{ +__published: // IDE-managed Components + TQuickRep *QuickRep1; + TQRPBand *QRPBand1; + TQRLabel *QRLabel1; + TQRLabel *QRLabel2; + TQRLabel *rNombre; + TQRLabel *QRLabel4; + TQRLabel *rID; + TQRLabel *QRLabel6; + TQRLabel *rDNI; + TQRLabel *QRLabel8; + TQRLabel *rFechaNacimiento; + TQRLabel *QRLabel10; + TQRLabel *rEstadoCivil; + TQRLabel *QRLabel12; + TQRLabel *rPCargo; + TQRLabel *QRLabel14; + TQRLabel *rCalle; + TQRLabel *QRLabel16; + TQRLabel *rPoblacion; + TQRLabel *QRLabel18; + TQRLabel *rProvincia; + TQRLabel *QRLabel20; + TQRLabel *rCP; + TQRLabel *QRLabel22; + TQRLabel *rDirCobro; + TQRLabel *QRLabel24; + TQRLabel *rTelefono; + TQRLabel *QRLabel26; + TQRLabel *rMovil; + TQRLabel *QRLabel28; + TQRLabel *rFax; + TQRLabel *QRLabel30; + TQRLabel *rEMail; + TQRShape *QRShape1; + TQRShape *QRShape2; + TQRLabel *rAgente; + TQRLabel *QRLabel33; + TQRLabel *QRLabel34; + TQRLabel *rGradoFidelidad; + TQRLabel *QRLabel36; + TQRBand *QRBand1; + TQRLabel *QRLabel37; + TQRLabel *QRLabel38; + TQRLabel *QRLabel39; + TQRLabel *QRLabel40; + TQRLabel *QRLabel41; + TQRLabel *QRLabel42; + TQRExpr *QRExpr1; + TQRExpr *QRExpr2; + TQRExpr *QRExpr3; + TQRExpr *QRExpr4; + TQRExpr *QRExpr5; + TQRExpr *QRExpr6; + TQRBand *QRBand2; + TQRLabel *QRLabel3; + TQRPMemo *rNotas; + void __fastcall QRExpr6Print(TObject *sender, AnsiString &Value); + void __fastcall QRExpr5Print(TObject *sender, AnsiString &Value); + void __fastcall QRExpr4Print(TObject *sender, AnsiString &Value); +private: // User declarations +public: // User declarations + __fastcall TimprFichaCliente(TComponent* Owner); +}; +//--------------------------------------------------------------------------- +extern PACKAGE TimprFichaCliente *imprFichaCliente; +//--------------------------------------------------------------------------- +#endif diff --git a/src/login_dlg.cpp b/src/login_dlg.cpp new file mode 100644 index 0000000..27bf186 --- /dev/null +++ b/src/login_dlg.cpp @@ -0,0 +1,74 @@ +//--------------------------------------------------------------------------- + +#include +#pragma hdrstop + +#include "login_dlg.h" +#include "clientes.h" +#include "tsplash.h" +#include "ZDataset.hpp" +//--------------------------------------------------------------------------- +#pragma package(smart_init) +#pragma resource "*.dfm" +Tlogin *login; +//--------------------------------------------------------------------------- +__fastcall Tlogin::Tlogin(TComponent* Owner) + : TForm(Owner) +{ + auth = false; +} +//--------------------------------------------------------------------------- +void __fastcall Tlogin::BitBtn1Click(TObject *Sender) +{ + Close(); +} +//--------------------------------------------------------------------------- + + +void __fastcall Tlogin::FormShow(TObject *Sender) +{ + if(Splash){ + delete Splash; + Splash = NULL; + } +} +//--------------------------------------------------------------------------- +bool __fastcall Tlogin::validateUserPass(AnsiString user, AnsiString pass) { + bool auth = false; + + if ( !gestionClientes->ZConnection1->Connected ) return false; + + TZQuery *zq; + zq = new TZQuery(this); + zq->Connection = gestionClientes->ZConnection1; + + + zq->SQL->Clear(); + zq->SQL->Add("SELECT id FROM usuarios WHERE usuario='"+user+"' AND password='"+pass+"'"); + zq->Active = true; + if ( zq->RecordCount>0 ) { + auth = true; + } + + if ( auth ) { + // Registrar acceso OK + } else { + // Registrar acceso !OK + } + + return auth; +} +//--------------------------------------------------------------------------- + +void __fastcall Tlogin::BitBtn2Click(TObject *Sender) +{ + TCursor Save_Cursor = Screen->Cursor; + Screen->Cursor = crHourGlass; // Show hourglass cursor + try { + auth = validateUserPass( user->Text, pass->Text ); + } __finally { + Screen->Cursor = Save_Cursor; // always restore the cursor + } +} +//--------------------------------------------------------------------------- + diff --git a/src/login_dlg.ddp b/src/login_dlg.ddp new file mode 100644 index 0000000..cdc0ee8 Binary files /dev/null and b/src/login_dlg.ddp differ diff --git a/src/login_dlg.dfm b/src/login_dlg.dfm new file mode 100644 index 0000000..8a5bfc4 --- /dev/null +++ b/src/login_dlg.dfm @@ -0,0 +1,193 @@ +object login: Tlogin + Left = 346 + Top = 452 + BorderStyle = bsDialog + Caption = 'Login...' + ClientHeight = 188 + ClientWidth = 368 + Color = clBlack + Font.Charset = DEFAULT_CHARSET + Font.Color = clCream + Font.Height = -16 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + OldCreateOrder = False + Position = poScreenCenter + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 20 + object Image1: TImage + Left = 0 + Top = 0 + Width = 140 + Height = 171 + AutoSize = True + Picture.Data = { + 0A544A504547496D616765360B0000FFD8FFE000104A46494600010101006000 + 600000FFDB004300100B0C0E0C0A100E0D0E1211101318281A18161618312325 + 1D283A333D3C3933383740485C4E404457453738506D51575F626768673E4D71 + 797064785C656763FFDB0043011112121815182F1A1A2F634238426363636363 + 6363636363636363636363636363636363636363636363636363636363636363 + 63636363636363636363636363FFC000110800AB008C03012200021101031101 + FFC4001B00010002030101000000000000000000000004050203060107FFC400 + 3810000202010203060306040701000000000102000311042105123113224151 + 6171068191142332B1C1D13342A1F0152452536272E1A2FFC400190101000301 + 010000000000000000000000000102030405FFC4001F11010100020202030100 + 00000000000000000102110321123104415132FFDA000C03010002110311003F + 00F9FC44D9452F7B854192606B8C1F29714E968A46E058DE39E93785ABFDA4C7 + B4ADCA274A0C1F28C1F29D07253FED27D20D74FF00B49F48F386942A8CC70A09 + 32751C1F5570C84C0F59D0697455D54FDA6DA9517C36DCC36A19CEDB2F801276 + 85159C0F548B9001F632BEDA9EA6C3A9067566E5AF1CEC067A64CC751453ADAB + 0D827C1846C727126DBC3350B714084F919B2BE17CCEA86E50E4E3946FBC9101 + 11AC6E55193270E1BCA076D6046233CBE32C74BA3A74E01049DC9761D420EA47 + B9DA6A50755AB24E143B16623A28F1FA091B15BAAD13E9D55FF1237469167577 + D696E86E0D9E66516227FA17A0FE93956186224C1E44440F40C9C0975A7A0514 + 2A8D9DC65BDBCA57F0DA85BAB50DF846E65A35773317C0DCCAE5749918F2E3A1 + 199B16BCF423EB3C146A361D9F5F59B129D42824D2481EB31B57D3D1564EDF9C + 99C2B86BEBB882D5CA7913769A74696A5C0D9537CC4E9B40BFE1BF0EEAF5E7F8 + 966CA4FAED270EE97D28F8BEA56ED59AA9FE0D5DD5F5F332228C2938CE0749A4 + 1DF324D1CA56D66CE2BA99C63CF181F9CD6B2B7EDE7F87EAFB137332A2B6F927 + 73FF00920D01B9D9C12C876383D7D62ED6EAAFAFB27BDD90ED82662A8B532AD4 + E49C6FFB48EC8DF5E2BED3524EC830A0F8B1E9F4EB3CE1F5611EECE1F3D9D5FF + 0062376F90C9FA46B68353F6639B9970187FCBC7F69219151574F9014028CE3E + B637E43E50B691B53605A404C8ED7C3CAB1F87EA72665A3A94540D99FBDC96C7 + 5158EBF53B4D079B5BADC7E00E703C9547EC24E27EEC15CAF698E5F4AC7E11F3 + 3BFCA4A1A175B6D7A8B5AC4C2D87BC08E83C87B0951AED29ADBB44EF56DB8227 + 425681A7B15BCB3BF5CF84F6AD357F61297216E61CC7CC7944A9D391893788E8 + 4E96CCA9E6ADB706429642CF82AFDEBB792CBDE501401BE7ACA4E0A7F8ABE240 + FCC4BE423233E739F9BDB5C3D36D6A4104E3CA6F15E141F01B4D28E07286DB0D + 93372B0EC8F97319CF5A466C9F76B939E624CB1F89CFD9BE1CD1E99760E413F2 + 19FD657B05EEC9DF1B9FF2DA11E1BFE4274707DA9C9F4E44493A5601DD08CF69 + 5B20F7236FEA2470265CB91D48F51E136608EE948A50A3B35AC4961CA4041FA9 + 9BB466B4B56C6500D632A078B787F58C30D8A927CC78CC8291BF43E9E1098DF5 + 23359DA91CEEA46327F139E9FD77F948FABB02524564957FBB427A940773F369 + B2A37330AD18966C853FE924609FA48B70FB5EB0269C1E4DABA81F2FEF788B5A + DDC3F4CD628000E6D43766A73D146EC7F4965AB006A855550D630407957F947F + 28FD64BE11454BDB5E726AA93B3518EAA3259BE783F5947AEE25D8D96335AE4D + ADCEC8A70326109E34D450A6CD5D8A5C77869EBEF163E44F84AFD771335356AB + 80CC72E3F49557F15B9F22BEE0F4904BB33E58E4E64E8B5D25F40BB4D621DD4A + F3ACE6986188F29D4E954B68C313B721FCA7316FF15BDE1099C1DC2EA4A93F88 + 103DE5EABE475C78CE5AA735D8AC3C0CBEED79916E5DD5FAFA1F1133E4C77DAF + 8DD278B4737F7D66F4B8671B63F29522DC7B4D8B6EDD661715FC96A6DEE6E73C + A719F396FF00167DFF0006D06A17700E09F71FF93955BB62B99D15370E23F095 + B4039B34E4301EC7F6335E29ADC572BB73604CC4C44CC4D5993C332990A2D650 + CB53953B0217AC25A803DEC3F27748CFA79493C329A802F5D763EA33855C6140 + F139F39E6A784EA1E945C8018E49073896DA0D3AE92A14D5B9FE666F1FD84CF3 + E492749895AA3D8F05BEE728ACE37E41B2E4AA803E40CE078870FD5576359623 + 10770713B8D7BA5BC21B24F202A5B07C989FDA614DB46B34C2C41CC87BAC8DE1 + 173B8496C2FB7CE48C759BF4749D46A12B1E266DE2B48A75AEAA303326704A79 + 79B5047E1E9EA66CAAE9D174FA4755395446DFE83F4338FB0E6C63EB2EB8C6B8 + D63B0ACF551CC7CE51C8812569358D43004064F1523322C49172852C19AEE5F6 + 6D8CCC57675054FB30946091D0CC858E3A3195F189DAF025B9C853F212C783EB + 5F43AAEFA1ECEC186044E546A2D1D1CCCD35DA84208B0ED1E26DD3EAE814DE42 + 6F5B6EA7D26A91B47C62BBAB156A76F592B349194B908F53893A427F0DD3A387 + B6C50C077541F396B5B2AAF2E30074C74FA4AAE17A9AF9CD06E420EEABEB2CB1 + 8F1236F94E3E6DF976B47A0AAB1E52541F21913D28194E5762082C9EA3CA62C0 + 72631B13D67ADDC000DBCB7992CABBBB6A6A1A6652D5DB9039467C8FE8248D0E + 87EC3A76A5CF7D8E48F2F2935C9C8E61CC48F622189C72160DCBE0FF00BCD72E + 5B94D234E378CE95AEE29841B1336AB269A9D8E2BAFF00FA33A2D669EBB118F6 + 6CAFD76F1F39C5F14BAC6BCD657915760B3A78F299456C44D45CD7DCCEC77266 + B889A208888088880888809E8761FCC6791036D173D772B2939067D134B7769A + 5A6D6C86B101DB7DFA6E27CE2B38B149F39F44D162FD2E9BB307BE800037E9B4 + C39FF94C48E52775DCF9A1DFE919CB750C7A7919E354F5FE35618F113C160200 + 60187AF59C6B3D077F6D883B1F9420E56392727A89E8C153CAD9F47FDE787600 + 312A0FFAB712462848CF87963A4E63E2BD361D751DDEFF0094E9ED7AA9C768E1 + 01E8C7A19C97C4BAF4D45AB554C19136C8F19BF0CBE5B4550C444EB548888088 + 88088880888819D201B541E999F56E014228A026084AF9B3E18F0FA9C9F94F93 + A6EC009F54F85E97D2F0AA5493CD68E63EDE139FE47F0B6337567C55929D0BBB + 28663B2FA4E76B73664BA679464B0DB6965F106AB75AF242A8DFD4C87A4A01A6 + 9A5F67D55A398FFC44E49D45EC6CFB359A74466E960E65CF53395E3BC66DAAC7 + D3E9DF0BE38963F1BF16C6A8D143639072EC7A4E2598BB658E4CEBE1E3D4F2AA + 5BF4DB66AEFB061AC623DE69249EB113A1522220222202222022220222206480 + 971CBD67D47E196B1783D4FA807BA0F2FB784F9E703466E29472A07C38D88C83 + BCFA8EADD69D2851804F80E989CDF22F531FD5F09DED49AD2FA9E20A83725B27 + FBFACA8F8BF881AF50B550E40AC0518973A1608FA9D737441DDF5F01384E2BA8 + 3A8D63B139DE57831DE5BFC4E57A45B2D7B5B99D893EB30889D6CC8888088880 + 8888088880888808899D2336A83E703BDF82349459A2ED0D03B60FB587F2965C + 775180C89FF518FA7EF257074AB4BC26BB2A4ECD790103D48954C3ED9C492B3F + 857BCDE9FD89E7E796F3B97E3693A44E337FD8782D748D99C7337E938463CCC4 + 9F19D17C5BADEDB58C8A7BA0E00F2139C9D7C58F8E319E57748889AAA4444044 + 4404444044440444404BDF8534156BB8905B9199402769453ABF8135089AF6A5 + B01AC1804FBCAE76CC6D899EDD8F13B174DA4AEA5D86327DA5469DFB0D16A358 + E4067CAAFCFF00F26DE3579BF50403B31E51ED2AFE25D50D2E8134CBB1037F73 + 38B0C77646B6E9C8EBEE37EA9DCF9C8F04E4E6277B1222202222022220222202 + 22202222024AE1DAA3A3D65770FE539916207616718D30D5D7A8ED39AB5C1E5F + 1F6941C67899E23AA6B31852738CCAECC4A6384C6EE26DB48889741111011110 + 111103FFD9} + end + object lb_login: TLabel + Left = 144 + Top = 8 + Width = 68 + Height = 20 + Caption = 'Usuario:' + end + object lb_pass: TLabel + Left = 144 + Top = 72 + Width = 99 + Height = 20 + Caption = 'Contrase'#241'a:' + end + object user: TEdit + Left = 144 + Top = 32 + Width = 217 + Height = 28 + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clBlack + Font.Height = -16 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + end + object pass: TEdit + Left = 144 + Top = 104 + Width = 217 + Height = 28 + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clBlack + Font.Height = -16 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + ParentFont = False + PasswordChar = 'o' + TabOrder = 1 + end + object BitBtn1: TBitBtn + Left = 144 + Top = 152 + Width = 105 + Height = 25 + Caption = '&Cancelar' + Font.Charset = DEFAULT_CHARSET + Font.Color = clBlack + Font.Height = -16 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnClick = BitBtn1Click + Kind = bkCancel + end + object BitBtn2: TBitBtn + Left = 256 + Top = 152 + Width = 105 + Height = 25 + Caption = '&Aceptar' + Font.Charset = DEFAULT_CHARSET + Font.Color = clBlack + Font.Height = -16 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + OnClick = BitBtn2Click + Kind = bkOK + end +end diff --git a/src/login_dlg.h b/src/login_dlg.h new file mode 100644 index 0000000..63820f4 --- /dev/null +++ b/src/login_dlg.h @@ -0,0 +1,38 @@ +//--------------------------------------------------------------------------- + +#ifndef login_dlgH +#define login_dlgH +//--------------------------------------------------------------------------- +#include +#include +#include +#include +#include +#include +#include + +//--------------------------------------------------------------------------- +class Tlogin : public TForm +{ +__published: // IDE-managed Components + TImage *Image1; + TLabel *lb_login; + TLabel *lb_pass; + TEdit *user; + TEdit *pass; + TBitBtn *BitBtn1; + TBitBtn *BitBtn2; + void __fastcall BitBtn1Click(TObject *Sender); + void __fastcall FormShow(TObject *Sender); + void __fastcall BitBtn2Click(TObject *Sender); +private: // User declarations + bool __fastcall validateUserPass(AnsiString user, AnsiString pass); +public: // User declarations + __fastcall Tlogin(TComponent* Owner); + bool auth; + +}; +//--------------------------------------------------------------------------- +extern PACKAGE Tlogin *login; +//--------------------------------------------------------------------------- +#endif diff --git a/src/login_dlg.~cpp b/src/login_dlg.~cpp new file mode 100644 index 0000000..e87964a --- /dev/null +++ b/src/login_dlg.~cpp @@ -0,0 +1,62 @@ +//--------------------------------------------------------------------------- + +#include +#pragma hdrstop + +#include "login_dlg.h" +#include "clientes.h" +#include "tsplash.h" +#include "ZDataset.hpp" +//--------------------------------------------------------------------------- +#pragma package(smart_init) +#pragma resource "*.dfm" +Tlogin *login; +//--------------------------------------------------------------------------- +__fastcall Tlogin::Tlogin(TComponent* Owner) + : TForm(Owner) +{ + auth = false; +} +//--------------------------------------------------------------------------- +void __fastcall Tlogin::BitBtn1Click(TObject *Sender) +{ + Close(); +} +//--------------------------------------------------------------------------- + + +void __fastcall Tlogin::FormShow(TObject *Sender) +{ + if(Splash){ + delete Splash; + Splash = NULL; + } +} +//--------------------------------------------------------------------------- +bool __fastcall Tlogin::validateUserPass(AnsiString user, AnsiString pass) { + bool auth = false; + + if ( !gestionClientes->ZConnection1->Connected ) return false; + + TZQuery *zq; + zq = new TZQuery(this); + zq->Connection = gestionClientes->ZConnection1; + + + zq->SQL->Clear(); + zq->SQL->Add("SELECT id FROM usuarios WHERE usuario='"+user+"' AND password='"+pass+"'"); + zq->Active = true; + if ( zq->RecordCount>0 ) { + auth = true; + } + + if ( auth ) { + // Registrar acceso OK + } else { + // Registrar acceso !OK + } + + return auth; +} +//--------------------------------------------------------------------------- + diff --git a/src/login_dlg.~ddp b/src/login_dlg.~ddp new file mode 100644 index 0000000..cdc0ee8 Binary files /dev/null and b/src/login_dlg.~ddp differ diff --git a/src/login_dlg.~dfm b/src/login_dlg.~dfm new file mode 100644 index 0000000..dddc576 --- /dev/null +++ b/src/login_dlg.~dfm @@ -0,0 +1,192 @@ +object login: Tlogin + Left = 346 + Top = 452 + BorderStyle = bsDialog + Caption = 'Login...' + ClientHeight = 188 + ClientWidth = 368 + Color = clBlack + Font.Charset = DEFAULT_CHARSET + Font.Color = clCream + Font.Height = -16 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + OldCreateOrder = False + Position = poScreenCenter + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 20 + object Image1: TImage + Left = 0 + Top = 0 + Width = 140 + Height = 171 + AutoSize = True + Picture.Data = { + 0A544A504547496D616765360B0000FFD8FFE000104A46494600010101006000 + 600000FFDB004300100B0C0E0C0A100E0D0E1211101318281A18161618312325 + 1D283A333D3C3933383740485C4E404457453738506D51575F626768673E4D71 + 797064785C656763FFDB0043011112121815182F1A1A2F634238426363636363 + 6363636363636363636363636363636363636363636363636363636363636363 + 63636363636363636363636363FFC000110800AB008C03012200021101031101 + FFC4001B00010002030101000000000000000000000004050203060107FFC400 + 3810000202010203060306040701000000000102000311042105123113224151 + 6171068191142332B1C1D13342A1F0152452536272E1A2FFC400190101000301 + 010000000000000000000000000102030405FFC4001F11010100020202030100 + 00000000000000000102110321123104415132FFDA000C03010002110311003F + 00F9FC44D9452F7B854192606B8C1F29714E968A46E058DE39E93785ABFDA4C7 + B4ADCA274A0C1F28C1F29D07253FED27D20D74FF00B49F48F386942A8CC70A09 + 32751C1F5570C84C0F59D0697455D54FDA6DA9517C36DCC36A19CEDB2F801276 + 85159C0F548B9001F632BEDA9EA6C3A9067566E5AF1CEC067A64CC751453ADAB + 0D827C1846C727126DBC3350B714084F919B2BE17CCEA86E50E4E3946FBC9101 + 11AC6E55193270E1BCA076D6046233CBE32C74BA3A74E01049DC9761D420EA47 + B9DA6A50755AB24E143B16623A28F1FA091B15BAAD13E9D55FF1237469167577 + D696E86E0D9E66516227FA17A0FE93956186224C1E44440F40C9C0975A7A0514 + 2A8D9DC65BDBCA57F0DA85BAB50DF846E65A35773317C0DCCAE5749918F2E3A1 + 199B16BCF423EB3C146A361D9F5F59B129D42824D2481EB31B57D3D1564EDF9C + 99C2B86BEBB882D5CA7913769A74696A5C0D9537CC4E9B40BFE1BF0EEAF5E7F8 + 966CA4FAED270EE97D28F8BEA56ED59AA9FE0D5DD5F5F332228C2938CE0749A4 + 1DF324D1CA56D66CE2BA99C63CF181F9CD6B2B7EDE7F87EAFB137332A2B6F927 + 73FF00920D01B9D9C12C876383D7D62ED6EAAFAFB27BDD90ED82662A8B532AD4 + E49C6FFB48EC8DF5E2BED3524EC830A0F8B1E9F4EB3CE1F5611EECE1F3D9D5FF + 0062376F90C9FA46B68353F6639B9970187FCBC7F69219151574F9014028CE3E + B637E43E50B691B53605A404C8ED7C3CAB1F87EA72665A3A94540D99FBDC96C7 + 5158EBF53B4D079B5BADC7E00E703C9547EC24E27EEC15CAF698E5F4AC7E11F3 + 3BFCA4A1A175B6D7A8B5AC4C2D87BC08E83C87B0951AED29ADBB44EF56DB8227 + 425681A7B15BCB3BF5CF84F6AD357F61297216E61CC7CC7944A9D391893788E8 + 4E96CCA9E6ADB706429642CF82AFDEBB792CBDE501401BE7ACA4E0A7F8ABE240 + FCC4BE423233E739F9BDB5C3D36D6A4104E3CA6F15E141F01B4D28E07286DB0D + 93372B0EC8F97319CF5A466C9F76B939E624CB1F89CFD9BE1CD1E99760E413F2 + 19FD657B05EEC9DF1B9FF2DA11E1BFE4274707DA9C9F4E44493A5601DD08CF69 + 5B20F7236FEA2470265CB91D48F51E136608EE948A50A3B35AC4961CA4041FA9 + 9BB466B4B56C6500D632A078B787F58C30D8A927CC78CC8291BF43E9E1098DF5 + 23359DA91CEEA46327F139E9FD77F948FABB02524564957FBB427A940773F369 + B2A37330AD18966C853FE924609FA48B70FB5EB0269C1E4DABA81F2FEF788B5A + DDC3F4CD628000E6D43766A73D146EC7F4965AB006A855550D630407957F947F + 28FD64BE11454BDB5E726AA93B3518EAA3259BE783F5947AEE25D8D96335AE4D + ADCEC8A70326109E34D450A6CD5D8A5C77869EBEF163E44F84AFD771335356AB + 80CC72E3F49557F15B9F22BEE0F4904BB33E58E4E64E8B5D25F40BB4D621DD4A + F3ACE6986188F29D4E954B68C313B721FCA7316FF15BDE1099C1DC2EA4A93F88 + 103DE5EABE475C78CE5AA735D8AC3C0CBEED79916E5DD5FAFA1F1133E4C77DAF + 8DD278B4737F7D66F4B8671B63F29522DC7B4D8B6EDD661715FC96A6DEE6E73C + A719F396FF00167DFF0006D06A17700E09F71FF93955BB62B99D15370E23F095 + B4039B34E4301EC7F6335E29ADC572BB73604CC4C44CC4D5993C332990A2D650 + CB53953B0217AC25A803DEC3F27748CFA79493C329A802F5D763EA33855C6140 + F139F39E6A784EA1E945C8018E49073896DA0D3AE92A14D5B9FE666F1FD84CF3 + E492749895AA3D8F05BEE728ACE37E41B2E4AA803E40CE078870FD5576359623 + 10770713B8D7BA5BC21B24F202A5B07C989FDA614DB46B34C2C41CC87BAC8DE1 + 173B8496C2FB7CE48C759BF4749D46A12B1E266DE2B48A75AEAA303326704A79 + 79B5047E1E9EA66CAAE9D174FA4755395446DFE83F4338FB0E6C63EB2EB8C6B8 + D63B0ACF551CC7CE51C8812569358D43004064F1523322C49172852C19AEE5F6 + 6D8CCC57675054FB30946091D0CC858E3A3195F189DAF025B9C853F212C783EB + 5F43AAEFA1ECEC186044E546A2D1D1CCCD35DA84208B0ED1E26DD3EAE814DE42 + 6F5B6EA7D26A91B47C62BBAB156A76F592B349194B908F53893A427F0DD3A387 + B6C50C077541F396B5B2AAF2E30074C74FA4AAE17A9AF9CD06E420EEABEB2CB1 + 8F1236F94E3E6DF976B47A0AAB1E52541F21913D28194E5762082C9EA3CA62C0 + 72631B13D67ADDC000DBCB7992CABBBB6A6A1A6652D5DB9039467C8FE8248D0E + 87EC3A76A5CF7D8E48F2F2935C9C8E61CC48F622189C72160DCBE0FF00BCD72E + 5B94D234E378CE95AEE29841B1336AB269A9D8E2BAFF00FA33A2D669EBB118F6 + 6CAFD76F1F39C5F14BAC6BCD657915760B3A78F299456C44D45CD7DCCEC77266 + B889A208888088880888809E8761FCC6791036D173D772B2939067D134B7769A + 5A6D6C86B101DB7DFA6E27CE2B38B149F39F44D162FD2E9BB307BE800037E9B4 + C39FF94C48E52775DCF9A1DFE919CB750C7A7919E354F5FE35618F113C160200 + 60187AF59C6B3D077F6D883B1F9420E56392727A89E8C153CAD9F47FDE787600 + 312A0FFAB712462848CF87963A4E63E2BD361D751DDEFF0094E9ED7AA9C768E1 + 01E8C7A19C97C4BAF4D45AB554C19136C8F19BF0CBE5B4550C444EB548888088 + 88088880888819D201B541E999F56E014228A026084AF9B3E18F0FA9C9F94F93 + A6EC009F54F85E97D2F0AA5493CD68E63EDE139FE47F0B6337567C55929D0BBB + 28663B2FA4E76B73664BA679464B0DB6965F106AB75AF242A8DFD4C87A4A01A6 + 9A5F67D55A398FFC44E49D45EC6CFB359A74466E960E65CF53395E3BC66DAAC7 + D3E9DF0BE38963F1BF16C6A8D143639072EC7A4E2598BB658E4CEBE1E3D4F2AA + 5BF4DB66AEFB061AC623DE69249EB113A1522220222202222022220222206480 + 971CBD67D47E196B1783D4FA807BA0F2FB784F9E703466E29472A07C38D88C83 + BCFA8EADD69D2851804F80E989CDF22F531FD5F09DED49AD2FA9E20A83725B27 + FBFACA8F8BF881AF50B550E40AC0518973A1608FA9D737441DDF5F01384E2BA8 + 3A8D63B139DE57831DE5BFC4E57A45B2D7B5B99D893EB30889D6CC8888088880 + 8888088880888808899D2336A83E703BDF82349459A2ED0D03B60FB587F2965C + 775180C89FF518FA7EF257074AB4BC26BB2A4ECD790103D48954C3ED9C492B3F + 857BCDE9FD89E7E796F3B97E3693A44E337FD8782D748D99C7337E938463CCC4 + 9F19D17C5BADEDB58C8A7BA0E00F2139C9D7C58F8E319E57748889AAA4444044 + 4404444044440444404BDF8534156BB8905B9199402769453ABF8135089AF6A5 + B01AC1804FBCAE76CC6D899EDD8F13B174DA4AEA5D86327DA5469DFB0D16A358 + E4067CAAFCFF00F26DE3579BF50403B31E51ED2AFE25D50D2E8134CBB1037F73 + 38B0C77646B6E9C8EBEE37EA9DCF9C8F04E4E6277B1222202222022220222202 + 22202222024AE1DAA3A3D65770FE539916207616718D30D5D7A8ED39AB5C1E5F + 1F6941C67899E23AA6B31852738CCAECC4A6384C6EE26DB48889741111011110 + 111103FFD9} + end + object lb_login: TLabel + Left = 144 + Top = 8 + Width = 68 + Height = 20 + Caption = 'Usuario:' + end + object lb_pass: TLabel + Left = 144 + Top = 72 + Width = 99 + Height = 20 + Caption = 'Contrase'#241'a:' + end + object user: TEdit + Left = 144 + Top = 32 + Width = 217 + Height = 28 + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clBlack + Font.Height = -16 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 0 + end + object pass: TEdit + Left = 144 + Top = 104 + Width = 217 + Height = 28 + Color = clWhite + Font.Charset = DEFAULT_CHARSET + Font.Color = clBlack + Font.Height = -16 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + ParentFont = False + PasswordChar = 'o' + TabOrder = 1 + end + object BitBtn1: TBitBtn + Left = 144 + Top = 152 + Width = 105 + Height = 25 + Caption = '&Cancelar' + Font.Charset = DEFAULT_CHARSET + Font.Color = clBlack + Font.Height = -16 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 2 + OnClick = BitBtn1Click + Kind = bkCancel + end + object BitBtn2: TBitBtn + Left = 256 + Top = 152 + Width = 105 + Height = 25 + Caption = '&Aceptar' + Font.Charset = DEFAULT_CHARSET + Font.Color = clBlack + Font.Height = -16 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 3 + Kind = bkOK + end +end diff --git a/src/login_dlg.~h b/src/login_dlg.~h new file mode 100644 index 0000000..735d487 --- /dev/null +++ b/src/login_dlg.~h @@ -0,0 +1,37 @@ +//--------------------------------------------------------------------------- + +#ifndef login_dlgH +#define login_dlgH +//--------------------------------------------------------------------------- +#include +#include +#include +#include +#include +#include +#include + +//--------------------------------------------------------------------------- +class Tlogin : public TForm +{ +__published: // IDE-managed Components + TImage *Image1; + TLabel *lb_login; + TLabel *lb_pass; + TEdit *user; + TEdit *pass; + TBitBtn *BitBtn1; + TBitBtn *BitBtn2; + void __fastcall BitBtn1Click(TObject *Sender); + void __fastcall FormShow(TObject *Sender); +private: // User declarations + bool __fastcall validateUserPass(AnsiString user, AnsiString pass); +public: // User declarations + __fastcall Tlogin(TComponent* Owner); + bool auth; + +}; +//--------------------------------------------------------------------------- +extern PACKAGE Tlogin *login; +//--------------------------------------------------------------------------- +#endif diff --git a/src/tsplash.cpp b/src/tsplash.cpp new file mode 100644 index 0000000..fc331de --- /dev/null +++ b/src/tsplash.cpp @@ -0,0 +1,88 @@ +//--------------------------------------------------------------------------- + +#include +#include +#define min(a, b) (((a) < (b)) ? (a) : (b)) +#pragma hdrstop + +#include "tsplash.h" +//--------------------------------------------------------------------------- +#pragma package(smart_init) +#pragma resource "*.dfm" +TSplash *Splash; +//--------------------------------------------------------------------------- +__fastcall TSplash::TSplash(TComponent* Owner) + : TForm(Owner) +{ + pressKeyToClose = false; +} +//--------------------------------------------------------------------------- +void __fastcall TSplash::GetNextSpan(PByteArray row, int SpanLeft, int *SpanRight, TColor *SpanColor, int y) +{ + int column; + TColor TempColor; + + column = SpanLeft; + TempColor = MaskColor(SpanLeft,y); + while ( column <= ImageMap->Width && TempColor == MaskColor(column,y) ) column = column + 1;; + + *SpanRight = column - 1; + *SpanColor = TempColor; +} +//--------------------------------------------------------------------------- +TColor __fastcall TSplash::MaskColor(int x,int y) +{ + if ( ImageMap->Canvas->Pixels[x][y] == 0x00FF00FF ) return clFuchsia; else return clBlack; +} +//--------------------------------------------------------------------------- +void __fastcall TSplash::FormCreate(TObject *Sender) +{ + int y; + PByteArray row; + HRGN YRgn; + HRGN SpanRgn; + int SpanLeft; + int SpanRight; + TColor SpanColor; + + Canvas->Brush->Style = bsClear; + ImageMap = Image1->Picture->Bitmap; + WindowRgn = CreateRectRgn(0, 0, 0, 0); + for (y=0;yHeight;y++) { + YRgn = CreateRectRgn(0, y, 0, y); +// row = (PByteArray)ImageMap->ScanLine[y]; + + SpanLeft = 0; + SpanRight = 0; + do { + GetNextSpan(row, SpanLeft, &SpanRight, &SpanColor,y); + if ( SpanColor != clFuchsia ) { + SpanRgn = CreateRectRgn(SpanLeft, y, SpanRight + 1, y + 1); + CombineRgn(YRgn, YRgn, SpanRgn, RGN_OR); + DeleteObject(SpanRgn); + } + SpanLeft = SpanRight + 1; + } while ( SpanRight < (ImageMap->Width-1)); + CombineRgn(WindowRgn, WindowRgn, YRgn, RGN_OR); + DeleteObject(YRgn); + } + SetWindowRgn(Handle,WindowRgn,true); + DeleteObject(WindowRgn); +} +//--------------------------------------------------------------------------- + +void __fastcall TSplash::FormPaint(TObject *Sender) +{ + Canvas->Draw(0, 0, ImageMap); +} +//--------------------------------------------------------------------------- + + + +void __fastcall TSplash::Image1Click(TObject *Sender) +{ + if (pressKeyToClose) Close(); + +} +//--------------------------------------------------------------------------- + diff --git a/src/tsplash.ddp b/src/tsplash.ddp new file mode 100644 index 0000000..cdc0ee8 Binary files /dev/null and b/src/tsplash.ddp differ diff --git a/src/tsplash.dfm b/src/tsplash.dfm new file mode 100644 index 0000000..c26da2f --- /dev/null +++ b/src/tsplash.dfm @@ -0,0 +1,1505 @@ +object Splash: TSplash + Left = 190 + Top = 106 + BorderIcons = [] + BorderStyle = bsNone + Caption = 'Splash' + ClientHeight = 245 + ClientWidth = 185 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + FormStyle = fsStayOnTop + OldCreateOrder = False + Position = poScreenCenter + OnCreate = FormCreate + OnPaint = FormPaint + PixelsPerInch = 96 + TextHeight = 13 + object Image1: TImage + Left = 0 + Top = 0 + Width = 185 + Height = 245 + AutoSize = True + Picture.Data = { + 07544269746D617022B80000424D22B80000000000003604000028000000B900 + 0000F50000000100080000000000ECB30000120B0000120B0000000100000000 + 000000000000FFFFFF000000FF000000CC000602FE000A06FD000A06F6000807 + E2001D1C62009695ED00F2F1FE00F4F2E8006E6E6000BABAB700A5A5A200D9D9 + D70039714400427D54007C958400518B6700196739002774470005572A000439 + 1B00056231000548250009534200083C380029585500175B62000E444E002A69 + 7800F3FAFE000F364D0022628800103B5B001C4C780008346700133A6C003361 + 9F00466DA200BBCFE900223C6100758DB100042D6B001A345C003F567B005E7A + A8007E99C4000428640009275C000D2B5D002A4D8B00566C91006C7C99000A30 + 7A00072152000D2B65000B214A00295EC80016326B001B3C79003366CC003464 + C4001E3A6E00172C5400263E6F004B72BE002E457000202F4C004B5F85000421 + 63000A3187000D2C6E001C48AA001A429A00152B5D002B56B7002953AD003567 + D100325EBE003B6AD5002E519D003B66C200406BCC003B63B9004169C3002D3D + 60006683BF00A8B3CC0003226C0006205C00143A91000E22540016327500244E + B400142B64002855C000254BA70025469A00233E82003B67CC00355BB500456E + D4004A71CD00385498002F457A00364E87005E82DD004460A0006C96FB004D68 + AC006C91EE005875BD00819BD90090ABEF008FA5D900092775000C2364001531 + 7C00142C6C001A3686001C337400233F8F00446DDD002D4587004C73DB00486A + C4004665B9005B81ED005678D6005876CA006E89D2000C236C000D215C00142C + 74001D347C0014214B001C2E6300324EA5001C2C5C003955AA00334B9700415D + AE005579E200678BF4006585E500526CB9006A8AEB00627DD2007794EE00829F + F800081A5500102A810009174A0012225C00142254000F193D001B2D6C00304E + B90024336B0023326500222E5A00526DC80026325D007390F8007B98F8003642 + 6C00041042000C1D63001125720012246C0016245C00243577001F2A5500758C + E50015267B0012216300243AA6001D2C74002F3C760018246300344CD0001B23 + 5300232D63002D376D001B267300151D58001B266D001B245C002C336600050F + 5F002C3DCA00222B76004955C2002530B700ECEDFA000811BA001E28D0000307 + 8C000D12DF001016A800181D920020224D00A8ABF4000202FE000202F9000203 + E5000202DC000202D3000202CE000206CA000202CA000202BC000303F0000304 + AA000606FE000606F8000606D9000606D1000606C7000C0CFC000C0CF4000B0B + DB000A0BC6000B0BD500030431000F10EB000E10CA0002021D001213FB001010 + DF001414F0001819F7001418C6001919DF001C1CEC0002020F002627EB003337 + F5004344E6005456FC005B5EE5007575E900C1C1F200D5D5F70049495100E2E2 + F700F4F4FB00FAFAFE00FEFEFE00FAFAFA00F5F5F500EAEAEA0002020200FF00 + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8A8A8FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B9DA0FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50A0A2FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF8DC7B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF010101010101 + 0101FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF6F9B9DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01000000000000000001FF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF47A2A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000000000001FFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A + D1C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000000000001FFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFF010000000000000000000001FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8ABFA7FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFF010000000000000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6EC3BAFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF0101010000000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF0100000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFF8080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFF010101FFFFFFFFFFFFFFFFFFFFFFFFFFFF010000 + 0000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0101010101 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0101010101FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFACA19BFFFFFFFFFFFFFFFF010101010101FFFFFFFFFF010101 + 010101FFFFFFFFFFFFFF010101010101FFFFFFFFFFFF010101010101FFFFFFFF + FFFFFFFFFFFF0101000000010101FFFF0101010101FFFFFFFF01000000000000 + 01FFFFFFFF010101010101FFFFFFFFFFFFFFFFFF01010100000000000101FFFF + FFFFFFFFFFFFFFFFFFFFFF010100000000000101FFFFFFFFFFFFFFFFFFFF0101 + 01010101FFFFFFFFFFFF010101010101FFFFFFFFFFFF010101010101FFFFFFFF + FFFFFF7FAAAEFFFFFFFFFFFFFF0100000000000001FFFFFF0100000000000001 + FFFFFFFFFF0100000000000001FFFFFFFF0100000000000001FFFFFFFFFFFFFF + FF0100000000000000000101000000000001FFFFFF0100000000000001FFFFFF + 0100000000000001FFFFFFFFFFFFFF010000000000000000000001FFFFFFFFFF + FFFFFFFFFF01010000000000000000000101FFFFFFFFFFFFFF01000000000000 + 01FFFFFFFF0100000000000001FFFFFFFF0100000000000001FFFFFFFFFFFF6F + C4BBFFFFFFFFFFFFFF0100000000000001FFFFFF0100000000000001FFFFFFFF + FF0100000000000001FFFFFFFF0100000000000001FFFFFFFFFFFFFF01000000 + 0000000000000001000000000001FFFFFF0100000000000001FFFFFF01000000 + 00000001FFFFFFFFFFFF0100000000000000000000000001FFFFFFFFFFFFFFFF + 010000000000000000000000000001FFFFFFFFFFFF0100000000000001FFFFFF + FF0100000000000001FFFFFFFF0100000000000001FFFFFFFFFFFF99DE44FFFF + FFFFFFFFFF0100000000000001FFFFFF0100000000000001FFFFFFFFFF010000 + 0000000001FFFFFFFF0100000000000001FFFFFFFFFFFF010000000000000000 + 00000000000000000001FFFFFF0100000000000001FFFFFF0100000000000001 + FFFFFFFFFF01000000000000000000000000000001FFFFFFFFFFFF0100000000 + 000000000000000000000001FFFFFFFFFF0100000000000001FFFFFFFF010000 + 0000000001FFFFFFFF0100000000000001FFFFFFFFFFFF8AD1C6FFFFFFFFFFFF + FF0100000000000001FFFFFF0100000000000001FFFFFFFFFF01000000000000 + 01FFFFFFFF0100000000000001FFFFFFFFFF0100000000000000000000000000 + 000000000001FFFFFF0100000000000001FFFFFF0100000000000001FFFFFFFF + 010000000000000000000000000000000001FFFFFFFF01000000000000000000 + 000000000000000001FFFFFFFF0100000000000001FFFFFFFF01000000000000 + 01FFFFFFFF0100000000000001FFFFFFFFFFFF8CA2A4FFFFFFFFFFFFFF010000 + 0000000001FFFFFF0100000000000001FFFFFFFFFF0100000000000001FFFFFF + FF0100000000000001FFFFFFFFFF010000000000000000000000000000000000 + 0001FFFFFF0100000000000001FFFFFF0100000000000001FFFFFFFF01000000 + 0000000000000000000000000001FFFFFFFF0100000000000000000000000000 + 0000000001FFFFFFFF0100000000000001FFFFFFFF0100000000000001FFFFFF + FF0100000000000001FFFFFFFFFFFF55A4A9FFFFFFFFFFFFFF01000000000000 + 01FFFFFF0100000000000001FFFFFFFFFF0100000000000001FFFFFFFF010000 + 0000000001FFFFFFFF010000000000000001010101000000000000000001FFFF + FF0100000000000001FFFFFF0100000000000001FFFFFF010000000000000001 + 0101010000000000000001FFFF01000000000000000001010100000000000000 + 0001FFFFFF0100000000000001FFFFFFFF0100000000000001FFFFFFFF010000 + 0000000001FFFFFFFFFFFF48989DFFFFFFFFFFFFFF0100000000000001FFFFFF + 0100000000000001FFFFFFFFFF0100000000000001FFFFFFFF01000000000000 + 01FFFFFFFF0100000000000001FFFFFFFF010000000000000001FFFFFF010000 + 0000000001FFFFFF0100000000000001FFFFFF0100000000000001FFFFFFFF01 + 00000000000001FFFF010000000000000101FFFFFF010100000000000001FFFF + FF0100000000000001FFFFFFFF0100000000000001FFFFFFFF01000000000000 + 01FFFFFFFFFFFF99DE44FFFFFFFFFFFFFF0100000000000001FFFFFF01000000 + 00000001FFFFFFFFFF0100000000000001FFFFFFFF0100000000000001FFFFFF + FF0100000000000001FFFFFFFFFF0100000000000001FFFFFF01000000000000 + 01FFFFFFFF010101010101FFFFFFFF0100000000000001FFFFFFFF0100000000 + 000001FF010000000000000001FFFFFFFFFF010000000000000001FFFF010000 + 0000000001FFFFFFFF0100000000000001FFFFFFFF0100000000000001FFFFFF + FFFFFFF68080FFFFFFFFFFFFFF0100000000000001FFFFFF0100000000000001 + FFFFFFFFFF0100000000000001FFFFFFFF0100000000000001FFFFFF01000000 + 00000001FFFFFFFFFFFF0100000000000001FFFFFF0100000000000001FFFFFF + FFFFFFFFFFFFFFFFFFFF0100000000000001FFFFFFFFFFFF01000000000001FF + 0100000000000001FFFFFFFFFFFFFF0100000000000001FFFF01000000000000 + 01FFFFFFFF0100000000000001FFFFFFFF0100000000000001FFFFFFFFFFFF3E + 9595FFFFFFFFFFFFFF0100000000000001FFFFFF0100000000000001FFFFFFFF + FF0100000000000001FFFFFFFF0100000000000001FFFFFF0100000000000001 + FFFFFFFFFFFF0100000000000001FFFFFF0100000000000001FFFFFFFFFFFFFF + FFFFFFFFFFFF0100000000000001FFFFFFFFFFFFFF0101010101FFFF01000000 + 00000001FFFFFFFFFFFFFF0100000000000001FFFF0100000000000001FFFFFF + FF0100000000000001FFFFFFFF0100000000000001FFFFFFFFFFFF40A1A3FFFF + FFFFFFFFFF0100000000000001FFFFFF0100000000000001FFFFFFFFFF010000 + 0000000001FFFFFFFF0100000000000001FFFFFF0100000000000001FFFFFFFF + FFFF0100000000000001FFFFFF0100000000000001FFFFFFFFFFFFFFFFFFFFFF + FFFF0100000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000001 + FFFFFFFFFFFFFF0100000000000001FFFF0100000000000001FFFFFFFF010000 + 0000000001FFFFFFFF0100000000000001FFFFFFFFFFFF8AD1C6FFFFFFFFFFFF + FF0100000000000001FFFFFF0100000000000001FFFFFFFFFF01000000000000 + 01FFFFFFFF0100000000000001FFFFFF0100000000000001FFFFFFFFFFFFFF01 + 000000000001FFFFFF0100000000000001FFFFFFFFFFFFFFFFFFFFFFFFFF0100 + 000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000001FFFFFFFF + FFFFFF0100000000000001FFFF0100000000000001FFFFFFFF01000000000000 + 01FFFFFFFF0100000000000001FFFFFFFFFFFF99DE44FFFFFFFFFFFFFF010000 + 0000000001FFFFFF0100000000000001FFFFFFFFFF0100000000000001FFFFFF + FF0100000000000001FFFFFF0100000000000001FFFFFFFFFFFFFF0100000000 + 0001FFFFFF0100000000000001FFFFFFFFFFFFFFFFFFFFFFFFFF010000000000 + 0001FFFFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000001FFFFFFFFFFFFFF01 + 00000000000001FFFF0100000000000001FFFFFFFF0100000000000001FFFFFF + FF0100000000000001FFFFFFFFFFFF93A9AEFFFFFFFFFFFFFF01000000000000 + 01FFFFFF0100000000000001FFFFFFFFFF0100000000000001FFFFFFFF010000 + 0000000001FFFFFF0100000000000001FFFFFFFFFFFF0100000000000001FFFF + FF0100000000000001FFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000001FFFF + FFFFFFFFFFFFFFFFFFFFFFFF0100000000000001FFFFFFFFFFFFFF0100000000 + 000001FFFF0100000000000001FFFFFFFF0100000000000001FFFFFFFF010000 + 0000000001FFFFFFFFFFFF41999BFFFFFFFFFFFFFF0100000000000001FFFFFF + 0100000000000001FFFFFFFFFF0100000000000001FFFFFFFF01000000000000 + 01FFFFFF0100000000000001FFFFFFFFFFFF0100000000000001FFFFFF010000 + 0000000001FFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000001FFFFFFFFFFFF + FFFFFFFFFFFFFFFF0100000000000001FFFFFFFFFFFFFF0100000000000001FF + FF0100000000000001FFFFFFFF0100000000000001FFFFFFFF01000000000000 + 01FFFFFFFFFFFF99DE44FFFFFFFFFFFFFF0100000000000001FFFFFF01000000 + 00000001FFFFFFFFFF0100000000000001FFFFFFFF0100000000000001FFFFFF + 0100000000000001FFFFFFFFFFFF0100000000000001FFFFFF01000000000000 + 01FFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000001FFFFFFFFFFFFFFFFFFFF + FFFFFFFF0100000000000001FFFFFFFFFFFFFF0100000000000001FFFF010000 + 0000000001FFFFFFFF0100000000000001FFFFFFFF0100000000000001FFFFFF + FFFFFF8AD1C6FFFFFFFFFFFFFF0100000000000001FFFFFF0100000000000001 + FFFFFFFFFF0100000000000001FFFFFFFF0100000000000001FFFFFF01000000 + 00000001FFFFFFFFFFFF0100000000000001FFFFFF0100000000000001FFFFFF + FFFFFFFFFFFFFFFFFFFF0100000000000001FFFFFFFFFFFF010101010101FFFF + 0100000000000001FFFFFFFFFFFFFF0100000000000001FFFF01000000000000 + 01FFFFFFFF0100000000000001FFFFFFFF0100000000000001FFFFFFFFFFFFB2 + A1A3FFFFFFFFFFFFFF0100000000000001FFFFFF0100000000000001FFFFFFFF + FF0100000000000001FFFFFFFF0100000000000001FFFFFF0100000000000000 + 01FFFFFFFFFF0100000000000001FFFFFF0100000000000001FFFFFFFFFFFFFF + FFFFFFFFFFFFFF0100000000000001FFFFFFFF0100000000000001FFFF010000 + 0000000001FFFFFFFFFF010000000000000001FFFF0100000000000001FFFFFF + FF0100000000000001FFFFFFFF0100000000000001FFFFFFFFFFFF77A9ADFFFF + FFFFFFFFFF0100000000000001FFFFFF010000000000000001FFFFFF01000000 + 0000000001FFFF010101000000000000010101FFFF0100000000000001FFFFFF + FF010000000000000001FFFFFF0100000000000001FFFFFFFFFFFFFFFFFFFFFF + FFFFFF0100000000000001FFFFFFFF0100000000000001FFFF01000000000000 + 0001FFFFFF010100000000000001FFFFFF010000000000000001FFFFFF010000 + 000000000001FFFFFF0100000000000001FFFFFFFFFFFF2A9895FFFFFFFFFFFF + FF0100000000000001FFFFFF0100000000000000000101010100000000000000 + 01FF0100000000000000000000000001FFFF0000000000000001010101000000 + 000000000001FFFFFF0100000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFF01 + 00000000000000010101010000000000000001FFFF0100000000000000000101 + 01000000000000000001FFFFFF01000000000000000001010100000000000000 + 00000101010000000000000001FFFFFFFFFFFF99DE44FFFFFFFFFFFFFF010000 + 0000000001FFFFFF010000000000000000000000000000000000000001FF0100 + 00000000000000000000000001FF000000000000000000000000000000000000 + 0001FFFFFF0100000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01000000 + 0000000000000000000000000001FFFFFFFF0100000000000000000000000000 + 0000000001FFFFFFFF0100000000000000000000000000000000000000000000 + 000000000000000001FFFFFFFFFFFF47A2A4FFFFFFFFFFFFFF01000000000000 + 01FFFFFF0100000000000000000000000000000000000001FFFF010000000000 + 000000000000000001FF0100000000000000000000000000000000000001FFFF + FF0100000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000000 + 00000000000000000001FFFFFFFF010000000000000000000000000000000000 + 01FFFFFFFF010000000000000000000000000000000000000000000000000000 + 00000001FFFFFFFFFFFFFF9A9599FFFFFFFFFFFFFF0100000000000001FFFFFF + 0100000000000000000000000000000000000001FFFF01000000000000000000 + 0000000001FFFF01000000000000000000000000000000000001FFFFFF010000 + 0000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000000000000 + 0000000001FFFFFFFFFFFF0100000000000000000000000000000001FFFFFFFF + FF01000000000000000000000000000000000000000000000000000000000001 + FFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFF0100000000000001FFFFFF01000000 + 000000010000000000000000000001FFFFFF0100000000000000000000000000 + 01FFFFFF010000000000000000000000000000000001FFFFFF01000000000000 + 01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000000000000000001 + FFFFFFFFFFFFFFFF010000000000000000000000000001FFFFFFFFFFFF010000 + 000000010000000000000000000001010000000000000000000001FFFFFFFFFF + FFFFFF48989DFFFFFFFFFFFFFF0100000000000001FFFFFF01000000000000FF + 01000000000000000001FFFFFFFF010000000000000000000000000001FFFFFF + FF0100000000000000000100000000000001FFFFFF0100000000000001FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF010000000000000000000001FFFFFFFFFF + FFFFFFFFFF01010000000000000000000101FFFFFFFFFFFFFF01000000000001 + 01000000000000000001FFFF01010000000000000001FFFFFFFFFFFFFFFFFF99 + DE44FFFFFFFFFFFFFFFF010101010101FFFFFFFFFF010101010101FFFF010100 + 0000000101FFFFFFFFFFFF01010100000000000001010101FFFFFFFFFFFF0101 + 0000000101010100000000000001FFFFFFFF010101010101FFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFF01010100000000010101FFFFFFFFFFFFFFFFFFFF + FFFFFF010101000000000101FFFFFFFFFFFFFFFFFFFF0101010101FFFF010101 + 0000000101FFFFFFFFFF01010000000101FFFFFFFFFFFFFFFFFFFF87A9B1FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01010101FF + FFFFFFFFFFFFFFFFFF0100000000000001FFFFFFFFFFFFFFFFFFFFFF010101FF + FFFF0100000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF01010101FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF01010101FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF010101FF + FFFFFFFFFFFFFFFF010101FFFFFFFFFFFFFFFFFFFFFFFFAA8E95FFFFFFFFFFFF + FFFF010101010101FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFF0100000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0100 + 000000000001FFFFFFFF010101010101FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41A0A0FFFFFFFFFFFFFF010000 + 0000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF0100000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF010000000000 + 0001FFFFFF0100000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B9DA0FFFFFFFFFFFFFF01000000000000 + 01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF010000 + 0000000000010101FFFFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000001FFFF + FF0100000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFF0100000000000001FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01000000000000 + 0000000001FFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000001FFFFFF010000 + 0000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF6699A0FFFFFFFFFFFFFF0100000000000001FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000000000000 + 0001FFFFFFFFFFFFFFFFFFFFFFFF0100000000000001FFFFFF01000000000000 + 01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF83B4ABFFFFFFFFFFFFFF0100000000000001FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF010000000000000000000001FFFF + FFFFFFFFFFFFFFFFFFFF0100000000000001FFFFFF0100000000000001FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 + DE44FFFFFFFFFFFFFF0100000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000000000001FFFFFFFFFFFF + FFFFFFFFFFFF0100000000000001FFFFFF0100000000000001FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF309492FFFF + FFFFFFFFFFFF01000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFF010000000000000001FFFFFFFFFFFFFFFFFFFFFF + FFFFFF01000000000001FFFFFFFF01000000000001FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D9892FFFFFFFFFFFF + FFFFFF0101010101FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFF01010101010101FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + 0101010101FFFFFFFFFFFF0101010101FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86A0A1FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF7EA3A7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF70C5BBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C + 8E90FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF469C9DFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8080FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF469DA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFC29798FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B2A574636FFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFCC846B389A899C574635FFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFC7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 + DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFF7358836947339C9A3A9D9D572EFFFFFFFFFFFFFFFFFFFFFFFFC7D7D7 + D5D5D5D5D5D5D5D5D5D7D7C7C7C7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87CFC4FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 + 8382828D31335D385D5D9A9D9A894446FFFFFFFFFFC7C7D7D5D5D40303030303 + 030303D2D2D20303D4D5D7D7C7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF936C68688D + 323C60324C9B899A9A9A9A2D4142C1C7D7D5D5D4D403D2030303030303030303 + 03D2D2D2D2D2D2D4D4D5D7C7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68A2A5FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8495907E68688F5B604C38 + 869BB7899A3AA49BBFC7D7D503D2D2D2D2D20303030303030303030303030303 + 03D2D2D2D2D2D4D4D5D7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D9892FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7183827E6767688F313333334C5D9A3A + 5DBB85C7D7D503D2D2D203030303030303030303030303030303030303030303 + 03D2D2D2D4D4D5D7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF7343A39068826865688D31609B86ACBB5D9CACA9C7D5 + 03D4D2D203030303030303030303030303030303030303030303030303030303 + D203D4D4D5D7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF94A7A9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFF74937190907E676843828D7660609B869B5D5D8AC7D4D2D2D20303 + 03030303030303030303030303030303030303030303030303030303030303D2 + D4D5D5D7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + 7282828290677E678295828D76869B86AC8A5D9CBAD7D2D2D203030303030303 + 0303030303030303030303030303030303030303030303030303030303D2D4D5 + D7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 + 9B9BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF849592827E + 827C7E677E826863A94C4C9B4CA0AC5DAAD7D203030303030303030303030303 + 030303030303030303030303030303030303030303030303030303D4D5D7D7FF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7CC7B7FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8495916C68677E676567 + 7E67567B7A609EAB788A4C9CAAC5D20303030303030303030303030303030303 + 03030303030303030303030303030303030303030303030303D4D5D7FFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45A29FFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF846C8181906754677E7E67673F657B + 77AD5E5E777A608CB0D703030303030303030303030303030303030303030303 + 030303030303030303030303030303030303030303D2D4D5D7FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF469C9AFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFF84AF9481819067687E907E5465537F63ABAD5E5E + 5E88AD8AB0D70303030303030303030303030303030303030303030303030303 + 03030303030303030303030303030303030303D4D5D7FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF84AFA58191817E826790827E3E3E51546385875E5E87ADAD9E + 79C5D40303030303030303030303030303030303030303030303030303030303 + 0303030303030303030303030303030303D5D7FFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF738496709181819090827E907E563E5454674B8764888788647A7AB0C50303 + 0303030303030303030303030303030303030303030303030303030303030303 + 03030303030303030303030303D4D5D7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFF8080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70706E + 81818190816C6C824E5068546754687B87AD5E5E8864888799D7030303030303 + 03030303030303D1D2D203D103D1D1D1D1D1D1D1D1D1D1D1D203030303030303 + 0303030303030303030303D5D7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF509D99FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7496A66E9190818181 + 81906C664B5067676854545CAAAD5E5E77AD5E5E99D503030303030303D2D1D1 + D1D1D1D1D1D0D0D1D0D0D0D0D0D0D1D1D0D1D1D1D1D1D1D2D103030303030303 + 03030303030303D4D5D7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC + A19BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73A6A691918190819494946C664E + 4B5068676867687BAAAD887777883C3C99C503030303D2D1D1D1D1D0D1D0D0D0 + CFCFCFCFD6CFD6D6D6D6D6CFCFD0CFD0D0D0D0D0D1D1D1D1D2D2030303030303 + 03030303D4D5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFF72A6A56E9181816C6C929490664E6662566868 + 6751565CB3AD647979887A6099D5D2D2D1D1D1D0D0D0CFCFD6D6D6CECE020202 + 0202020202020202020202CED6D6CFD0D0D0D1D0D1D1D1D20303030303030303 + 03D5D7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF7370A6A59696A592926C92946C3F666655663F67676854657B + B35E88888877492C99E4D1D1D0CFCFCFD602CD02020202020202020202020202 + 020202020202020202020202CED6D6CFD0D0D0D1D1D20303030303030303D5D7 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8AD1C6FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF74AFA66E916E9491916C91946C543E53555666537C67653F657B7A777B88 + AD5E3C40ABEAD0D0DAE4C5C9C9CAD7C5D1CECD02020202020202020202020202 + 0202020202020202020202CED6CFD0D0D1D1D1D2030303030303D4D5C73342FF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72AF97 + 6E6E9181919292916E6C68657F655355663E677E513E3E7BB388797B6477ADA0 + A4C0EB6F360C0C0C0C0C0C0CF6B8D7D602020202020202020202020202020202 + 02020202020202020202CED6CFD0D0D1D2030303030303D4D73132333C40FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF7EA3A7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF94A56E916E9191 + 919091A56C82A37EA36567803F517C674F3E3F7BAD887B646479775E392B0D0D + 0D0D0D0D0D0E0D0E0E12F6BBD002020202020202020202020202020202020202 + 020202020202020202D6CFD0D0D1D103030303D2D5C785AA473976AB78FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF48978FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8492A56E916E6E81A5A5A59190 + 828290A3A3A351565354514F3E3E537BB33D64C1C188793747300BFDFDFDFDFC + FCFDFDFD0F0F0E0C9DD002020202020202020202020202020202020202020202 + 020202020202CED6D0D0D1D1030303D2D4D55A5A5A5AAB855A76B176FFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFF74956CA5916E6E949496A5A5919082909082A3 + 6865657F686751673E3E567BC13D3DADC17A3D495B59F9010101010101010101 + 01FA0F0E0CCBD602020202020202020202020202020202020202020202020202 + 02020202CECFD0D0D1D20303D4D4C75A5A5A5A5A8585313131325BFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 + A6A1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFF727195929294A591916EA5A5949082819282A3A3A3A38268 + 5468677C3E3E567B885E3D7ABA7A408A9C59FB0101010101010101010101010F + 0EF6C90202020202020202020202020202020202020202020202020202020202 + 0202D6D1D1D1D10303D4D75A475A5A5A5A5A5A5A852C4798385DFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF8493956C92929281916E6E6E92829082908282A3A3A3A3685482825467 + 673F5479775E3DB3C1C15E9E5D59FA01FAFAFA0AF4F50101010101FC0F0CB8CE + 02020202020202020202020202020202020202020202020202020202020202CE + D103D1D1D203D5C72C372C5A5A5A5A5A5A474747475B989A3AFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D9C9CFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5893 + 8395908194916EA56EA57E7E8282827C8290A36868A39358588368676553543D + 3D7A40C1B3AD7A8785590101FCFDF7EF04DD09FA010101F90F0EF6D002020202 + 02020202020202020202020202020202020202020202020202020202CED003D1 + D2D2D4D775375A5A5A5A5A5A5A5A47474731474798989A5DFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7193838268906C + 91A56E6E91907E906C7F7E907E7EA38268712B30FF836868654F7F5C7A9EADAD + 877A3C5EAB590101FB0FA3040202E6C4FA010101FD0E0CDC0202020202020202 + 0202020202020202020202020202020202020202020202020202CFD2D0D1D2D5 + C7375A5A5A5A5A5A5A5A5A47474747315B5B5B5B38A844FFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70A7ADFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7193A36868686C94706EA591 + 90829082827C7E82686883838284FFFFFF836867543E7F77879EADAD5E5E3C7A + AB59F9F9010FC604020202F4FA010101FD0D0CC9020202020202020202020202 + 0202020202020202020202020202020202020202020202CF03D1D1DCC75A7575 + 5A5A755A5A5A5A2C494747474747475B389A32FFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF33969BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7180A37F56686C6C94967092828282A3A3 + 687E67686868828458FFFFFFFF836868513E56797A9EC15E5E3C3C5EAB95CCF4 + F5C4EF02020202CC01010101FD0D0CC902020202020202020202020202020202 + 0202020202020202020202020202020202020202CFD1D1D3D775373775753775 + 5A5A5A2C87764747474747A9983832FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF71438053688290909270706C82838283A383A3A36867 + 6782842FFFFFFFFFFF84546751655699B3ADC15E5E783D7A7AC60202DDE9DD02 + 020202CC010101FAFC0D0CCA0202020202020202020202020202020202020202 + 0202020202020202020202020202020202D0D1D2D5C748754848483748755A5A + 85854747474747475B4776FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFF849595A3438068689081F3919583A3A3A3A3A3A3A3836867835846FF + FFFFFFFFFF8454513E6556777A7A9E5E5E5E3D5E42C0020202020202020202CC + 01010101FC0D0CCA020202020202020202020202020202020202020202020202 + 02020202020202020202020202CED0DBD5C75C5C4848484848485A5A5A85A95A + 5A47A99847475AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A + D0C5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 + 6C7E827F80437F686C816C82A3A38080A3A3807FA3A3A38358FFFFFFFFFFFFFF + FF8454673E4F5477B39E785E5E5E3D8840C6020202020202020202CCFA010101 + FC0D0CCACD020202020202020202020202020202020202020202020202020202 + 020202020202020202CDCFD1DCC75C5C5C485C484848755A75755A4785474747 + 47474735FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF509D99FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF726C6C827F68 + 434383839582A37F7F8080A36F8093808093712FFFFFFFFFFFFFFFFFFF845168 + 543E80775E8AB35E3C3C5E8726C6020202020202020202CC01010101FC0D0CCA + 0202020202020202CDCDCDCDCDCDCDCECECDCECDCDCDCDCDCD02020202020202 + 0202020202CECEDFC5CA5C5C5C5C5C4879484837755A5A47474747474747BF46 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8ABFA7FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96816C6C83A37FA3A3A3A3 + 808F8F8D8F808F8F8F8F8F8F8F712FFFFFFFFFFFFFFFFFFFFF957E68543F5087 + 879EB3875EAD3D5E3CEA020202020202020202CC010101FAFC0D0CCA02020202 + 020202CDCDCDCECECECED9D90606D9D9CECECDCDCDCD02020202020202020202 + CDCDCFC548484848379948374899484837755A474776317647475B6BFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F9CA3FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96AF6C8282686868A383A38F8D698B8D + 8F8D8F808F8D6D6D2FFFFFFFFFFFFFFFFFFFFFFF8E58676754555077BA3C3C9E + AD797AB340C6020202020202020202CC01010101FC0D0CCA020202020202CDCD + CDCECED906E3E8E8E8ECECE8E306D9CECECDCD020202020202020202D8E3C548 + 48373775755A755A85BB9898BF2C5A5A85BAAB4747475B2EFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF74AFAF706C6868686868A3938D8E8E8B8F8F8B8D8D8D + 8F6D2828FFFFFFFFFFFFFFD7D7D7D5D5C358515153535077BA3C3CBA7A777AB3 + 40EA020202020202020202CCFA010101FC0D0CCACD02020202CDCDCDCECEDEE3 + ECECEEEFF0F0EEEEEEECE306D9CE02020202020202020202DDC04B48372C3147 + BF47989AA89DE2E29A78858585AB855A4731476AFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF8AD1C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFF74AF9696926C68686883836F8E8E8E8E6952528B8F8F8D8F6D35FF + FFFFFFD7D7D5D5D4D403D203C05867513F533F77BA3C3CB3C15E885E40C60202 + 02020202020202CC01010101FC0D0CCA0202020202CDCDCED6DEE8EEEFF0F2F2 + F2F3F2F2F0EEEBE306D9CDCD020202020202CDE9C0635C483731989AA8A8A8E5 + E5E5E5E2BBC1BA5AAAAA8547313C856AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + 72AFA670926C6C82A383A38F8E8E69698E6969528B8D8F8F356DFFFFD7D7D5D5 + D4D2D2D2D2D20303C07167513F8053AABA3C5EBAC177797726C6020202020202 + 020202CC010101FAFC0D0CCA02020202CDCDCED9E3ECEEF0F2F3AF09090909AF + F3F2F0ECE3D9CECD0202020202D8EE66634B5C997531989AA89AE2E5EDE5E2A8 + A99975A9AABA855A4739AB2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF89A5ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84AF707070 + 6C6C8268A3838F63698E8E69698E8D8B8D8F6F46FFFFD7D7D5D4D2D2D2D10303 + 030303039F58514F3F5655AABA3C5EC1AD7A797726C6020202020202020202CC + 01010101FC0D0CCACD020202CDCED9D6E8EEF0F30909F4F4F4F4F4CC74F3F2F0 + EBDED9CE02020202E6B6535F4A4A4B4887315BA8A83AA8E2E5E2A85B2C48755A + 85AA85314747312EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 + 978FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF739594969494926C6C6C6C + 958D8D6969698D8B8D8D8F8F6F2869FFD7D5D5D3D2D1D2D20303030303030303 + 9F71543E3F535587BA3C5EB3AD5E774926EE020202020202020202CC01010101 + FC0D0CCACD020202CECED6E8EEF0F309CCF5F5F7F7C4F7F5F409F3F0EEE3D9CD + 020202EE54554D4A5F4A485C484798989AA8E2E2E2E29A983177755A85858531 + 4747A92EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74929192709292926C6C6C82558D8D8F + 8D8F8F8F8F8F80716F63D7D5D5DCDBD1D1D203030303030303030303C271653E + 3F538DAAC13C5EC1C15EB33C26EE020202020202020202CC01010101FC0D0CCA + 020202CD02D9DEEBF0F209CCF5F7C4F8F8F8F8C4F5F409F2EFEC06CE02E6F068 + 535F4D614A4A5C5C75475B98A8A8E2E2E2E29A98397A495A5AAB855A47475B35 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C9E9AFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF7495AF706C906C6C6C6C706C668F8F8F6F808F8F80 + 8093716FCAD5D5DCDBDBD1D10303030303030303030303038D71674F3F5355BC + B33C5EBAC15E887A26EC020202020202020202CC01010101FB0D0CCA020202CD + CED9E3EEF0F3CCF5F7F8F8F9F9F9F9F8F7F5CCF3F0ECDECDF06C3F3B3B3B3B4A + 4B625C37757698A8A8A8A8A8E2A89A5B8579755A8587AA2C3176A935FFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFAFAF7092819092947070A3557F808F9393535593A371586B88 + C9D5DBD0D1D103030303030303030303030303D48B4351513F536687C15E5EC1 + C1B3883C8AEC020202020202020202CC01010101FC0D0CCACD0202CDCE06E8EE + F209F4F7C4F9F9FAFAFAF9FBC4F5CCF3F0EEE6F1843F613B3B61615F624B4837 + 77769A9A989898989AA8A8477548995A85AAAA8731764746FFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7165A4FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF92969492949270A696958093A3A3A3807F657F7F95837D9CAE4139CAC9 + D3D1D1030303030303030303030303D4668367653E544D77AD3C5EB3C1AD883C + 9EDE020202020202020202CC0101010101FD0CCA040202CECEDEEBF0F309F5F7 + F8F9FAFAFAFAFAF9C4F5CCAFF0EEF2683B613B3E5F4D3F5F4A484879755B5B31 + 31315A399A9A9A9875377585AA855A8585475A46FFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF + 9670919294A59482557FA37F7FA38383719584937A86A1B8412D4189B5B0C9C5 + 03D1030303030303030303D48D83673E3E544D77C1783CC1C1B3795EABD90202 + 02020202020202CC0101010101FA0FB202020202CEDEEEF0F3CCF5C4FBF9FAFA + FA01F9F9C4F5CCF3F2A3A34F3B3E3F3E3B3E3B4A4B4B63375A31313125373787 + A8A89A98AA4875858787AA8585AB5A2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF79ABA8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF97A67092 + 7084439383A3A3A39393A3716F6D69AB86608A8AB58A8CBD8C419CBD85CAC5D3 + D1D10303030303D48D68543E3E554E77B33C3CBAC15E777A7606020202020202 + 02020209F5F5F5F5F5F5F5F2020202CECEDEEBF0F3CCF5C4F9F9FAFAFAF9F9FC + F7F5CCF383533B3B513B613B3E4D5F625F625E5E37773737484879779AA85D5B + 4977995AAA87AA8587AB5A46FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF359798FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9497966C8295286D69 + 698E64B4ADABB5B1AC8A9BAC605D9BACACACACBB8AB8B5AC8C8CA2ABB0C9DCD2 + D10303D48D54544F3E534E77BC3C49C1C187775E8AEB020202020202020202D8 + DDDDDDDDDDDDDD0502020202CEDEECF0F309F5F7F8F9F9F9F9FBF8C4F5CC847F + 654F4F513B613E654D613B3B4A48485C37485C5C485C7B77A8A8385B319999A9 + 5A8585AA8785762EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 + DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7073979243855D9A9D9D9D9D9D + A8898989B7A1A4A18A5D8C5D9CB79C3A9CB79C8C4CAC4C8C4141ACAACAD5DCD4 + 8F683E3E3F53665EC13C875EC1B35E3C3CEB0202020202020202020202020202 + 0202020202020202CEDEECF0F209F4F7FDF8FCF8F80AC4F7CC43534F4F517C3E + 3F3E3E616156505C5C4B4B4B5C4B5C5C5C48346F9A98985B2C77755A5A5AAA87 + AAAB856AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96979694719EAECB9D9D9DCBCBCBCBCBCB + 89A2AEBD8A418A419CB7B79C895D9C9C9C9B5D9BB5B88C41415DA9C78B7E3E3E + 3F534E87C13C2537B35E5E3C9EC8020202020202020202020202020202020202 + 020202CDCED9E3EEF2F309F4F5F7F7C4C4F7F430803B3E4F514F3E3E543F5F3E + 51615C5C4B4B5C4B4B4B4B4B796958FF9A9A985B2C77755A75AA85AAAAAB852E + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF6E979292937AA1AE458989899DA89D8989B7B7B78C + 8C5D5D5D89CBB7B79CB79C9CB79B9B9B869BAC8A8A339C9A7B673E653F564E87 + C13C255E775E373C3CC8020202020202020202020202020202020202020202CD + CED9E3ECEEF2F309CCF4F5F4F4CCA366533B4F7C51513E3E3B6151514A4B4A4A + 4B4B4A4B4B4B4B642830FFFFA89A985B2C77755A7587AAAB87AB766AFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF499F9FFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFA66E81817F5E9E2D2D2D2D41899A89419CB7B7B7B88AA24C3A + B7B7B7B75D9CACB7B7605D869C9B9BB1B1418CAC8E673E3E3F534E77B33C875E + 5E5E5E3C3CC8020202020202020202020202020202020202020202CDCDCE06E3 + EEF0F2F3F30909CC72804D3E3E3E514F5151513B4F7E3F4A4A4A62624E4E625F + 4A5C5258FFFFFFFF898986472C37995A755E87AABAAB476AFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF389B9BFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF706E949480787A8A8A8AA1A18CAE4189AE080808BDB79C9C899CB7B7B7 + B75D89895D5D868633865D5D5D5D9C868E683E3E3E548D875E3C3C5E5E77875E + 9EC8020202020202020202020202020202020202020202CDCECED9DEE3ECEFF0 + F2F2F395663B3B3B3B4F3E51513E3E51903B4A5F5F625F5F4A4A4A4A522830FF + FFFFFFFFAE9A9A5B2C379985AA5EAA758731852EFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFADA4A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 + 9492708F9EAD8AA0A1BEA18A8CBD9ABB893A5D9CACAC8AAC893A895D9C5D98BB + BB5D5D9B9B86B1B1B18698BF7B673E6553568D875E3C3C5E5E5E5E789EE30202 + 02020202020202020202020202020202CDCDCED6D6D6CF07DFEBEBEBF0F2808D + 503B3B3B3E3E7C673E517C7E614A4E5F5F5F5F4A5F4A52276DFFFFFFFFFFFFFF + A29A985B47779985875E5E877739496AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74707092948D + 3CA0BEB9ADB9A18AB5C1887B7D6B8E8B528B80568D693DAB989898985D5D5D86 + 9B9BA9A9A99BBD9A8E433F53555552875E3C3C5E5E5E5E7825C9C8CDCD020202 + 0202020202020202020202CECED6D607DAE4E0DCE0C5EAC068806650613E3E3E + 3E514F3E517E3E5F4A5F4E5F5F4A4A5F4A626D8BC7FFFFFFFFFFFFFFA29A985B + 5A777785875E5E875E49856AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFB9A39FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72949494708D9EB4B4AD + 9EB9A1B8B16D95A3807F805655803F535365558F8B7D3C32983A3A3A3A5D5D5D + 5D9CBBBF34685553665563495E3C3C5E773C875E9E3A3A85C9C8D902CD020202 + 0202020202CDCED6D607E1E0C5D7C7CACACA8B93553E5F5F3E3E3E517E4F3B7E + 7C3F4A4A5F5F625F5F4A5F632755C3C7FFFFFFFFFFFFFFFFA29A985B4977492C + 775E5E875E49496BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 + DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7292706E928FADB4B47A42B4BEB8 + 405871285555556666504D55505055558F8D8D697DAD335B9A389A9CB7899CA8 + 8E433F3E3F664B855E3C3C5E2C3C7A4978983A9D3A3AA9CAD3D6020202020202 + CDCED607E1DCD5D7C77549404C98346650615F4D503F4F7C3E3E90515F4A5F62 + 4E5F5F5F4E4A2228B6EAD7C7FFFFFFFFFFFFFFFFA29A5D5B605E855A755E5E87 + 5E497644FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68A2A5FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF7294706E708DADB444ADB4B4B9AE44FFFFC0 + B67F8F6F8F3F3F6166556666505066668D9F668B7BB086BBAC5D899869543E3E + 3F5563495E3C3C5E2C255E877838989C38383A9D3AA975C5CFCECD02CED607DC + D5D7D7D7C72C219DE2AB554E4E4E664D4E3F3E3F677E614A5F5F4E4E625F5F5F + 62278FEEE1D5D7FFFFFFFFFFFFFFFFFFA29A98383378495A855E5E8787AB7642 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D8D92FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF7470706E708BB4B4B9B4B4ADB42A2EFFFFD2E7EFEEEF + B6666D524E66559F6650538F663B509F668D8B7B7978989852673E3E53557B49 + 5E3C5E5E253C785E3C985D389A989838383A3A3A9AC7D7D0D6D6DBD5D5E0E0E4 + C99AE5E29A8B4D5F4D554E5F3F4D4D6767504A5F4E624E4E625F4A7B27B6E3DA + DCD7C7FFFFFFFFFFFFFFFFFFB79A5D5B3339A985AA87878787857640FFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF7470706EAF8B44B944B944423D2D46FFFF03E7ECCE02CDE6F159 + 308F6963628B8B8B8B668D8D8B8B8B2752527B7766513E3E55558E783C3C3C5E + 2C25495E78869C5D9A9A98989A9A9A9AA8E2E2E2BFC7D7D4DFD6CFD7E2EDEDE2 + BA555F5F4A5F5F3B3B61674D4A62624A62624A4A4E623466EED6DFE0D7C7FFFF + FFFFFFFFFFFFFFFFAE9A9A5D8647A9ABABAB85AAAA76393CFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB29697FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF96967091946B42B9A7B96A6AA15D46FFFFD1EBE8D9CD0202EF0101F72974 + 588E7D8E5252634B6352637B635252525565533E3F537B5E3C3C7A7A2C3CAA87 + 5E869B8686475B985B9AA89AA89AA83A9DE5E2E2BFC7BFE5E5EDE2A852665F5F + 4A614A4A6165624B63626262624A4B4A6327B6E8D6E7E4D5D7C7FFFFFFFFFFFF + FFFFFFFFA29A9A985D984785AB858587AA858540FFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9770 + 9191706BBE44BEA76AB4B88C46FF03D1EBE8CECD0202EFFA010101FA0B0F309F + 5234346434637B797B7B344B55A3803F3E567B783C9EB3B3785EAA49785B385B + 5B4747385B5B9AA8A8A8A89A3A9DE2E2E5EDEDEDE5E2E277665F5F4A5F4A4A4D + 4D4A4B4B637B4B4B62627B348FEED9CFE7E4D5D7C7FFFFFFFFFFFFFFFFFFFFFF + 41899A98983898B1ABA9ABAAAB85A97AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF6465A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96966E91707D + B944B9B97DB4A4B746FF03D1ECE8CECD0202EFFA010101FAFD0E12E8E6EFB68B + 346B6A88797B797B8056533F50807B493C609EB34987493C7886385B385B9898 + 475B5B98989AA8A8899D9DE2E5EDE5E5E2E2A8694D624E624A9F50625C5C4B5C + 7B4B4B634B64349FE8D6E3E7DBD5D7C7FFFFFFFFFFFFFFFFFFFFFFFFAEA89A9A + 383898A98585AB85AB85AA26FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFA49B9BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF966E916E946BB944B444 + 7D6ABEA246FF03D1ECDECECD0202EF01010101010F0EF6CF020202D8E9EEC06D + 6B5E887980563F5555807B493C3C7AB376853C783C3238385B3838985B475B5B + 38989A9A89899DE2E5E5E5EDE5E2AD665F4D4E4B624E4B5C5C4B7B797B634B7B + 6427C0DEE3EBE1DCD5D7FFFFFFFFFFFFFFFFFFFFFFFFFFFFA29A9A5D3A389885 + ABAB85AB85ABAA3DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A + 9895FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96969494946AB944B4B96A6AA4A2 + 8EFF03DAECDECE020202EF01010101010F12F6D002020202020202CCC4292B69 + 8080535380807B493C3C9EB3787887495E3C39865B985B98985B5B9886865D98 + 5D89899DA8E2EDE5E2A8694E4D4E8B63634B5C4B485C4B4B5C5C5C6A66EEECEB + EBE0D4D5D7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA29D985D3A9A9885AB85ABAA + ABAB4940FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E679AFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF96709494927DBEB444B4B9B9A157B2FFD2DA + E806CD020202EFFA010101FA0F0EF6CF02020202020202F3010101203080653F + 53557B873C9EB3B34976AAAA87647B793D4931989A9A98985B5D989A5D98899A + 9DE2E5E5E2A0555F4A4E63634B4B4B4B5C4B4B4B4B7B52C0EBE1DBD4D4D4D5FF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA49A9C3A3A3838B1ABAAABABBAAB4926 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF967092706C3442B444B47D6ABEA7B2FFD2DAEC06CD02 + 0202EFFA010101FA0F12F6D002020202020204F1010101FB748F533E3F5564AB + 3C607A787649AA85B07B637B7B7B796488AB5BBF9A989898B18A8C8989E2EDE5 + A869664A4A4B7B635C5C4B4B4B4B4B797B8BEAD1030303D4D4FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFF57A89C5D3A3A38A9ABAAAB85ABAB7826FFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B9DA0FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF967094706C3D4444B4446A6ABE57B2FFD2DAEC06CE020202EF01 + 010101010F12F6CF02020202020202F1010101017455533F808088785EB1605E + 5E4985AB796363634B626363636363648885BFBF98864CB7B7A8E5E5AD8F9F4A + 4B63524B4B4B6363634B3D2872FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFA49D9C9C3A3A38B176AAABABABAB7826FFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9A39FFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF967092928364B96A44B4B9B9A157B2FFD2DFECDECD020202EF0101010101 + 0F0EF6D002020202020202F1FA0101F984553F53558088873C787ABC7849395E + 79634B4B4B4A4B4A4B63638B8B63637B7A864C5DB7A8E5E269665F6263634B4B + 4B634B4B4B792FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFF579D9C5D3A3A3833B1AAABAB85857626FFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF439797FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF70 + 6C92956442B47DB444B9BEA48BFFD2DFECDECE020202EFFA010101010F12F6D0 + 02020202020202F3FA01012058555050555688783C7AB3BC609E8749648D7B5C + 5C4B4A4A4A4A4B626263634E628B527B7776A8A08D7B7B637B7B7B7B7B647D5E + 2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + 57A89C5D3A3A3A783949494987ABA93CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70709492933D + 44446A3DB4B4B9A48BFFD2DFEC06CE020202EFFA010101FA0F12F6CF02020202 + 020202090101FA2058805555558078397A3CAD9E9E785E328EE96C3080527B5C + 5C63626262625F5F9F8B6363637B648A76B176865B5B865B869A89A7FFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7A89C5D + 5D3A3849392C495E87ABA93CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF3A9491FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70946C6C802644444242 + 44B4BE57C2FFD2DAECDECD020202EF01010101010F0EF6D002020202020202F4 + 010101205856563F53567A789E7AB33C603C3C2DB204F1732929732B2834247B + 7B626263637B7737794B345BA8A8E2A8A8E2A89DA8AE1C19FFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2EA89C5D5D3A3A39 + 39494987AB85A960FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B + 9DA0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF706C6C6C933CB96A6A426AB4B9A7 + FFFFD1DAE806CD020202EF01010101010F12F6D0020202020202EF0A010101F8 + 587F3F5353687A76787A9E789E789E4C63DD0402EFF1EFA6CC73838F52343D3D + 3D8777794B4B4B85893A3A3A9D9D9DE257111417FFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2EA89C5D5D5D9860392CAA87 + 8585A960FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF926C82836F8AA1B46AAD42B4B9A7FFFFD1DA + ECDECD020202EFFA010101010F12F6CF02020202CEDEF401010101F8847F6565 + 687F3C767A7AB3BC789E873CB2DD02CD0202020202EFE6DDE9EEC0647A78887B + 62624B5A8989898989893AA411101417FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46A89B9B985D9B3C7839AA87ABAAAA60 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF6C6C83436960B8B944AD44B4BEA7FFFFD2DAECDDCE02 + 0202EFFA010101FAFD0EF6DAD6CECEEBF0590B010101FAC495683F3F687F7876 + 3CB3B3609E3C7739C3D8CD0202CD0202020202050402CD05EE637B624E4E6275 + 5D98985D5D5D5D2A10101019FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFF46A89B869B8676788785AAAA7678AB39FFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41A0A0FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFF7482826843698AA1A0B4ADB444B9A7FFFFD2D1ECE8CECD0202EF01 + 01010101FB0F1246F62E0C120D0FFD01010101C4837F3F56687F78A9787A7ABC + 7878B03CC302CDCD02020202020202CDCD0204D802C08E5050504E75A9A98686 + 8638982A10101419FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFF46A89B86A9A9477678858787AB78B139FFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9DA09EFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF7482A37F836B8AA1BEADB4B444BEA7FFFF03D1EBE9D8CD0202EF0101010101 + 01FC0F0D0E0E0E0D0FFCFA01010101C4585365677E567847787ABA9E609E3C2D + C3CDCDCDCDCDCDCD0202CDCDCD02020202B6663B4F568FAB869BB1AC9B86982A + 10101419FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFF35BB8A606049498585AB87AD873C3C31FFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF499F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF308283 + 68716BA28AA1AD6AB444A0B9FFFFFFD1EBEC06CD0202EFFA010101010101FAFC + FDFDFDFDFB010101010101F7435467677E689E76397A9E789E9E5E8AC304D9CE + D9CECECECECECDCDCDCD020204B65365656880AB86869B6086865D2D10101419 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + 46867A887777778585AA877AB37A78472BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72829568806BA2 + 2D8AB842B4B9BEA7FFFFFFD2DFEEDDCECD02EFFA010101010101010101010101 + 010101010101F9F5687C7E689068B5A9608AB8A1A18A87B5C3E9E8E8E8DEDE06 + D9D9CECECDCDCD02D8B666563E3E508586A939394733765710101019FFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35858877 + 9977994985875E87875E49982BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72829568436AAEA1B9A7BE + B9B9BE2EFFFFFFD2D0EEE8D9CD02EF01010101010101010101010101010101FA + 0101CCF1A3F27E68907EBC86B1608AA18A9EAA4C9FEFEEEEEEEEECECE8DE06D9 + CECECD02D8B6557F3E3F6675867660397660762A11101419FFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2FAA7B7979777987 + 49875E5E775EAA5B2BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 + DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848383564342A4B8B9A7A4A0A0A4A7 + FFFFFF03D1EBE9DDCD02EF0101010101010101010101010101010AF5CCEF04EE + 827E7E68907EB1A9B19BA18A603C874CC2F2F2F0F2F0F0F0EEEEEBDE06CECE02 + D8B655533E506685767660397660B12A11101019FFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F997B5C5C5C5C5EAA875E5E + 5E5E77472BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A9E9CFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFF8468835680B957A1B9BEB8A1BEA12EFFFFFFFF + D2E7EEDECE02E6F1F1F1F1F1F1F1F1F1F1F1F1F1F1EFEFDD020202EF83F27E68 + 8182AB866060B58A8A9E5EAC58090909AFF3F3F2F0F0EEECE3DED9CED8B64E66 + 3E50668533765E3C7833325710101419FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5879624BB24B4B874949775EAD7AC139 + 36FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF319B99FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFF848271688F42A2B8BEBEBEA1B4BE2EFFFFFFFFD2D1ECE9 + D9CD020202020202020202020202020202020202020202EE827E7E828195B5A9 + 608AB59B8A3C879B2BF5F4F4F4CCCC09AFF2F0F0EBE8DECEDDB64E8D613F66AB + 86393C5E6060861C10101019FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFF584B62B24B4BB24949495EADADADADAC2BFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFF5868717F5542AEA1A1A1A1A4A18C35FFFFFFFFD2D1EBEEDDCE0202 + 02020202020202020202020202020202020202EF83F27E829182B186608A9B5D + B5B1395B30F8F7F7F7F5F5F4CC09F3F2F0EBEB06DDB6629F50538FAB86765E3C + 3939321C10101419FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFF8F4B5F4AB24BB288878777AD5EADC19B36FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF5868A3806FB9A2A1A1A1A1A1A08C36FFFFFFFFFFD2DAEEE905CD0202020202 + 020202020202020202020202020202EF827E906C919076B160AC9B9BAC9B765B + 59FAF8F80AC4C4F7F5F4CC84F2F0EEE3DEB6628D3E658F7533393C5E8760321C + 11101019FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFF8D4B5F5FB263B2888787775E5EADC19B36FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF586883 + 5680B957A2A1A1BEA1BE8C36FFFFFFFFFF03D1EBECDE04CD0202020202020202 + 0202020202020202020202EF687E906CA58286B5604C9B9B9E60AA985901F9F9 + F9F9F8F8F7F7F4CCAFF2EEEBE6B64E663E3E8FAB33393C5E875E331C11101419 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + 80635F4AB24BB24949497A777AADC18636FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF714371936FB9A4 + 2D2DBE2AA0BEA435FFFFFFFFFFFFD1D1EEE9D9CDCD0202020202020202020202 + 020202020202CDEF82829090A568A9BDBDB8B1B19E8C39B15901FAFAFAF9F9FB + F8C4F7F409F3F0EEE8B64E663F3F50AA86333C5E3C3C331C11101019FFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F625F4A + B2B24B77AA49B37AB3ADC1602FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF934368936FB9A42D2DBEA1 + A1A1A12EFFFFFFFFFFFF03D1E7EEDDD8CD020202020202020202020202020202 + 020202EF82906C81A56798BD4CB89BA99B9C78325901FAFAF9F9F9F9F8C4F7F5 + CCF3F2EEE8B64E503F554DAB76763C5E785E331C11111419FFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF934A4A62C3634B77 + 77877AADB3ADAD7635FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 + 6AA0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8043827169BEA42D2DBE2DB8BE572E + FFFFFFFFFFFFFF03D1ECEC0604CD0202020202020202020202020202020202EF + 906C6C81A55498AC8A8AA9B19B8A3C3259FAF9F9F9F9FBF80AC4F7F4CCF3F0EE + E9B64E50533F667676763C3C5E7A2D1C11111517FFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3625F62B2B24A777777885E + ADADC16035FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBDA09EFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFF934382716DA1A42DA4BE2AA1BEA135FFFFFFFF + FFFFFFFFD1DAEEE9D9CDCD020202020202020202020202020202CDEF6C908181 + 6E7F868AA18C9BA9B58A603859F90A0AF8C4C4C4F7F5F4CC09F2F0ECE8B64E50 + 3F55667676763C3C5E7A231C11111419FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3625F4AB2B24B7999778887ADB3C160 + 35FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83A5ABFFFFFFFFFFFF + FFFFFFFFFFFFFFFF30804382716D60A441A1BEA1A1BEA435FFFFFFFFFFFFFFFF + D2D1E7EEE906CDCD0202020202020202020202020202CDEF81818181A68086A1 + A1BDA9A9B18C608CF4C4F7F5F5F5F5F4F4F409AFF2F0EEE8DDC04E4D50536676 + 7676605E5E5E601511111419FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFA3625F62B24A4A5C99775E7A88ADAD6035FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFF + FFFFFFFF30934382836D8AA42D8ABEA4A1B9A12FFFFFFFFFFFFFFFFFFF03D1E7 + EEE606CDCD0202020202020202020202020202EF6C818181A680868C8A8A86A9 + B1ACB5AC30F4F4F4F4CCCC0909AFF3F2F0EEECDED9C04E663F3F4E85B1A9393C + 7787231C11111419FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFF83625F5FB2625F799977885E5EADAD7846FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFF + 30934382956DB8A42DA1A4A1B8B9A42FFFFFFFFFFFFFFFFFFFFF03D1EBEEE606 + CDCD02020202020202020202020202EF9281919196559B9B8CB89BB1B1BB9BAC + 9D573558AFF3F3F3F2F0F0EFEEE8DED9D9C04E663F3F4D85A986603C77872314 + 11101417FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFF95625F5FB2625F79777788875EADAD6035FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF6465A4FFFFFFFFFFFFFFFFFFFFFFFFFFFF2B938382 + 95693CA42D8ABEA2B8A1A2FFFFFFFFFFFFFFFFFFFFFFFFD2D1EBEEE9DDCECD02 + 02020202020202020202CDEF908191A59666338C8C8A9BA9B1BB9BAC9A9CBB9C + B86A8DC2F0EFE9E8E8DE06CE06C05550503F5F85A9A9603C7787231411111417 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + 95625F5FB24A5F7988887A875EADAD3946FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF839A9BFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B43828295698A8A + 2DA1A1BEBEB9A4FFFFFFFFFFFFFFFFFFFFFFFFFFD2D1EBEEE9DDD8CDCD020202 + 0202020202DDEE9094818192A555AC8C8C8A86B1869BAC5D98BBB5B1B18989CB + A08EC3ECDE060607E89F554D3B534EA986A933495E9E2314111114FFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF844E5F5F + 4A4A5F6488885E87785EB37846FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF8DA7AFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58438382846BB8A1A1A1A1BE + BE4257FFFFFFFFFFFFFFFFFFFFFFFFFFFFD2D1E7EEECDDD9CDCE020202020202 + DDF1969491949281A58DACB5BD8A9B86B186BB5D895D9CBBBB9B9B865D9C45BD + 64C3C6EEEBC28D5F3F658D76A986253C3C601E14131114FFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF844E4D4D4A4A4E64 + 5EAD7AADADB3C1BC6BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 + DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFF58A3827E846BB8A1A1A1A1BEA1A02AFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF03D1DFEEEEE8DDD804CDCD02CDEF9597A692 + 81819294A58BA9B5B186869B86A99B89893AAC8A9B5D5D5D5D9B8C41B79D45BE + B2804E5F613F8B76B176393C25261A14111118FFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848B4D9F5F4A4E88AA87ADAD + 9EBAC1B52EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFF + FFFFFFFFFFFFFFFFFFFFFFFF58836C6C847DAEA1A1A1A1A1A1A1A7FFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFD2D1D1EBEEECE8DDD902D8F2AFA5A69481909181F3 + A552B1B1A98686869B5D865D89895D9B9B5D3A32603886B19BB1BB5D988D6662 + 4D508BA9A986393C3C231A15111116FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF9F4D61615F4DB347AA773C78BCC160 + 2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFF + FFFFFFFFFFFFFFFF58826C6C846A8CA1A1A1A1BEBEA144FFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFF03D1DAEBEEECDEEEF296A6A5A5A591818192929162BCB5 + B19B9B5D5D5D9C5D5D5D5D9B9B869B9B32865B868686865B854E4D4E5F538BA9 + B18676493C231A14131016FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFF50619F9F5F4D77A9875EAD7AB3C1AB2EFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF439391FFFFFFFFFFFFFFFFFFFF + FFFFFFFF71956C92956A8CB8A2A2A1A4BEA144FFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFD2D2D1DAEEF29697969470A6A5818181816C944BBFBCBC8A9B9C + AEB79C5D5D5D5D9BB19B86B1865D9B9B9B5D5D5B5A4D4E624D6563A9B1A97631 + 3C261A15131016FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFF9F3B509F5F9F7785783CAD3CB3C19E2EFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFF + 836C6C9484B48CBEBEA4BEBEBEA144FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFD1C6F297A6A5949696A5A58181818191944EB3AA7660B1869C9CBBBB + 5D5D86B1A95D9BB1BBBB9B8A8C4C9B5B5A665F624D538E47A99BB15E3C251A15 + 131519FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFF9F619F9F615088AA8778AD3CB3C1B544FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFF84826C94 + 6C428CA1BEA1BE57BEA044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + C27297A6A5A591A5A5A56E81818191946853808F8B7B88AB4798865D9A5D8686 + B1B186B1B15D9BAC4CBDBB32314E4E4E50536347A986608749231A15131519A7 + 46FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF663B505F616677AA875EAD3CB3C1B544FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFF586C6C9495428CA1 + A1BEBEBEBEA144FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72979797A5 + 9670916E91A56E81816E9051555353557F7F8F6F8D7B7A9B9A388686B19B869B + 9B869B9B86B1A95D5B8B8D4E4D505231B1B18676393318151314195D3A2DA2A7 + 35FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF553B9F + C05F9F64878778AD3CB3C1BC2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF84A1A6FFFFFFFFFFFFFFFFFFFFFFFFFFFF826C929484A0B8A12DA1A1B9 + BEB8A7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF729797A6A6A5A5949494 + A597A6A5917E655353568053803F567F80935650627B778531B176B1A9B19B86 + 9B9B08869B699F5F3F508B76B1A976AB78231815131417985D5DAC9B989EA046 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF664D9F9F616179 + BABA9E60607A9E876BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 + 9C9DFFFFFFFFFFFFFFFFFFFFFFFFFFFF82929491952ABEA12DA1A1BEBE4C2EFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74AF9697A6A6A5A5948192A5A5979794 + 6750807F55557FA3543F3E3F3E3E56685655664E634899ABA94731769B9B86A9 + 7869665F613F8E47A9B1AB784923181113181BBB5D5D868686ABAB864CB94436 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF554D5F9F614D77ABC1ADB3 + 60B37A876BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFF + FFFFFFFFFFFFFFFFFFFFFFFF6C94707083A4BEBEA1A1A1A1B8B746FFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFAF92A6A696A6A6A59494AFA5A5A697968268824343 + 807F7F507F5653513E3E6554509F9F4E4E5F4D8B7B998531315B76A9858B665F + 61548BA9B1A9A985391E181311161B9C5D5D869BB1ABABAB789B9B5D8AA74630 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF803B5F615F4E8887AD9EADBCC1C187 + 6BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFF + FFFFFFFFFFFFFFFF6C92AF6E83A1BEBEA1A1A1A1A4B735FFFFFFFFFFFFFFFFFF + FFFFFFFFFF745892A56EA5A6A6A59494AF94A59797AF8492AF6C926C82676868 + 8F937F66533E3B3B3B615F5F4D4D625F4D66624B79757685858E9F5F3B546385 + B1A97639761E181111163A5D5D869BA9A985ABABABABB1765B473978426B35FF + FFFFFFFFFFFFFFFFFFFFFFFFFF533E61614D637878BCB3C1C1C1C1876BFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A9599FFFFFFFFFFFFFFFFFFFF + FFFFFFFF8194A59671B8A2A1A2B8BEA4A19C35FFFFFFFFFFFFFFFFFFFFFFFFFF + 58958497969797A6A59494A5929497A69295AF849592926C81906C83582FFF2F + 2F433F6161615F4D5F9F9F5F5F5F5F4A628B8B7977524E615050638576A985AB + 391A141310163A5D5D324747A98686B186A976AB7685ABABBCBA9EA06A342BFF + FFFFFFFFFFFFFFFFFF565061614D775BB1ABB3C1BCBAC1876AFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89A3A9FFFFFFFFFFFFFFFFFFFFFFFFFFFF + 8170A5A5932D8AA1A2B8A1A4A14136FFFFFFFFFFFFFFFFFFFFFF747182947097 + A697A6A5A5AF9494A597AF92926C8495956C90826C6C7172FFFFFFFFFF151335 + 286F554D5F5F5F5F5F5F615F5F624B637B8B9F5F3B538E85A9B185763C1A1413 + 151938385B5B4747765D9B5D9B869B8686B1B1B1B1AB4949395EAD6A6D35FFFF + FFFFFFFFFF8061616162A99860B1C1C1BCBCC1B36AFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF429892FFFFFFFFFFFFFFFFFFFFFFFFFFFF8170A596 + 802DA2A1A2B8A2A2A28936FFFFFFFFFFFFFFFFFFFF8483836C9294A6A6A69694 + 919492A6A69292AF926C9583A3909095715874FFFFFFFFFFFF16151311111135 + 288F66528D4E5F5F5F4A63634B4E9F5F9F508B47A9B1AB76251A15131419985B + 9898474747868686869B86869B3232325B31393978BA75BAB3A0A02E3535FFFF + FF665F6150B0989B8AB5C1C1BCABBA876AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFF749470706E8041A2A1 + A2B8A2A2A2412BFFFFFFFFFFFFFFFFFF589592826C969797A6A6A59492A59794 + 926C6C9583836868A3A3A36F58FFFFFFFFFFFFFFFFFF181111101010151C4630 + 6F274E5F4A4E62624B629F616553525AB1A9AB39331A1113141B985B325B4747 + 47474747478686869B312C2C3185ABA9BABA855A8587BA789EADB435584E5F5F + 5C9A895DB59BB5BABCABBAB342FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF3F879CFFFFFFFFFFFFFFFFFFFFFFFFFF74916E6E6E802DA2A4A28CA2AE + 8C8936FFFFFFFFFFFFFF74586C92929291A6A59696A5A591A5A5946C6C958371 + 835467A383807174FFFFFFFFFFFFFFFFFFFF181411101010141717FFFFFF8383 + 8F524E634B4E4D503E658B47B1B1AB39231811111623775A4747474747474747 + 4776A986B1A97685AB85AA855A858549AB858585ABBAB3608537487B75389A5D + B59B08B5B5BCBCB342FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B + 9698FFFFFFFFFFFFFFFFFFFFFFFFFF749191A56E6D8CA2AEA2A2A2AEA28936FF + FFFFFFFFFF30586C819092AF91A5A5A6A6A5A5A6A5F36C6C838393A3836868A3 + 8F2FFFFFFFFFFFFFFFFFFFFFFFFFFF1811111010101417FFFFFFFFFFFF74716F + 8D5F66669F3B5F5AA9A976331E18131116244A4B4B99872C854747475B86B1B1 + A9868676768585858585855A85BAB3BCBCC1B3885E3C5E875E78769BB5A99BBB + BDB8A160A1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFF + FFFFFFFFFFFFFFFFFFFFFF729191A56E6989AEA2A1A2A2B8B8892BFFFFFFFFFF + 2B958482929296AF92A5A6A5A697A5926C6C6C95A3A3A3A3A3A3806F30FFFFFF + FFFFFFFFFFFFFFFFFFFFFF181411101010101917FFFFFFFFFFFFFFFF29804E50 + 3F4F5F5A607685261A14131016246363638B637B79778547474747A976474747 + 4776765A85855A8585ABAB87BAAB87AD885E5E5E5E3C3C9B9B9BACBBAC8AB83C + 8AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF469694FFFFFFFFFFFF + FFFFFFFFFFFFFF7291A56E968EAEA2A2A2AEA4B8B8A4FFFFFFFF7283AF92956C + 929484AF969494A697AF9595958383687FA3A3A3A36D2FFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFF1810111010101419FFFFFFFFFFFFFFFFFF28663F3E659F5A + 5E7878261A1413141B5263634B4B63634B63637B7987494747314747474776A9 + A9A97685AA8785875E877AAD7A5E87785E3C8786869B9BBBBDACAC608AFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFF + FFFFFF727091A6976BB8A2A2A28CA1B8BEA4FFFFFF5884929082826C92956C92 + AF969796AF8295958343A37FA3A3936F6D30FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFF1811111010101917FFFFFFFFFFFFFFFF284D503E518BA95E492523 + 1A1513141E4B4B634A4B4B634B4B634B63637979775E2C2C314747B1B186A9A9 + A9B1AB85AA4987BA875E493C4976789B869B5D9BBBBDBB9B4CFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8BA2A7FFFFFFFFFFFFFFFFFFFFFFFFFF84 + 70A596967DAEA2A48C41B8A4B8AC74745884AF6C6C9595959582929196A69684 + 6C958383A3A3A3A37171282FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF1814131110111419FFFFFFFFFFFFFFFF6F4D503E5452B1873C252318111116 + 245C5C5C4B4B4A624B6363634B4B4B4B7B7B7977877749787660B186B1B576AB + AB87ABBA8787785E783160865D9B9BBDBBBD08A94CFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF609B9CFFFFFFFFFFFFFFFFFFFFFFFFFF7270919696 + 64AEAE8CB88AA19C8A8F8495AFAFAF92959583836C6C92A5A6AF958383717193 + 717F93936F3530FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1815 + 111011101617FFFFFFFFFFFFFF8F4D503E518B853160251E18111119FFFF2F69 + 7D645C4B4B634B634B4B5C4B5C5C4B7B7B6479774987ABB1A978B1B178B1A9AB + 85AA49785E78789B9B86BBBDBBBBB5B18CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFF7291A596AFADAEA2A4 + A18A5D6A71AF9270AFAFAF9283A3A3836C9496AF9583A3A393809393806F6F6D + 2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1811111011 + 1419FFFFFFFFFFFFFF8F4D6653658B85763C231A14131519FFFFFFFFFFFF6F34 + 7D77797B7B7B4B4B4B4B4B4B63634B4B5C5C799975ABAAAA877AABAB85AA4931 + 875E789BBBBB9BB1ACBBB5B18CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF3E9699FFFFFFFFFFFFFFFFFFFFFFFFFF72706EA6929EAEA2A14C3235AF + AF70707094AFAF95A3A3A36C94AF9583A3A3806F806F6F6D6F6D692BFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1814111110111619FF + FFFFFFFFFF8F4D6655568BAA393C231A15131419FFFFFFFFFFFFFFFFFF586D34 + 79797B634B4B634B4B634B4B4B634B4B7B5C7949498787ABAA8787873C5E39BB + 9BBDBB0808B508088CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 + DE44FFFFFFFFFFFFFFFFFFFFFFFFFFAF70A6A584B3AEA489258397969696AF95 + AFAF6C7FA38295AF95719393936F6F6F6D6D6D6D6936FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1815131111101617FFFFFFFF + FF55506650658B39603C1E181111181BFFFFFFFFFFFFFFFFFFFFFFFFFF2F8D63 + 7B7B7B4A4A4B4B634B4BB2B263634B5C5C5C77BAAA5E87873C9EACBBBBB50808 + 089B98604CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84A1A6FFFF + FFFFFFFFFFFFFFFFFFFFFFAF7070A5849EAE896A9697A69696AFAF92AF95A395 + 839584716F6F6F8F6D6D6F6D6D6D696B2BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18101311111419FFFFFFFFFF555066 + 5365638AA12A1E181311191CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B2F6934 + 7B4B4A624B62634B63634B63634B7B7B7B79775E5E87399C5D9BB5080808A960 + 8CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B9698FFFFFFFFFFFF + FFFFFFFFFFFFFFAF70709684869B35739791A696707096AF9583839595716F6D + 6F8F698F6D6D8D8D6D6B35FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF18111311111619FFFFFFFF55506653548B8A + 3C2D1A141314192EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF362E697B + 4B635C4B4B636363B2B263636262634B5C79B0985B5BBBBB08BDB5B8A2FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFF + FFFFFFAF709696713C8473A66EA6A6917096948395959595716D6D69696D6969 + 696D6D6D692BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF1818111113101617FFFFFF55508D50548E8A2D231815 + 13141B2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F628B63 + 4B634B4B624A634A4B4B4A6262628BB25C77879B5DBBBD8A8CFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF309492FFFFFFFFFFFFFFFFFFFFFFFFFFAF + 7094AF92AF73A66EA66EA697946C6C959595956D466D6D6B6D6D6D69696D6B35 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF18141313111416FFFFFF55666650658B4C2D1E181111162146 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72555366624A4B4B + 4E624A6262624E4A4B624D9F9F9F8D8E7B3D393938FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFAF707096A6 + 979797A6979797966C926C6C95936D6D6D6D6D698E696D356D692FFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFF18141113111819FFFF7F4D6666658E4C2D1A141315194146FFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D8F654F7C907E4F4D4A4E624E + 5F626362664D4E66508B4D3F53808D342EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFF949696979797979797 + 96A696AFAFAF9595936D6D6D6D6D6D8D6D6D6F6D35FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF18151313111617FF7F506650658B4123181513141BB82EFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFF6F805054517C7C81907E7E4F653E4D4D4E4E8D + 4E4E4E4E4E4E4E614D668F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF6F9B9DFFFFFFFFFFFFFFFFFFFFFFFFFF969797A6979797969796AF96AF + AFAF95936F6D6D6D6F8F6F8F6F6D352BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1815 + 131315161C8B3F6666658B5D1E18111116218A46FFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF586D665365517E908190907C51517C7C7C513E3F9F66505F5F + 4D3B3B5F5228FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 + DE44FFFFFFFFFFFFFFFFFFFFFFFFFF979797979797979796AF9496AFAF956F6F + 6F6F6F6F8F6F8F6F6D2F30FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1815131315 + 16243B66506563211B141315198A8A46FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF6F8F505065677E7E90818181907C81817E514F3E65506655663B3E3F6628 + 84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89A5ACFFFF + FFFFFFFFFFFFFFFFFFFFFF969797979797A6AFAFAFAFA6849393936F6F93936F + 6F6F9393692BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18151313181A3450 + 5554633A191513181BADB846FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF588F5555 + 553F677C677C90818181818181903E3E6565533F6653503B662758FFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFF + FFFFFFFFFFFFFF979797A6A696AFAFAFA6A6959393936F6F6F936F6F6F937169 + A0A2A74646FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18151211181A345065791B + 161010192D9E8A46FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF807F7F503F3E655167 + 7C819181908181817C3E3E3E65808055503F506D93FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFF + FFFFFF7397A69696AF969697AF95717193936F6F6F8F6F93716FAD4CA1BEB8A4 + A4A4574635FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18151215181D243423191611141B + B3B38A46FFFFFFFFFFFFFFFFFFFFFFFFFF715690513E653E3E51679081918191 + 91817E4F6567673E50503F5356554374FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F9EA3FFFFFFFFFFFFFFFFFFFFFFFFFF73 + 97A696AF9697A695717193939393936F939371716D9EB8A1A4BEA28AA0A0BEB8 + A2A4BE2E36FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18151215181D241E1915101921C1B38A46 + FFFFFFFFFFFFFFFFFFFFFFFF837E817C3F3B65514F7E909191816E6E907C653F + 553F55653E3E3F556F2BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFF9696AF94A6 + 97AF95A3717171939393939371716F6AB8A1A1A1A2A4A13C8AAEA2A2A1A1B88C + BDA2572E3636FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFF18151215181D1A161514197A7A7A8A2EFFFFFFFF + FFFFFFFFFFFF586C907E543F3F3E51517E81916E916E917C3E65546568533F50 + 4F535584FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF8D9097FFFFFFFFFFFFFFFFFFFFFFFFFF707096A697AF837171 + 8371717193936F587146A18CA1A1A1A2A2A2A24C45454545AEA241A2A07A78B1 + BDB8A0A73635FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFF1815121518181411162188B3ADB82EFFFFFFFFFFFFFFFF + 309590907E685556653E7C7C90916E6E91903E3F545354687F5465538058FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFF70969796958383717158939393 + 7193582F6AB7B8A1A4A1A1A2A2A2A2AE45454145A2AEAEAEA28A8AA1A1B8A0A1 + 8CB8B9A735FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFF1D1815121518111519217A7AB3B52EFFFFFFFFFFFFFF8495907C82 + 673F3F3E65517E81916EA590545054545554547F5450667130FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 + DE44FFFFFFFFFFFFFFFFFFFFFFFFFF9696AF68715858587171939371437169A0 + A1B8A2A2A1A1A2A2AEAEA2452D3C8AA1A18A89AEAE454545A2BEA28CB88C8CA4 + BD41A4A73536FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF522218151315181819333C5EADB82EFFFFFFFFFF306C907C7E56553E3E3E51 + 677E90916E906750663F53565456545666552BFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F9EA3FFFF + FFFFFFFFFFFFFFFFFFFFFFAF928383959583937193719393716DADA0B9BEA4A2 + A2A2A2AEB7B7A2AE8C8AA4A2A2AEAEAEAEB7CBB7A2A2B7B7AEAEA2A2A2B8AEB7 + BDAEA4572EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF274D22 + 18151215181A4C7A5E88B32EFFFFFF6C6C819090903E4E503E3E677E90908181 + 67555055555354544F67536F30FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFF + FFFFFFFFFFFFFF587183839595958371719393938D6D6D696B6B6AA0A4AEB8A4 + A2AEA2AEAE8CA2A2AE41AEA2AECBB7B7AEB7B789CBB7AEA1AEB7BDAEA2B88A8C + 8989A4A72EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F3B4E22181513 + 1516213C7887786DFF7258928190907E544D503F5467677E818182664E665055 + 7F565368568F58FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFF302B587171719393718F8D8D698E69692E6B2E6B6AB4A1A4AEAEAE + A2B8A1B8A48CB789CBCBB7B7A2AEAEAEA2CBCBB7B789B7B79CB78AB7B8A1A2B7 + B789A22E2E35FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF553E50281D161512151821 + 3277AA93846C8181907E685150503E5467677E6C7E8F8D8D8D5055553E3E6555 + 71FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFF302B2F2F6D6B693469698E698E69696969466B6B6A4442A4A4A4B8 + A2A14189B7CBCBB7A2AEAEAEAECBCBCBCBCBCBCBCBB79CB78CA1B8B8A18C8ABD + BDAEA2A74635FFFFFFFFFFFFFFFFFFFFFF803F6652331E181512151821754B6C + 6C907C907E54543E3E655668686C68664E668B8F6666555553666F30FFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF2B2F35696B6B6B8E8E8E526B696B6B6B6B6B6A7DB442BEA1B8A2 + A2B7B7B7AEAECBCBAECBCBA2A2CBCBCBCBCBCBCBCBB7B7ACAC9BBDB7BDB8BDB7 + 9CAEAE574635FFFFFFFFFFFFFF66658B784C411B18151215162667827E90907C + 3F56563E51566882827F8D4E668D8D66505053552858FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF599C9EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF2B2F35696B346B6B6B696B6B6B6B6B6B6B6A6B6A6AB9B9BEA4BD + B78C89B7B7B7B7B7AEB7B7B7CBCBCBCBCBB789B79C5DB789898CB79C9BAC9B9C + 9A89CBA4A736FFFFFFA3828EB5BD5D211B1813131518277E829090547FA37F67 + 658282684E628B66668F55505066552FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF2B3546466B6B6B6B7D6B6B6B6B6A6B6B6B6B6AB4B9B9B8B88C + BD9CB7B7B7B79CB7B7B7CBCBB7B7B7B7B79CCB89B7B79C5D9B864CAC5D9C9C89 + 8989CB57577B8E9E89BBB789211A1813131418557E8267657E6C827F7E686652 + 4E8B8B55555555558F6F30FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 + DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF2B356B6B6B6A6B7D7D6A6A446A6B7D7DB46A6AB9B9B9BEA28A + B789B7B7B7B78CAEB7B7B7B7B7B79CBB9C9C9C9CB7BBBDBD9C9C9C9C89899C89 + 9ABF9A3A89899A9C2D211A181313181D4390517C816C827F668B528D8B8D6655 + 5550662830FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF716F356B6B6B7D7D6B7D7D7D7D7D7DB46A7DB4B4B4B9A0A0A1 + 8ABD8C419CBDB79C9C9C5D5D5D9CACBBB7B7B79C895D5D5D5D895D89CB983A3A + 9DE2E289895D381A141311181D7E7E7E9068668D8B698D8B66666655668F58FF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3B07DFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF586F35697D646A347D7D8E7B7D7B7D7D7D7DB4B4B4AD408C8A + AC5D4C5D5D5D5D895D5D5D5D9CBD9C5D5D895D5D5D5D5D9CCB899D9D9DE2E59D + 9D3A5B221A14121516226768558B8B8D8D8D8B665055668D43FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F8663FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFF2F286D6B7D6B6B6B6B8E6B7D6B6B7D6B6B6B7D7DADB43C4C + 41415D9B869B9B5D865D9B5D5D5D5D5D895D5D5D9C893A9D9DE5E5E23AA83455 + 2218151215186D558B8D8D8F8F668D5566668030FFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FA34FFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFF302F6F698E347D8E8E8E696952696B347D6B7D6AB4AD7AAB + B1A99BACAC9B9B5D5D5D5D5D5D9C89BBBBBB3A3A9DE2E5A89D9B803F551F1813 + 13141A8D555555555550558D6D58FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFD8A5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFF72716F696B34698E8B633452638E8E8E63638E7D64649E3C + 8A33869B9BACAC5D5D5D5D5DBBBDB79D9DE2E59D9A697F3E3F551D181311181D + 5550555555668F71FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFCEC6B3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFF586D69698E638B8B8B63528E34527B8E8E7D7D64407A60 + BB9BAC86865D5D9CBDBB9C899DE5E5E2AD935667675522181512151627555566 + 8D93FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF6FA7DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFF35716D69698E8E52528B69698E698E8E8E347D7D647A60 + 604C4C5D5DBD8C419DE2E2A866A382685655271F181113141A8F6D6D30FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 + F46AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF2F2869693434528E8E8E8E8E8E8E8E8E8E7D7D645E60 + 86B1B59C9DE2E56A435455668D6D6D271D141313181D2FFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF375B44FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFF2B5855528E8E8E528B528E8E8E8E8E8E6B6B3442AD3D39 + 899DA87153668D8D698D6666271811131516FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7AC7D5FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF2F6F69525252525252628B8E63525252698E7D603D28 + 286D8F8F66664E27271D18131318FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79ED6DFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF2F6F6D6B8E8E8E528D5263528E8E698E8E7D34698D8F + 8F558052271F1815131516FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB02D6FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF36356D696B638E528B8E635263347D8E8E7D8E273428 + FFFFFF1811131819FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFF5EBB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF2B2F6D697D6434637B348E8E6B7D6A2E2BFFFFFFFF18 + 15131516FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF5FF6D1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF2B352E6A647D7B347D2E2BFFFFFFFFFFFFFF18131318 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFE8F66FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF2B356D4635FFFFFFFFFFFFFFFFFF1815131416FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E + AC5EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18131118FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCEB9C2FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1811131819FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB836B4FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF14131416FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2E27FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF18111516FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3297EFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF1815111819FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFE19C68FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF1815181616FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFE8C7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 + 1818151519FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF101A58FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1814151010 + 19FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 + E08AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18111110101617FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E7F48FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14131010101417FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94AB3FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14111010101417FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB057BFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF14131010101417FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF18111111111417FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF7CB1B8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF181513131118FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF5AE3ABFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + 1811131418FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFF00F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF181818 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 + 4387FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD3F21FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA4632FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA52492FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5C5D5FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFC00011} + OnClick = Image1Click + end +end diff --git a/src/tsplash.h b/src/tsplash.h new file mode 100644 index 0000000..37b698e --- /dev/null +++ b/src/tsplash.h @@ -0,0 +1,33 @@ +//--------------------------------------------------------------------------- + +#ifndef tsplashH +#define tsplashH +//--------------------------------------------------------------------------- +#include +#include +#include +#include +#include +#include +#include +//--------------------------------------------------------------------------- +class TSplash : public TForm +{ +__published: // IDE-managed Components + TImage *Image1; + void __fastcall FormCreate(TObject *Sender); + void __fastcall FormPaint(TObject *Sender); + void __fastcall Image1Click(TObject *Sender); +private: // User declarations + HRGN WindowRgn; + Graphics::TBitmap *ImageMap; + void __fastcall TSplash::GetNextSpan(PByteArray row, int SpanLeft, int *SpanRight, TColor *SpanColor,int y); + TColor __fastcall TSplash::MaskColor(int x,int y); +public: // User declarations + __fastcall TSplash(TComponent* Owner); + bool pressKeyToClose; +}; +//--------------------------------------------------------------------------- +extern PACKAGE TSplash *Splash; +//--------------------------------------------------------------------------- +#endif diff --git a/src/tsplash.~cpp b/src/tsplash.~cpp new file mode 100644 index 0000000..fc331de --- /dev/null +++ b/src/tsplash.~cpp @@ -0,0 +1,88 @@ +//--------------------------------------------------------------------------- + +#include +#include +#define min(a, b) (((a) < (b)) ? (a) : (b)) +#pragma hdrstop + +#include "tsplash.h" +//--------------------------------------------------------------------------- +#pragma package(smart_init) +#pragma resource "*.dfm" +TSplash *Splash; +//--------------------------------------------------------------------------- +__fastcall TSplash::TSplash(TComponent* Owner) + : TForm(Owner) +{ + pressKeyToClose = false; +} +//--------------------------------------------------------------------------- +void __fastcall TSplash::GetNextSpan(PByteArray row, int SpanLeft, int *SpanRight, TColor *SpanColor, int y) +{ + int column; + TColor TempColor; + + column = SpanLeft; + TempColor = MaskColor(SpanLeft,y); + while ( column <= ImageMap->Width && TempColor == MaskColor(column,y) ) column = column + 1;; + + *SpanRight = column - 1; + *SpanColor = TempColor; +} +//--------------------------------------------------------------------------- +TColor __fastcall TSplash::MaskColor(int x,int y) +{ + if ( ImageMap->Canvas->Pixels[x][y] == 0x00FF00FF ) return clFuchsia; else return clBlack; +} +//--------------------------------------------------------------------------- +void __fastcall TSplash::FormCreate(TObject *Sender) +{ + int y; + PByteArray row; + HRGN YRgn; + HRGN SpanRgn; + int SpanLeft; + int SpanRight; + TColor SpanColor; + + Canvas->Brush->Style = bsClear; + ImageMap = Image1->Picture->Bitmap; + WindowRgn = CreateRectRgn(0, 0, 0, 0); + for (y=0;yHeight;y++) { + YRgn = CreateRectRgn(0, y, 0, y); +// row = (PByteArray)ImageMap->ScanLine[y]; + + SpanLeft = 0; + SpanRight = 0; + do { + GetNextSpan(row, SpanLeft, &SpanRight, &SpanColor,y); + if ( SpanColor != clFuchsia ) { + SpanRgn = CreateRectRgn(SpanLeft, y, SpanRight + 1, y + 1); + CombineRgn(YRgn, YRgn, SpanRgn, RGN_OR); + DeleteObject(SpanRgn); + } + SpanLeft = SpanRight + 1; + } while ( SpanRight < (ImageMap->Width-1)); + CombineRgn(WindowRgn, WindowRgn, YRgn, RGN_OR); + DeleteObject(YRgn); + } + SetWindowRgn(Handle,WindowRgn,true); + DeleteObject(WindowRgn); +} +//--------------------------------------------------------------------------- + +void __fastcall TSplash::FormPaint(TObject *Sender) +{ + Canvas->Draw(0, 0, ImageMap); +} +//--------------------------------------------------------------------------- + + + +void __fastcall TSplash::Image1Click(TObject *Sender) +{ + if (pressKeyToClose) Close(); + +} +//--------------------------------------------------------------------------- + diff --git a/src/tsplash.~ddp b/src/tsplash.~ddp new file mode 100644 index 0000000..cdc0ee8 Binary files /dev/null and b/src/tsplash.~ddp differ diff --git a/src/tsplash.~dfm b/src/tsplash.~dfm new file mode 100644 index 0000000..a287c8f --- /dev/null +++ b/src/tsplash.~dfm @@ -0,0 +1,1555 @@ +object Splash: TSplash + Left = 190 + Top = 106 + BorderIcons = [] + BorderStyle = bsNone + Caption = 'Splash' + ClientHeight = 323 + ClientWidth = 185 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [] + FormStyle = fsStayOnTop + OldCreateOrder = False + Position = poScreenCenter + OnCreate = FormCreate + OnPaint = FormPaint + PixelsPerInch = 96 + TextHeight = 13 + object Image1: TImage + Left = 0 + Top = 0 + Width = 185 + Height = 245 + AutoSize = True + Picture.Data = { + 07544269746D617022B80000424D22B80000000000003604000028000000B900 + 0000F50000000100080000000000ECB30000120B0000120B0000000100000000 + 000000000000FFFFFF000000FF000000CC000602FE000A06FD000A06F6000807 + E2001D1C62009695ED00F2F1FE00F4F2E8006E6E6000BABAB700A5A5A200D9D9 + D70039714400427D54007C958400518B6700196739002774470005572A000439 + 1B00056231000548250009534200083C380029585500175B62000E444E002A69 + 7800F3FAFE000F364D0022628800103B5B001C4C780008346700133A6C003361 + 9F00466DA200BBCFE900223C6100758DB100042D6B001A345C003F567B005E7A + A8007E99C4000428640009275C000D2B5D002A4D8B00566C91006C7C99000A30 + 7A00072152000D2B65000B214A00295EC80016326B001B3C79003366CC003464 + C4001E3A6E00172C5400263E6F004B72BE002E457000202F4C004B5F85000421 + 63000A3187000D2C6E001C48AA001A429A00152B5D002B56B7002953AD003567 + D100325EBE003B6AD5002E519D003B66C200406BCC003B63B9004169C3002D3D + 60006683BF00A8B3CC0003226C0006205C00143A91000E22540016327500244E + B400142B64002855C000254BA70025469A00233E82003B67CC00355BB500456E + D4004A71CD00385498002F457A00364E87005E82DD004460A0006C96FB004D68 + AC006C91EE005875BD00819BD90090ABEF008FA5D900092775000C2364001531 + 7C00142C6C001A3686001C337400233F8F00446DDD002D4587004C73DB00486A + C4004665B9005B81ED005678D6005876CA006E89D2000C236C000D215C00142C + 74001D347C0014214B001C2E6300324EA5001C2C5C003955AA00334B9700415D + AE005579E200678BF4006585E500526CB9006A8AEB00627DD2007794EE00829F + F800081A5500102A810009174A0012225C00142254000F193D001B2D6C00304E + B90024336B0023326500222E5A00526DC80026325D007390F8007B98F8003642 + 6C00041042000C1D63001125720012246C0016245C00243577001F2A5500758C + E50015267B0012216300243AA6001D2C74002F3C760018246300344CD0001B23 + 5300232D63002D376D001B267300151D58001B266D001B245C002C336600050F + 5F002C3DCA00222B76004955C2002530B700ECEDFA000811BA001E28D0000307 + 8C000D12DF001016A800181D920020224D00A8ABF4000202FE000202F9000203 + E5000202DC000202D3000202CE000206CA000202CA000202BC000303F0000304 + AA000606FE000606F8000606D9000606D1000606C7000C0CFC000C0CF4000B0B + DB000A0BC6000B0BD500030431000F10EB000E10CA0002021D001213FB001010 + DF001414F0001819F7001418C6001919DF001C1CEC0002020F002627EB003337 + F5004344E6005456FC005B5EE5007575E900C1C1F200D5D5F70049495100E2E2 + F700F4F4FB00FAFAFE00FEFEFE00FAFAFA00F5F5F500EAEAEA0002020200FF00 + FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA8A8A8FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B9DA0FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50A0A2FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF8DC7B2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF010101010101 + 0101FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF6F9B9DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01000000000000000001FF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF47A2A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000000000001FFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A + D1C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000000000001FFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFF010000000000000000000001FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8ABFA7FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFF010000000000000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6EC3BAFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF0101010000000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF0100000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFF8080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFF010101FFFFFFFFFFFFFFFFFFFFFFFFFFFF010000 + 0000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0101010101 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0101010101FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFACA19BFFFFFFFFFFFFFFFF010101010101FFFFFFFFFF010101 + 010101FFFFFFFFFFFFFF010101010101FFFFFFFFFFFF010101010101FFFFFFFF + FFFFFFFFFFFF0101000000010101FFFF0101010101FFFFFFFF01000000000000 + 01FFFFFFFF010101010101FFFFFFFFFFFFFFFFFF01010100000000000101FFFF + FFFFFFFFFFFFFFFFFFFFFF010100000000000101FFFFFFFFFFFFFFFFFFFF0101 + 01010101FFFFFFFFFFFF010101010101FFFFFFFFFFFF010101010101FFFFFFFF + FFFFFF7FAAAEFFFFFFFFFFFFFF0100000000000001FFFFFF0100000000000001 + FFFFFFFFFF0100000000000001FFFFFFFF0100000000000001FFFFFFFFFFFFFF + FF0100000000000000000101000000000001FFFFFF0100000000000001FFFFFF + 0100000000000001FFFFFFFFFFFFFF010000000000000000000001FFFFFFFFFF + FFFFFFFFFF01010000000000000000000101FFFFFFFFFFFFFF01000000000000 + 01FFFFFFFF0100000000000001FFFFFFFF0100000000000001FFFFFFFFFFFF6F + C4BBFFFFFFFFFFFFFF0100000000000001FFFFFF0100000000000001FFFFFFFF + FF0100000000000001FFFFFFFF0100000000000001FFFFFFFFFFFFFF01000000 + 0000000000000001000000000001FFFFFF0100000000000001FFFFFF01000000 + 00000001FFFFFFFFFFFF0100000000000000000000000001FFFFFFFFFFFFFFFF + 010000000000000000000000000001FFFFFFFFFFFF0100000000000001FFFFFF + FF0100000000000001FFFFFFFF0100000000000001FFFFFFFFFFFF99DE44FFFF + FFFFFFFFFF0100000000000001FFFFFF0100000000000001FFFFFFFFFF010000 + 0000000001FFFFFFFF0100000000000001FFFFFFFFFFFF010000000000000000 + 00000000000000000001FFFFFF0100000000000001FFFFFF0100000000000001 + FFFFFFFFFF01000000000000000000000000000001FFFFFFFFFFFF0100000000 + 000000000000000000000001FFFFFFFFFF0100000000000001FFFFFFFF010000 + 0000000001FFFFFFFF0100000000000001FFFFFFFFFFFF8AD1C6FFFFFFFFFFFF + FF0100000000000001FFFFFF0100000000000001FFFFFFFFFF01000000000000 + 01FFFFFFFF0100000000000001FFFFFFFFFF0100000000000000000000000000 + 000000000001FFFFFF0100000000000001FFFFFF0100000000000001FFFFFFFF + 010000000000000000000000000000000001FFFFFFFF01000000000000000000 + 000000000000000001FFFFFFFF0100000000000001FFFFFFFF01000000000000 + 01FFFFFFFF0100000000000001FFFFFFFFFFFF8CA2A4FFFFFFFFFFFFFF010000 + 0000000001FFFFFF0100000000000001FFFFFFFFFF0100000000000001FFFFFF + FF0100000000000001FFFFFFFFFF010000000000000000000000000000000000 + 0001FFFFFF0100000000000001FFFFFF0100000000000001FFFFFFFF01000000 + 0000000000000000000000000001FFFFFFFF0100000000000000000000000000 + 0000000001FFFFFFFF0100000000000001FFFFFFFF0100000000000001FFFFFF + FF0100000000000001FFFFFFFFFFFF55A4A9FFFFFFFFFFFFFF01000000000000 + 01FFFFFF0100000000000001FFFFFFFFFF0100000000000001FFFFFFFF010000 + 0000000001FFFFFFFF010000000000000001010101000000000000000001FFFF + FF0100000000000001FFFFFF0100000000000001FFFFFF010000000000000001 + 0101010000000000000001FFFF01000000000000000001010100000000000000 + 0001FFFFFF0100000000000001FFFFFFFF0100000000000001FFFFFFFF010000 + 0000000001FFFFFFFFFFFF48989DFFFFFFFFFFFFFF0100000000000001FFFFFF + 0100000000000001FFFFFFFFFF0100000000000001FFFFFFFF01000000000000 + 01FFFFFFFF0100000000000001FFFFFFFF010000000000000001FFFFFF010000 + 0000000001FFFFFF0100000000000001FFFFFF0100000000000001FFFFFFFF01 + 00000000000001FFFF010000000000000101FFFFFF010100000000000001FFFF + FF0100000000000001FFFFFFFF0100000000000001FFFFFFFF01000000000000 + 01FFFFFFFFFFFF99DE44FFFFFFFFFFFFFF0100000000000001FFFFFF01000000 + 00000001FFFFFFFFFF0100000000000001FFFFFFFF0100000000000001FFFFFF + FF0100000000000001FFFFFFFFFF0100000000000001FFFFFF01000000000000 + 01FFFFFFFF010101010101FFFFFFFF0100000000000001FFFFFFFF0100000000 + 000001FF010000000000000001FFFFFFFFFF010000000000000001FFFF010000 + 0000000001FFFFFFFF0100000000000001FFFFFFFF0100000000000001FFFFFF + FFFFFFF68080FFFFFFFFFFFFFF0100000000000001FFFFFF0100000000000001 + FFFFFFFFFF0100000000000001FFFFFFFF0100000000000001FFFFFF01000000 + 00000001FFFFFFFFFFFF0100000000000001FFFFFF0100000000000001FFFFFF + FFFFFFFFFFFFFFFFFFFF0100000000000001FFFFFFFFFFFF01000000000001FF + 0100000000000001FFFFFFFFFFFFFF0100000000000001FFFF01000000000000 + 01FFFFFFFF0100000000000001FFFFFFFF0100000000000001FFFFFFFFFFFF3E + 9595FFFFFFFFFFFFFF0100000000000001FFFFFF0100000000000001FFFFFFFF + FF0100000000000001FFFFFFFF0100000000000001FFFFFF0100000000000001 + FFFFFFFFFFFF0100000000000001FFFFFF0100000000000001FFFFFFFFFFFFFF + FFFFFFFFFFFF0100000000000001FFFFFFFFFFFFFF0101010101FFFF01000000 + 00000001FFFFFFFFFFFFFF0100000000000001FFFF0100000000000001FFFFFF + FF0100000000000001FFFFFFFF0100000000000001FFFFFFFFFFFF40A1A3FFFF + FFFFFFFFFF0100000000000001FFFFFF0100000000000001FFFFFFFFFF010000 + 0000000001FFFFFFFF0100000000000001FFFFFF0100000000000001FFFFFFFF + FFFF0100000000000001FFFFFF0100000000000001FFFFFFFFFFFFFFFFFFFFFF + FFFF0100000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000001 + FFFFFFFFFFFFFF0100000000000001FFFF0100000000000001FFFFFFFF010000 + 0000000001FFFFFFFF0100000000000001FFFFFFFFFFFF8AD1C6FFFFFFFFFFFF + FF0100000000000001FFFFFF0100000000000001FFFFFFFFFF01000000000000 + 01FFFFFFFF0100000000000001FFFFFF0100000000000001FFFFFFFFFFFFFF01 + 000000000001FFFFFF0100000000000001FFFFFFFFFFFFFFFFFFFFFFFFFF0100 + 000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000001FFFFFFFF + FFFFFF0100000000000001FFFF0100000000000001FFFFFFFF01000000000000 + 01FFFFFFFF0100000000000001FFFFFFFFFFFF99DE44FFFFFFFFFFFFFF010000 + 0000000001FFFFFF0100000000000001FFFFFFFFFF0100000000000001FFFFFF + FF0100000000000001FFFFFF0100000000000001FFFFFFFFFFFFFF0100000000 + 0001FFFFFF0100000000000001FFFFFFFFFFFFFFFFFFFFFFFFFF010000000000 + 0001FFFFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000001FFFFFFFFFFFFFF01 + 00000000000001FFFF0100000000000001FFFFFFFF0100000000000001FFFFFF + FF0100000000000001FFFFFFFFFFFF93A9AEFFFFFFFFFFFFFF01000000000000 + 01FFFFFF0100000000000001FFFFFFFFFF0100000000000001FFFFFFFF010000 + 0000000001FFFFFF0100000000000001FFFFFFFFFFFF0100000000000001FFFF + FF0100000000000001FFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000001FFFF + FFFFFFFFFFFFFFFFFFFFFFFF0100000000000001FFFFFFFFFFFFFF0100000000 + 000001FFFF0100000000000001FFFFFFFF0100000000000001FFFFFFFF010000 + 0000000001FFFFFFFFFFFF41999BFFFFFFFFFFFFFF0100000000000001FFFFFF + 0100000000000001FFFFFFFFFF0100000000000001FFFFFFFF01000000000000 + 01FFFFFF0100000000000001FFFFFFFFFFFF0100000000000001FFFFFF010000 + 0000000001FFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000001FFFFFFFFFFFF + FFFFFFFFFFFFFFFF0100000000000001FFFFFFFFFFFFFF0100000000000001FF + FF0100000000000001FFFFFFFF0100000000000001FFFFFFFF01000000000000 + 01FFFFFFFFFFFF99DE44FFFFFFFFFFFFFF0100000000000001FFFFFF01000000 + 00000001FFFFFFFFFF0100000000000001FFFFFFFF0100000000000001FFFFFF + 0100000000000001FFFFFFFFFFFF0100000000000001FFFFFF01000000000000 + 01FFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000001FFFFFFFFFFFFFFFFFFFF + FFFFFFFF0100000000000001FFFFFFFFFFFFFF0100000000000001FFFF010000 + 0000000001FFFFFFFF0100000000000001FFFFFFFF0100000000000001FFFFFF + FFFFFF8AD1C6FFFFFFFFFFFFFF0100000000000001FFFFFF0100000000000001 + FFFFFFFFFF0100000000000001FFFFFFFF0100000000000001FFFFFF01000000 + 00000001FFFFFFFFFFFF0100000000000001FFFFFF0100000000000001FFFFFF + FFFFFFFFFFFFFFFFFFFF0100000000000001FFFFFFFFFFFF010101010101FFFF + 0100000000000001FFFFFFFFFFFFFF0100000000000001FFFF01000000000000 + 01FFFFFFFF0100000000000001FFFFFFFF0100000000000001FFFFFFFFFFFFB2 + A1A3FFFFFFFFFFFFFF0100000000000001FFFFFF0100000000000001FFFFFFFF + FF0100000000000001FFFFFFFF0100000000000001FFFFFF0100000000000000 + 01FFFFFFFFFF0100000000000001FFFFFF0100000000000001FFFFFFFFFFFFFF + FFFFFFFFFFFFFF0100000000000001FFFFFFFF0100000000000001FFFF010000 + 0000000001FFFFFFFFFF010000000000000001FFFF0100000000000001FFFFFF + FF0100000000000001FFFFFFFF0100000000000001FFFFFFFFFFFF77A9ADFFFF + FFFFFFFFFF0100000000000001FFFFFF010000000000000001FFFFFF01000000 + 0000000001FFFF010101000000000000010101FFFF0100000000000001FFFFFF + FF010000000000000001FFFFFF0100000000000001FFFFFFFFFFFFFFFFFFFFFF + FFFFFF0100000000000001FFFFFFFF0100000000000001FFFF01000000000000 + 0001FFFFFF010100000000000001FFFFFF010000000000000001FFFFFF010000 + 000000000001FFFFFF0100000000000001FFFFFFFFFFFF2A9895FFFFFFFFFFFF + FF0100000000000001FFFFFF0100000000000000000101010100000000000000 + 01FF0100000000000000000000000001FFFF0000000000000001010101000000 + 000000000001FFFFFF0100000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFF01 + 00000000000000010101010000000000000001FFFF0100000000000000000101 + 01000000000000000001FFFFFF01000000000000000001010100000000000000 + 00000101010000000000000001FFFFFFFFFFFF99DE44FFFFFFFFFFFFFF010000 + 0000000001FFFFFF010000000000000000000000000000000000000001FF0100 + 00000000000000000000000001FF000000000000000000000000000000000000 + 0001FFFFFF0100000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01000000 + 0000000000000000000000000001FFFFFFFF0100000000000000000000000000 + 0000000001FFFFFFFF0100000000000000000000000000000000000000000000 + 000000000000000001FFFFFFFFFFFF47A2A4FFFFFFFFFFFFFF01000000000000 + 01FFFFFF0100000000000000000000000000000000000001FFFF010000000000 + 000000000000000001FF0100000000000000000000000000000000000001FFFF + FF0100000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000000 + 00000000000000000001FFFFFFFF010000000000000000000000000000000000 + 01FFFFFFFF010000000000000000000000000000000000000000000000000000 + 00000001FFFFFFFFFFFFFF9A9599FFFFFFFFFFFFFF0100000000000001FFFFFF + 0100000000000000000000000000000000000001FFFF01000000000000000000 + 0000000001FFFF01000000000000000000000000000000000001FFFFFF010000 + 0000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000000000000 + 0000000001FFFFFFFFFFFF0100000000000000000000000000000001FFFFFFFF + FF01000000000000000000000000000000000000000000000000000000000001 + FFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFF0100000000000001FFFFFF01000000 + 000000010000000000000000000001FFFFFF0100000000000000000000000000 + 01FFFFFF010000000000000000000000000000000001FFFFFF01000000000000 + 01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000000000000000001 + FFFFFFFFFFFFFFFF010000000000000000000000000001FFFFFFFFFFFF010000 + 000000010000000000000000000001010000000000000000000001FFFFFFFFFF + FFFFFF48989DFFFFFFFFFFFFFF0100000000000001FFFFFF01000000000000FF + 01000000000000000001FFFFFFFF010000000000000000000000000001FFFFFF + FF0100000000000000000100000000000001FFFFFF0100000000000001FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF010000000000000000000001FFFFFFFFFF + FFFFFFFFFF01010000000000000000000101FFFFFFFFFFFFFF01000000000001 + 01000000000000000001FFFF01010000000000000001FFFFFFFFFFFFFFFFFF99 + DE44FFFFFFFFFFFFFFFF010101010101FFFFFFFFFF010101010101FFFF010100 + 0000000101FFFFFFFFFFFF01010100000000000001010101FFFFFFFFFFFF0101 + 0000000101010100000000000001FFFFFFFF010101010101FFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFF01010100000000010101FFFFFFFFFFFFFFFFFFFF + FFFFFF010101000000000101FFFFFFFFFFFFFFFFFFFF0101010101FFFF010101 + 0000000101FFFFFFFFFF01010000000101FFFFFFFFFFFFFFFFFFFF87A9B1FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01010101FF + FFFFFFFFFFFFFFFFFF0100000000000001FFFFFFFFFFFFFFFFFFFFFF010101FF + FFFF0100000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF01010101FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF01010101FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF010101FF + FFFFFFFFFFFFFFFF010101FFFFFFFFFFFFFFFFFFFFFFFFAA8E95FFFFFFFFFFFF + FFFF010101010101FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFF0100000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0100 + 000000000001FFFFFFFF010101010101FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41A0A0FFFFFFFFFFFFFF010000 + 0000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF0100000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF010000000000 + 0001FFFFFF0100000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B9DA0FFFFFFFFFFFFFF01000000000000 + 01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF010000 + 0000000000010101FFFFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000001FFFF + FF0100000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFF0100000000000001FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF01000000000000 + 0000000001FFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000001FFFFFF010000 + 0000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF6699A0FFFFFFFFFFFFFF0100000000000001FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000000000000 + 0001FFFFFFFFFFFFFFFFFFFFFFFF0100000000000001FFFFFF01000000000000 + 01FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF83B4ABFFFFFFFFFFFFFF0100000000000001FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF010000000000000000000001FFFF + FFFFFFFFFFFFFFFFFFFF0100000000000001FFFFFF0100000000000001FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 + DE44FFFFFFFFFFFFFF0100000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0100000000000000000001FFFFFFFFFFFF + FFFFFFFFFFFF0100000000000001FFFFFF0100000000000001FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF309492FFFF + FFFFFFFFFFFF01000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFF010000000000000001FFFFFFFFFFFFFFFFFFFFFF + FFFFFF01000000000001FFFFFFFF01000000000001FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D9892FFFFFFFFFFFF + FFFFFF0101010101FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFF01010101010101FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + 0101010101FFFFFFFFFFFF0101010101FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF86A0A1FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF7EA3A7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF70C5BBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C + 8E90FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF469C9DFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8080FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF469DA1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFC29798FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B2A574636FFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFCC846B389A899C574635FFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFC7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 + DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFF7358836947339C9A3A9D9D572EFFFFFFFFFFFFFFFFFFFFFFFFC7D7D7 + D5D5D5D5D5D5D5D5D5D7D7C7C7C7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF87CFC4FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 + 8382828D31335D385D5D9A9D9A894446FFFFFFFFFFC7C7D7D5D5D40303030303 + 030303D2D2D20303D4D5D7D7C7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF936C68688D + 323C60324C9B899A9A9A9A2D4142C1C7D7D5D5D4D403D2030303030303030303 + 03D2D2D2D2D2D2D4D4D5D7C7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68A2A5FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8495907E68688F5B604C38 + 869BB7899A3AA49BBFC7D7D503D2D2D2D2D20303030303030303030303030303 + 03D2D2D2D2D2D4D4D5D7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D9892FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7183827E6767688F313333334C5D9A3A + 5DBB85C7D7D503D2D2D203030303030303030303030303030303030303030303 + 03D2D2D2D4D4D5D7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF7343A39068826865688D31609B86ACBB5D9CACA9C7D5 + 03D4D2D203030303030303030303030303030303030303030303030303030303 + D203D4D4D5D7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF94A7A9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFF74937190907E676843828D7660609B869B5D5D8AC7D4D2D2D20303 + 03030303030303030303030303030303030303030303030303030303030303D2 + D4D5D5D7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + 7282828290677E678295828D76869B86AC8A5D9CBAD7D2D2D203030303030303 + 0303030303030303030303030303030303030303030303030303030303D2D4D5 + D7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF38 + 9B9BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF849592827E + 827C7E677E826863A94C4C9B4CA0AC5DAAD7D203030303030303030303030303 + 030303030303030303030303030303030303030303030303030303D4D5D7D7FF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7CC7B7FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8495916C68677E676567 + 7E67567B7A609EAB788A4C9CAAC5D20303030303030303030303030303030303 + 03030303030303030303030303030303030303030303030303D4D5D7FFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45A29FFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF846C8181906754677E7E67673F657B + 77AD5E5E777A608CB0D703030303030303030303030303030303030303030303 + 030303030303030303030303030303030303030303D2D4D5D7FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF469C9AFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFF84AF9481819067687E907E5465537F63ABAD5E5E + 5E88AD8AB0D70303030303030303030303030303030303030303030303030303 + 03030303030303030303030303030303030303D4D5D7FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF84AFA58191817E826790827E3E3E51546385875E5E87ADAD9E + 79C5D40303030303030303030303030303030303030303030303030303030303 + 0303030303030303030303030303030303D5D7FFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF738496709181819090827E907E563E5454674B8764888788647A7AB0C50303 + 0303030303030303030303030303030303030303030303030303030303030303 + 03030303030303030303030303D4D5D7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFF8080FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70706E + 81818190816C6C824E5068546754687B87AD5E5E8864888799D7030303030303 + 03030303030303D1D2D203D103D1D1D1D1D1D1D1D1D1D1D1D203030303030303 + 0303030303030303030303D5D7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF509D99FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7496A66E9190818181 + 81906C664B5067676854545CAAAD5E5E77AD5E5E99D503030303030303D2D1D1 + D1D1D1D1D1D0D0D1D0D0D0D0D0D0D1D1D0D1D1D1D1D1D1D2D103030303030303 + 03030303030303D4D5D7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAC + A19BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF73A6A691918190819494946C664E + 4B5068676867687BAAAD887777883C3C99C503030303D2D1D1D1D1D0D1D0D0D0 + CFCFCFCFD6CFD6D6D6D6D6CFCFD0CFD0D0D0D0D0D1D1D1D1D2D2030303030303 + 03030303D4D5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFF72A6A56E9181816C6C929490664E6662566868 + 6751565CB3AD647979887A6099D5D2D2D1D1D1D0D0D0CFCFD6D6D6CECE020202 + 0202020202020202020202CED6D6CFD0D0D0D1D0D1D1D1D20303030303030303 + 03D5D7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF7370A6A59696A592926C92946C3F666655663F67676854657B + B35E88888877492C99E4D1D1D0CFCFCFD602CD02020202020202020202020202 + 020202020202020202020202CED6D6CFD0D0D0D1D1D20303030303030303D5D7 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8AD1C6FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF74AFA66E916E9491916C91946C543E53555666537C67653F657B7A777B88 + AD5E3C40ABEAD0D0DAE4C5C9C9CAD7C5D1CECD02020202020202020202020202 + 0202020202020202020202CED6CFD0D0D1D1D1D2030303030303D4D5C73342FF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72AF97 + 6E6E9181919292916E6C68657F655355663E677E513E3E7BB388797B6477ADA0 + A4C0EB6F360C0C0C0C0C0C0CF6B8D7D602020202020202020202020202020202 + 02020202020202020202CED6CFD0D0D1D2030303030303D4D73132333C40FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF7EA3A7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF94A56E916E9191 + 919091A56C82A37EA36567803F517C674F3E3F7BAD887B646479775E392B0D0D + 0D0D0D0D0D0E0D0E0E12F6BBD002020202020202020202020202020202020202 + 020202020202020202D6CFD0D0D1D103030303D2D5C785AA473976AB78FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF48978FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8492A56E916E6E81A5A5A59190 + 828290A3A3A351565354514F3E3E537BB33D64C1C188793747300BFDFDFDFDFC + FCFDFDFD0F0F0E0C9DD002020202020202020202020202020202020202020202 + 020202020202CED6D0D0D1D1030303D2D4D55A5A5A5AAB855A76B176FFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFF74956CA5916E6E949496A5A5919082909082A3 + 6865657F686751673E3E567BC13D3DADC17A3D495B59F9010101010101010101 + 01FA0F0E0CCBD602020202020202020202020202020202020202020202020202 + 02020202CECFD0D0D1D20303D4D4C75A5A5A5A5A8585313131325BFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5 + A6A1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFF727195929294A591916EA5A5949082819282A3A3A3A38268 + 5468677C3E3E567B885E3D7ABA7A408A9C59FB0101010101010101010101010F + 0EF6C90202020202020202020202020202020202020202020202020202020202 + 0202D6D1D1D1D10303D4D75A475A5A5A5A5A5A5A852C4798385DFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF8493956C92929281916E6E6E92829082908282A3A3A3A3685482825467 + 673F5479775E3DB3C1C15E9E5D59FA01FAFAFA0AF4F50101010101FC0F0CB8CE + 02020202020202020202020202020202020202020202020202020202020202CE + D103D1D1D203D5C72C372C5A5A5A5A5A5A474747475B989A3AFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4D9C9CFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5893 + 8395908194916EA56EA57E7E8282827C8290A36868A39358588368676553543D + 3D7A40C1B3AD7A8785590101FCFDF7EF04DD09FA010101F90F0EF6D002020202 + 02020202020202020202020202020202020202020202020202020202CED003D1 + D2D2D4D775375A5A5A5A5A5A5A5A47474731474798989A5DFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7193838268906C + 91A56E6E91907E906C7F7E907E7EA38268712B30FF836868654F7F5C7A9EADAD + 877A3C5EAB590101FB0FA3040202E6C4FA010101FD0E0CDC0202020202020202 + 0202020202020202020202020202020202020202020202020202CFD2D0D1D2D5 + C7375A5A5A5A5A5A5A5A5A47474747315B5B5B5B38A844FFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70A7ADFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7193A36868686C94706EA591 + 90829082827C7E82686883838284FFFFFF836867543E7F77879EADAD5E5E3C7A + AB59F9F9010FC604020202F4FA010101FD0D0CC9020202020202020202020202 + 0202020202020202020202020202020202020202020202CF03D1D1DCC75A7575 + 5A5A755A5A5A5A2C494747474747475B389A32FFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF33969BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7180A37F56686C6C94967092828282A3A3 + 687E67686868828458FFFFFFFF836868513E56797A9EC15E5E3C3C5EAB95CCF4 + F5C4EF02020202CC01010101FD0D0CC902020202020202020202020202020202 + 0202020202020202020202020202020202020202CFD1D1D3D775373775753775 + 5A5A5A2C87764747474747A9983832FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF71438053688290909270706C82838283A383A3A36867 + 6782842FFFFFFFFFFF84546751655699B3ADC15E5E783D7A7AC60202DDE9DD02 + 020202CC010101FAFC0D0CCA0202020202020202020202020202020202020202 + 0202020202020202020202020202020202D0D1D2D5C748754848483748755A5A + 85854747474747475B4776FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFF849595A3438068689081F3919583A3A3A3A3A3A3A3836867835846FF + FFFFFFFFFF8454513E6556777A7A9E5E5E5E3D5E42C0020202020202020202CC + 01010101FC0D0CCA020202020202020202020202020202020202020202020202 + 02020202020202020202020202CED0DBD5C75C5C4848484848485A5A5A85A95A + 5A47A99847475AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A + D0C5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72 + 6C7E827F80437F686C816C82A3A38080A3A3807FA3A3A38358FFFFFFFFFFFFFF + FF8454673E4F5477B39E785E5E5E3D8840C6020202020202020202CCFA010101 + FC0D0CCACD020202020202020202020202020202020202020202020202020202 + 020202020202020202CDCFD1DCC75C5C5C485C484848755A75755A4785474747 + 47474735FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF509D99FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF726C6C827F68 + 434383839582A37F7F8080A36F8093808093712FFFFFFFFFFFFFFFFFFF845168 + 543E80775E8AB35E3C3C5E8726C6020202020202020202CC01010101FC0D0CCA + 0202020202020202CDCDCDCDCDCDCDCECECDCECDCDCDCDCDCD02020202020202 + 0202020202CECEDFC5CA5C5C5C5C5C4879484837755A5A47474747474747BF46 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8ABFA7FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96816C6C83A37FA3A3A3A3 + 808F8F8D8F808F8F8F8F8F8F8F712FFFFFFFFFFFFFFFFFFFFF957E68543F5087 + 879EB3875EAD3D5E3CEA020202020202020202CC010101FAFC0D0CCA02020202 + 020202CDCDCDCECECECED9D90606D9D9CECECDCDCDCD02020202020202020202 + CDCDCFC548484848379948374899484837755A474776317647475B6BFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F9CA3FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96AF6C8282686868A383A38F8D698B8D + 8F8D8F808F8D6D6D2FFFFFFFFFFFFFFFFFFFFFFF8E58676754555077BA3C3C9E + AD797AB340C6020202020202020202CC01010101FC0D0CCA020202020202CDCD + CDCECED906E3E8E8E8ECECE8E306D9CECECDCD020202020202020202D8E3C548 + 48373775755A755A85BB9898BF2C5A5A85BAAB4747475B2EFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF74AFAF706C6868686868A3938D8E8E8B8F8F8B8D8D8D + 8F6D2828FFFFFFFFFFFFFFD7D7D7D5D5C358515153535077BA3C3CBA7A777AB3 + 40EA020202020202020202CCFA010101FC0D0CCACD02020202CDCDCDCECEDEE3 + ECECEEEFF0F0EEEEEEECE306D9CE02020202020202020202DDC04B48372C3147 + BF47989AA89DE2E29A78858585AB855A4731476AFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF8AD1C6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFF74AF9696926C68686883836F8E8E8E8E6952528B8F8F8D8F6D35FF + FFFFFFD7D7D5D5D4D403D203C05867513F533F77BA3C3CB3C15E885E40C60202 + 02020202020202CC01010101FC0D0CCA0202020202CDCDCED6DEE8EEEFF0F2F2 + F2F3F2F2F0EEEBE306D9CDCD020202020202CDE9C0635C483731989AA8A8A8E5 + E5E5E5E2BBC1BA5AAAAA8547313C856AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + 72AFA670926C6C82A383A38F8E8E69698E6969528B8D8F8F356DFFFFD7D7D5D5 + D4D2D2D2D2D20303C07167513F8053AABA3C5EBAC177797726C6020202020202 + 020202CC010101FAFC0D0CCA02020202CDCDCED9E3ECEEF0F2F3AF09090909AF + F3F2F0ECE3D9CECD0202020202D8EE66634B5C997531989AA89AE2E5EDE5E2A8 + A99975A9AABA855A4739AB2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF89A5ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84AF707070 + 6C6C8268A3838F63698E8E69698E8D8B8D8F6F46FFFFD7D7D5D4D2D2D2D10303 + 030303039F58514F3F5655AABA3C5EC1AD7A797726C6020202020202020202CC + 01010101FC0D0CCACD020202CDCED9D6E8EEF0F30909F4F4F4F4F4CC74F3F2F0 + EBDED9CE02020202E6B6535F4A4A4B4887315BA8A83AA8E2E5E2A85B2C48755A + 85AA85314747312EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF48 + 978FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF739594969494926C6C6C6C + 958D8D6969698D8B8D8D8F8F6F2869FFD7D5D5D3D2D1D2D20303030303030303 + 9F71543E3F535587BA3C5EB3AD5E774926EE020202020202020202CC01010101 + FC0D0CCACD020202CECED6E8EEF0F309CCF5F5F7F7C4F7F5F409F3F0EEE3D9CD + 020202EE54554D4A5F4A485C484798989AA8E2E2E2E29A983177755A85858531 + 4747A92EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74929192709292926C6C6C82558D8D8F + 8D8F8F8F8F8F80716F63D7D5D5DCDBD1D1D203030303030303030303C271653E + 3F538DAAC13C5EC1C15EB33C26EE020202020202020202CC01010101FC0D0CCA + 020202CD02D9DEEBF0F209CCF5F7C4F8F8F8F8C4F5F409F2EFEC06CE02E6F068 + 535F4D614A4A5C5C75475B98A8A8E2E2E2E29A98397A495A5AAB855A47475B35 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3C9E9AFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF7495AF706C906C6C6C6C706C668F8F8F6F808F8F80 + 8093716FCAD5D5DCDBDBD1D10303030303030303030303038D71674F3F5355BC + B33C5EBAC15E887A26EC020202020202020202CC01010101FB0D0CCA020202CD + CED9E3EEF0F3CCF5F7F8F8F9F9F9F9F8F7F5CCF3F0ECDECDF06C3F3B3B3B3B4A + 4B625C37757698A8A8A8A8A8E2A89A5B8579755A8587AA2C3176A935FFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFAFAF7092819092947070A3557F808F9393535593A371586B88 + C9D5DBD0D1D103030303030303030303030303D48B4351513F536687C15E5EC1 + C1B3883C8AEC020202020202020202CC01010101FC0D0CCACD0202CDCE06E8EE + F209F4F7C4F9F9FAFAFAF9FBC4F5CCF3F0EEE6F1843F613B3B61615F624B4837 + 77769A9A989898989AA8A8477548995A85AAAA8731764746FFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7165A4FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF92969492949270A696958093A3A3A3807F657F7F95837D9CAE4139CAC9 + D3D1D1030303030303030303030303D4668367653E544D77AD3C5EB3C1AD883C + 9EDE020202020202020202CC0101010101FD0CCA040202CECEDEEBF0F309F5F7 + F8F9FAFAFAFAFAF9C4F5CCAFF0EEF2683B613B3E5F4D3F5F4A484879755B5B31 + 31315A399A9A9A9875377585AA855A8585475A46FFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF + 9670919294A59482557FA37F7FA38383719584937A86A1B8412D4189B5B0C9C5 + 03D1030303030303030303D48D83673E3E544D77C1783CC1C1B3795EABD90202 + 02020202020202CC0101010101FA0FB202020202CEDEEEF0F3CCF5C4FBF9FAFA + FA01F9F9C4F5CCF3F2A3A34F3B3E3F3E3B3E3B4A4B4B63375A31313125373787 + A8A89A98AA4875858787AA8585AB5A2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF79ABA8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF97A67092 + 7084439383A3A3A39393A3716F6D69AB86608A8AB58A8CBD8C419CBD85CAC5D3 + D1D10303030303D48D68543E3E554E77B33C3CBAC15E777A7606020202020202 + 02020209F5F5F5F5F5F5F5F2020202CECEDEEBF0F3CCF5C4F9F9FAFAFAF9F9FC + F7F5CCF383533B3B513B613B3E4D5F625F625E5E37773737484879779AA85D5B + 4977995AAA87AA8587AB5A46FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF359798FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9497966C8295286D69 + 698E64B4ADABB5B1AC8A9BAC605D9BACACACACBB8AB8B5AC8C8CA2ABB0C9DCD2 + D10303D48D54544F3E534E77BC3C49C1C187775E8AEB020202020202020202D8 + DDDDDDDDDDDDDD0502020202CEDEECF0F309F5F7F8F9F9F9F9FBF8C4F5CC847F + 654F4F513B613E654D613B3B4A48485C37485C5C485C7B77A8A8385B319999A9 + 5A8585AA8785762EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 + DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7073979243855D9A9D9D9D9D9D + A8898989B7A1A4A18A5D8C5D9CB79C3A9CB79C8C4CAC4C8C4141ACAACAD5DCD4 + 8F683E3E3F53665EC13C875EC1B35E3C3CEB0202020202020202020202020202 + 0202020202020202CEDEECF0F209F4F7FDF8FCF8F80AC4F7CC43534F4F517C3E + 3F3E3E616156505C5C4B4B4B5C4B5C5C5C48346F9A98985B2C77755A5A5AAA87 + AAAB856AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96979694719EAECB9D9D9DCBCBCBCBCBCB + 89A2AEBD8A418A419CB7B79C895D9C9C9C9B5D9BB5B88C41415DA9C78B7E3E3E + 3F534E87C13C2537B35E5E3C9EC8020202020202020202020202020202020202 + 020202CDCED9E3EEF2F309F4F5F7F7C4C4F7F430803B3E4F514F3E3E543F5F3E + 51615C5C4B4B5C4B4B4B4B4B796958FF9A9A985B2C77755A75AA85AAAAAB852E + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF6E979292937AA1AE458989899DA89D8989B7B7B78C + 8C5D5D5D89CBB7B79CB79C9CB79B9B9B869BAC8A8A339C9A7B673E653F564E87 + C13C255E775E373C3CC8020202020202020202020202020202020202020202CD + CED9E3ECEEF2F309CCF4F5F4F4CCA366533B4F7C51513E3E3B6151514A4B4A4A + 4B4B4A4B4B4B4B642830FFFFA89A985B2C77755A7587AAAB87AB766AFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF499F9FFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFA66E81817F5E9E2D2D2D2D41899A89419CB7B7B7B88AA24C3A + B7B7B7B75D9CACB7B7605D869C9B9BB1B1418CAC8E673E3E3F534E77B33C875E + 5E5E5E3C3CC8020202020202020202020202020202020202020202CDCDCE06E3 + EEF0F2F3F30909CC72804D3E3E3E514F5151513B4F7E3F4A4A4A62624E4E625F + 4A5C5258FFFFFFFF898986472C37995A755E87AABAAB476AFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF389B9BFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF706E949480787A8A8A8AA1A18CAE4189AE080808BDB79C9C899CB7B7B7 + B75D89895D5D868633865D5D5D5D9C868E683E3E3E548D875E3C3C5E5E77875E + 9EC8020202020202020202020202020202020202020202CDCECED9DEE3ECEFF0 + F2F2F395663B3B3B3B4F3E51513E3E51903B4A5F5F625F5F4A4A4A4A522830FF + FFFFFFFFAE9A9A5B2C379985AA5EAA758731852EFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFADA4A2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF92 + 9492708F9EAD8AA0A1BEA18A8CBD9ABB893A5D9CACAC8AAC893A895D9C5D98BB + BB5D5D9B9B86B1B1B18698BF7B673E6553568D875E3C3C5E5E5E5E789EE30202 + 02020202020202020202020202020202CDCDCED6D6D6CF07DFEBEBEBF0F2808D + 503B3B3B3E3E7C673E517C7E614A4E5F5F5F5F4A5F4A52276DFFFFFFFFFFFFFF + A29A985B47779985875E5E877739496AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74707092948D + 3CA0BEB9ADB9A18AB5C1887B7D6B8E8B528B80568D693DAB989898985D5D5D86 + 9B9BA9A9A99BBD9A8E433F53555552875E3C3C5E5E5E5E7825C9C8CDCD020202 + 0202020202020202020202CECED6D607DAE4E0DCE0C5EAC068806650613E3E3E + 3E514F3E517E3E5F4A5F4E5F5F4A4A5F4A626D8BC7FFFFFFFFFFFFFFA29A985B + 5A777785875E5E875E49856AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFB9A39FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72949494708D9EB4B4AD + 9EB9A1B8B16D95A3807F805655803F535365558F8B7D3C32983A3A3A3A5D5D5D + 5D9CBBBF34685553665563495E3C3C5E773C875E9E3A3A85C9C8D902CD020202 + 0202020202CDCED6D607E1E0C5D7C7CACACA8B93553E5F5F3E3E3E517E4F3B7E + 7C3F4A4A5F5F625F5F4A5F632755C3C7FFFFFFFFFFFFFFFFA29A985B4977492C + 775E5E875E49496BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 + DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7292706E928FADB4B47A42B4BEB8 + 405871285555556666504D55505055558F8D8D697DAD335B9A389A9CB7899CA8 + 8E433F3E3F664B855E3C3C5E2C3C7A4978983A9D3A3AA9CAD3D6020202020202 + CDCED607E1DCD5D7C77549404C98346650615F4D503F4F7C3E3E90515F4A5F62 + 4E5F5F5F4E4A2228B6EAD7C7FFFFFFFFFFFFFFFFA29A5D5B605E855A755E5E87 + 5E497644FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF68A2A5FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF7294706E708DADB444ADB4B4B9AE44FFFFC0 + B67F8F6F8F3F3F6166556666505066668D9F668B7BB086BBAC5D899869543E3E + 3F5563495E3C3C5E2C255E877838989C38383A9D3AA975C5CFCECD02CED607DC + D5D7D7D7C72C219DE2AB554E4E4E664D4E3F3E3F677E614A5F5F4E4E625F5F5F + 62278FEEE1D5D7FFFFFFFFFFFFFFFFFFA29A98383378495A855E5E8787AB7642 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7D8D92FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF7470706E708BB4B4B9B4B4ADB42A2EFFFFD2E7EFEEEF + B6666D524E66559F6650538F663B509F668D8B7B7978989852673E3E53557B49 + 5E3C5E5E253C785E3C985D389A989838383A3A3A9AC7D7D0D6D6DBD5D5E0E0E4 + C99AE5E29A8B4D5F4D554E5F3F4D4D6767504A5F4E624E4E625F4A7B27B6E3DA + DCD7C7FFFFFFFFFFFFFFFFFFB79A5D5B3339A985AA87878787857640FFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF7470706EAF8B44B944B944423D2D46FFFF03E7ECCE02CDE6F159 + 308F6963628B8B8B8B668D8D8B8B8B2752527B7766513E3E55558E783C3C3C5E + 2C25495E78869C5D9A9A98989A9A9A9AA8E2E2E2BFC7D7D4DFD6CFD7E2EDEDE2 + BA555F5F4A5F5F3B3B61674D4A62624A62624A4A4E623466EED6DFE0D7C7FFFF + FFFFFFFFFFFFFFFFAE9A9A5D8647A9ABABAB85AAAA76393CFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB29697FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF96967091946B42B9A7B96A6AA15D46FFFFD1EBE8D9CD0202EF0101F72974 + 588E7D8E5252634B6352637B635252525565533E3F537B5E3C3C7A7A2C3CAA87 + 5E869B8686475B985B9AA89AA89AA83A9DE5E2E2BFC7BFE5E5EDE2A852665F5F + 4A614A4A6165624B63626262624A4B4A6327B6E8D6E7E4D5D7C7FFFFFFFFFFFF + FFFFFFFFA29A9A985D984785AB858587AA858540FFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9770 + 9191706BBE44BEA76AB4B88C46FF03D1EBE8CECD0202EFFA010101FA0B0F309F + 5234346434637B797B7B344B55A3803F3E567B783C9EB3B3785EAA49785B385B + 5B4747385B5B9AA8A8A8A89A3A9DE2E2E5EDEDEDE5E2E277665F5F4A5F4A4A4D + 4D4A4B4B637B4B4B62627B348FEED9CFE7E4D5D7C7FFFFFFFFFFFFFFFFFFFFFF + 41899A98983898B1ABA9ABAAAB85A97AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF6465A4FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96966E91707D + B944B9B97DB4A4B746FF03D1ECE8CECD0202EFFA010101FAFD0E12E8E6EFB68B + 346B6A88797B797B8056533F50807B493C609EB34987493C7886385B385B9898 + 475B5B98989AA8A8899D9DE2E5EDE5E5E2E2A8694D624E624A9F50625C5C4B5C + 7B4B4B634B64349FE8D6E3E7DBD5D7C7FFFFFFFFFFFFFFFFFFFFFFFFAEA89A9A + 383898A98585AB85AB85AA26FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFA49B9BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF966E916E946BB944B444 + 7D6ABEA246FF03D1ECDECECD0202EF01010101010F0EF6CF020202D8E9EEC06D + 6B5E887980563F5555807B493C3C7AB376853C783C3238385B3838985B475B5B + 38989A9A89899DE2E5E5E5EDE5E2AD665F4D4E4B624E4B5C5C4B7B797B634B7B + 6427C0DEE3EBE1DCD5D7FFFFFFFFFFFFFFFFFFFFFFFFFFFFA29A9A5D3A389885 + ABAB85AB85ABAA3DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2A + 9895FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF96969494946AB944B4B96A6AA4A2 + 8EFF03DAECDECE020202EF01010101010F12F6D002020202020202CCC4292B69 + 8080535380807B493C3C9EB3787887495E3C39865B985B98985B5B9886865D98 + 5D89899DA8E2EDE5E2A8694E4D4E8B63634B5C4B485C4B4B5C5C5C6A66EEECEB + EBE0D4D5D7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA29D985D3A9A9885AB85ABAA + ABAB4940FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6E679AFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF96709494927DBEB444B4B9B9A157B2FFD2DA + E806CD020202EFFA010101FA0F0EF6CF02020202020202F3010101203080653F + 53557B873C9EB3B34976AAAA87647B793D4931989A9A98985B5D989A5D98899A + 9DE2E5E5E2A0555F4A4E63634B4B4B4B5C4B4B4B4B7B52C0EBE1DBD4D4D4D5FF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA49A9C3A3A3838B1ABAAABABBAAB4926 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF967092706C3442B444B47D6ABEA7B2FFD2DAEC06CD02 + 0202EFFA010101FA0F12F6D002020202020204F1010101FB748F533E3F5564AB + 3C607A787649AA85B07B637B7B7B796488AB5BBF9A989898B18A8C8989E2EDE5 + A869664A4A4B7B635C5C4B4B4B4B4B797B8BEAD1030303D4D4FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFF57A89C5D3A3A38A9ABAAAB85ABAB7826FFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B9DA0FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF967094706C3D4444B4446A6ABE57B2FFD2DAEC06CE020202EF01 + 010101010F12F6CF02020202020202F1010101017455533F808088785EB1605E + 5E4985AB796363634B626363636363648885BFBF98864CB7B7A8E5E5AD8F9F4A + 4B63524B4B4B6363634B3D2872FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFA49D9C9C3A3A38B176AAABABABAB7826FFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB9A39FFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF967092928364B96A44B4B9B9A157B2FFD2DFECDECD020202EF0101010101 + 0F0EF6D002020202020202F1FA0101F984553F53558088873C787ABC7849395E + 79634B4B4B4A4B4A4B63638B8B63637B7A864C5DB7A8E5E269665F6263634B4B + 4B634B4B4B792FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFF579D9C5D3A3A3833B1AAABAB85857626FFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF439797FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF70 + 6C92956442B47DB444B9BEA48BFFD2DFECDECE020202EFFA010101010F12F6D0 + 02020202020202F3FA01012058555050555688783C7AB3BC609E8749648D7B5C + 5C4B4A4A4A4A4B626263634E628B527B7776A8A08D7B7B637B7B7B7B7B647D5E + 2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + 57A89C5D3A3A3A783949494987ABA93CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70709492933D + 44446A3DB4B4B9A48BFFD2DFEC06CE020202EFFA010101FA0F12F6CF02020202 + 020202090101FA2058805555558078397A3CAD9E9E785E328EE96C3080527B5C + 5C63626262625F5F9F8B6363637B648A76B176865B5B865B869A89A7FFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA7A89C5D + 5D3A3849392C495E87ABA93CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF3A9491FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70946C6C802644444242 + 44B4BE57C2FFD2DAECDECD020202EF01010101010F0EF6D002020202020202F4 + 010101205856563F53567A789E7AB33C603C3C2DB204F1732929732B2834247B + 7B626263637B7737794B345BA8A8E2A8A8E2A89DA8AE1C19FFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2EA89C5D5D3A3A39 + 39494987AB85A960FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3B + 9DA0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF706C6C6C933CB96A6A426AB4B9A7 + FFFFD1DAE806CD020202EF01010101010F12F6D0020202020202EF0A010101F8 + 587F3F5353687A76787A9E789E789E4C63DD0402EFF1EFA6CC73838F52343D3D + 3D8777794B4B4B85893A3A3A9D9D9DE257111417FFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2EA89C5D5D5D9860392CAA87 + 8585A960FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF926C82836F8AA1B46AAD42B4B9A7FFFFD1DA + ECDECD020202EFFA010101010F12F6CF02020202CEDEF401010101F8847F6565 + 687F3C767A7AB3BC789E873CB2DD02CD0202020202EFE6DDE9EEC0647A78887B + 62624B5A8989898989893AA411101417FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46A89B9B985D9B3C7839AA87ABAAAA60 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF6C6C83436960B8B944AD44B4BEA7FFFFD2DAECDDCE02 + 0202EFFA010101FAFD0EF6DAD6CECEEBF0590B010101FAC495683F3F687F7876 + 3CB3B3609E3C7739C3D8CD0202CD0202020202050402CD05EE637B624E4E6275 + 5D98985D5D5D5D2A10101019FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFF46A89B869B8676788785AAAA7678AB39FFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF41A0A0FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFF7482826843698AA1A0B4ADB444B9A7FFFFD2D1ECE8CECD0202EF01 + 01010101FB0F1246F62E0C120D0FFD01010101C4837F3F56687F78A9787A7ABC + 7878B03CC302CDCD02020202020202CDCD0204D802C08E5050504E75A9A98686 + 8638982A10101419FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFF46A89B86A9A9477678858787AB78B139FFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9DA09EFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF7482A37F836B8AA1BEADB4B444BEA7FFFF03D1EBE9D8CD0202EF0101010101 + 01FC0F0D0E0E0E0D0FFCFA01010101C4585365677E567847787ABA9E609E3C2D + C3CDCDCDCDCDCDCD0202CDCDCD02020202B6663B4F568FAB869BB1AC9B86982A + 10101419FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFF35BB8A606049498585AB87AD873C3C31FFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF499F9FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF308283 + 68716BA28AA1AD6AB444A0B9FFFFFFD1EBEC06CD0202EFFA010101010101FAFC + FDFDFDFDFB010101010101F7435467677E689E76397A9E789E9E5E8AC304D9CE + D9CECECECECECDCDCDCD020204B65365656880AB86869B6086865D2D10101419 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + 46867A887777778585AA877AB37A78472BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72829568806BA2 + 2D8AB842B4B9BEA7FFFFFFD2DFEEDDCECD02EFFA010101010101010101010101 + 010101010101F9F5687C7E689068B5A9608AB8A1A18A87B5C3E9E8E8E8DEDE06 + D9D9CECECDCDCD02D8B666563E3E508586A939394733765710101019FFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF35858877 + 9977994985875E87875E49982BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72829568436AAEA1B9A7BE + B9B9BE2EFFFFFFD2D0EEE8D9CD02EF01010101010101010101010101010101FA + 0101CCF1A3F27E68907EBC86B1608AA18A9EAA4C9FEFEEEEEEEEECECE8DE06D9 + CECECD02D8B6557F3E3F6675867660397660762A11101419FFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2FAA7B7979777987 + 49875E5E775EAA5B2BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 + DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848383564342A4B8B9A7A4A0A0A4A7 + FFFFFF03D1EBE9DDCD02EF0101010101010101010101010101010AF5CCEF04EE + 827E7E68907EB1A9B19BA18A603C874CC2F2F2F0F2F0F0F0EEEEEBDE06CECE02 + D8B655533E506685767660397660B12A11101019FFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2F997B5C5C5C5C5EAA875E5E + 5E5E77472BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A9E9CFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFF8468835680B957A1B9BEB8A1BEA12EFFFFFFFF + D2E7EEDECE02E6F1F1F1F1F1F1F1F1F1F1F1F1F1F1EFEFDD020202EF83F27E68 + 8182AB866060B58A8A9E5EAC58090909AFF3F3F2F0F0EEECE3DED9CED8B64E66 + 3E50668533765E3C7833325710101419FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5879624BB24B4B874949775EAD7AC139 + 36FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF319B99FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFF848271688F42A2B8BEBEBEA1B4BE2EFFFFFFFFD2D1ECE9 + D9CD020202020202020202020202020202020202020202EE827E7E828195B5A9 + 608AB59B8A3C879B2BF5F4F4F4CCCC09AFF2F0F0EBE8DECEDDB64E8D613F66AB + 86393C5E6060861C10101019FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFF584B62B24B4BB24949495EADADADADAC2BFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFF5868717F5542AEA1A1A1A1A4A18C35FFFFFFFFD2D1EBEEDDCE0202 + 02020202020202020202020202020202020202EF83F27E829182B186608A9B5D + B5B1395B30F8F7F7F7F5F5F4CC09F3F2F0EBEB06DDB6629F50538FAB86765E3C + 3939321C10101419FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFF8F4B5F4AB24BB288878777AD5EADC19B36FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF5868A3806FB9A2A1A1A1A1A1A08C36FFFFFFFFFFD2DAEEE905CD0202020202 + 020202020202020202020202020202EF827E906C919076B160AC9B9BAC9B765B + 59FAF8F80AC4C4F7F5F4CC84F2F0EEE3DEB6628D3E658F7533393C5E8760321C + 11101019FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFF8D4B5F5FB263B2888787775E5EADC19B36FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF586883 + 5680B957A2A1A1BEA1BE8C36FFFFFFFFFF03D1EBECDE04CD0202020202020202 + 0202020202020202020202EF687E906CA58286B5604C9B9B9E60AA985901F9F9 + F9F9F8F8F7F7F4CCAFF2EEEBE6B64E663E3E8FAB33393C5E875E331C11101419 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + 80635F4AB24BB24949497A777AADC18636FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF714371936FB9A4 + 2D2DBE2AA0BEA435FFFFFFFFFFFFD1D1EEE9D9CDCD0202020202020202020202 + 020202020202CDEF82829090A568A9BDBDB8B1B19E8C39B15901FAFAFAF9F9FB + F8C4F7F409F3F0EEE8B64E663F3F50AA86333C5E3C3C331C11101019FFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F625F4A + B2B24B77AA49B37AB3ADC1602FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF934368936FB9A42D2DBEA1 + A1A1A12EFFFFFFFFFFFF03D1E7EEDDD8CD020202020202020202020202020202 + 020202EF82906C81A56798BD4CB89BA99B9C78325901FAFAF9F9F9F9F8C4F7F5 + CCF3F2EEE8B64E503F554DAB76763C5E785E331C11111419FFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF934A4A62C3634B77 + 77877AADB3ADAD7635FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF45 + 6AA0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8043827169BEA42D2DBE2DB8BE572E + FFFFFFFFFFFFFF03D1ECEC0604CD0202020202020202020202020202020202EF + 906C6C81A55498AC8A8AA9B19B8A3C3259FAF9F9F9F9FBF80AC4F7F4CCF3F0EE + E9B64E50533F667676763C3C5E7A2D1C11111517FFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3625F62B2B24A777777885E + ADADC16035FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFBDA09EFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFF934382716DA1A42DA4BE2AA1BEA135FFFFFFFF + FFFFFFFFD1DAEEE9D9CDCD020202020202020202020202020202CDEF6C908181 + 6E7F868AA18C9BA9B58A603859F90A0AF8C4C4C4F7F5F4CC09F2F0ECE8B64E50 + 3F55667676763C3C5E7A231C11111419FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA3625F4AB2B24B7999778887ADB3C160 + 35FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF83A5ABFFFFFFFFFFFF + FFFFFFFFFFFFFFFF30804382716D60A441A1BEA1A1BEA435FFFFFFFFFFFFFFFF + D2D1E7EEE906CDCD0202020202020202020202020202CDEF81818181A68086A1 + A1BDA9A9B18C608CF4C4F7F5F5F5F5F4F4F409AFF2F0EEE8DDC04E4D50536676 + 7676605E5E5E601511111419FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFA3625F62B24A4A5C99775E7A88ADAD6035FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFF + FFFFFFFF30934382836D8AA42D8ABEA4A1B9A12FFFFFFFFFFFFFFFFFFF03D1E7 + EEE606CDCD0202020202020202020202020202EF6C818181A680868C8A8A86A9 + B1ACB5AC30F4F4F4F4CCCC0909AFF3F2F0EEECDED9C04E663F3F4E85B1A9393C + 7787231C11111419FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFF83625F5FB2625F799977885E5EADAD7846FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFF + 30934382956DB8A42DA1A4A1B8B9A42FFFFFFFFFFFFFFFFFFFFF03D1EBEEE606 + CDCD02020202020202020202020202EF9281919196559B9B8CB89BB1B1BB9BAC + 9D573558AFF3F3F3F2F0F0EFEEE8DED9D9C04E663F3F4D85A986603C77872314 + 11101417FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFF95625F5FB2625F79777788875EADAD6035FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF6465A4FFFFFFFFFFFFFFFFFFFFFFFFFFFF2B938382 + 95693CA42D8ABEA2B8A1A2FFFFFFFFFFFFFFFFFFFFFFFFD2D1EBEEE9DDCECD02 + 02020202020202020202CDEF908191A59666338C8C8A9BA9B1BB9BAC9A9CBB9C + B86A8DC2F0EFE9E8E8DE06CE06C05550503F5F85A9A9603C7787231411111417 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + 95625F5FB24A5F7988887A875EADAD3946FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF839A9BFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B43828295698A8A + 2DA1A1BEBEB9A4FFFFFFFFFFFFFFFFFFFFFFFFFFD2D1EBEEE9DDD8CDCD020202 + 0202020202DDEE9094818192A555AC8C8C8A86B1869BAC5D98BBB5B1B18989CB + A08EC3ECDE060607E89F554D3B534EA986A933495E9E2314111114FFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF844E5F5F + 4A4A5F6488885E87785EB37846FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF8DA7AFFFFFFFFFFFFFFFFFFFFFFFFFFFFF58438382846BB8A1A1A1A1BE + BE4257FFFFFFFFFFFFFFFFFFFFFFFFFFFFD2D1E7EEECDDD9CDCE020202020202 + DDF1969491949281A58DACB5BD8A9B86B186BB5D895D9CBBBB9B9B865D9C45BD + 64C3C6EEEBC28D5F3F658D76A986253C3C601E14131114FFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF844E4D4D4A4A4E64 + 5EAD7AADADB3C1BC6BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 + DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFF58A3827E846BB8A1A1A1A1BEA1A02AFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF03D1DFEEEEE8DDD804CDCD02CDEF9597A692 + 81819294A58BA9B5B186869B86A99B89893AAC8A9B5D5D5D5D9B8C41B79D45BE + B2804E5F613F8B76B176393C25261A14111118FFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF848B4D9F5F4A4E88AA87ADAD + 9EBAC1B52EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFF + FFFFFFFFFFFFFFFFFFFFFFFF58836C6C847DAEA1A1A1A1A1A1A1A7FFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFD2D1D1EBEEECE8DDD902D8F2AFA5A69481909181F3 + A552B1B1A98686869B5D865D89895D9B9B5D3A32603886B19BB1BB5D988D6662 + 4D508BA9A986393C3C231A15111116FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAF9F4D61615F4DB347AA773C78BCC160 + 2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFF + FFFFFFFFFFFFFFFF58826C6C846A8CA1A1A1A1BEBEA144FFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFF03D1DAEBEEECDEEEF296A6A5A5A591818192929162BCB5 + B19B9B5D5D5D9C5D5D5D5D9B9B869B9B32865B868686865B854E4D4E5F538BA9 + B18676493C231A14131016FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFF50619F9F5F4D77A9875EAD7AB3C1AB2EFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF439391FFFFFFFFFFFFFFFFFFFF + FFFFFFFF71956C92956A8CB8A2A2A1A4BEA144FFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFD2D2D1DAEEF29697969470A6A5818181816C944BBFBCBC8A9B9C + AEB79C5D5D5D5D9BB19B86B1865D9B9B9B5D5D5B5A4D4E624D6563A9B1A97631 + 3C261A15131016FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFF9F3B509F5F9F7785783CAD3CB3C19E2EFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFF + 836C6C9484B48CBEBEA4BEBEBEA144FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFD1C6F297A6A5949696A5A58181818191944EB3AA7660B1869C9CBBBB + 5D5D86B1A95D9BB1BBBB9B8A8C4C9B5B5A665F624D538E47A99BB15E3C251A15 + 131519FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFF9F619F9F615088AA8778AD3CB3C1B544FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFF84826C94 + 6C428CA1BEA1BE57BEA044FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + C27297A6A5A591A5A5A56E81818191946853808F8B7B88AB4798865D9A5D8686 + B1B186B1B15D9BAC4CBDBB32314E4E4E50536347A986608749231A15131519A7 + 46FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF663B505F616677AA875EAD3CB3C1B544FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFF586C6C9495428CA1 + A1BEBEBEBEA144FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72979797A5 + 9670916E91A56E81816E9051555353557F7F8F6F8D7B7A9B9A388686B19B869B + 9B869B9B86B1A95D5B8B8D4E4D505231B1B18676393318151314195D3A2DA2A7 + 35FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF553B9F + C05F9F64878778AD3CB3C1BC2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF84A1A6FFFFFFFFFFFFFFFFFFFFFFFFFFFF826C929484A0B8A12DA1A1B9 + BEB8A7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF729797A6A6A5A5949494 + A597A6A5917E655353568053803F567F80935650627B778531B176B1A9B19B86 + 9B9B08869B699F5F3F508B76B1A976AB78231815131417985D5DAC9B989EA046 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF664D9F9F616179 + BABA9E60607A9E876BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF46 + 9C9DFFFFFFFFFFFFFFFFFFFFFFFFFFFF82929491952ABEA12DA1A1BEBE4C2EFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF74AF9697A6A6A5A5948192A5A5979794 + 6750807F55557FA3543F3E3F3E3E56685655664E634899ABA94731769B9B86A9 + 7869665F613F8E47A9B1AB784923181113181BBB5D5D868686ABAB864CB94436 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF554D5F9F614D77ABC1ADB3 + 60B37A876BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFF + FFFFFFFFFFFFFFFFFFFFFFFF6C94707083A4BEBEA1A1A1A1B8B746FFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFAF92A6A696A6A6A59494AFA5A5A697968268824343 + 807F7F507F5653513E3E6554509F9F4E4E5F4D8B7B998531315B76A9858B665F + 61548BA9B1A9A985391E181311161B9C5D5D869BB1ABABAB789B9B5D8AA74630 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF803B5F615F4E8887AD9EADBCC1C187 + 6BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFF + FFFFFFFFFFFFFFFF6C92AF6E83A1BEBEA1A1A1A1A4B735FFFFFFFFFFFFFFFFFF + FFFFFFFFFF745892A56EA5A6A6A59494AF94A59797AF8492AF6C926C82676868 + 8F937F66533E3B3B3B615F5F4D4D625F4D66624B79757685858E9F5F3B546385 + B1A97639761E181111163A5D5D869BA9A985ABABABABB1765B473978426B35FF + FFFFFFFFFFFFFFFFFFFFFFFFFF533E61614D637878BCB3C1C1C1C1876BFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF9A9599FFFFFFFFFFFFFFFFFFFF + FFFFFFFF8194A59671B8A2A1A2B8BEA4A19C35FFFFFFFFFFFFFFFFFFFFFFFFFF + 58958497969797A6A59494A5929497A69295AF849592926C81906C83582FFF2F + 2F433F6161615F4D5F9F9F5F5F5F5F4A628B8B7977524E615050638576A985AB + 391A141310163A5D5D324747A98686B186A976AB7685ABABBCBA9EA06A342BFF + FFFFFFFFFFFFFFFFFF565061614D775BB1ABB3C1BCBAC1876AFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89A3A9FFFFFFFFFFFFFFFFFFFFFFFFFFFF + 8170A5A5932D8AA1A2B8A1A4A14136FFFFFFFFFFFFFFFFFFFFFF747182947097 + A697A6A5A5AF9494A597AF92926C8495956C90826C6C7172FFFFFFFFFF151335 + 286F554D5F5F5F5F5F5F615F5F624B637B8B9F5F3B538E85A9B185763C1A1413 + 151938385B5B4747765D9B5D9B869B8686B1B1B1B1AB4949395EAD6A6D35FFFF + FFFFFFFFFF8061616162A99860B1C1C1BCBCC1B36AFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF429892FFFFFFFFFFFFFFFFFFFFFFFFFFFF8170A596 + 802DA2A1A2B8A2A2A28936FFFFFFFFFFFFFFFFFFFF8483836C9294A6A6A69694 + 919492A6A69292AF926C9583A3909095715874FFFFFFFFFFFF16151311111135 + 288F66528D4E5F5F5F4A63634B4E9F5F9F508B47A9B1AB76251A15131419985B + 9898474747868686869B86869B3232325B31393978BA75BAB3A0A02E3535FFFF + FF665F6150B0989B8AB5C1C1BCABBA876AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFF749470706E8041A2A1 + A2B8A2A2A2412BFFFFFFFFFFFFFFFFFF589592826C969797A6A6A59492A59794 + 926C6C9583836868A3A3A36F58FFFFFFFFFFFFFFFFFF181111101010151C4630 + 6F274E5F4A4E62624B629F616553525AB1A9AB39331A1113141B985B325B4747 + 47474747478686869B312C2C3185ABA9BABA855A8587BA789EADB435584E5F5F + 5C9A895DB59BB5BABCABBAB342FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF3F879CFFFFFFFFFFFFFFFFFFFFFFFFFF74916E6E6E802DA2A4A28CA2AE + 8C8936FFFFFFFFFFFFFF74586C92929291A6A59696A5A591A5A5946C6C958371 + 835467A383807174FFFFFFFFFFFFFFFFFFFF181411101010141717FFFFFF8383 + 8F524E634B4E4D503E658B47B1B1AB39231811111623775A4747474747474747 + 4776A986B1A97685AB85AA855A858549AB858585ABBAB3608537487B75389A5D + B59B08B5B5BCBCB342FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B + 9698FFFFFFFFFFFFFFFFFFFFFFFFFF749191A56E6D8CA2AEA2A2A2AEA28936FF + FFFFFFFFFF30586C819092AF91A5A5A6A6A5A5A6A5F36C6C838393A3836868A3 + 8F2FFFFFFFFFFFFFFFFFFFFFFFFFFF1811111010101417FFFFFFFFFFFF74716F + 8D5F66669F3B5F5AA9A976331E18131116244A4B4B99872C854747475B86B1B1 + A9868676768585858585855A85BAB3BCBCC1B3885E3C5E875E78769BB5A99BBB + BDB8A160A1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFF + FFFFFFFFFFFFFFFFFFFFFF729191A56E6989AEA2A1A2A2B8B8892BFFFFFFFFFF + 2B958482929296AF92A5A6A5A697A5926C6C6C95A3A3A3A3A3A3806F30FFFFFF + FFFFFFFFFFFFFFFFFFFFFF181411101010101917FFFFFFFFFFFFFFFF29804E50 + 3F4F5F5A607685261A14131016246363638B637B79778547474747A976474747 + 4776765A85855A8585ABAB87BAAB87AD885E5E5E5E3C3C9B9B9BACBBAC8AB83C + 8AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF469694FFFFFFFFFFFF + FFFFFFFFFFFFFF7291A56E968EAEA2A2A2AEA4B8B8A4FFFFFFFF7283AF92956C + 929484AF969494A697AF9595958383687FA3A3A3A36D2FFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFF1810111010101419FFFFFFFFFFFFFFFFFF28663F3E659F5A + 5E7878261A1413141B5263634B4B63634B63637B7987494747314747474776A9 + A9A97685AA8785875E877AAD7A5E87785E3C8786869B9BBBBDACAC608AFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFF + FFFFFF727091A6976BB8A2A2A28CA1B8BEA4FFFFFF5884929082826C92956C92 + AF969796AF8295958343A37FA3A3936F6D30FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFF1811111010101917FFFFFFFFFFFFFFFF284D503E518BA95E492523 + 1A1513141E4B4B634A4B4B634B4B634B63637979775E2C2C314747B1B186A9A9 + A9B1AB85AA4987BA875E493C4976789B869B5D9BBBBDBB9B4CFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8BA2A7FFFFFFFFFFFFFFFFFFFFFFFFFF84 + 70A596967DAEA2A48C41B8A4B8AC74745884AF6C6C9595959582929196A69684 + 6C958383A3A3A3A37171282FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF1814131110111419FFFFFFFFFFFFFFFF6F4D503E5452B1873C252318111116 + 245C5C5C4B4B4A624B6363634B4B4B4B7B7B7977877749787660B186B1B576AB + AB87ABBA8787785E783160865D9B9BBDBBBD08A94CFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF609B9CFFFFFFFFFFFFFFFFFFFFFFFFFF7270919696 + 64AEAE8CB88AA19C8A8F8495AFAFAF92959583836C6C92A5A6AF958383717193 + 717F93936F3530FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1815 + 111011101617FFFFFFFFFFFFFF8F4D503E518B853160251E18111119FFFF2F69 + 7D645C4B4B634B634B4B5C4B5C5C4B7B7B6479774987ABB1A978B1B178B1A9AB + 85AA49785E78789B9B86BBBDBBBBB5B18CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFF7291A596AFADAEA2A4 + A18A5D6A71AF9270AFAFAF9283A3A3836C9496AF9583A3A393809393806F6F6D + 2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1811111011 + 1419FFFFFFFFFFFFFF8F4D6653658B85763C231A14131519FFFFFFFFFFFF6F34 + 7D77797B7B7B4B4B4B4B4B4B63634B4B5C5C799975ABAAAA877AABAB85AA4931 + 875E789BBBBB9BB1ACBBB5B18CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF3E9699FFFFFFFFFFFFFFFFFFFFFFFFFF72706EA6929EAEA2A14C3235AF + AF70707094AFAF95A3A3A36C94AF9583A3A3806F806F6F6D6F6D692BFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1814111110111619FF + FFFFFFFFFF8F4D6655568BAA393C231A15131419FFFFFFFFFFFFFFFFFF586D34 + 79797B634B4B634B4B634B4B4B634B4B7B5C7949498787ABAA8787873C5E39BB + 9BBDBB0808B508088CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 + DE44FFFFFFFFFFFFFFFFFFFFFFFFFFAF70A6A584B3AEA489258397969696AF95 + AFAF6C7FA38295AF95719393936F6F6F6D6D6D6D6936FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1815131111101617FFFFFFFF + FF55506650658B39603C1E181111181BFFFFFFFFFFFFFFFFFFFFFFFFFF2F8D63 + 7B7B7B4A4A4B4B634B4BB2B263634B5C5C5C77BAAA5E87873C9EACBBBBB50808 + 089B98604CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF84A1A6FFFF + FFFFFFFFFFFFFFFFFFFFFFAF7070A5849EAE896A9697A69696AFAF92AF95A395 + 839584716F6F6F8F6D6D6F6D6D6D696B2BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18101311111419FFFFFFFFFF555066 + 5365638AA12A1E181311191CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2B2F6934 + 7B4B4A624B62634B63634B63634B7B7B7B79775E5E87399C5D9BB5080808A960 + 8CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5B9698FFFFFFFFFFFF + FFFFFFFFFFFFFFAF70709684869B35739791A696707096AF9583839595716F6D + 6F8F698F6D6D8D8D6D6B35FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF18111311111619FFFFFFFF55506653548B8A + 3C2D1A141314192EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF362E697B + 4B635C4B4B636363B2B263636262634B5C79B0985B5BBBBB08BDB5B8A2FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFF + FFFFFFAF709696713C8473A66EA6A6917096948395959595716D6D69696D6969 + 696D6D6D692BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF1818111113101617FFFFFF55508D50548E8A2D231815 + 13141B2EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F628B63 + 4B634B4B624A634A4B4B4A6262628BB25C77879B5DBBBD8A8CFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF309492FFFFFFFFFFFFFFFFFFFFFFFFFFAF + 7094AF92AF73A66EA66EA697946C6C959595956D466D6D6B6D6D6D69696D6B35 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF18141313111416FFFFFF55666650658B4C2D1E181111162146 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF72555366624A4B4B + 4E624A6262624E4A4B624D9F9F9F8D8E7B3D393938FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFAF707096A6 + 979797A6979797966C926C6C95936D6D6D6D6D698E696D356D692FFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFF18141113111819FFFF7F4D6666658E4C2D1A141315194146FFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6D8F654F7C907E4F4D4A4E624E + 5F626362664D4E66508B4D3F53808D342EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFF949696979797979797 + 96A696AFAFAF9595936D6D6D6D6D6D8D6D6D6F6D35FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF18151313111617FF7F506650658B4123181513141BB82EFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFF6F805054517C7C81907E7E4F653E4D4D4E4E8D + 4E4E4E4E4E4E4E614D668F2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF6F9B9DFFFFFFFFFFFFFFFFFFFFFFFFFF969797A6979797969796AF96AF + AFAF95936F6D6D6D6F8F6F8F6F6D352BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1815 + 131315161C8B3F6666658B5D1E18111116218A46FFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF586D665365517E908190907C51517C7C7C513E3F9F66505F5F + 4D3B3B5F5228FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 + DE44FFFFFFFFFFFFFFFFFFFFFFFFFF979797979797979796AF9496AFAF956F6F + 6F6F6F6F8F6F8F6F6D2F30FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1815131315 + 16243B66506563211B141315198A8A46FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFF6F8F505065677E7E90818181907C81817E514F3E65506655663B3E3F6628 + 84FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF89A5ACFFFF + FFFFFFFFFFFFFFFFFFFFFF969797979797A6AFAFAFAFA6849393936F6F93936F + 6F6F9393692BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18151313181A3450 + 5554633A191513181BADB846FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF588F5555 + 553F677C677C90818181818181903E3E6565533F6653503B662758FFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFF + FFFFFFFFFFFFFF979797A6A696AFAFAFA6A6959393936F6F6F936F6F6F937169 + A0A2A74646FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18151211181A345065791B + 161010192D9E8A46FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF807F7F503F3E655167 + 7C819181908181817C3E3E3E65808055503F506D93FFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFF + FFFFFF7397A69696AF969697AF95717193936F6F6F8F6F93716FAD4CA1BEB8A4 + A4A4574635FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18151215181D243423191611141B + B3B38A46FFFFFFFFFFFFFFFFFFFFFFFFFF715690513E653E3E51679081918191 + 91817E4F6567673E50503F5356554374FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F9EA3FFFFFFFFFFFFFFFFFFFFFFFFFF73 + 97A696AF9697A695717193939393936F939371716D9EB8A1A4BEA28AA0A0BEB8 + A2A4BE2E36FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18151215181D241E1915101921C1B38A46 + FFFFFFFFFFFFFFFFFFFFFFFF837E817C3F3B65514F7E909191816E6E907C653F + 553F55653E3E3F556F2BFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFF9696AF94A6 + 97AF95A3717171939393939371716F6AB8A1A1A1A2A4A13C8AAEA2A2A1A1B88C + BDA2572E3636FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFF18151215181D1A161514197A7A7A8A2EFFFFFFFF + FFFFFFFFFFFF586C907E543F3F3E51517E81916E916E917C3E65546568533F50 + 4F535584FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF8D9097FFFFFFFFFFFFFFFFFFFFFFFFFF707096A697AF837171 + 8371717193936F587146A18CA1A1A1A2A2A2A24C45454545AEA241A2A07A78B1 + BDB8A0A73635FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFF1815121518181411162188B3ADB82EFFFFFFFFFFFFFFFF + 309590907E685556653E7C7C90916E6E91903E3F545354687F5465538058FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFF70969796958383717158939393 + 7193582F6AB7B8A1A4A1A1A2A2A2A2AE45454145A2AEAEAEA28A8AA1A1B8A0A1 + 8CB8B9A735FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFF1D1815121518111519217A7AB3B52EFFFFFFFFFFFFFF8495907C82 + 673F3F3E65517E81916EA590545054545554547F5450667130FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 + DE44FFFFFFFFFFFFFFFFFFFFFFFFFF9696AF68715858587171939371437169A0 + A1B8A2A2A1A1A2A2AEAEA2452D3C8AA1A18A89AEAE454545A2BEA28CB88C8CA4 + BD41A4A73536FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FF522218151315181819333C5EADB82EFFFFFFFFFF306C907C7E56553E3E3E51 + 677E90916E906750663F53565456545666552BFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F9EA3FFFF + FFFFFFFFFFFFFFFFFFFFFFAF928383959583937193719393716DADA0B9BEA4A2 + A2A2A2AEB7B7A2AE8C8AA4A2A2AEAEAEAEB7CBB7A2A2B7B7AEAEA2A2A2B8AEB7 + BDAEA4572EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF274D22 + 18151215181A4C7A5E88B32EFFFFFF6C6C819090903E4E503E3E677E90908181 + 67555055555354544F67536F30FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFF + FFFFFFFFFFFFFF587183839595958371719393938D6D6D696B6B6AA0A4AEB8A4 + A2AEA2AEAE8CA2A2AE41AEA2AECBB7B7AEB7B789CBB7AEA1AEB7BDAEA2B88A8C + 8989A4A72EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F3B4E22181513 + 1516213C7887786DFF7258928190907E544D503F5467677E818182664E665055 + 7F565368568F58FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFF302B587171719393718F8D8D698E69692E6B2E6B6AB4A1A4AEAEAE + A2B8A1B8A48CB789CBCBB7B7A2AEAEAEA2CBCBB7B789B7B79CB78AB7B8A1A2B7 + B789A22E2E35FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF553E50281D161512151821 + 3277AA93846C8181907E685150503E5467677E6C7E8F8D8D8D5055553E3E6555 + 71FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFF302B2F2F6D6B693469698E698E69696969466B6B6A4442A4A4A4B8 + A2A14189B7CBCBB7A2AEAEAEAECBCBCBCBCBCBCBCBB79CB78CA1B8B8A18C8ABD + BDAEA2A74635FFFFFFFFFFFFFFFFFFFFFF803F6652331E181512151821754B6C + 6C907C907E54543E3E655668686C68664E668B8F6666555553666F30FFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF2B2F35696B6B6B8E8E8E526B696B6B6B6B6B6A7DB442BEA1B8A2 + A2B7B7B7AEAECBCBAECBCBA2A2CBCBCBCBCBCBCBCBB7B7ACAC9BBDB7BDB8BDB7 + 9CAEAE574635FFFFFFFFFFFFFF66658B784C411B18151215162667827E90907C + 3F56563E51566882827F8D4E668D8D66505053552858FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF599C9EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF2B2F35696B346B6B6B696B6B6B6B6B6B6B6A6B6A6AB9B9BEA4BD + B78C89B7B7B7B7B7AEB7B7B7CBCBCBCBCBB789B79C5DB789898CB79C9BAC9B9C + 9A89CBA4A736FFFFFFA3828EB5BD5D211B1813131518277E829090547FA37F67 + 658282684E628B66668F55505066552FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF99DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF2B3546466B6B6B6B7D6B6B6B6B6A6B6B6B6B6AB4B9B9B8B88C + BD9CB7B7B7B79CB7B7B7CBCBB7B7B7B7B79CCB89B7B79C5D9B864CAC5D9C9C89 + 8989CB57577B8E9E89BBB789211A1813131418557E8267657E6C827F7E686652 + 4E8B8B55555555558F6F30FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99 + DE44FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF2B356B6B6B6A6B7D7D6A6A446A6B7D7DB46A6AB9B9B9BEA28A + B789B7B7B7B78CAEB7B7B7B7B7B79CBB9C9C9C9CB7BBBDBD9C9C9C9C89899C89 + 9ABF9A3A89899A9C2D211A181313181D4390517C816C827F668B528D8B8D6655 + 5550662830FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF99DE44FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF716F356B6B6B7D7D6B7D7D7D7D7D7DB46A7DB4B4B4B9A0A0A1 + 8ABD8C419CBDB79C9C9C5D5D5D9CACBBB7B7B79C895D5D5D5D895D89CB983A3A + 9DE2E289895D381A141311181D7E7E7E9068668D8B698D8B66666655668F58FF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3B07DFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF586F35697D646A347D7D8E7B7D7B7D7D7D7DB4B4B4AD408C8A + AC5D4C5D5D5D5D895D5D5D5D9CBD9C5D5D895D5D5D5D5D9CCB899D9D9DE2E59D + 9D3A5B221A14121516226768558B8B8D8D8D8B665055668D43FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4F8663FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFF2F286D6B7D6B6B6B6B8E6B7D6B6B7D6B6B6B7D7DADB43C4C + 41415D9B869B9B5D865D9B5D5D5D5D5D895D5D5D9C893A9D9DE5E5E23AA83455 + 2218151215186D558B8D8D8F8F668D5566668030FFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FA34FFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFF302F6F698E347D8E8E8E696952696B347D6B7D6AB4AD7AAB + B1A99BACAC9B9B5D5D5D5D5D5D9C89BBBBBB3A3A9DE2E5A89D9B803F551F1813 + 13141A8D555555555550558D6D58FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFD8A5FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFF72716F696B34698E8B633452638E8E8E63638E7D64649E3C + 8A33869B9BACAC5D5D5D5D5DBBBDB79D9DE2E59D9A697F3E3F551D181311181D + 5550555555668F71FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFCEC6B3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFF586D69698E638B8B8B63528E34527B8E8E7D7D64407A60 + BB9BAC86865D5D9CBDBB9C899DE5E5E2AD935667675522181512151627555566 + 8D93FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF6FA7DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFF35716D69698E8E52528B69698E698E8E8E347D7D647A60 + 604C4C5D5DBD8C419DE2E2A866A382685655271F181113141A8F6D6D30FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC9 + F46AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF2F2869693434528E8E8E8E8E8E8E8E8E8E7D7D645E60 + 86B1B59C9DE2E56A435455668D6D6D271D141313181D2FFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF375B44FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFF2B5855528E8E8E528B528E8E8E8E8E8E6B6B3442AD3D39 + 899DA87153668D8D698D6666271811131516FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7AC7D5FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF2F6F69525252525252628B8E63525252698E7D603D28 + 286D8F8F66664E27271D18131318FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF79ED6DFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF2F6F6D6B8E8E8E528D5263528E8E698E8E7D34698D8F + 8F558052271F1815131516FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAB02D6FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF36356D696B638E528B8E635263347D8E8E7D8E273428 + FFFFFF1811131819FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFF5EBB2FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF2B2F6D697D6434637B348E8E6B7D6A2E2BFFFFFFFF18 + 15131516FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF5FF6D1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF2B352E6A647D7B347D2E2BFFFFFFFFFFFFFF18131318 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFE8F66FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF2B356D4635FFFFFFFFFFFFFFFFFF1815131416FFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2E + AC5EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18131118FFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCEB9C2FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1811131819FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB836B4FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFF14131416FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE2E27FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFF18111516FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3297EFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF1815111819FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFE19C68FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF1815181616FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFE8C7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18 + 1818151519FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF101A58FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1814151010 + 19FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8 + E08AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18111110101617FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4E7F48FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14131010101417FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF94AB3FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF14111010101417FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEB057BFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF14131010101417FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF18111111111417FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFF7CB1B8FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFF181513131118FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFF5AE3ABFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + 1811131418FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFF00F1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF181818 + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3 + 4387FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDD3F21FFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCA4632FFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA52492FFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB5C5D5FFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFFFFFFFFFFFFC00011} + OnClick = Image1Click + end + object Label1: TLabel + Left = 8 + Top = 256 + Width = 48 + Height = 13 + Caption = 'Usuario:' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + ParentFont = False + end + object Label2: TLabel + Left = 8 + Top = 280 + Width = 69 + Height = 13 + Caption = 'Contrase'#241'a:' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + ParentFont = False + end + object Edit1: TEdit + Left = 80 + Top = 248 + Width = 97 + Height = 21 + TabOrder = 0 + Text = 'Edit1' + end + object Edit2: TEdit + Left = 80 + Top = 272 + Width = 97 + Height = 21 + TabOrder = 1 + Text = 'Edit1' + end + object Button1: TButton + Left = 8 + Top = 296 + Width = 169 + Height = 25 + Caption = 'Entrar' + TabOrder = 2 + end +end diff --git a/src/tsplash.~h b/src/tsplash.~h new file mode 100644 index 0000000..3907c49 --- /dev/null +++ b/src/tsplash.~h @@ -0,0 +1,38 @@ +//--------------------------------------------------------------------------- + +#ifndef tsplashH +#define tsplashH +//--------------------------------------------------------------------------- +#include +#include +#include +#include +#include +#include +#include +//--------------------------------------------------------------------------- +class TSplash : public TForm +{ +__published: // IDE-managed Components + TImage *Image1; + TLabel *Label1; + TEdit *Edit1; + TEdit *Edit2; + TLabel *Label2; + TButton *Button1; + void __fastcall FormCreate(TObject *Sender); + void __fastcall FormPaint(TObject *Sender); + void __fastcall Image1Click(TObject *Sender); +private: // User declarations + HRGN WindowRgn; + Graphics::TBitmap *ImageMap; + void __fastcall TSplash::GetNextSpan(PByteArray row, int SpanLeft, int *SpanRight, TColor *SpanColor,int y); + TColor __fastcall TSplash::MaskColor(int x,int y); +public: // User declarations + __fastcall TSplash(TComponent* Owner); + bool pressKeyToClose; +}; +//--------------------------------------------------------------------------- +extern PACKAGE TSplash *Splash; +//--------------------------------------------------------------------------- +#endif diff --git a/tipoServicios.csv b/tipoServicios.csv new file mode 100644 index 0000000..daf819e --- /dev/null +++ b/tipoServicios.csv @@ -0,0 +1,11 @@ +id,nombre, +1,Hogar, +2,Acc.Individual, +3,Vida Riesgo, +4,Comercio, +5,Decesos, +6,Ret.Carnet, +7,Pyme, +8,Autos, +9,Jubilación, +10,Salud,